Linux 重定向与管道

标准输出重定向

“>” 操作符:覆盖目标文件内容

linuxidc@linuxidc:~/linuxidc/linux/cmdline$ date > foo
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ cat foo
Fri May 8 09:55:42 CST 2015

“>>” 操作符:在目标文件尾部追加输出内容

linuxidc@linuxidc:~/linuxidc/linux/cmdline$ date >> foo
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ cat foo
Fri May 8 09:55:42 CST 2015
Fri May 8 09:57:02 CST 2015

标准错误重定向

“2>” 操作符:覆盖目标文件内容

linuxidc@linuxidc:~/linuxidc/linux/cmdline$ ls inexistent_dir 2> ls-error.txt 
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ cat ls-error.txt 
ls: cannot access inexistent_dir: No such file or directory

“2>>” 操作符:在目标文件尾部追加输出内容

linuxidc@linuxidc:~/linuxidc/linux/cmdline$ ls inexistent_dir 2>> ls-error.txt 
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ cat ls-error.txt 
ls: cannot access inexistent_dir: No such file or directory
ls: cannot access inexistent_dir: No such file or directory

将标准输出与标准错误重定向到同一文件

“&>” 操作符:覆盖目标文件内容

linuxidc@linuxidc:~/linuxidc/linux/cmdline$ date &> foo
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ cat foo
Fri May 8 10:16:12 CST 2015
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ ls inexistent_dir &> foo 
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ cat foo
ls: cannot access inexistent_dir: No such file or directory

“&>>” 操作符:在目标文件尾部追加输出内容

linuxidc@linuxidc:~/linuxidc/linux/cmdline$ echo 'hello world' > foo
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ date &>> foo
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ ls inexistent_dir &>> foo 
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ cat foo
hello world
Fri May 8 10:25:24 CST 2015
ls: cannot access inexistent_dir: No such file or directory

 

标准输入重定向

“<" 操作符

linuxidc@linuxidc:~/linuxidc/linux/cmdline$ echo 'hello world' > foo
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ cat < foo
hello world 

管道

“|” 操作符

 
linuxidc@linuxidc:~/linuxidc/linux/cmdline$ ls /usr/bin | grep '^zip'
zip
zipcloak
zipgrep
zipinfo
zipnote
zipsplit