; 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