1-6 which 和 find命令
2016.5.31
which
1.作用:查找linux命令程序所在的位置
2.格式:which [程序名称]
3.which范围:$PATH
示例:which ls
[root@test2 home]# which ls
alias ls='ls --color=auto'
/bin/ls
[root@test2 home]#
注意:
- 默认当找到第一个目标后不再继续查找
- 若在所有搜索路径中查找,加“-a”选项
- 无法查找内部命令所对应的程序文件
- 例如:which cd
[root@test2 home]# which cd
/usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jason/bin)
[root@test2 home]#
man which
find
1.作用:精细查找文件或目录
2.格式:find [查找范围] [查找条件表达式]
3.常用查找条件
按名称查找:“-name”
按文件大小查找:“-size”
按文件属主查找;“-user”
按文件类型查找:“-type”
-size:根据目标文件的大小进行查找
“+”大于某个单位
“-”小于某个单位
常用的容量单位包括
- kB(注意k是小写)
- MB
- GB
示例:
查找/boot目录中超过10MB的文件 find /boot -size + 10M
[root@test2 home]# find /boot -size +10M
/boot/initramfs-2.6.32-431.el6.x86_64.img
[root@test2 home]#
-type:根据文件的类型进行查找
类型
- 普通文件(f)
- 目录(d)
- 块设备文件(b)
- 字符设备文件(c)
块设备指的是成块读取数据的设备
- 硬盘
- 内存
字符设备指的是按单个字符读取数据的设备
- 键盘
- 鼠标
示例:
- 查找/boot目录中所有子目录
find /boot -type d
[root@test2 home]# find /boot -type d
/boot
/boot/grub
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/redhat
/boot/lost+found
[root@test2 home]#
4.同时使用多个查找条件时,各表达式之间可以使用逻辑运算符“-a"、"-o”,分别表示而且(and)、或者(or)
示例
查找/boot目录中超过1MB和(或)名称已vm开头的所有文件
find /boot -size +1M -a -name "vm*"
[root@test2 home]# find /boot -size +10M -a -name "vm*"
find /boot -size +1M -a -name "vm*"
[root@test2 home]# find /boot -size +10M -o -name "vm*"
/boot/initramfs-2.6.32-431.el6.x86_64.img
/boot/vmlinuz-2.6.32-431.el6.x86_64
[root@test2 home]#