redirección estándar IO y tuberías

E / S estándar redirección y tuberías

Una entrada y salida estándar

Programa: Los datos de la instrucción +
lee los datos de entrada: los
datos de salida: Salida de
archivo abierto tiene un FD: descriptor de archivo (descriptor)
el programa Linux para proporcionar tres dispositivos de E / S

  • La entrada estándar (stdin) -0 ventana por defecto recibe una entrada desde el terminal
  • de salida estándar (STDOUT) -1 salida por defecto para la ventana de terminal
  • error estándar (STDERR) -2 salida por defecto para la ventana de terminal
    Ejemplo: Wenjianmiaoshufu

2 I / O redirección redirección

I / O redirección: La entrada por defecto, de salida o de error cambios de dispositivo correspondiente, el nuevo punto de destino

2,1 salida estándar y error redirigida

Stdout y stderr pueden ser redirigidos al archivo especificado, en lugar de la actual terminal por defecto
formato:
命令 操作符号 文件名
Funcionamiento apoyado símbolos comprende:

1> 或>        把STDOUT重定向到文件
2>            把STDERR重定向到问及爱你
&>            把所有输出重定向到文件

Por encima de si el archivo ya existe, el contenido del archivo se sobrescribirá

set -C    禁止将内容覆盖已有文件,但可追加,利用>|仍可强制覆盖
set +C    允许覆盖,默认

Append
">>" para el contenido original sobre la base del contenido adicional
de salida y error redirigido anexa al archivo

>>    追加标准输出重定向至文件
2>>   追加标准错误重定向至文件

de salida estándar y el error están cada dirigidos a una ubicación diferente
COMMAND > /path/to/file.out 2> /path/to/error.out
agruparon salida de error estándar, y emite la misma para redirigir una flujo de datos
y> cobertura redirección
y >> append redirección
comando> /path/to/file.out 2> & 1 (secuencia es importante)
el /path/to/file.out COMANDO >> 2> 1 y.
combinar una pluralidad de programas
(CMD1; CMD2 ......) o {CMD1; CMD2; ......;} combinar una pluralidad de programas la STDOUT

2,2 redirección de entrada estándar

STDIN importación del archivo, en lugar del dispositivo de terminal de corriente de entrada, utilizando <redirigir la entrada estándar
ciertos comandos puede ser aceptada desde el STDIN archivo de importación

2.2.1 comando tr

personajes de conversión tr y borrar
tr [OPTION]... SET1 [SET2]
opciones:

-d  --delete:删除所有属于第一字符集的字符
-s  --squeeze-repeats:把连续重复的字符以单独一个字符表示,即去重
-t  --truncate-set1:将第一个字符集对应字符转化为第二字符集对应的字符
-c  -C --complement:取字符集的补集


    \NNN           character with octal value NNN(1 to 3 octal digits)
    \\             backslash
    \a             audible BEL
    \b             backspace
    \f             form feed
    \n             new line
    \r             return
    \t             horizontal tab
    \v             vertical tab



[:alnum:]:字母和数字
[:alpha:]: 字母
[:digit:]: 数字
[:lower:]: 小写字母
[:upper:]:大写字母
[:space:]:空白字符
[:print:]: 可打印字符
[:punct:]:标点符号
[:graph:]:图形字符
[:cntrl:]:控制(非打印)字符
[:xdigit:]:十六进制字符

redirección de entrada estándar

El uso de "<" puede ser un estándar de redirección de entrada
ejemplo:

cat   >  file
mage
wangxiaochun

Ctrl + D de distancia, se puede utilizar en lugar de un archivo de entrada de teclado

cat <file1 >  file2
cat <file1 >> file1

2.2.3 El cambio de dirección de varias líneas

Utilice el comando "<< terminación palabra" desde el teclado a la pluralidad de filas de redirección STDIN, hasta que todo el texto antes de la posición de la palabra que termina son enviados a STDIN, a veces referido como texto in situ (en este caso los documentos)
en el que un terminador puede ser cualquier palabra o una pluralidad de símbolos, tales como :! , @, $, EOF (End Of File), magedu etc., en los que más comúnmente EOF

3 oleoducto

3.1 Pipeline

Pipe (usando "|" símbolo mostrado) para la conexión de la pluralidad de comandos
de formato
命令1 | 命令2 | 命令3 | ...
Función:

  • comando STDOUT 1 se envía a la salida estándar STDIN 2, el comando 2 se transmite al mando. 3 STDIN
  • Todos los comandos se ejecutarán en el proceso de sub-shell proceso shell actual en
  • Combinación de múltiples funciones de la herramienta
    Nota: El STDERR defecto no reenvía a través de la tubería, se puede utilizar 2> & 1 | & implementado en el siguiente formato:
命令1  2>&1   | 命令2
命令1   |&    命令2

Pipeline 3,2 - símbolo

Las tuberías se utilizan a veces - el símbolo
Ejemplo:
El embalaje / home el interior del papel, pero los datos empaquetados no se registra en un archivo, sino más bien transferidos a stdout, después de la tubería, el tar-cvf- / home entregado a la parte posterior de la tar-xvf - detrás de esto - es la salida estándar antes de tomar el mando, por lo que no es necesario utilizar un archivo temporal
tar -cvf - /home | tar -xvf -

3.2 camiseta de comandos

Usando camiseta comando puede ser redirigido a una pluralidad de destinatarios
formatos:
命令1 | tee [-a] 文件名 | 命令2
por encima de 1 comandos se pueden almacenar en un archivo de salida estándar, como una entrada de mando 2
opciones:
adicionales -a
características:

  • Guardar la salida de las diferentes etapas
  • Fallo exclusión tubería complejo
  • Al mismo tiempo ver y salida de grabación

Supongo que te gusta

Origin www.cnblogs.com/dadadezhang/p/12596412.html
Recomendado
Clasificación