1、文件查找(find命令)
find 查找目录查找条件指定动作
查找目录:是指find命令从什么位置开始查找,在默认情况下,即没有输入查找目录
时,系统默认查找当前目录及其所有子目录。如果指定查找目录为"/",则表示在整个
文件系统中查找。
查找条件:即指定查找的文件需要满足的条件,如果需要根据文件名称进行查找,则
需要指定的查找条件包括(查找类型为文件名,需要查找的文件名是什么)
指定动作:是指对在查找目录中查找到的满足要求的文件,即查询结果进行什么的操
作。在默认情况下,即没有指定动作时,系统将查询结果显示在显示器上。
[root@localhost ~]# find / -name findfile #使用find命令从"/”目录开始查找名为findfile文件
/root/findfile #查询结果,查找到该文件
find命令的更多用法
[root@RHEL7NO2 ~]# find / mtime -3 #查找系统中所有3天内被修改过的文件
[root@RHEL7NO2 ~]# find / mtime +3 #查找系统中所有3天前被修改过的文件
[root@RHEL7NO2 ~]# find / mtime 3 #查找系 统中所有3天前当天被修改过的文件
[root@RHEL7NO2 ~]# find / -size +10M #查找系统中大于10M的文件
[root@RHEL7NO2 ~]# find / -perm 755 -exec Is -| {} \; #查找系统中权限为755的文件并列出细信息
[root@RHEL7NO2 ~]# find,-name "t*" -0 -name "a*" -ok cat {} \; #查找
当前目录下以t开始的文件或以a开始的文件,并对查找到的文件提示是否显示其内容
2、locate命令
文件查找(locate命令 )
locate命令 是在一个索引库中进行查找,索引库中存放系统中所有文件名称信息。
[root@localhost ~]# locate locatefile
命令执行后,并没有查询到刚才创建的新文件,原因是locate的索引|库每天
进行自动更新,最新创建的文件并没有在其索引|库中更新,因此locate命令
查询不到。可以手动更新索引库
[root@localhost ~]# updated #更新locate索引库
[root@localhost ~]# locate locatefile #使用locate命令查找Linux系统中所有文件名中包含locatefile的文件
/root/locatefile #查询结果,查找到该文件
3、命令查找( whereis命令)
whereis命令 用于查找Linux系统中相关的系统命令的二进制程序、man说明
文件和源代码文件。其用法如下:
[root@localhost ~]# whereis Is
#查询Is命令相关位置
Is: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz #命令结果,其中/usr/bin/Is表示Is命令的二 进行程序位置,后面表示Is的man说明文件位置
。
4、命令查找(which命令 )
which命令的作用是,在PATH变量指定的路径中,搜索整个系统命令的位
置,并且返回第一个搜索结果。也就是说,使用which命令, 就可以看到某
个系统命令是否存在,以及执行的到底是哪一个位置的命令。其用法如下:
[root@localhost sbin]# which Is
#查看实际执行哪个位置Is命令
alias ls='ls --color= auto'
#命令结果
/usr/bin/ls
可以看出Is执行的是一个别名,相当|s --color=auto,该ls命令程序位于/usr/bin/Is
5、在内容中查找(grep命令)
grep命令用于在文本中,查找包含目标文本的行。其基本用法如下:
[root@localhost ~]# grep user1 /etc/passwd #在/etc/passwd文件中查找
包含user1的行
user1: x: 1002: 1002: : /home/user1: /bin/bash #命令结果,显示找到包含user1的行
grep命令 也常和符号"|”一起使用, 符号""为管道命令符, 其作用是连接两个命令,
将前面一个命令的输出作为后面一个命令的输入。如:
[root@localhost ~]# cat /etc/passwd #cat命令将/etc/passwd文件
的内容输出显示到屏幕上
[root@localhost ~]# cat /etc/passwd
grep user1
#使用管道命令连接两个命令,即将cat命令的输出将不直接显示在屏幕上,而是作为grep命令的输入,即使用grep命令在cat命令的输出结果中查找包含user1的行,其执行结果和"grep user1 /etc/passwd"命令是一样的。