Tutorial estándar de entrada /salida de Linux

  
 

Cuando ejecuta una línea de comando de shell en Linux, generalmente abre tres archivos estándar, el archivo de entrada estándar (stdin), que generalmente corresponde al teclado del terminal, el archivo de salida estándar (stdout) y el archivo de error estándar (stderr). Ambos archivos corresponden a la pantalla del terminal. El proceso obtendrá los datos de entrada del archivo de entrada estándar, enviará los datos de salida normales al archivo de salida estándar y enviará la información de error al archivo de error estándar.

El código de archivo de entrada estándar (stdin) es 0, el código de archivo de salida estándar (stdout) es 1 y el código de archivo de error estándar (stderr) es 2. Una característica importante de Linux es que la entrada /salida estándar puede ser redirigida.

Primero, la redirección de salida la redirección de salida se refiere a redireccionar la salida estándar o el error estándar del comando (o programa ejecutable) al archivo especificado. Utilice el símbolo >

Ejemplo: 1, # echo " hellohello " > 1.txt No hay salida en la pantalla en este momento, el contenido del archivo 1.txt generado en el directorio actual es la declaración de salida de echo.

Segundo, redirección de entrada La redirección de entrada se refiere a redireccionar la entrada estándar de un comando (o programa ejecutable) a un archivo específico. Es decir, la entrada puede provenir de un archivo específico sin provenir del teclado. Utilice el símbolo <

Ejemplo: 1, # wc -l < /etc /passwd cuenta el número de líneas en el archivo /etc /passwd. La entrada estándar para el comando wc proviene del archivo /etc /passwd.

Tres, gire a la salida de uso adicional para redirigir a un archivo, si el archivo ya existe, primero borrará el contenido del archivo y luego escribirá la información. Si desea conservar el contenido del archivo original, puede usar el símbolo > > para agregar un efecto.

Ejemplo: 1, # echo " test1 " > 2.txt # echo " test2 " > > 2.txt # cat 2.txttest1test2

4. Combinación de dirección de uso La combinación de salidas de entrada y dirección permite más funcionalidad.

Ejemplo: 1, # cat < 1.txt > 3.txt especifica que la entrada estándar del comando cat proviene de 1.txt, y la salida estándar se desvía a 3.txt. El resultado es el mismo que 3.txt y 1.txt.

2, #cat > 4.txt < 3.txt especifica que la salida estándar del comando cat se desvía a 4.txt, y la entrada estándar es de 3.txt. El resultado es el mismo que 4.txt y 3.txt.

El efecto es el mismo de los dos ejemplos anteriores, lo que indica que no hay un orden para la redirección de entrada /salida estándar.

3, < < Símbolo # cat > 6.sh < < EOF > #! /bin /bash > echo "¡Hola mundo!" > EOF Descripción: > La salida estándar se redirige a 6.sh, y la entrada estándar aún es del teclado predeterminado. El símbolo < < se usa para definir el terminador. Cualquier carácter puede usarse como un terminador, generalmente definido como EOF. Aquí, cuando se ingresa a EOF, la entrada termina.

5, > /dev /null 2 ​​> &1 &¿Qué significa? A menudo en el script de shell: > /dev /null 2 ​​> &1 &Descripción: 1) /dev /null significa dispositivo vacío. 2) > /dev /null significa redireccionar la salida estándar después de que se ejecute el comando anterior, todos los cuales se lanzan al dispositivo vacío. 3) &significa equivalente, 2 > &1 significa que la redirección de la salida de 2 es equivalente a 1, redireccionando el error estándar a la salida estándar, ya que la salida estándar se ha redirigido a /dev /null, el error estándar también es Se redireccionará a /dev /null. 4) El último &indica que el fondo se está ejecutando.

Copyright © Conocimiento de Windows All Rights Reserved