; punto y coma
Ejecutar comandos consecutivamente
# ifdown eth0;ifup eth0
| tubería (pipe)
En expresiones regulares significa “o”
# echo "ooooee" |egrep '(oo|ee)'{2} 表示匹配 oooo 或者 eeee 的字符
La salida estándar del comando anterior se usa como entrada estándar del siguiente comando
# ifconfig|grep eth0 表示ifconfig查出来的信息然后过滤出eth0的这一行
&
Ejecutar el comando en segundo plano
# mysqld_safe --user=mysql & 将MySQL放到后台启动
Representa la salida estándar y la salida de error estándar
# ifconfig &>/dev/null 将ifconfig执行得到的结果输出到/dev/null里面
&&
Solo ejecuta el comando siguiente si el comando anterior devuelve 0
# ls && echo "ok"
||
Solo ejecuta el comando siguiente si el comando anterior devuelve un valor distinto de 0
# lls || echo "ok"
# numeral (almohadilla)
#Indica un comentario
$#Indica el número de parámetros posicionales
# echo $# 0
${#nombre_variable}Indica la longitud de la variable
# a='hello'
# echo ${#a}
5
${#nombre_variable[@]}Indica el número de elementos del array
# a=(1 2 3)
# echo ${#a[@]}
3
! signo de exclamación
Invierte el valor de retorno de un comando o expresión condicional
# if ! [ 1 -lt 2 ]; then echo 'ok'; else echo 'no'; fi ok
Ejecuta comandos históricos
# history 1 ls 2 tail test1.txt 3 mysql -uroot -p123 4 ls /tmp/ 5 cd /tmp/ [root@localhost ~]# !994 ls /tmp/ account.sql data.sql mysql.sock t1.txt t2.txt
Ejecuta comandos externos de shell en vi o ftp
Por ejemplo: en vim, para ejecutar un comando, en el modo de última línea, escribe ! (signo de exclamación) seguido del comando a ejecutar
Referencia indirecta de variables
Por ejemplo: ${!a} ---- obtiene indirectamente el valor de b
$ signo de dólar
Obtiene el valor de la variable
# a=10 # echo $a 10
En expresiones regulares representa el final de línea
egrep ':$' /etc/inittab egrep ‘^hello$' file
> signo mayor que
Redirección de salida
echo '123' >test.txt 表示将123 输入到文件test.txt中Signo mayor que en pruebas condicionales
< signo menor que
Redirección de entrada
Signo menor que en pruebas condicionales
= signo igual
Asignación de variables- Por ejemplo: establecer la variable a=10
Signo igual en pruebas condicionales- Por ejemplo: [ a=b ] para determinar si la variable a es igual a b
Comparación numérica ==- Por ejemplo: (( a==20 )) para determinar si la variable a es igual a 20
+ signo más
Signo más en operaciones aritméticas - Por ejemplo: 1+3
En expresiones regulares, uno o más del carácter anterior - Por ejemplo: ab+c significa coincidir con uno o más caracteres entre ab y c
>>
Redirección de salida en modo adición (append)- Por ejemplo: echo "123" >> test.txt agrega 123 al archivo test.txt
<<
here document
Por ejemplo:
# passwd <<end > 123 > 123 > end
Cambiar la contraseña del usuario root.
- signo menos
Signo menos en operaciones aritméticas - Por ejemplo: 10-2
Opción de comando - Por ejemplo: ls -l
Directorio de trabajo anterior - Por ejemplo: cd -
En comodines y expresiones regulares representa un rango - Por ejemplo: [a-z]
tar -cvf - /home | tar -xvf -
Representa un flujo de salida o de entrada
Toma la salida anterior, la pasa a través de una tubería al comando siguiente; el anterior comprime, el siguiente descomprime.
'' comillas simples
Resuelve el problema de espacios en la asignación de variables
Por ejemplo: a='1 2'
Evita la sustitución del shell
"" comillas dobles
Resuelve el problema de espacios en la asignación de variables
Por ejemplo: a="1 2"
Evita la sustitución de algunos caracteres del shell; no afecta a $, !, etc.
`` comillas invertidas (backticks), equivalente a $()
Sustitución de línea de comandos (command substitution)
Por ejemplo: se puede establecer la variable a=`ls`
% signo de porcentaje
Operación módulo en aritmética
Por ejemplo: echo $((100%10)) es el resto de dividir 100 entre 10, que es 0
En vi, en la operación de sustitución representa todas las líneas (en modo de última línea, añade % antes de sustituir todo)
Por ejemplo: en modo de última línea, escribe :% s/D/d para reemplazar todas las D por d en el texto.
() paréntesis simples
Ejecuta comandos en una sub-shell; hereda las variables de la shell padre
Encierra los elementos de un array
Por ejemplo: definir un arraya=(1 2 3 4)
(()) paréntesis dobles
Operaciones aritméticas
Por ejemplo:echo $((10/2))El resultado es 5
Prueba de comparación de enteros
Por ejemplo:(( 10>2 ))Determina si 10 es mayor que 2
[] corchetes simples
En comodines y expresiones regulares representa coincidir con cualquier carácter dentro de los corchetes
Por ejemplo:[abc]Significa coincidir con cualquiera de los caracteres a, b, c
Expresión de prueba condicional
Por ejemplo:[ -f /etc/passwd ]// comprobar si es un archivo
Corchetes de índice en arrays
Por ejemplo:echo ${a[0]}Representa obtener el valor del índice 0 del array
[[]] corchetes dobles
Prueba de comparación de cadenas
Por ejemplo: [[a=b]] se usa para la comparación de cadenas
. punto (en inglés, “dot”)
En expresiones regulares representa cualquier carácter (uno)
Por ejemplo: a...b significa coincidir con una cadena con tres caracteres entre a y b
Ejecutar un script en la shell actual
Por ejemplo: ./test.sh ejecuta el script de shell test.sh en la ruta actual
Representa el directorio actual
Por ejemplo: cd ./bgk entra en el directorio bgk dentro del directorio actual
{} llaves
Expansión de comodines abc{1,2,3}
En expresiones regulares representa un rango
Por ejemplo: a{3} coincide con 3 'a'
for i in {1...10} itera sobre un rango especificado
Función anónima { cmd1; cmd2; cmd3; } &> /dev/null
Los comandos dentro de { } se ejecutan en la shell actual
Nota: dentro de { }, antes del primer comando debe haber un espacio, y después de cada comando debe haber un punto y coma
Encierra el nombre de la variable${abc}a
/ barra diagonal
División en operaciones aritméticas
Por ejemplo:echo $((10/2))El resultado es 5
Directorio raíz o separador de rutas
Por ejemplo:cd /usr/local/Representa una ruta
^
En comodines representa negación (inversión)
Por ejemplo:[^abc] Significa coincidir con cualquier carácter excepto a, b, c
En expresiones regulares representa “empieza con”
Por ejemplo:
egrep ‘^hello$' file