Linux之重定向

cat -连接文件

sort -排序文本行

uniq -报道或省略重复行

105

grep -打印匹配行

wc -打印文件中换行符,字,和字节个数

head -输出文件第一部分

tail - 输出文件最后一部分

 

标准输入,输出,和错误

I/O 重定向允许我们可以更改输出走向和输入来向。一般地,输出送到屏幕,输入来自键

盘,但是通过 I/O 重定向,我们可以改变输入输出方向。

 

重定向标准输出

ls -l /usr/local > ls-output.txt

把目录换成一个不存在的目录

文件长度成为零!这是因为,当我们使用 “>” 重定向符来重定向输出结果时,目标文件总

是从开头被重写。因为我们 ls 命令没有产生运行结果,只有错误信息,重定向操作开始重写文

件,然后由于错误而停止,导致文件内容删除。

事实上,如果我们需要删除一个文件内容(或者创建一个新的空文件),可以使用这样的技巧:

把重定向结果追加到文件内容后面,而不是从开头重写文件?为了这个目的,我们使用 “>>” 重定向符

ls -l /usr/local >> ls-output.txt

重定向标准错误

标准输入,输出和错误, shell 内部参考它们为文件描述符 0, 1 和 2

ls -l /bin/usr 2> ls-error.txt

重定向标准输出和错误到同一个文件

方法一:ls -l /bin/usr > ls-output.txt 2>&1

方法二:现在的 bash 版本提供了第二种方法,更精简合理的方法来执行这种联合的重定向

处理不需要的输出

通过重定向输出结果到一个特殊的叫做 “/dev/null” 的文件。这个文件是系统设备,叫做位存储桶,它可以接受输入,并且对输入不做任何处理。为了隐瞒命令错误信息,我们这样做

ls -l /bin/usr 2> /dev/null

cat -连接文件

cat 命令读取一个或多个文件,然后复制它们到标准输出     cat [file]

可以使用 cat 来显示文件而没有分页

 

将会显示文件 ls-output.txt 的内容。cat 经常被用来显示简短的文本文件。因为 cat 可以接

受不只一个文件作为参数,所以它也可以用来把文件连接在一起。比方说我们下载了一个大型

文件,这个文件被分离成多个部分( USENET 中的多媒体文件经常以这种方式分离),我们想

把它们连起来。如果文件命名为:

movie.mpeg.001 movie.mpeg.002 ... movie.mpeg.099

we could join them back together with this command:

我们能用这个命令把它们连接起来:

cat movie.mpeg.0* > movie.mpeg

 

输入不带参数的 “cat” 命令 ,

如果 cat 没有给出任何参数,它会从标准输入读入数据,因为标准输入,默认情况下,连接到键盘。

由于文件名参数的缺席, cat 复制标准输入到标准输出,所以我们看到文本行重复出现。我

们可以使用这种行为来创建简短的文本文件

重定向标准输入

管道线

命令可以从标准输入读取数据,然后再把数据输送到标准输出,命令的这种能力被一个shell 特性所利用,这个特性叫做管道线。使用管道操作符 “|”(竖杠),一个命令的标准输出可以管道到另一个命令的标准输入:

command1 | command2

用 less 来一页一页地显示任何命令的输出,命令把它的运行结果输送到标准输出

 ls -l /usr/bin | less

过滤器

把目录/bin 和/usr/bin 中的可执行程序都联合在一起,再把它们排序,然后浏览执行结果

ls /bin /usr/bin | sort | less

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值