吴旭华 发表于 2024-6-11 08:42:25

CentOS 7基础操纵08_Linux查找目录和文件

1、which命令——查找用户所执行的命令文件存放的目录

        which命令用于查找Linux命令程序并显示所在的具体位置.其搜刮范围主要由用户的情况变量PATH决定(可以执行言echo sPATH”命令查察),这个范围也是Linux操纵系统在执行命令或程序时的默认搜刮路径。
        which命令使用要查找的命令或程序名作为参数.默认当找到第一个目的后即不再继续查找.若希望在所有搜刮路径中查找.可以添加“-a”选项。比方,执行“which ls”命令后,可以找到名为Is的、位于/usr/bin/ls的命令程序文件,具体操纵如下:
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# which ls
alias ls='ls --color=auto'
/usr/bin/ls         必要注意的是,由于Shell内置的命令并没有对应的程序文件,因此使用which查找内部命令时.将找不到对应的程序。比方,查找内部命令history的位置时,会提示在搜刮路径中没有这个程序文件.具体操纵如下。
# which history
/usr/bin/which: no history in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) 2、find命令——查找文件或目录

        find 命令是 Linux操纵系统中功能非常强大的查找命令,可以根据目的的名称范例、大小等差别属性进行精细查找,fird命令在查找时采用递归的方式,其使用形式相称灵活,也可以相称复杂.这里只先容最常用的几种用法。find命令的基本使用格式如下:
find    [查找范围]    [查找条件表达]         其中,查找范围对应的是在其中查找文件或子目录的目录位置(可以有多个),而查找条件则决定了 find命令根据哪些属性、特征进行查找。较常用的几种查找条件范比方下所述。


[*]按名称查找:关键字为“-name”,根据目的文件的名称进行查找.允许使用“*”及“?”通配符。
[*]按文件大小查找:关键字为“-size”,根据目的文件的大小进行查找.一般使用“+”和“-“号设置超过或小于指定的大小作为查找条件.常用的容量单位包括kB(注意k是小写).MB、GB.
[*]按文件属主查找:关键字为“-user”,根据文件是否属于目的用户进行查找、
[*]按文件范例查找:关键字为“-type”,根据文件的范例进行查找,这里的范例指的是平凡文件(f).目录(d),块装备文件(b)、字符装备文件 (c)等。块装备指的是成块读取数据的装备〈如硬盘、内存等).而字符装备指的是按单个字符读取数据的装备(如键盘、鼠标等)
        设置find命令的查找条件时,若必要使用"*"或“?”通配符,最好将文件名用双引号括起来以避免当前目录下符合条件的文件干扰查找结果。比方,以下操纵将在/etc目录中递归查找名称以"resol”开头、以~.conf”结尾的文件。
# find /etc/ -name "resol*.conf"
/etc/resolv.conf         使用"-type"查找条件可以过滤出指定范例的文件。比方,以下操纵将在/boot目录中查找出所有的文件夹(对应的范例为d).而忽略其他范例的文件。
# find /boot/ -type d
/boot/
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/centos
/boot/efi/EFI/centos/fw
/boot/efi/EFI/BOOT
/boot/grub2
/boot/grub2/i386-pc
/boot/grub2/locale
/boot/grub2/fonts
/boot/grub         必要同时使用多个查找条件时,各表达式之间可以使用逻辑运算符“-a”与“-o”分别表现而且(and)或老(c)比方以下两个操纵使田了两个杏坊冬件即‘招1024kB ”和“名称以vmlinuz开头”,但分别使用“-8“-0°组合两个条件,前者表现两个条件必须同时满足.后者表现只需满足其中任何一个条件即可。
# find /boot/ -size +1024k -a -name "vmlinuz*"
/boot/vmlinuz-3.10.0-957.el7.x86_64
/boot/vmlinuz-0-rescue-1971b91db4664a60b0e21d5a701b32bc
#
# find /boot/ -size +1024k -o -name "vmlinuz*"
/boot/efi/EFI/centos/MokManager.efi
/boot/efi/EFI/centos/mmx64.efi
/boot/efi/EFI/centos/shim.efi
/boot/efi/EFI/centos/shimx64-centos.efi
/boot/efi/EFI/centos/shimx64.efi
/boot/efi/EFI/BOOT/BOOTX64.EFI
/boot/grub2/fonts/unicode.pf2
/boot/System.map-3.10.0-957.el7.x86_64
/boot/vmlinuz-3.10.0-957.el7.x86_64
/boot/initramfs-0-rescue-1971b91db4664a60b0e21d5a701b32bc.img
/boot/vmlinuz-0-rescue-1971b91db4664a60b0e21d5a701b32bc
/boot/initramfs-3.10.0-957.el7.x86_64.img
#
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: CentOS 7基础操纵08_Linux查找目录和文件