文章目录
- 管道
- 与文件重定向的区别
- 举例
- 环境变量
- 使用自己编写的程序像命令符一样
- 常用命令
- grep
- ag
- wc
- tree . -a
- cut
- sort
- more
- history
管道
管道类似于重定向,但是又不太一样,管道可以连接好几个,把第一个的输出当成第二个的输入,第二个的输出当成第三个的输入,但是管道只可以处理标准输出,标准错误就会忽略掉,还要求管道右边的命令必须能接受stdin。多个管道命令可以串联。
与文件重定向的区别
- 文件重定向左边为命令,右边为文件。
- 管道左右两边均为命令,左边有stdout,右边有stdin。
举例
统计当前目录下所有python文件的总行数,其中find、xargs、wc等命令可以参考常用命令这一节内容。
find . -name '*.py' | xargs cat | wc -l
find . 的意思就是在本文件夹中查找,xargs是将前面找到的所有的文件的名称用空格分开,然后一个个发给cat,这样展示里面的内容作为下一个的输入,才能得到所有的python文件里的内容有多少行
环境变量
环境变量有点像全局变量,可以被每一个进程使用
详细笔记
在运行文件.bashrc的时候,是从上往下执行的,所以在修改的时候直接添加到最下方,这样能够使得下面的覆 盖掉上面的
PATH:指的是我们所有的命令存到了哪些地址,或者说当用户输入某一个命令的时候,我们的操作系统怎么去找到cmd的位置,会便利PATH里面的所有路径,直到在这些命令中找到第一个和这个命令匹配的命令为止
使用自己编写的程序像命令符一样
在.bashrc文件的最后一行加上这句话,当然,不同的命令需要加的路径不同,然后把.bashrc文件运行一下,这时候pwd就多了目录,然后输入自己给程序写的名字,就可以当成操作符来用了
也就是可以将存放自己命令行的的目录放到path里面,这样就可以用命令行一样用自己写的程序了
练习完记得把.bashrc文件改回来。
常用命令
详细笔记
grep
grep xxx 使用ctrl + d结束
ag
会列出来是哪个文件,哪一行包含关键词
wc
可以对整个文件夹进行操作
tree . -a
这是展示中包含隐藏文件
cut
echo $PATH | cut -d ':' -f 3,5
:输出PATH
用:分割后第3、5个数据
sort
后面跟文件,就会将文件中的每一行按字典序排序,一般结合find
more
跟cat不同,cat全部展示出来,more每次展示一页
history
只显示最近2000条
与文件 .bash_history不同,文件中记录的是持久化的历史,也就是关闭之后再装进去