一般如果是命令间传递参数,建议用管道,如果处理输出结果需要重定向到文件,建议用重定向输出。
管道
- 如tar命令,在命令行界面一敲,一闪而过去了,不能往回翻页查看。这时,管道就起到作用了。
- 将一个命令的输出传送给另一个命令,
tar --help |more
退出按q。
重定向
> 输出导向
>> 输出导向
1> 是以覆盖的方法将正确的数据输出到指定的文件或设备上
2> 是以覆盖的方法将错误的数据输出到指定的文件或设备上
1>> 是以累加的方法将正确的数据输出到指定的文件或设备上
2>> 是以累加的方法将错误的数据输出到指定的文件或设备上
< 输入导向
<< 输入导向
ls
ls > 4.txt
cat 4.txt
ls >>4.txt
cat 4.txt
1,标准输入的控制
语法:命令< 文件将文件做为命令的输入。
例如:
mail -s “mail test” test@ahlinux.com < file1
将文件file1 当做信件的内容,主题名称为mail test,送给收信人。
2,标准输出的控制
语法:命令> 文件将命令的执行结果送至指定的文件中。
例如:
ls -l > list
将执行“ls -l” 命令的结果写入文件list 中。
语法:命令>! 文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。
例如:
ls -lg >! list
将执行“ls - lg” 命令的结果覆盖写入文件list 中。
语法:命令>& 文件将命令执行时屏幕上所产生的任何信息写入指定的文件中。
例如:
cc file1.c >& error
将编译file1.c 文件时所产生的任何信息写入文件error 中。
语法:命令》 文件将命令执行的结果附加到指定的文件中。
例如:
ls - lag 》 list
将执行“ls - lag” 命令的结果附加到文件list 中。
语法:命令》& 文件将命令执行时屏幕上所产生的任何信息附加到指定的文件中。
例如:
cc file2.c 》& error
将编译file2.c 文件时屏幕所产生的任何信息附加到文件error 中。
重定向的百度百科: