Cómo ejecutar varios comandos a la vez en Linux

Published:

La terminal de Linux es una poderosa herramienta que nos permite realizar una amplia gama de operaciones usando comandos. Estos comandos permiten realizar una variedad de tareas informáticas, incluida la manipulación de archivos, la administración de programas y la automatización de servicios.

Idealmente, cuando necesita ejecutar un montón de comandos de terminal, lo hace uno por uno. Sin embargo, resulta que hay una mejor manera de hacer esto, e implica ejecutar varios comandos a la vez.

Ejecución de varios comandos de Linux a la vez

En Linux, hay tres formas de ejecutar varios comandos en una terminal ayudandonos con operadores:

  1. El operador de punto y coma ( ; )
  2. El operador lógico OR ( || )
  3. El operador lógico AND ( && )

1. Uso del operador de punto y coma (;)

Segmentar una cadena de comandos con punto y coma es la práctica más común cuando desea ejecutar varios comandos en una terminal. Parte de la razón de esto es la forma en que actúa el operador: ejecuta todos los comandos en la secuencia independientemente de si el comando anterior se ejecutó correctamente o falló.

Por ejemplo, si hay dos comandos: comando A y comando B, el uso del operador de punto y coma entre ellos asegura que tanto el primer comando como el segundo se ejecuten secuencialmente independientemente de la salida del primer comando.

command A ; command B

Entonces, si se encuentra en una situación en la que es necesario ejecutar dos o más comandos de terminales no relacionados, de modo que el estado de salida del primer comando no afecta la ejecución del último, el operador de punto y coma es el camino a seguir.

Ejemplo: primero actualiza la base de apt y luego actualiza el sistema.

apt update ; apt upgrade

2. Uso del operador OR (||)

Cuando ejecutas dos comandos usando el operador OR, le dices al shell que ejecute solo un comando entre los dos.

Consideremos un escenario en el que ha utilizado el operador OR con dos comandos: comando A y comandos B . Así es como se vería el comando combinado con el operador OR:

command A || command B

Aquí, el comando B solo se ejecutará si el comando A falla, es decir, cuando el comando A devuelve un error. Del mismo modo, si el comando A se ejecuta correctamente, el comando B no se ejecutará.

Hablando de su caso de uso, puede usar el operador OR cuando necesite ejecutar dos comandos relacionados juntos, de modo que el shell ejecute el siguiente comando solo cuando el anterior falle.

Ejemplo de caso de uso : supongamos que desea crear un nuevo archivo, digamos Document.txt , pero antes de hacerlo, debe asegurarse de que no exista un archivo con el mismo nombre en el directorio actual. En tales situaciones, puede ejecutar sus comandos en la siguiente secuencia:

find . -name Document.txt || touch Document.txt

Aquí, el comando de búsqueda buscará el directorio de trabajo actual para el archivo Documents.txt. Si encuentra el archivo, la progresión del comando se detendrá y el segundo comando no se ejecutará.

Por otro lado, si no encuentra un archivo coincidente, se ejecutará el comando de la derecha y se creará un nuevo archivo con el nombre Document.txt en su directorio de trabajo actual.

3. Uso del operador AND (&&)

El operador AND ejecuta el siguiente comando en una secuencia solo cuando su comando anterior se ejecuta correctamente.

Para comprender esto mejor, consideremos un escenario en el que desee ejecutar dos comandos relacionados, de modo que desee que el segundo comando se ejecute solo si el primero devuelve un resultado válido. En este caso, podemos vincular los comandos mediante el operador AND, denominado &&, para obtener el resultado deseado.

Ejemplo de caso de uso : Uno de los casos de uso más comunes del operador AND en Linux es crear un nuevo directorio y acceder a él de inmediato. De esa forma, no tendrá que ejecutar los dos comandos individualmente para realizar la operación.

Para el propósito de esta guía, supongamos que desea crear un nuevo directorio llamado Documentos y cambiar inmediatamente su directorio de trabajo actual a él.

mkdir Documents && cd Documents

Aquí, el comando mkdir creará un nuevo directorio llamado Documents en su directorio de trabajo actual. Si tiene éxito, permitirá que se ejecute el comando cd.

Combinando varios operadores para cumplir con sus criterios de ejecución

Además de usar operadores individualmente en sus comandos, también puede agrupar varios operadores para cumplir con sus criterios de ejecución. Esto resulta útil cuando desea ejecutar comandos basados ​​en múltiples condiciones.

Consideremos un escenario en el que desea ejecutar dos comandos ( comando B y comando C ) solo cuando el comando A falla. Para hacer esto, necesitaremos usar operadores como se muestra en la notación a continuación:

command A || command B && command C

Ejemplo de caso de uso : digamos que desea determinar si una carpeta (llamada Document ) existe en su directorio de trabajo actual y crearla si no está allí. En este caso, en lugar de ejecutar comandos separados para buscar el directorio y crear uno nuevo, puede usar los operadores OR y AND juntos para realizar toda la operación de manera eficiente.

Así es como se vería eso:

find . -name Document || echo "Directory not found" && mkdir Document

En este comando, find le pide al shell que busque una carpeta llamada Document en el directorio de trabajo actual. Si el directorio no está presente, el terminal transfiere el flujo a los comandos echo y mkdir , que imprimen la cadena especificada y crean una nueva carpeta respectivamente.

- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles

Ads Blocker Image Powered by Code Help Pro

Se detecto un bloqueador de publicidad!!!

Nuestro contenido es 100% gratuito, por favor colabora con nosotros, permite la publicidad y disfruta del contenido.