Caracteres especiales en comandos

Los caracteres especiales de Shell son interpretados por el shell tan pronto como se le da el comando.

Por ejemplo, si escribe ls *.bak, el shell traduce *.bak a la lista de todos los archivos de la carpeta actual cuyos nombres terminan en .bak.

El comando ls nunca ve el asterisco.

Entonces, si desea buscar archivos que realmente tengan un asterisco en sus nombres, debe escapar del asterisco para evitar que el shell lo interprete.

\ se escapa y otros especiales

$ find ex*.txt

*significa cualquier cosa (incluyendo nada)

$ find ex?mple.txt

¿? significa cualquier caracter

$ find ex[abc]mple.txt

[] encierra patrones para hacer coincidir un solo caracter

$ pwd && (cd /etc) && pwd /home/simon /home/simon

() ejecuta el contenido de los paréntesis en una sub-carcasa

$ echo Hi ; uname Hi Linux

; termina una tubería de comandos | : úsela para separar comandos en una sola línea

$ find '(echo abc)'* (echo abc).txt

”’ El contenido de las comillas individuales se pasa al comando sin ninguna interpretación.

$ echo ` uname` Linux

” El contenido de los backquotes se ejecuta como un comando y su salida se utiliza como parte de este comando

$ cd "untitled folder"

“” El contenido de las citas se trata como un argumento; cualquier especial dentro de las citas, a excepción de

$ fortune | cowsay

| Los tubos le permiten enviar la salida de un comando a otro comando

$ cowsay &

& Ejecute un comando en segundo plano

$ ping localhost -c 1 && cowsay great

&& Solo ejecute el segundo comando si el primero fue exitoso

$ ping "not.reachable" -c 1 || cowsay sorry

|| Solo ejecute el segundo comando si el primero no tuvo éxito

>> Estos símbolos se utilizan para la redirección

$ sudo !!

!! Repita el último comando

$ !* tail tail history | grep query $ ls *.png toast.png

!* Cambiar comando mantener todos los argumentos

$ head history | grep query $ ^png^xcf^ ls *.xcf bread.xcf

^ Sustitución rápida del historial, cambiando una cadena a otra

$ whatis xdotool # hint: has sth todo with X11

# Convierte la línea en un comentario; la línea no se procesa de ninguna manera

No confunda caracteres especiales de shell con caracteres especiales en expresiones regulares.

Las expresiones regulares deben protegerse del caparazón encerrándolas en comillas individuales.

Compartir:

error: ¡¡El contenido está protegido!!
Abrir chat
Escanea el código
Hola, ¿Quieres reportar un problema en Caracteres especiales en comandos?
¡Envíanos un mensaje!