Linux嵌入式开发过程中经常使用的几个指令

在学习资料满天飞的大环境下,知识变得非常零散,体系化的知识并不多,这就导致很多人每天都努力学习到感动自己,最终却收效甚微,甚至放弃学习。我的使命就是过滤掉大量的垃圾信息,将知识体系化,以短平快的方式直达问题本质,把大家从大海捞针的痛苦中解脱出来。

1. find

功能:
查找包含指定字符匹配的文件或路径。

指令:

# find the files or directories
# which include "file" tag in filename
find ./ -name "*file*" #在当前目录查找文件名或子目录名中包含“file"字符串的的文件和子目录
find ./ -iname "*file*" #忽略大小写
find ./ -name "*file*" -type f #只查找文件
find ./ -iname "*file*" -type d #只查找目录

说明:
1)如果查找当前目录,./可以省略不写。
2)"file"中可以使用任何通配符;双引号还可以省略不写。
3)-type支持的参数如下(不过常用的还是f和d,其他的可以暂时忽略,用到的时候再看):

参数含义
f普通文件
d目录
l符号连接
c字符设备
b块设备

2. grep

功能:
查找包含指定内容匹配的文件。

Tips:全程是Global Regular Expression Print,所以熟悉正则表达式的小伙伴们可以肆意发挥grep的强大搜索功能了。

指令:

# find the files containing "interrupt" at head of a line
grep "^interrupt" ./ -r

说明:
1)如果查找当前目录,./可以省略不写。
2)双引号可以省略不写。
3)-r选项是支持递归查找的意思,r的全拼是recursively。

Tips:注意grep和find指令很像,所以比较容易混淆。这里有一个记忆技巧:grep重在文件内容过滤,所以指令后面先跟内容再跟路径;find重在找文件和路径(名),所以路径在前,名称在后。
其实在使用时一般都是在当前目录下,所以直接省掉目录即可,只要记得find后面需要加-name选项即可。

3. diff

功能:
比较文件或目录,也可生成补丁文件。

指令:

# compare two files
diff file_old file_new
# compare tow folders recursively
diff dir_old dir_new -r
# compare & creat a patch file
diff dir_old dir_new -urwNB > file_name.patch 

说明:

参数含义
u标准格式(含上下文)
r递归比较
w忽略空格
N将不存在的文件视为空文件
B忽略空行(换行符)

4. patch

功能:
打补丁。

指令:

# patch 
cd old_dir
patch -p1 < file_name.patch

说明:
该指令的关键是目录的正确性:p1中的数字1代表的是忽略补丁文件中的顶层目录(忽略old_dir);如果是2就是忽略补丁文件中的顶层和次顶层目录,以此类推。

p1是典型应用场景——比如小明基于小红的old_dir目录拷贝了一份副本,命名new_dir,然后将里面的文件做了修改,并用diff指令(参考diff指令)生成补丁文件file_name.patch。当小明给小红共享自己的修改时就可以只提供file_name.patch文件给小红,小红拿到这个补丁文件后,进入old_dir目录下,然后执行示例中的指令即可将小明的改动“补”到old_dir中。

5. tar

功能:
压缩解压缩gzip和bzip2格式的文件。

指令:

# creat gzip file
tar -czf file_name.tar.gz dir_name
# creat bzip2 file
tar -cjf file_name.tar.bz2 dir_name
# uzip gzip file
tar -xzf file_name.tar.gz
# uzip bzip2 file
tar -xjf file_name.tar.bz2

说明:

参数含义
c创建
x解压
zgzip类型
jbzip2类型
f文件(后接文件名)

未完待续。。。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穿越临界点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值