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
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 5岁儿童大便干燥怎么办 九个月宝宝平血怎么办 6个月宝宝肛裂怎么办 3岁儿童大便干燥怎么办 外痔疮出血了该怎么办 外痔疮流血了怎么办呢 外痔疮破了出血怎么办 拉稀拉的肛门疼怎么办 大人屁股沟裂了怎么办 肛门痛大便有血怎么办 肛裂出血几天了怎么办 肛裂拉屎出血该怎么办 孕期肛裂出血该怎么办 老人大便拉不出来怎么办 拉屎拉的屁眼疼怎么办 拉屎堵在肛门口怎么办 上火拉大便有血怎么办 7岁儿童大便带血怎么办 阴炎用药后出血怎么办 孕晚期大便拉不出来怎么办 想拉屎拉不出来怎么办 4岁幼儿大便干燥怎么办 2岁幼儿大便干燥怎么办 1岁幼儿大便干燥怎么办 5岁幼儿大便干燥怎么办 4岁儿童大便干燥怎么办 狗吃别的狗的屎怎么办 狗狗黄疸怎么办最有效 拉屎出血但不疼怎么办 没拉出时就出血怎么办 拉不出大便怎么办肛门像被堵住 尿里粘液丝高怎么办 右肋骨里面疼是怎么办 腰受凉直不起来怎么办 干活累了腰疼怎么办 打球腰打球腰疼怎么办 生完孩子腰酸痛怎么办 腰窝哪里痛是怎么办 尿结石疼的时候怎么办 站久了脚底痛怎么办 站久了脚板痛怎么办