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