读书笔记---Linux常用命令解析

1.查找命令grep、find命令
在Linux下,常用grep命令列出含有某个字符串的文件,常用find命令查找所匹配给定文件名的文件。
a. grep命令的用法为:
grep [options] PATTERN [FILE…]
eg1: $grep “linyan” * -R
其中*表示查找当前目录下的缩影文件、目录,-R表示递归查找子目录

eg2: $grep “linyan” kernel -R
kernel表示在当前目录的kernel子目录下查找,-R表示递归查找它的所有子目录。

b.find命令
find命令的用法为:
find [-H] [-L] [-P] [path…] [expression]
eg1.$find -name “*fb”
在当前目录下查找文件名中包含”fb”字样的文件

eg2.$find /drivers/net/ -name “*fb”
在/drivers/net/目录下查找文件名中包含”*fb”字样的文件

2.在线手册查看命令man
Linux中包含了种类繁多的在线手册,从各种命令、各种函数的使用,到一些配置文件的设置。可以使用man命令查看这些手册,比如执行”man grep”命令即可看到grep命令的使用方法。
man命令的基本用法:
man [section] name
其中的section被称为区号,当直接使用”man name”命令没有查到需要的手册时,可以指定区号,。比如想查看”open”函数的用法,使用”man open”命令得到的却是一个名为openvt的程序的用法,这是可以使用”man 2 open”命令,表示要查案第2区(它表示系统调用)中的手册。
Linux在线手册按照区号进行分类如下:
1: 命令,比如ls、grep、find等
2:系统调用,比如open、read、socket等
3:库调用,比如fopen、fread等
4:特殊文件,比如/dev/目录下的文件等
5:文件格式和惯例,比如/etc/passwd等
6:游戏
7:其他
8:系统管理命令,类似mount等只有系统管理员才能够执行的命令
9:内核例程(这个分区好节本没有被使用)
最后介绍使用man命令的阅读技巧,即启动man命令后,可以通过一些热键进行翻页等操作。
h:显示帮助信息,j:前进一行,k:后退一行,空格或f:向前翻页
b:向后翻页,g:跳转到手册第一行,G:跳转到手册最后一行
?string:向后搜索字符串string,/string:向前搜索字符串string
r:刷屏,q:退出

3.其他命令tar、diff、patch
a.tar命令
tar命令具有打包、解包、压缩、解压缩4种功能。它常用的压缩、解压缩方式有两种:gzip、bzip2。一般而言,以”.gz”、”z”结尾的文件是用gzip方式进行压缩的,以”.bz2”结尾的文件是用bzip2方式进行压缩的,后缀名中有”tar”字样时表示这是一个文件包。
tar命令有5个常用的选项:
“c”:表示创建,用来生成文件包。”x”:表示提取,从文件包中提取文件。
“z”:使用gzip方式进行处理,它与”c”结合就表示压缩,与”x”结合就表示解压缩。
“j”:使用bzip2方式进行处理,它与”c”结合就表示压缩,与”x”结合就表示解压缩。
“f”:表示文件,后面接着一个文件名。

eg1:将某个目录dirA制作为压缩包。
//将目录dirA压缩为文件包dirA.tar.gz ,以gzip方式进行压缩
$tar czf dirA.tar.gz dirA

//将目录dirA压缩为文件包dirA.tar.bz2 ,以bzip2方式进行压缩
$tar cjf dirA.tar.bz2 dirA

eg2:将某个压缩包文件dirA.tar.gz,dirA.tar.bz2进行解压缩
//在当前目录下解压缩文件包dirA.tar.gz ,先使用gzip方式进行解压缩,然后解包
$tar xzf dirA.tar.gz

//在当前目录下解压缩文件包dirA.tar.bz2 ,先使用bzip2方式进行解压缩,然后解包
$tar xjf dirA.tar.bz2

//将dirA.tar.gz解压到”dir”目录下
$tar xzf dirA.tar.gz -C

// 将dirA.tar.bz2解压到”dir”目录下
$tar xjf dirA.tar.bz2 -C

b.diff、patch命令
diff命令常用来笔记文件、目录,也可以用来制作补丁文件。所谓”补丁文件”就是”修改后的文件”与”原始文件”的差别。
常用选项:
“-u”:表示在比较结果中输出上下文中一些相同的行,这有利于人工定位。
“-r”:表示递归比较各个子目录下的文件。
“-N”:将不存在的文件当作空文件。
“-w”:忽略对空格的比较。
“-B”:忽略对空行的比较。

eg1:假设linux-2.6.22目录是原始内核,linux-2.6.22_done目录是修改后的内核,可以使用以下命令制作补丁文件linux-2.6.22_done.diff(原始目录在前,修改过的目录在后)
$diff -urNwB linux-2.6.22 linux-2.6.22_done >linux-2.6.22_done.diff

patch命令被用来打补丁—就是依据补丁文件来修改原始文件。
$cd linux-2.6.22

$patch -p1 < ../linux-2.6.22_done.diff
patch命令中最重要的选项就是”-pn”:补丁文件中指明了要修改的文件的路径,”-pn”表示忽略路径中第n个斜线之前的目录,假设linux-2.6.22_done.diff中有如下几行:
diff -urNwB linux-2.6.22/A/B/C.h linux-2.6.22_done.diff/A/B/C.h
“- - - linux-2.6.22/A/B/C.h 2007-08-31”
“+++linux-2.6.22_done/A/B/C.h 2007-09-20”
使用上述命令打补丁时,patch命令根据linux-2.6.22/A/B/C.h寻找资源文件,”-p1”表示忽略第1个斜线之前的目录,所以要修改的原文件是当前目录下的:A/B/C.h

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值