通配符
命令操作对象进行模糊匹配时使用,绝大多数linux命令都支持通配符。
linux常用的通配符有如下两种:
管道命令
管道命令使用的是一个符号:"|"。
格式: command 1 | command 2
把第一个命令command 1执行的结果作为command 2的输入传给command 2。
示例: ls -l | more:列出当前目录中的所有文件和目录,并把输出送给more命令作为输入,more命令分页显示文件列表。
ps -ef | grep root:ps -ef显示所有进程,grep root筛选root相关的行,所以整个命令是显示有关root的所有进程。
文件查找命令
linux中主要有两种查找文件命令:find和locate
find:实时查找,通过遍历指定起始路径下文件系统层级结构,根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间。
格式:
find [OPTION]... [查找路径] [查找条件] [处理动作]
结合通配符和管道命令有如下示例:
find /etc -name *.txt :在/etc目录下,查找以.txt结尾的文件,给出所有文件的路径。
find /etc -name '*abc*':在/etc目录下查找文件名中含有字符串‘abc’的文件。
find / -amin -5:查找在系统中最后5分钟访问的文件(access time)。
find / -mmin -5:查找在系统中最后5分钟里修改过的文件(modify time)。
find / -size -1000k:查找出小于1000KB的文件。
find /etc | grep local 在/etc目录下查找含有local这几个字母的所有文件或者目录
locate:非实时查找,根据索引数据库,匹配文件信息进而定位符合条件的文件。在Linux中使用locate命令,首先需要安装它。
在CentOS中,使用yum install mlocate来安装locate。
查找语法:
locate test.txt
grep:根据文件内容进行查找,利用正则表达式或者通配符进行模糊查询,返回匹配的一行数据。
格式为:grep [选项] 模式 [文件]
grep 'test' a:显示所有以a开头的文件中包含 test的行 grep 'test' aa bb cc:显示在aa,bb,cc文件中包含test的行