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 命令 which whereis locate find的更多相关文章
- 每天一个Linux命令:whereis(18)
whereis whereis命令用来定位指令的二进制程序.源代码文件和man手册页等相关文件的路径. whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数- ...
- Linux 查找文件命令 find whereis locate
Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...
- linux的查找命令 find whereis locate
Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...
- Linux指令--which,whereis,locate,find
原文出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html.感谢作者无私分享 which 我们经常在linux要查找某个文件,但 ...
- 每天一个linux命令(17):whereis
1.命令简介 whereis (whereis) 命令用来定位指令的二进制程序.源代码文件和man手册页等相关文件的路径. whereis命令只能用于程序名的搜索,而且 ...
- linux 命令——17 whereis(转)
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息. 和 find相比,whereis查找的速度 ...
- Linux 常用命令——which, whereis, locate, find
转载请注明出处:http://blog.csdn.net/drecik__/article/details/8455399 1. which 查找使用命令所在的位置 2. whereis 搜索文件,跟 ...
- linux命令:whereis
1.命令介绍: whereis用来查找二进制文件,源代码文件和帮助说明文件,whereis是在系统的数据库文件中查找,所以速度非常快,但是系统的文件数据库不是实时更新的,默认一个星期更新一次. 2.命 ...
- Linux命令之whereis
whereis [选项] [文件] (1).选项 -b 只搜索二进制文件 -B <目录> 只在路径下查找二进制文件 -m 只搜索man手册 -M <目录> 只在路径下查找man ...
随机推荐
- 【原】Linux环境下Shell调用MySQL并实现定时任务
对于一些周期性事务,我们可以在Linux下,使用shell脚本调用mysql数据库存储过程,并设置定时任务. 本来是要mysql数据库中创建事件任务来,定时执行存储过程,做数据传输的...使用cron ...
- VS Code 插件
https://blog.fundebug.com/2018/07/24/vs-extensions/
- C#使用HttpWebRequest和HttpWebResponse上传文件示例
C#使用HttpWebRequest和HttpWebResponse上传文件示例 1.HttpHelper类: 复制内容到剪贴板程序代码 using System;using System.Colle ...
- Linux-task_struct和文件系统及管道的关系
推荐:文件描述符和文件指针的关系 fs_struct 记录该进程所在文件系统等信息. files_struct 记录该进程当前打开的所有文件等信息,其中有一个元素为数组,数组索引是文件描述符,数组元素 ...
- iOS--App功耗优化
良好的用户体验需要如下要素: 电池寿命长.随着能效降低,电池寿命也会降低.但用户想让自己的移动设备全天候待命. 速度快.iOS系统处理复杂操作时仍能提供很好的性能. 响应快.同一时刻消耗太多资源会使U ...
- MSSQL数据导出到MYSQL
MSSQL数据导出到MYSQL 花了一天时间把MSSQL里的数据导出到MYSQL, 好麻烦,二个数据库都是阿里云买的云服务器. 先上阿里云控制面板,备份下MSSQL数据库,下载备份下来,在本地电脑上还 ...
- Linux进程资源占用分析
[时间:2018-03] [状态:Open] [关键词:linux, 进程,proc,top] 0 引言 最近在分析安卓程序上的monkey测试日志时发现,需要了解下Linux进程资源占用情况及其查看 ...
- WebRTC的视频解码原理简析
WebRTC的视频部分,包含采集.编解码(I420/VP8).加密.媒体文件.图像处理.显示.网络传输与流控(RTP/RTCP)等功能. 视频采集---video_capture: 源代码 ...
- AI人工智能顶级实战工程师 课程大纲
课程名称 内容 阶段一.人工智能基础 — 高等数学必知必会 1.数据分析 "a. 常数eb. 导数c. 梯度d. Taylore. gini系数f. 信息熵与组合数 ...
- Linux操作系统配置Go语言编程环境
之前一直在windows下写Go,现在工作环境切换至Linux下,因此写下此文,记录安装Go环境的过程. 操作系统:CentOS7.5 一.安装步骤 1,下载Go语言安装包 yum install g ...