GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar la redirección de comandos en Linux

Metacaracteres de caparazón

Los metacaracteres de shell son caracteres específicos, generalmente símbolos, que tienen un significado especial dentro del shell. Los metacaracteres admitidos en bash se enumeran a continuación:

  • | :envía la salida del comando a la izquierda como entrada al comando a la derecha del símbolo
  • & :ejecuta el proceso en segundo plano, lo que le permite continuar trabajando en la línea de comando
  • ; :Le permite enumerar varios comandos en una sola línea, separados por este carácter
  • () :Agrupa los comandos y envía su salida al mismo lugar
  • < :Obtiene la entrada para el comando a la izquierda del archivo que aparece a la derecha de este símbolo
  • > :envía la salida del comando de la izquierda al archivo nombrado a la derecha de este símbolo
  • pestaña de espacio
Precaución :No utilice estos metacaracteres al crear nombres de archivos y directorios. Estos caracteres tienen un significado especial en el caparazón.

Metacaracteres de redirección

La redirección de comandos está habilitada por los siguientes metacaracteres de shell:

  • Redireccionamiento de entrada estándar (<)
  • Redireccionamiento de salida estándar (>)
  • Redireccionamiento del error estándar (2>)
  • El carácter de barra vertical (|)

Los descriptores de archivos

Cada proceso trabaja con descriptores de archivo. Los descriptores de archivos determinan dónde se origina la entrada del comando y hacia dónde se dirigen los mensajes de salida y de error. La tabla explica los descriptores de archivos.

Número de descriptor de archivo Abreviatura del descriptor de archivo Definición
0 entrada estándar Entrada de comando estándar
1 salida estándar Salida de comando estándar
2 stderr Error de comando estándar

Redirección de comandos

De manera predeterminada, el shell recibe o lee la entrada de la entrada estándar, el teclado, y muestra los mensajes de salida y de error en la salida estándar, la pantalla. La redirección de entrada obliga a un comando a leer la entrada desde un archivo en lugar de desde el teclado. La redirección de salida envía la salida de un comando a un archivo en lugar de enviar la salida a la pantalla.

Redireccionamiento de entrada estándar

El menor que (< ) el metacarácter procesa un archivo como la entrada estándar en lugar de leer la entrada desde el teclado.

# command < filename

o

# command 0< filename

Por ejemplo, use el archivo data.txt como entrada para el comando mailx.

# mailx -s test [email protected] < data.txt

Redireccionamiento de salida estándar

El mayor que (> ) el metacarácter dirige la salida estándar a un archivo en lugar de imprimir la salida en la pantalla.

# command > filename

o

# command 1> filename

Si el archivo no existe, el sistema lo crea. Cuando utiliza un solo metacarácter mayor que (>), el comando sobrescribe el contenido original del archivo, si el archivo ya existe. Cuando usa dos caracteres mayores que (>>), el comando agrega la salida al contenido original del archivo.

$ command >> filename

Error estándar de redireccionamiento

Un comando que utiliza el número de descriptor de archivo (2) y el signo mayor que (>) redirige cualquier mensaje de error estándar al archivo /dev/null.

$ command 2> /dev/null

El siguiente ejemplo muestra la salida estándar y el error estándar redirigido al archivo data.txt.

$ ls /tmp 1> data.txt 2>&1
Nota :La sintaxis 2>&1 indica al shell que redirija stderr (2) al mismo archivo que recibe stdout (1).

El personaje de la pipa

El carácter de canalización redirige la salida estándar de un comando a la entrada estándar de otro comando. El primer comando escribe la salida en la salida estándar y el segundo comando lee la salida estándar del comando anterior como entrada estándar.

$ command | command

Por ejemplo, utilice la salida estándar del comando who como entrada estándar para el comando wc -l.

 $ who | wc -l 
35

Para ver una lista de todos los subdirectorios ubicados en el directorio /etc, ingrese el siguiente comando.

$ ls -F /etc | grep "/" X11/
acct/
apache/
apache2/

Utilice la salida del comando head como entrada para el comando 'xargs ls'.

head -10 data.txt | xargs ls 


Linux
  1. Cómo usar el comando grep de Linux

  2. Cómo usar el comando de historial en Linux

  3. Cómo usar el comando de pantalla de Linux

  4. Cómo usar el comando tar en Linux

  5. Cómo utilizar eficazmente las páginas de manual en Linux

Cómo usar el comando nohup de Linux

Cómo usar el comando ping de Linux

Cómo usar du Command en Linux

Cómo usar el comando sysctl en Linux

Cómo usar el comando de apagado de Linux

Cómo usar grep en Linux