Linux 标准输入/输出/重定向

[LINUX 基础] Linux 标准输入/输出/重定向

1. 标准输入
命令 <
文件将文件做为命令的输入
$ mail -s "mail test" [email protected] < file1

2. 标准输出

2-1. 命令 >
将命令的执行结果 (标准输出) 送至指定的文件中
$ ls -l > logfile

2-2. 命令 >!
将命令的执行结果送至指定的文件中, 若文件已经存在, 则不会覆盖
$ ls -lg >! logfile

2-3. 命令 >& (> + 2>&1, >> + 2>&1)
将命令执行时屏幕上所产生的任何信息写入指定的文件中
$ find /usr/local -name psql* >& logfile
$ find /usr/local -name psql* > logfile 2>&1
$ find /usr/local -name psql* >> logfile 2>&1 (追加)

2-4. 命令 >>
将命令执行的结果追加到指定的文件中
$ ls - lag >> logfile

2-5. 命令 2>
将命令执行时屏幕上所产生的错误信息写入到指定的文件中
$ find /usr/local -name psql* 2> err_logfile
$ find /usr/local -name psql* 2>> err_logfile (追加)
$ find /usr/local -name psql* 2> /dev/null (避开错误信息)

2-6. 将标准输出和标准错误输出分开不同文件
$ command > logfile 2> errorfile

2-7. 命令 tee
将命令执行时屏幕上所产生的标准输出和标准错误输出分别写入不同文件
$ find /usr/local -name psql 2>&1 | tee logfile

2-8. 写入多行文本到文件
2-8-1. 在屏幕上标准输入
$ cat <<EOF > filename
> Hello World!
> Good Bye!
EOF

2-8-2. 在 shell 脚本中输入
$ cat > filename <<EOF
> Hello World!
> Good Bye!
EOF

3. 舍弃任何信息
$ command > /dev/null 2>&1

猜你喜欢

转载自mark-ztw.iteye.com/blog/1543038