linux 命令备忘随笔

开博仅仅是记录学习工作中某些(用到过,但不容易记住的)命令, 方便自己查找大笑。 如果你恰好也在找这些命令并对你有些许帮助,那真是缘分敲打,欢迎拍砖!

linux命令总宝典

技巧a  用 --help 查看自带的葵花宝典,指定错不了。

技巧b  看help 或是其他啥的时候带个 “|more”的尾巴,统统分屏显示,省得被晃晕了奋斗


1. ls 命令显示文件的绝对路径

    ls | sed "s:^:`pwd`/:"

    其实这条命令组合用了管道 |, 后面sed 加了个正则表达式,把行首^替换成了pwd的返回值,就是当前的绝对路径。

    s替换,:是界定符,程序猿都首选"/",其实啥符号都可以,我喜欢用#,其他的不解释。

    嫌弃太复杂,还用上了RE,好吧, 还有这个终极最简版:

    ls -d "$PWD"/*

    够简单纯粹吧?注意$PWD一定是大写,因为是内置函数。和$PATH道理一样。

    为什么要加选项 -d?不加你试试啊,目录就都展开了,没完没了啊,看到你崩溃为止。

2. diff 比较两个文件(二进制文件用 comp)

   diff -Baby  file1 file2

    -Baby 选项好记忆。具体意思是这样的:

   -bB,就忽略空格b和空行B造成的不同。

   -a把文件当做文本文件处理

   -y分屏显示,如果布局想再好看一点,可以加 -W 200

   效果是这样的,不同的地方 用|标记。

  

  下面2组命令仅仅是备忘。

   作补丁和打补丁:

   diff -urN version1/ version2/ > patch.list    和     patch -p0 < patch.list, 参数不解释。

3. comm 比较两个文件

  2的功能完全可以用 comm实现,但是需要将2个文件先排序,sort一下,命令如下:

  comm  <(sort file1|uniq)  <(sort file2|uniq)

  例如 $cat a.txt

2
1
A
B

$cat b.txt

1
3
C
A

comm  <(sort a.txt|uniq)  <(sort b.txt|uniq)

结果是这样的


共三列,前2列是a、b文件独有内容,第3列是a,b共有内容。

如果不想输出某一列,就加上 -1/2/3选项,比如只输出共有内容,可用 -12选项将第1,2列去掉,如下:

common -12 <(sort a.txt|uniq)  <(sort b.txt|uniq)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值