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 命令 which whereis locate find的更多相关文章

  1. 每天一个Linux命令:whereis(18)

    whereis whereis命令用来定位指令的二进制程序.源代码文件和man手册页等相关文件的路径. whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数- ...

  2. Linux 查找文件命令 find whereis locate

    Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...

  3. linux的查找命令 find whereis locate

    Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...

  4. Linux指令--which,whereis,locate,find

    原文出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html.感谢作者无私分享 which 我们经常在linux要查找某个文件,但 ...

  5. 每天一个linux命令(17):whereis

    1.命令简介         whereis (whereis) 命令用来定位指令的二进制程序.源代码文件和man手册页等相关文件的路径.         whereis命令只能用于程序名的搜索,而且 ...

  6. linux 命令——17 whereis(转)

    whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息. 和 find相比,whereis查找的速度 ...

  7. Linux 常用命令——which, whereis, locate, find

    转载请注明出处:http://blog.csdn.net/drecik__/article/details/8455399 1. which 查找使用命令所在的位置 2. whereis 搜索文件,跟 ...

  8. linux命令:whereis

    1.命令介绍: whereis用来查找二进制文件,源代码文件和帮助说明文件,whereis是在系统的数据库文件中查找,所以速度非常快,但是系统的文件数据库不是实时更新的,默认一个星期更新一次. 2.命 ...

  9. Linux命令之whereis

    whereis [选项] [文件] (1).选项 -b 只搜索二进制文件 -B <目录> 只在路径下查找二进制文件 -m 只搜索man手册 -M <目录> 只在路径下查找man ...

随机推荐

  1. [Linux] - Windows与Linux网络共享文件夹挂载方法

    Windows与Linux网络SMB方式文件夹共享挂载 本示例系统: Windows 2003+ Linux-Centos/Ubuntu 本示例全为命令行操作,如何使用Windows.Linux命令行 ...

  2. iOS获取当前城市

    1.倒入头文件 #import <CoreLocation/CoreLocation.h> 2.实现定位协议CLLocationManagerDelegate 3.定义定位属性 @prop ...

  3. Linux驱动面试题

    1. Linux设备中字符设备与块设备有什么主要的区别?请分别列举一些实际的设备说出它们是属于哪一类设备. 字符设备:字符设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种 ...

  4. Unity应用架构设计(9)——构建统一的 Repository

    谈到 『Repository』 仓储模式,第一映像就是封装了对数据的访问和持久化.Repository 模式的理念核心是定义了一个规范,即接口『Interface』,在这个规范里面定义了访问以及持久化 ...

  5. 原创科幻短篇《Bug》

    这回不是纯科幻,夹了点玄幻. 以下正文: 大一的时候,李双休谈了个女朋友,俩人学校相距不远,周末约一起看电影.那是李双休第一次自己坐公交,坐反了,绕城一周,电影开始后一个小时才到,就赶上看了个片尾彩蛋 ...

  6. linux ls命令教程,ls命令怎么用,全部招数都教你

    linux ls命令的用法大全 学习linux这么久了,最常用的命令莫属 ls命令了,今天就总结下ls命令的用法与经验技巧.   ls命令按文件大小查看文件   a.降序:ls -lsh moudae ...

  7. 安全工具-Hydra

    Hydra v8.2 (c) 2016 by van Hauser/THC - Please do not use in military or secret service organization ...

  8. jquery $('#form1').serialize()序列化提交表单

    1.$("#form1").serialize() 把form表单的值序列化成一个字符串,如username=admin&password=admin123 <for ...

  9. Paxos 实现日志复制同步(Basic Paxos)

    Paxos 实现日志复制同步 本篇文章以 John Ousterhout(斯坦福大学教授) 和 Diego Ongaro(斯坦福大学获得博士学位,Raft算法发明人) 在 Youtube 上的讲解视频 ...

  10. surface shader获取像素深度差值

    void vert (inout appdata_full v, out Input i) { UNITY_INITIALIZE_OUTPUT(Input, i); i.proj = ComputeS ...