Linux中的重定向和管道符

芝士年糕
• 阅读 420

租了台服务器,用来学习linux,有需要的可以后台私信我,很便宜的 重定向

(重定向)和 >>(追加重定向) 重定向就是把一个命令的输出保存到一个文件中,而不是直接输出到屏幕上。 例如,ls会将当前目录下的文件名输出到屏幕上:

Linux中的重定向和管道符

使用重定向:

ls > /home/test/output.txt

那么,就会把ls在屏幕上输出的内容写到/home/test/output.txt(如果文件不存在会自动创建,但目录必须存在)文件中,屏幕上不会存在输出。

Linux中的重定向和管道符 注意: 重定向“>”会自动创建新的文件,不需要提前touch; 重定向“>”会覆盖文件原本的内容。 如果重定向时,不想将原本的内容覆盖,可以使用重定向符“>>”来实现,他会将输出内容添加在文件的尾部,。如果这个文件并不 存在,将与操作符>的作用一样创建这个文件 。 标准错误重定向 所谓标准错误重定向就是把命令执行时的报错信息保存到一个文件中。 标准错误的重定向并不能简单地使用一个专用的重定向符来实现。一个程序可以把生成的输出内容发送到任意文件流中。如果把这些文件 流中的前三个分别对应标准输入文件、标准输出文件和标准错误文件, 那么shell将在内部用文件描述符分别索引它们为0、1和2。shell提供了 使用文件描述符编号来重定向文件的表示法。由于标准错误等同于文件 描述符2,所以可以使用这种表示法来重定向标准错误。 假设不存在/bin/usr目录

  1. “2>”

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

文件描述符“2”紧放在重定向符之前,将标准错误重定向到ls-error.txt文件中。 2. “2>&1”

ls /bin/usr > ls-output.txt 2>&1

执行两个重定向操作,首先重定向标准输出到ls- output.txt文件中,然后使用标记符2>&1把文件描述符2(标准错误)重 定向到文件描述符1(标准输出)中。 3. &>

ls /bin/usr &> ls-output.txt

表示把标准输出和标准错误都重 定向到了ls-output.txt文件中。 管道 命令从标准输入到读取数据,并将数据发送到标准输出的能力,是使用 了名为管道的shell特性。使用管道操作符“|”(竖线)可以把一个命令的 标准输出传送到另一个命令的标准输入中。

ls -l /usr/bin | less

这条命令就表示:输出/usr/bin下的所有文件和目录,并以翻页形式查看(less命令)。 下面介绍一些常用的支持管道符的命令。(less命令如上,不在重复)。 uniq(报告或忽略文件中重复的行) uniq命令经常和sort命令结合使用。 uniq可以接受来自于标准输入或者一 个单一文件名参数对应的已排好序的数据列表。默认情况下,该命令删除列表中的所有重复行。因此,在管道中添加uniq命令,可以确保所有的列表都没有重复行。

ls /bin /usr/bin | sort | uniq | less

Linux中的重定向和管道符

uniq -d:要查看重复行的列表 wc(打印行数、字数和字节数) 用来显示文件中包含的行数、字数和 字节数。

Linux中的重定向和管道符

wc -l :限制命令只报告行数 grep(打印匹配项)

ls /bin | grep zip

这条命令表示:搜索出/bin目录下包含zip的所有文件。 grep -i:grep在搜索时忽略大小写; grep -v:输出不匹配的行 tee(从标准输入读取数据,并同时输出到标准输出和文件) tee命令读取标准输入,再把读到的内容复制到标准输出和一个或更多 的文件中去。

ls /bin | tee output.txt | grep zip

点赞
收藏
评论区
推荐文章
似梦清欢 似梦清欢
3年前
Linux shell(1)
1.免交互处理在免交互输出处理中可以使用重定向将输出内容输入到黑洞文件/dev/null中。root@localhostechopassword|passwdstdinuser&/dev/null使用重定向输入将/root/testmail中的内容以Testmail为右键名发送给root@localhost:root@local
go语言中,Printf()、Sprintf()、Fprintf()函数的区别用法是什么?
Printf()、Sprintf()、Fprintf()函数的区别用法是什么?  都是输出格式化字符串,只是输出到的目标不一样:    Printf()是把格式化字符串输出到标准到标准输出(一般是屏幕,可以重定向)    Printf()是和标准输出文件(stdout)关联的,Fprintf则没有这个限制    Sprintf()是
Stella981 Stella981
3年前
Python之OS模块函数
Python中的os模块提供了操作系统相关功能的函数,可以更加方便的在python脚本中对linux的文件目录的处理和shell的应用。os.system("bash")运行shell命令,直接显示应用ls命令查看当前目录下的文件importosprint(os.system('ls'))
Wesley13 Wesley13
3年前
DSAPI CMD命令行进程代理
DSAPI.文件.CMD命令行进程代理,是用来和CMD.exe或指定exe进行输出重定向的简化使用工具,可隐藏或显式地启动一个cmd.exe,并将输出流、输入流和错误流重定向至代理,通过事件触发方式与之交互。!(https://oscimg.oschina.net/oscnet/94e494ea42f9d979c5a0c43b278968e56f3.
Stella981 Stella981
3年前
Linux sed命令
简介sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多
Wesley13 Wesley13
3年前
301重定向,首页和内页都实现重定向
301重定向,首页和内页都实现重定向  域名变更,为了使搜索引擎权重自然转换,301重定向是无疑是必然之选,但很多人都发现,一般在IIS中设置重新定向到URL功能只有首页能生效,内页的301都是跳转到首页来的。这样就不好了,怎么办?  经查资料发现,原来301转向还需要加参数。  以下为引用的内容:  $S将请求的URL
Wesley13 Wesley13
3年前
sed
1.Sed简介sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化
Stella981 Stella981
3年前
Linux 重定向与管道符
重定向与管道符重定向作用:将命令的执行结果输出到指定的文件中,而不是直接显示在屏幕上0标准输入键盘stdin仅读取1标准输出终端stdout仅写入2标准错误终端stderr仅写入3filename其他文件读/写在Li
Stella981 Stella981
3年前
Linux学习
今天修好了图片搞起来!(https://oscimg.oschina.net/oscnet/b0b917286862584be356bf632cc51f1d6a4.jpg)输出重定向 输入重定向<清空追加!(https://oscimg.oschina.net/oscnet/fb5a249c74
马尚 马尚
7个月前
Python代码实现逆向打码过程
分析重定向的URL,获取关键参数:通过分析重定向的URL,获取as、ds、tk等关键参数,这些参数在后续的验证过程中会用到。pythonCopycodedefgetimagerequestdata(self):发送请求获取需要获取图片的参数解析响应,提取关