/ / / Cómo ejecutar dos o más comandos de terminal a la vez en Linux

Cómo ejecutar dos o más comandos de terminal a la vez en Linux

00_lead_image_combining_commands

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.

01_comando_comandos_con_operador_semicolon

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.

02_combinando_comandos_con_lógico_y_operador

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.

03_comando_comandos_con_logical_o_operador

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ó.

04_using_two_different_operators

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.