Linux命令'门'
来源:互联网 发布:易语言h1z1辅助源码 编辑:程序博客网 时间:2024/05/12 12:57
前言
之前的当Kali Rolling作为笔记本唯一一个系统提到的都是一些linux表面的东西,只是适合过渡期用,但是这并不是linux美的地方,它还有许多好玩的地方,所以就想专门留一篇记录一些linux命令,当作是[当Kali Rolling作为笔记本唯一一个系统]的升级版
其实也有想过针对不同的领域功能和具体使用场景分类,但是按照现在看来,虽然把linux当作唯一的系统了,但是我仍然不是特别深入玩转这位好朋友,所以现在扎堆放先,以后有一定深入后,在分类也不迟。
命令是linux的精华,也是它高效的地方,一条命令能够做到一些非常复杂的操作,也可以拿到比鼠标指指点点更加丰富的信息,当然在速度上,如果你上手了命令操作肯定比鼠标操作快很多,一旦开始敲命令,你就会讨厌鼠标点来点去了- -
comm
先从这个命令开始吧,因为最近面试有遇到这个命令,这个命令是一行行地比较两个文件的异同,可以想象这么一个场景,我们有两个文件夹,一个是a.txt,一个是b.txt,每个文件夹都有50万个url,那么如何找出两个文件的交集(电脑配置为内存4G,硬盘2T)?我一开始还考虑了内存因素,结果面试官告诉我comm一个命令就搞定了,而且不用考虑内存… : /
关于comm命令,我直接贴man page了,回头有时间了再回来详细折腾一下
Compare sorted files FILE1 and FILE2 line by line. When FILE1 or FILE2 (not both) is -, read standard input. With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both files)
paste
假设现在有a.txt和b.txt里面分别有:
cat a.txtaaabbbcccddd
cat b.txt1111222233334444
如何把b.txt的内容接在a.txt的后面并生成一个新的文件new.txt?
cat new.txtaaabbbccc111122223333
我们可以用paste命令
paste -s -d '\n' a.txt b.txt > new.txt注意:\n为换行符,也可以换成\t等等1.-s串列进行而非平行处理如果只是paste -d '\n' a.txt b.txt > new.txt那么new.txt输出就变成了:aaa1111bbb2222ccc33332.-d 用指定的间隔字符取代跳格字符如果只是paste -s a.txt b.txt > new.txt那么new.txt输出就变成了:aaa bbb ccc111 222 3333.再把-s去掉,直接paste a.txt b.txt > new.txt那么new.txt输出就变成了:aaa 111bbb 222ccc 333
tr,sort,uniq
在自然语言处理里面预处理中有一步骤是去空去重,比如我现在有一个a.txt文件需要去空去重(两个空行,三个’好棒’):
好,这个牛奶我家孩子很爱喝以后还会常来买感觉很实惠,比市面的便宜多了好棒好棒不敢相信,这个价格还能买到这么好的牌子好棒还会回来买
去空(其实就是去掉换行符’\n’):
(tr -s "\n" < a.txt )>b.txtcat b.txt好,这个牛奶我家孩子很爱喝以后还会常来买感觉很实惠,比市面的便宜多了好棒好棒不敢相信,这个价格还能买到这么好的牌子好棒还会回来买
还可以这样去空 : P
grep . a.txt>b.txt
如果对去空后的b.txt直接做uniq,被间隔开的’好棒’的重复还是没有去掉:
uniq < b.txt 好,这个牛奶我家孩子很爱喝以后还会常来买感觉很实惠,比市面的便宜多了好棒不敢相信,这个价格还能买到这么好的牌子好棒还会回来买
所以得先sort排序,再uniq去重复:
sort b.txt|uniq > new.txtcat new.txt不敢相信,这个价格还能买到这么好的牌子感觉很实惠,比市面的便宜多了还会回来买好棒好,这个牛奶我家孩子很爱喝以后还会常来买
虽然说可以直接写段python/java代码做循环对比也能解决,而不用去记这些个命令,但是有什么比两三行命令就能搞掂更优美的呢~
curl
常用的有-C 断点续传-L follow 302重定向-x 指定代理
column
#好看很多cat /etc/passwd|column -t -s:
xargs
# 将命令输出作为参数传递给另外一个命令,经常用# 第一次知道这个命令还是在docker删除none镜像的时候docker images|grep none|awk '{print $3 }'|xargs docker rmi
- Linux命令'门'
- linux命令-- ps命令
- 【linux命令】cd命令
- linux命令:crontab命令
- Linux 命令 --- df命令
- linux命令-touch命令
- 【linux命令】tr命令
- LINUX命令:more命令
- cmd命令,linux命令
- Linux命令-tar命令
- linux命令:wc命令
- linux命令:more命令
- linux命令:gzip命令
- linux命令:du 命令
- linux命令:wc命令
- Linux命令: PS命令
- Linux命令:wc命令
- Linux命令:lsof命令
- 关于wamp+eclipse for PHP环境的搭建以及其中部分问题的解决办法
- instanceof运算符
- 强制类型转换讨论
- Java多态性
- 子类构造器调用父类构造器的顺序问题
- Linux命令'门'
- 使用sencha cmd创建项目
- 初始化块
- qt5.3.2移植smart210
- Linux下Segmentation fault(core dumped)简单调试方法
- Sublime Text常用插件以及安装方法
- C语言实现图的领接矩阵表示6.1.1
- Web JS实现页面返回顶部
- 初始化块和构造器的执行顺序问题