zoukankan      html  css  js  c++  java
  • Linux 命令 which whereis locate find

    which: 查询某指令的完整路径

    $ which [-a] command

    -a: 将所有在PATH目录中可以找到的指令均列出。

    注意:只搜索PATH下的路径。

    whereis:

      只搜索几个特定目录下的文件(whereis -l 可以查看搜索了哪些目录),不是全系统搜索

    locate: 利用数据库来搜索文件

    find: 强大的搜索指令,但不常用,因为直接搜索硬盘所以速度慢,只有前两个命令搞不定时才会考虑find。

    $ whereis [-bmsu] 文件或目录名

    -b: 只找binary 格式文件

    -m: 只找在说明文件manual 路径下的文件

    -s: 只找source 来源文件

    -u: 搜索不在上述三个项目中的其他特殊文件

    locate [-ir] keyword

     参数:

      -i: 忽略大小写

      -c: 不输出文件名,仅计算找到的文件数量

      -l: 仅输出几行的意思,例如输出5行:-l 5

      -S: 输出locate 所使用的数据库文件的相关信息,包括该数据库记录的文件/目录数量等

      -r: 后面可接正式表达式

    如果忘记了完整的文件名,locate 就比较适合。

    找出系统中所有与passwd 相关的文件,且仅列出5个

    $ locate -l 5 passwd

    列出locate 查询所使用的数据库文件

    locate -S

    locate 从已建立的数据库/var/lib/mlocate/ 里面搜索数据,不直接搜索硬盘,所以很快。但是,由于数据库的更新是每天执行一次,因此当搜索的是新创建的文件时,在数据库更新之前是找不到该文件的,必须进行更新数据库操作(updatedb)。

    updatedb会去读取/etc/updatedb.conf文件的设定,然后再去硬盘进行搜索操作,最后更新整个数据库文件,这个过程可能比较慢。

    find [PATH] [option] [action]

    参数:

    与时间有关的选项

      -mtime n: 在n 天之前的`一天以内`被修改过内容的文件

      -mtime +n: 在n 天之前(不含n 天本身,即n+1天以前)被修改过内容的文件

      -mtime -n: 在n 天之内(含n 天本身)被修改过内容的文件

      -newer file: file为一个已存在的文件,列出比file还要新的文件

    列出24小时以内修改过内容的文件

    $ find / -mtime 0

    0 表示现在,即从现在开始到24小时前,有变动过内容的见都会被列出。如果是三天前的24小时以内:find / -mtime 3.

    寻找/etc 下的文件,如果文件日期比/etc/passwd 更新就列出

    $ find /etc -newer /etc/passwd

    与使用者或组名有关的参数:

      -uid n: n为用户账号UID,该UID记录在/etc/passwd中

      -gid n: n为组名GID,该GID记录在/etc/group中

      -user name: name为使用者账号名称

      -group name: name为组名

      -nouser: 文件的所有者不在/etc/passwd中

      -nogroup: 文件的所有组不在/etc/group中,例如,自行安装的软件,很可能该软件的属性中并没有文件所有者。

    搜索 ~ 下属于yangxl的文件

    $ find ~ -user yangxl

    搜索系统中不属于任何人的文件

    $ find / -nouser

    与文件权限及名称有关的参数: 

      -name filename: 搜索文件名为filename 的文件

      -size [+-]SIZE: 搜索比SIZE大/小的文件。SIZE的规格有c(byte)、k(1024bytes)。

      -type TYPE: 搜索类型为TYPE的文件。TYPE的规格为一般文件(f)、装置文件(b, c)、目录(d)、链接(l)、socket(s)、FIFO(p)等

      -perm mode: 搜索文件权限恰好为mode 的文件。mode 为类似chmod 的属性值,例如,-rwsr-xr-x的属性为4755

      -perm -mode: 搜索文件权限囊括mode 的文件。例如,如果要搜索-rwxr--r--,即0744的文件,使用-perm -0744,当一个文件的权限为-rwsr-xr-x,即4755的文件,也会被列出来,因为-rwsr-xr-x的属性囊括了-rwxr--r--的属性。

      -perm /mode: 搜索文件权限包含任意mode权限的文件。例如,搜索-rwxr-xr-x,即-perm /755时,一个文件属性为-rw-------的文件也会被列出来,因为它有-rw... 的属性。

  • 相关阅读:
    Linux 学习 step by step (1)
    ubuntu server nginx 安装与配置
    ubuntu server samba服务器配置
    iOS app集成支付宝支付流程及后台php订单签名处理
    mac 连接windows 共享内容
    linux 文件查找,which,whereis,locate,find
    ubuntu server vsftpd 虚拟用户及目录
    ubuntu server 安装 mantis bug tracker 中文配置
    ubuntu server vsftpd 匿名用户上传下载及目录设置
    linux 用户管理,用户权限管理,用户组管理
  • 原文地址:https://www.cnblogs.com/yangxiaoling/p/10554204.html
Copyright © 2011-2022 走看看