详解Linux命令中的符号
作者:Suyuoa
1 管道符 |
我们举个例子 A命令 | B命令
这样写A命令的结果就会作为b命令的输入
我们下面介绍几个常见的使用方式
1.1 | grep [要检索的东西]
你在终端上看到了一些内容,你感觉东西太多了,自己找很麻烦,那么就可以用这个
比如我向在当前目录下查看有没有 something.txt 这个文件,那么我可以这样写 ls | grep something.txt
要检索的东西默认区分大小写
- ps -ef | grep python 查看python的所有进程,这里不只能挂python,比如你要查看uwsgi的所有进程,你就写 ps -ef | grep uwsgi
- pip list | grep opencv 查看python库中opencv的版本情况
1.2 echo | tee
这样可以让 hello world 写入 test.txt。写入的东西会覆盖掉之前的东西
2 重定向
重定向有 > >> < << 四个符号,你别把他们当作大于号和小于号看,你把他们当作箭头来看。比如 A > B 就是把A的结果给B。再比如 A < B 就是把B的结果给A
2.1 输出重定向覆盖 >
举个例子,echo默认会把结果输出到终端上
现在我不想让结果输出在终端上了,而是输出在一个txt中,那我们可以这样写
这样我们发现终端上就不显示东西了,之后在指定的目录下会出现test.txt这个文件(如果test.txt之前存在会覆盖掉之前的内容,如果text.txt之前不存在会自动创建)
2.2 输出重定向添加 >>
如果没有test.txt那么就自动创建一个test.txt并写下相关的内容
与 > 不同的是,>>会将内容添加到最后,而不是进行覆盖
2.3 文件输入重定向 <
把后面的结果给前面的,比如我现在想找test.txt的wo的部分
那么我们可以这样写
我们再举个例子加强一下理解,我现在有两个文本文件 test.txt 与 test1.txt
test.txt的内容是这样的
test1.txt的内容是这样的
我现在想用test1.txt的内容覆盖掉test.txt的内容,我们可以这样写
test.txt的内容改变了
test1.txt的内容没有变化
2.4 多行文本输入重定向 <<
执行命令前的test.txt内容是这样的
之后执行重定向的命令,EOF是多行文本的结束标识,运行之后出现了输入多行文本的地方
一般都是用EOF作为结束标识,我们也可以用其他的字符,效果一样使用 <<- EOF 与 << EOF 相似,只是关于制表符的处理上不一样。在一些终端中<<-EOF与<<EOF作用相同
我们随便输入一些内容,然后最后以EOF结尾,然后按回车
之后打开test.txt发现之前的内容被覆盖掉了
2.5 常用搭配
2.5.1 终端不显示 > /dev/null
/dev/null 就是一个扔垃圾的地方,不想要的终端输出都可以给这个文件
这样写会保存想要的内容,并且在终端上不显示任何的东西
到此这篇关于详解Linux命令中的符号的文章就介绍到这了,更多相关Linux命令中的符号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!