linux 命令 (export, dpkg, git diff, git status, echo, apt)

El comando de exportación se utiliza para establecer o mostrar variables de entorno.

Al ejecutar un programa en el shell, el shell proporciona un conjunto de variables de entorno. Exportar permite agregar, modificar o eliminar variables de entorno para la posterior ejecución del programa. El efecto de la exportación se limita a esta operación de inicio de sesión.

  • ¿Qué son las variables de entorno?
  • Variables ambientales: continúan siendo efectivas en el proceso hijo de su proceso
  • Variables personalizadas: no se pueden extender al proceso hijo

Exportar es establecer variables como variables de entorno

  • El rol de las variables de entorno:
    cuando desee ingresar una variable (como el comando de fecha) sin especificar la ruta donde el sistema ejecuta la fecha, Linux recurrirá a la variable de entorno $ PATH para modificar la variable de entorno: export PATH = $ RUTA: / home / roc / operation_tools Aquí es para agregar la variable de entorno / home / roc / operation_tools (si no agrega exportar cuando agrega la variable, es decir, la variable es una variable personalizada)

por ejemplo:

hr@ZERO看你:~$ var1=one
hr@ZERO看你:~$ var2=two
hr@ZERO看你:~$ echo $var1
one
hr@ZERO看你:~$ echo $var2
two
hr@ZERO看你:~$ export var1
hr@ZERO看你:~$ bash
hr@ZERO看你:~$ echo $var1
one
hr@ZERO看你:~$ echo $var2

hr@ZERO看你:~$

Después de que var1 se establece como una variable de entorno por exportación, sigue siendo válida después de que se inicia un nuevo proceso hijo de bash, y la variable personalizada var2 no se puede heredar a su proceso hijo.

gramática

export [-fnp][变量名称]=[变量设置值]

parámetro

  -f  代表[变量名称]中为函数名称。
  -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
  -p  列出所有的shell赋予程序的环境变量。

1. Comando de consulta

hr@ZERO看你:~$ echo $SHELL
/bin/bash

2. Enumere todas las variables de entorno

hr@ZERO看你:~$ export
declare -x HOME="/home/hr"
declare -x HOSTTYPE="x86_64"
declare -x LANG="C.UTF-8"
declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"
declare -x LESSOPEN="| /usr/bin/lesspipe %s"
declare -x LOGNAME="hr"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:"
declare -x NAME="ZERO看你"
declare -x OLDPWD
declare -x PATH="/usr/hcc_riscv32/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.Ubuntu18.04onWindows_2020.1804.7.0_x64__79rhkp1fndgsc:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/WiFi/bin/:/mnt/c/Program Files/Common Files/Intel/WirelessCommon/:/mnt/f/bin:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Users/黄睿/.dnx/bin:/mnt/c/Program Files/Microsoft DNX/Dnvm/:/mnt/c/Program Files/Microsoft SQL Server/120/Tools/Binn/:/mnt/c/Program Files/Microsoft SQL Server/130/Tools/Binn/:/mnt/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit/:/mnt/c/ProgramData/Microsoft/Windows/Start Menu/Programs/微信/weixin:/mnt/d/Microsoft VS Code/bin:/snap/bin"
declare -x PWD="/home/hr"
declare -x SHELL="/bin/bash"
declare -x SHLVL="2"
declare -x TERM="xterm-256color"
declare -x USER="hr"
declare -x WSLENV=""
declare -x WSL_DISTRO_NAME="Ubuntu-18.04"
declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share:/var/lib/snapd/desktop"

El resultado son todas las variables de entorno de bash bajo el usuario actual
3. Por ejemplo, nuestro PATH común:

hr@ZERO看你:~$ echo $PATH
/usr/hcc_riscv32/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.Ubuntu18.04onWindows_2020.1804.7.0_x64__79rhkp1fndgsc:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/WiFi/bin/:/mnt/c/Program Files/Common Files/Intel/WirelessCommon/:/mnt/f/bin:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Users/黄睿/.dnx/bin:/mnt/c/Program Files/Microsoft DNX/Dnvm/:/mnt/c/Program Files/Microsoft SQL Server/120/Tools/Binn/:/mnt/c/Program Files/Microsoft SQL Server/130/Tools/Binn/:/mnt/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit/:/mnt/c/ProgramData/Microsoft/Windows/Start Menu/Programs/微信/weixin:/mnt/d/Microsoft VS Code/bin:/snap/bin

Instale el comando del paquete deb en Ubuntu

  1. Descargue el paquete deb que debe instalarse e ingrese el siguiente comando para instalarlo: sudo dpkg -i package.deb
  2. Ver el contenido del paquete package.deb:dpkg -c package.deb
  3. Extraiga información del paquete package.deb: dpkg -I package.deb
  4. Elimine el paquete deb instalado: dpkg -r package
  5. Elimina completamente un paquete instalado. A diferencia de eliminar, eliminar solo elimina datos y archivos ejecutables. Purgar también elimina todos los archivos de configuración:dpkg -P package
  6. Enumere todos los archivos instalados por el paquete deb. Al mismo tiempo, consulte dpkg -c para verificar el contenido de un archivo .deb:dpkg -L package
  7. Muestra información sobre los paquetes instalados. Al mismo tiempo, consulte apt-cache para mostrar la información del paquete en los archivos de Debian y dpkg -I para mostrar la información del paquete extraída de un archivo .deb:dpkg -s package
  8. Reconfigure un paquete instalado, si usa debconf (debconf proporciona una interfaz de configuración unificada para la instalación del paquete):dpkg-reconfigure package

git diff

Código antes de la modificación:

* it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
 #include <linux/err.h>
 #include <linux/of.h>
 #include <linux/slab.h>

Código modificado:

* it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
/********************is me add it*********************/
 #include <linux/err.h>
 #include <linux/of.h>
 #include <linux/slab.h>

Ejecute git status para ver los archivos modificados en nuestro espacio de trabajo

ts@ts-OptiPlex-7070:~/bin/kernel/msm-4.14$ git status
头指针分离于 d8110c633b15
尚未暂存以备提交的变更:
  (使用 "git add <文件>..." 更新要提交的内容)
  (使用 "git checkout -- <文件>..." 丢弃工作区的改动)

	修改:     drivers/mmc/core/mmc.c

git indica que se ha modificado un archivo mmc.c. Pero no nos dijo exactamente qué se cambió en este archivo. En este punto, git diff es el más útil. Se puede utilizar para comparar el área de trabajo actual (no enviada al área de almacenamiento temporal) y los cambios específicos en el área de almacenamiento temporal.
Ejecute git diff:

ts@ts-OptiPlex-7070:~/bin/kernel/msm-4.14$ git diff
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 32619af7d915..53e2720f9c82 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -9,7 +9,7 @@
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
-
+/********************is me add it*********************/
 #include <linux/err.h>
 #include <linux/of.h>
 #include <linux/slab.h>

Los cambios específicos son claros de un vistazo.
Veamos cómo ejecutar git diff HEAD nuevamente

ts@ts-OptiPlex-7070:~/bin/kernel/msm-4.14$ git diff HEAD
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index 32619af7d915..53e2720f9c82 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -9,7 +9,7 @@
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
-
+/********************is me add it*********************/
 #include <linux/err.h>
 #include <linux/of.h>
 #include <linux/slab.h>

Los resultados de las dos ejecuciones son los mismos.
explicar:

git diff: comprueba la diferencia entre el espacio de trabajo (área de trabajo) y el índice (área temporal).
git diff --cached: sirve para comprobar la diferencia entre el índice (área temporal) y el repositorio local (almacén local).
git diff HEAD: comprueba la diferencia entre el espacio de trabajo y el repositorio local. (HEAD apunta a la última versión comprometida en el repositorio local)

eco para salida de cadena

formato:

$ echo string

Tipo:
1

$ echo "a test" //显示字符串a test
$ echo It is a test//双引号完全可以省略,与上面实例效果一致

2

$ read name  //显示变量
ok
$ echo "$name"
ok

3

$ echo -e "OK! \n" // -e 开启转义
OK!

$ 

4

$ echo "1111111" > file //显示结果定向至文件

5

$ echo '$name\"'//原样输出,用单引号表示不进行转义或取变量
$name\"

6

$ echo `date` 显示命令执行结果
2020年 10月 29日 星期四 11:41:53 CTS

Linux apt proporciona comandos para buscar, instalar, actualizar, eliminar uno, un grupo o incluso todos los paquetes

La ejecución del comando apt requiere privilegios de superadministrador (root)

gramática

apt [options] [command] [package ...]
  • opciones: Opcional, las opciones incluyen -h (ayuda), -y (seleccione todo "sí" cuando se le solicite durante el proceso de instalación), -q (no muestra el proceso de instalación) y así sucesivamente.
  • comando: La operación a realizar.
  • paquete: el nombre del paquete instalado.

ejemplo

列出所有可更新的软件清单命令:sudo apt update
更新指定的软件:sudo apt update <package_name>
安装指定的软件:sudo apt install <package_name>
安装多个软件包:sudo apt install <package_1> <package_2>
删除软件包:sudo apt remove <package_name>
查找软件包: sudo apt search <keyword>
列出所有已安装的包:apt list --installed
列出所有已安装的包的版本信息:apt list --all-versions
显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>

Supongo que te gusta

Origin blog.csdn.net/weixin_42271802/article/details/109201811
Recomendado
Clasificación