10 operadores de línea de comandos de Linux y lo que hacen

Al igual que los lenguajes de programación, los shells de Linux también emplean ciertos operadores. Estos son algunos de los operadores de encadenamiento de comandos más utilizados en Linux.

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. Generalmente se utilizan para ejecutar comandos en una secuencia determinada, definida por la colocación de operadores entre los comandos. Esto es increíblemente útil para automatizar tareas.

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

TE PUEDE INTERESAR: ¿Qué es una distribución de Linux?

1. El operador de 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 al shell que ejecute ese comando de Linux en segundo plano para que pueda continuar usando el shell sin ataduras.

gedit &

Por lo general, si ejecuta gedit desde el terminal, no podrá usar el 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 de inmediato.


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.

pwd ; mkdir test ; cd test ; touch file

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


3. El operador de quirófano (||)

El operador OR ejecutará el comando que sigue solo si falla el comando anterior, 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.

bad_command || ls

En esta sintaxis de ejemplo, bad_command es un comando false que no se ejecutará y, dado que falla, el comando que sucede al operador OR, que es el comando ls, se ejecutará correctamente.


4. El operador de tubería (|)

El operador de canalización dirige la salida del comando anterior como entrada al comando siguiente. Se utiliza más comúnmente para filtrar datos con el comando grep.

cat test | grep -i "technicogeek"

Este comando envía la salida del comando cat 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ó correctamente.

pwd && mkdir test && cd test && bad_command && ls

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


6. El operador NO (!)

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

rm -r !(*.txt)

Este comando de ejemplo quitará recursivamente todos los archivos de un directorio, excepto los archivos que tienen una extensión ".txt".


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 precedencia para garantizar que la secuencia de ejecución cumpla con sus expectativas.

(ls *.txt > txt-files.list && cp *.tx ~) && (ls *.deb > deb-packages.list && cp *.deb ~) || echo "Precedence Test!"

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


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

Como su nombre indica, el operador de combinación se utiliza para agrupar comandos. Cualquiera que sea el comando que desee agrupar, puede colocarlos entre corchetes rizados, y se ejecutarán dependiendo del código de salida del primer comando.

test -f /etc/passwd && {pwd ; date} && echo $0 ; echo "Hello"

La sintaxis de ejemplo probará si el archivo /etc/passwd está presente, imprimirá el directorio de trabajo actual, la fecha, el nombre del shell y el eco "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 trabaje con cadenas en el shell.

mkdir test0 test1 \ test2

echo "Hello! from the 

other side"

El primer comando creará cuatro directorios denominados 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 anexándolo. Si desea volver a escribir un archivo, debe usar la sintaxis de corchete de ángulo único (>). Si desea anexar a un archivo, tendrá que usar la sintaxis de corchete de doble ángulo (>>).

echo "dsd" > test ; echo "bssss" >> test

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


Acelere su flujo de trabajo de terminal Linux

Si bien el uso de operadores especiales agilizará significativamente la ejecución de tareas para usted, hay 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 prácticos de shell. Acostumbrarse a estos atajos será de gran ayuda, y te encontrarás confiando en ellos mientras uses Linux.

Publicar un comentario

0 Comentarios