Los operadores de encadenamiento de comandos son caracteres especiales que se utilizan para escribir scripts de shell en miniatura en la línea de comandos. Por lo general, se utilizan para ejecutar comandos en una determinada secuencia, definida por la ubicación de los operadores entre los comandos. Esto es increíblemente útil en la automatización de tareas.

Aprendamos sobre algunos operadores de encadenamiento comunes en Linux que pueden ayudarlo a completar tareas más rápido y con menos intervalos de usuario.

1. El operador Ampersand (&)

A menudo, cuando abre un programa o ejecuta un comando desde el shell, debe esperar hasta que finalice el comando o salir manualmente del programa antes de poder continuar usando el shell. Aquí es donde entra en juego el operador ampersand (&).

Al agregar el operador ampersand a cualquier comando, dicta el shell a ejecutar ese comando de Linux en segundo plano para que pueda continuar usando el shell sin ataduras.

gedit &

Por lo general, si ejecuta gedit desde la terminal, no podrá usar la terminal a menos que cierre el editor de texto. Pero, al agregar el operador ampersand, puede hacer que se ejecute en segundo plano y continuar usando el shell inmediatamente.

instagram viewer

2. El operador de punto y coma (;)

El operador de punto y coma es un operador de encadenamiento de Linux increíblemente útil que puede usar para ejecutar comandos en un orden secuencial definido. Ordena tus comandos y sepáralos por punto y coma.

personas con discapacidad; mkdir prueba; cdprueba; toque el archivo

La sintaxis anterior dicta que el shell ejecute cada comando uno tras otro. Tenga en cuenta que el shell no comprueba si cada comando finaliza correctamente. Tan pronto como el shell recibe un código de retorno, pasa a ejecutar el siguiente comando.

3. El operador OR (||)

El operador OR ejecutará el comando que sigue solo si el comando anterior falla, es decir, devuelve un código de salida de 0. Funciona como una puerta OR lógica, que devuelve un valor de 1 cuando la entrada es 0.

mal_comando || ls

En esta sintaxis de ejemplo, mal_comando es un comando falso que no se ejecutará y, dado que falla, el comando sucede al operador OR, que es el comando ls, se ejecutará con éxito.

4. El operador de tuberías (|)

El operador de tubería dirige la salida del comando anterior como entrada para el comando siguiente. Se usa más comúnmente para filtrar datos con el comando grep.

prueba de gato | grep -i "hacer uso de"

Este comando envía la salida de el comando del gato como entrada al comando grep, que luego filtra la salida contra una cadena especificada.

5. El operador AND (&&)

Este operador funciona de manera similar al operador de punto y coma excepto que, a diferencia del operador de punto y coma, el operador AND ejecutará comandos solo si el comando anterior se ejecutó con éxito.

personas con discapacidad && prueba mkdir && prueba de discos compactos && mal_comando && ls

En esta sintaxis de ejemplo, el shell ejecutará con éxito todos los comandos hasta mal_comando. Sin embargo, dado que bad_command no se ejecuta, el shell devolverá un error y omitirá el comando ls.

6. El operador NOT (!)

El operador NOT funciona de manera similar a una declaración de excepción en la programación. Por ejemplo, si desea realizar una operación en una gran cantidad de archivos en un directorio pero desea excluir un pocos basados ​​en algún parámetro, entonces puede usar el operador NOT pasando el parámetro después del carácter NOT (!).

rm-r !(*.TXT)

Este comando de muestra eliminará recursivamente todos los archivos en un directorio, excepto los archivos que tienen un ".TXT" extensión.

7. El operador de precedencia ((..))

Los comandos que siguen a los operadores AND y OR dependen del código de salida del comando anterior. Estos operadores son binarios y solo evalúan los dos comandos que vienen antes y después de ellos.

Por lo tanto, cuando se trabaja con varios operadores, es importante establecer grupos y precedencias para garantizar que la secuencia de ejecución cumpla con sus expectativas.

(ls *.txt > txt-files.list && cp*.tx~) && (ls *.deb > deb-paquetes.lista && cp *.deb ~) || eco "¡Prueba de precedencia!"

En esta sintaxis de muestra, ambos grupos de comandos deben devolver un código de salida 0 para garantizar la ejecución exitosa del último comando. Este ejemplo requiere que ambos comandos en el primer conjunto () salgan con 0 para que se ejecute el segundo conjunto ().

8. El operador de combinación ({..})

Como sugiere el nombre, el operador de combinación se usa para agrupar comandos. Independientemente de los comandos que desee agrupar, puede colocarlos entre corchetes y se ejecutarán según el código de salida del primer comando.

prueba -f /etc/passwd && {contraseña; fecha} && eco $0; eco "Hola"

La sintaxis de muestra probará si el archivo /etc/passwd está presente, imprime el directorio de trabajo actual, la fecha, el nombre del shell y repite "Hola".

9. Concatenación o el Operador de Escape (\)

El operador de concatenación o escape tiene dos funciones. Puede usarlo para concatenar dos comandos o como un carácter de escape cuando trabaja con cadenas en el shell.

mkdir prueba0 prueba1 \ prueba2
eco "¡Hola! de el
otro lado"

El primer comando creará cuatro directorios llamados test0 a test2, y el segundo comando imprimirá la cadena separada por una nueva línea.

10. Los operadores de redirección (>, >>,

Los operadores de redirección redirigen la salida o la entrada a un archivo, ya sea reescribiendo el archivo o agregándolo. Si desea volver a escribir un archivo, debe usar la sintaxis de corchetes angulares simples (>). Si desea agregar a un archivo, deberá usar la sintaxis de corchetes angulares dobles (>>).

eco "dsd"> prueba; eco "bsss">> prueba

En la sintaxis de muestra, el primer comando sobrescribirá el archivo de "prueba" con la cadena proporcionada pero, en el segundo comando, la cadena proporcionada se agregará al archivo de prueba.

Acelere el flujo de trabajo de su terminal Linux

Si bien el uso de operadores especiales agilizará significativamente la ejecución de tareas para usted, existen muchas otras formas de acelerar su flujo de trabajo.

Una forma fácil y valiosa de hacer más en menos tiempo es familiarizarse con algunos atajos de shell útiles. Acostumbrarse a estos accesos directos será de gran ayuda, y se encontrará confiando en ellos mientras use Linux.