目录
一.which命令
搜索范围由环境变量PATH决定(echo$PATH)
格式 which 命令或程序名 或which -a 命令或程序名
[root@localhost etc]# which cd
/usr/bin/cd
二.locate命令
[root@localhost etc]# locate *.cfg 不是实时的,存在与数据库中
三.find命令
及时查找,精确查找,支持查找文件比较多,采用递归,根据目标的名称,类型,大小等不同属性进行精细查找
格式find 查找范围 查找类型 查找条件
类型1)按名字查找 -name 根据目标文件的名称进行查找,允许使用*和?通配符
[root@localhost etc]# find /etc -name passwd
/etc/pam.d/passwd
/etc/passwd
- -uid 用户 ID:按照用户 ID 査找所有者是指定 ID 的文件
- -gid 组 ID:按照用户组 ID 査找所属组是指定 ID 的文件
- -user 用户名:按照用户名査找所有者是指定用户的文件
- -group 组名:按照组名査找所属组是指定用户组的文件
- -nouser:査找没有所有者的文件
类型2)按文件大小查找 -size
根据目标文件的大小进行查找,一般使用+ - 号设置或大小指定的大小作为查找条件
常用的容量单位包括kb MB GB
如果不加+或- 表示范围 1G=0.1-1G
如果查找是1G大小文件可以直接搜索范围为1024M,表示1023.1-1024
[root@localhost opt]# find /root/ -size +1k
类型3)按文件属主查找-user
根据文件是否属于目标用户进行查找
[root@localhost ~]# find /home -user zy
/home/zy
/home/zy/.mozilla
/home/zy/.mozilla/extensions
/home/zy/.mozilla/plugins
/home/zy/.bash_logout
/home/zy/.bash_profile
/home/zy/.bashrc
非root客户都是在home文件夹下
-nouser 无主文件
类型4)按文件类型查找
-type
根据文件的类型进行查找
文件类型包括普通文件(f),目录(d)块设备文件(b)字符设备文件(c)等
[root@localhost etc]# find /boot/ -type d
/boot/
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/centos
/boot/grub2
/boot/grub2/i386-pc
/boot/grub2/locale
/boot/grub2/fonts
/boot/grub
各表达式中间使用逻辑运算符号
-a 同时满足多个条件
-o 只要满足一个条件
a 的级别高于O
-inum: 按照 inode 号搜索
-prem nnn 查找权限
- -perm 权限模式:査找文件权限刚好等于"权限模式"的文件
- -perm -权限模式:査找文件权限全部包含"权限模式"的文件
- -perm +权限模式:査找文件权限包含"权限模式"的任意一个权限的文件
-mindepth n 从第几层查
-maxdepth n 最大查几层
-atime [+-]时间: 按照文件访问时间搜索
-mtime [+-]时间: 按照文改时间搜索
-ctime [+-]时间: 按照文件修改时间搜索
找到某文件并执行,ok是询问,exec不询问直接执行
find -name "*.txt" -ok(-exec) mv { }\
find -name ".txt" -delete
总结
各种查找命令的正确使用,特别是find命令