您的位置:首页 > 运维架构 > Linux

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

2015-04-25 23:14 369 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: