Linux下文件查找指令which/whereis/locate/find

来源:互联网 发布:网络摄像头有看头下载 编辑:程序博客网 时间:2024/06/05 06:02
Liunx要查找某个文件,但不知道放在哪里,可以通过下面命令来查找:
(1)which 查看可执行文件的位置
(2)whereis 查看文件的位置
(3)locate 配合数据库查看文件位置
(4)find 实际搜查硬盘查询文件名称
1.which指令
   在PATH变量指令路径中,搜索某个系统指令位置,并且返回第一个搜索结果。
   -n   指定文件名长度,指定的长度必须大于或等于所有文件最长文件名;
   -p   与-n参数相同,但此处的包括文件路径
   -w  指定输出时栏位宽度
   -v  显示版本信息
   实例:
   
2.whereis指令
   只能用于程序名的搜索,只搜索二进制文件(参数 -b)、man说明文件(参数 -m)和源代码文件(参数-s),还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。
   相对find命令,whereis的查找速度较快,它是从数据库文件中查找,而find命令是遍历硬盘查找的。
      -b (binary) 定位可执行文件;
    -m  定位帮助文件;
    -s (source) 定位源代码文件;
    -u 搜索默认路径下除可执行文件、源代码文件和帮助文件以外的其他文件;
    -B 指定搜索可执行文件的路径;
    -M 指定搜索帮助文件的路径;
    -S指定搜索源文件的路径;
   范例:根据不同身份查找与passwd相关文件:
    
3.locate指令
   locate寻找的数据是从已创建数据库/var/lib/mlocate/里面的数据查找的,速度是很快的,而数据库的创建默认方式是每天执行一次,所以新创建文件肯定找不到,要用updatedb命令来更新数据库(要等数分钟时间)。
   -u / -U  建立资料库,-u会从根目录开始,-U可以指定开始位置;
   -e 将排除在寻找范围之外
   -l 启动安全模式(在安全模式,使用者不会看到权限无法看到档案)
   -f 将特定档案系统排除在外
   -q 安静模式,不会显示任何错误信息
   -n 至多显示n个输出;
   -r 使用正规运算式做寻找条件;
   -o 指定资料库存名称;
   -d 指定资料库的路径;
   -h 显示辅助信息;
   -v 显示更多信息;
   -V 显示程式版本讯息;
实例:
   
4.find指令
   find命令在目录结构搜索文件,并执行指定的操作。
   (1)与时间相关的参数
      -atime  访问时间,文件最后被读取时间,用touch命令修改当前时间;
      -ctime  变更时间,文件本身最后被变更的时间,变更动作可以使chmod、chgrp、mv等等;
      -mtime 修改时间,件内容最后被修改的时间,修改动作可以使echo重定向、vi等等;
      -newser file:列出比file文件还早的文件;
实例:
      
    (2)与用户名或用户组有关的参数
       -uid n:n为数字,这个数字是用户的账号ID,即UID,这UID是纪录在/etc/passwd里面的账号名称对应数字;
       -gid u :n为数字,这个数字是用户组名的ID,即GID,这个GID纪录在/ect/group中;
       -user name :name为用户账号名称,如dmatsai;
       -group name:name为用户组名,例如users;
       -nouser:寻找文件的所有者不存在/etc/passwd的人;
       -nogroup:寻找文件的用户组不存在/ect/group中的文件。
       如果你想知道某个用户在系统下创建什么,使用上面参数就能够找出。
实例:
      
     (3)与文件权限及名称相关的参数
        -name filename:查找文件名为fillename的文件;
        -size [+-] SIZE:查找比SIZE大还是小的文件,SIZE的规格为:c:代表byte;k:代表1024bytes;
        -type TYPE:查找文件类型为TYPE的,类型有:(1)一般正规文件(f);(2)设备文件(b,c);(3)目录(d);(4)链接文件(l);(5)socket套接字(s);(6)FIFO普通文件(f);
        -depth:在查找文件时,首先查找当前目录的文件,然后在目录中查找;
        -fstype:查找位于某一类型文件系统的文件,这些文件系统类型在配置文件/etc/fstab找到;
        -mount:在查找文件不跨越文件系统mount点;
        -follow:如果find命令遇到符号链接文件,就跟踪链接所指向文件;
        -cpio:对匹配文件使用cpio命令,将这些文件备份到磁带设备中;
        -perm mode:查找文件权限“刚好等于”mode的文件,这个mode1类似chmod的属性值,举例:-rwsr-xr-x属性值为4755;
        -perm -mode:查找文件权限“包含任一mode的权限”的文件,举例:我们查找-rwxr-xr-x,即-perm +755时,但一个文件属性为 -rw-------也会列出来,因为它有-rw...属性存在。
实例:
     
     (4)其他参数
        -exec command:command为其他命令,-exec后面可再接其他的命令来处理查到的结果。
        -print:将结果打印到屏幕上,这个操作是默认操作。   
        -ok:和-exec作用相同,只不过以一种更安全的模式来执行让参数所给出的shell命令,在执行每一个命令之前都会给出提示,用户确定是否执行。
0 0
原创粉丝点击