查找文件命令

查找文件使用find命令。该命令的功能是指在指定的目录开始,递归地搜索各个子目录,查询满足条件的文件并对应采取相关的操作。此命令提供了非常多的查询条件,功能非常强大。

find命令提供的寻找条件可以使用一个由逻辑运算符not、and、or组成的复合条件,逻辑运算符not、and、or的含义如下。

·and:逻辑与,在命令中用“-a”表示,是系统默认的选项,表示只有当所给的条件都满足时,寻找条件才满足。

·or:逻辑或,命令中用“-o”表示,该运算符表示只要当所给的条件有一个满足时,寻找条件就满足。

·not:逻辑非,命令中用“!”表示,该运算符表示查找不满足所给条件的文件

该命令的格式为:

find 【路径】 【参数】 【文件名】

参数含义如下:

·-name:文件名,表示查找指定名称文件。

·-lname:文件名,查找指定文件所有的链接文件

·-user:用户名,查找指定用户拥有的文件

·-group:组名,查找指定组拥有的文件

提示:通配符“*”表示一个字符串,“?”只代表一个字符。它们只能通配文件名和扩展名,不能全部都表示。

文件内容查询命令

该组命令以指定的查找模式搜索文件,通知用户在什么文件中搜索与指定的模式匹配的字符串,并且打印出所有包含该字符串的文本行。在该文本行的最前面是该行所在的文件名。

1.grep命令

grep命令的功能是以指定的查找模式搜索文件,通知用户在什么文件中搜索与指定的模式匹配的字符串,并且打印出所有包含该字符串的文本行。该文本行的最前面是该行所在的文件名。

该命令的格式为:

grep 【选项】 文件名1,文件名2,...,文件名n

常用选项有如下几个。

·-i:查找时忽略字母的大小写。

·-l:仅输出包含该目标字符串文件的文件名

·-v:输出不包含目标字符串的行

·-n:输出每个含有目标字符串的行及其行号

不带选项表示查找并输出所有包含目标字符串的行。

2.egrep命令

egrep命令的功能是检索扩展的正则表达式

该命令的格式为:

grep 【选项】 文件名1,文件名2,...,文件n

常用的选项有如下几个。

·-i:查找时忽略字母的大小写。

·-l:仅输出包含该目标字符串文件的文件名

·-v:输出不包含目标字符串的行

·-n:输出每个含有目标字符串的行及其行号

不带选项表示查找并输出所有包含目标字符串的行。

3.fgrep命令

fgrep命令检索固定字符串,并不识别正则表达式,是一种更为快速的搜索命令

该命令的格式为:

grep【选项】 文件名1,文件名2,...,文件名n

常用的选项有如下几个。

·-i:查找时忽略字母的大小写。

·-l:仅输出包含该目标字符串文件的文件名。

·-v:输出不包含目标字符串的行。

·-n:输出每个含有目标字符串的行及其行号。

不带选项表示查找并输出所有包含目标字符串的行。

例如:fgrep hello test    //在test中搜索固定的字符串hello

注意:它不支持正则表达式,如果查找“hello*”,则不会有输出结果

文件处理命令

sort命令的功能是逐行对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一个字符。snort命令是根据输入行抽取一个或多个关键字进行比较来完成的,默认情况下,以整行为关键字按ASCII码字符顺序进行排序。ASCII码字符集的前面是一些特殊字符,接着是一些标点符号,然后是数字、一些专用字符、大写字母表,最后是5个编程符号。

该命令的格式为:

sort 【选项】 文件名

常用选项有如下几个。

·-d:可以使sort忽略标点符号和一些其他特殊字符,而对字母、数字和空格进行排序,即按字典顺序排序。

·-f:不区分大小写进行排序。

·-n:按数值排序,不按ASCII码排序。

·-r:反向排序

·+n1-n2:第n1分隔符之后第n2个分隔符之前的字段,默认的分隔符为空格,分隔符从1开始算起。

·-k n:按第n字段排序。

·-tx:以任意字符x作为定界符

·-o arg:输出置于文件arg中。

文件统计命令

wc命令的功能是统计文件中的行数、单词数及字符数

该命令的格式为:

wc 【选项】 文件名

常用的选项有如下几个。

·-c:统计字符数

·-w:统计单词数

·-l:统计行数

例如:wc -lcw /etc/passwd              //统计/etc/passwd文件中的行数、单词数和字符数

这些选项可以任意组合,但输出结果始终按行数、字数、字节数、文件名顺序显示并且每项最多一列

文件帮助命令

参考手册是一个功能完善的系统不可或缺的一部分。它包括了大量立即可用的详尽文档资料,如所有标准使用程序的用法和功能,大量的应用程序和库文件的用法,以及系统文件和系统程序库的资料。同时,还包括了和每个条目相关的特殊命令和文件的补充信息。另外,它通常还提供范例和错误情况说明

获取帮助最重要的命令是man。man命令的功能为显示命令及相关配置文件的用户帮助手册,其内容包括命令语法、各选项的意义。

该命令的格式为:

man 命令名称

每个手册标题的左右侧是命令名和手册页所属的章节号。标题的中间是章节的名称。最后一行通常是上次更改日期。手册页分为10部分

部分                                                                         内容

NAME                                           命令的名称和简短描述

SYNOPSIS                                     语法的描述

DESCRIPTION                               命令的详细描述

OPTIONS                                      提供的所有可用选项的描述

COMMANDS                                在程序运行时可以分配给该程序的说明

FILES                                             使用某种方法连接到命令的文件

SEE  ALSO                                     相关命令的提示

DIAGNOSTICS                              程序可能出现的错误消息

EXAMPLES                                    调用命令的示例

BUGS                                            命令的已知错误和问题

手册页包含8节

节                                      内容

1                                       可执行程序和shell命令(用户命令)                         

2                                       系统调用

3                                       功能和库例程(语言函数库调用)

4                                       设备文件和网络界面

5                                       配置文件和文件格式

6                                       游戏

7                                       宏软件包和文件格式

8                                       系统管理命令

常用的man命令的用法如下

(1)显示有关crontab命令的一般信息,格式如下:

man  1   crontab

(2)显示有关crontab命令的配置文件,格式如下:

man  5  crontab

当某个命令有多个手册页时,使用这种方法查找该命令所属的章节特别有效

(3)显示有关用户命令的信息,格式如下:

man  1  uname

(4)显示有关系统调用的信息,格式如下:

man  2  uname

(5)显示某个命令或实用程序的所有可用手册页的简短描述,格式如下:

whatis  man

也可以通过在whatis命令的命令行上同时输入多个参数来得到多个命令的简短描述。这些参数之间用空格隔开:

whatis  login  set  setenv

(6)“man -k keyword-list”是用来在所有的帮助手册中查找keyword-list中的关键词的概述,这个过程很慢,可以指定一小部分来缩小查找范围,如:

man  -k  printf

(7)打印手册页信息:

man  man  |  colcrt  >man.manpage

或者

man  man  |  col-bx  >man.manpage

实用程序colcrt和col-bx能去掉终端控制字符