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]#


man find


results matching ""

    No results matching ""