Si usa Linux, sabe lo útil que es el comandoLa línea puede ser para trabajar con archivos, instalar software y ejecutar programas. Pero puede ser aún más eficiente si ejecuta múltiples comandos a la vez.
La combinación de dos o más comandos en la línea de comandos también se conoce como "encadenamiento de comandos". Le mostraremos diferentes formas de combinar comandos en la línea de comandos.
Opción uno: El operador de punto y coma (;)
RELACIONADO: La guía para principiantes sobre scripts de Shell: conceptos básicos
El operador de punto y coma (;) le permite ejecutarmúltiples comandos en sucesión, independientemente de si cada comando anterior tiene éxito. Por ejemplo, abra una ventana de Terminal (Ctrl + Alt + T en Ubuntu y Linux Mint). Luego, escriba los siguientes tres comandos en una línea, separados por punto y coma, y presione Entrar. Esto le dará una lista del directorio actual ( ls
), averigüe en qué directorio se encuentra actualmente ( pwd
) y muestre su nombre de usuario ( whoami
) todo a la vez.
ls ; pwd ; whoami
Tampoco tiene que poner espacios entre los puntos y comas. Puede ingresar los tres comandos como ls;pwd;whoami
. Sin embargo, los espacios hacen que el comando combinado sea más legible, lo que es especialmente útil si coloca un comando combinado en un script de shell.
Opción dos: el operador lógico Y (&&)
Si desea que el segundo comando solo se ejecute si el primer comando es exitoso, separe los comandos con el operador lógico AND, que son dos símbolos ( &&
) Por ejemplo, queremos crear un directorio llamado MyFolder y luego cambiar a ese directorio, siempre que se haya creado correctamente. Entonces, escribimos lo siguiente en la línea de comando y presionamos Enter.
mkdir MyFolder && cd MyFolder
La carpeta se creó correctamente, por lo que cd
Se ejecutó el comando y ahora estamos en la nueva carpeta.
Recomendamos utilizar el operador lógico AND en lugar del operador de punto y coma la mayor parte del tiempo (;
) Esto asegura que no hagas nada desastroso. Por ejemplo, si ejecuta un comando para cambiar a un directorio y luego fuerza a eliminar todo en ese directorio de forma recursiva ( cd /some_directory ; rm -Rf *
), podría terminar arruinando su sistema si el cambio de directorio no ocurriera. No es que le recomendamos que ejecute un comando para eliminar incondicionalmente todos los archivos de un directorio a la vez.
Opción tres: el operador lógico OR (||)
A veces es posible que desee ejecutar un segundo comando solo si el primer comando lo hace no tener éxito. Para hacer esto, usamos el operador lógico OR, o dos barras verticales ( ||
) Por ejemplo, queremos verificar si existe el directorio MyFolder ( [ -d ~/MyFolder ]
) y crearlo si no lo hace ( mkdir ~/MyFolder
) Entonces, escribimos el siguiente comando en el indicador y presionamos Enter.
[ -d ~/MyFolder ] || mkdir ~/MyFolder
Asegúrese de que haya un espacio después del primer paréntesis y antes del segundo paréntesis o el primer comando que comprueba si el directorio existe no funcionará.
En nuestro ejemplo, el directorio MyFolder no existe, por lo que el segundo comando crea el directorio.
Combinando múltiples operadores
También puede combinar varios operadores en la línea de comando. Por ejemplo, queremos comprobar primero si existe un archivo ( [ -f ~/sample.txt ]
) Si es así, imprimimos un mensaje en la pantalla diciéndolo ( echo “File exists.”
) Si no, creamos el archivo ( touch ~/sample.txt
) Entonces, escribimos lo siguiente en el símbolo del sistema y presionamos Enter.
[ -f ~/sample.txt ] && echo “File exists.” || touch ~/sample.txt
En nuestro ejemplo, el archivo no existía, por lo que se creó.
Aquí hay un resumen útil de cada uno de los operadores utilizados para combinar comandos:
-
A ; B
- Ejecute A y luego B, independientemente del éxito o el fracaso de A -
A && B
- Ejecute B solo si A tuvo éxito -
A || B
- Ejecute B solo si A falla
Todos estos métodos de combinación de comandos también se pueden usar en scripts de shell tanto en Linux como en Windows 10.
También puede corregir automáticamente la ortografía y los errores tipográficos al usar "cd" en la línea de comandos en Linux para evitar consecuencias drásticas al combinar comandos.