2007-06-26
命令重定向
关键字: Linux 学习什么是命令重定向?简单地说就是将您目前的所得数据转到其他地方。例如我们常用的将当前屏幕输出数据转到文件中,就可以写成:ls -l / > test.txt ,大于号">"就是将输出结果导向到test.txt文件的意思。此时:
- 如果您执行ls -l,屏幕就会根目录的文件与子目录都显示在屏幕上;
- 但 是当使用>导向到test.txt文件时,则屏幕不会显示任何信息,但是会将刚刚您执行的结果输出到test.txt文件中。若是这个文件存在,系 统会先将这个文件内容清空,然后将数据写入。也就是说,若以>将内容输出到一个已有文件中,该文件的原有数据就会被覆盖掉。
- 标准输入:代码为0,或称为stdin,使用方式<
- 标准输出:代码为1,或称为stdout,使用方式为1>
- 错误输出:代码为2,或称为stderr,使用方式为2>
指令 > 设备或文件
2>
>>
<
右边一定是指令,左边则可能是设备或者文件。需要注意的是1>和2>之间是没有空格的。
范例:
ls -al > list.txt // 将显示结果输出到list.txt文件中,若文件存在就覆盖它。
ls -al >> list.txt //将显示结果追加到list.txt文件中,原来的数据不丢失
ls -al 1> list.txt 2> list.err // 将显示数据正确输出到list.txt,错误的数据输出到list.err
ls -al 1> list.txt 2>&1 // 将显示数据不论正确或错误均输出到list.txt中。注意:错误与正确信息输出到同一个文件中,则必须以上面的方法来写,不能写成其他格式。
ls -al 1> list.txt 2> /dev/null // 将显示的数据,正确地输出到list.txt,错误的数据予以丢弃!
在这里说明命令重定向里几个常用的符号与设备
- <:有<的右边读入参数文件;
- >:将原本由屏幕输出的正确数据输出到>右边的file或者device(设备,如printer);
- >>:将原本由屏幕输出的正确数据输出到>>右边,与>不同的是,该文件将不会被覆盖,而新的数据将以累加方式添加到文件的最后面;
- 2>:将原本应该由屏幕输出的错误数据输出到2>的右边;
- /dev/null:可以视为垃圾设备,任何导向这个设备的数据都会消失
发表评论
最新评论
-
工作两年了,发发牢骚
zpple 写道不赞成做技术,想发展就不要做技术,做上了技术就要跳到一个大公司, ...
-- by rxgp02a -
工作两年了,发发牢骚
yanshiyi 写道rxgp02a 写道个人感觉,谁的技术也不是白来的,同样的 ...
-- by rxgp02a -
工作两年了,发发牢骚
不赞成做技术,想发展就不要做技术,做上了技术就要跳到一个大公司,盯着一个项目组, ...
-- by zpple -
工作两年了,发发牢骚
rxgp02a 写道个人感觉,谁的技术也不是白来的,同样的时间别人进步比你快,那 ...
-- by yanshiyi -
工作两年了,发发牢骚
个人感觉,谁的技术也不是白来的,同样的时间别人进步比你快,那是因为别人比你努力, ...
-- by rxgp02a







评论排行榜