Linux 学习笔记(一)—Linux的查询命令
查找文件的命令有:locate、find、which、whereis
文章目录
一、locate
locate
命令要比其他查找文件命令(例如:find
)快得多,因为它不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db
这个数据库中含有本地所有文件信息。Linux 系统自动创建这个数据库,并且每天自动更新一次,因此,我们在用locate
查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,就是因为数据库文件没有被更新。为了避免这种情况,所以在使用locate
之前,先使用updatedb
命令,手动更新数据库。
优点:查找速度快
缺点:无法查找最新添加的文件/目录以及会查找出来已经过期的文件/目录
1、locate
的命令格式:
locate 命令参数 文件/目录
2、常用的命令参数:
命令参数 | 命令参数全称 | 功能 |
---|---|---|
-c | –count | 只输出找到的数量 |
-d | –database DBPATH | 使用DBPATH指定的数据库,而不是默认数据库/var/lib/mlocate/mlocate.db |
-i | –ignore-case | 忽略大小写 |
-q | –quiet | 安静模式,不会显示任何错误讯息 |
-e | –existing | 只显示当前存在的文件条目 |
3、updatedb的用法
命令格式:
updatedb 命令参数
常用参数:
命令参数 | 功能 |
---|---|
-o<文件> | 忽略默认的数据库文件,使用指定的slocate数据库文件 |
-U<目录> | 更新指定目录的slocate数据库 |
-v | 显示执行的详细过程 |
注意事项:
updatedb
必须以root
权限才能执行,如果是普通用户想执行updatedb
时,需要在命令前加sudo
命令来提升权限为root
权限
二、which/whereis
1、which和whereis的
区别
(1)which
命令主要是查找系统PATH
目录下的可执行文件,即查找那些我们已经安装好的可以直接执行的命令所在的位置
(2)whereis
命令可以用来查找二进制(命令)、源文件、man
文件。与which
不同的是这条命令可以是通过文件索引数据库而非PATH
来查找的,所以查找的面比which
要广。
2、which
(1)命令格式
which 命令
3、whereis
(1)命令格式
whereis 命令参数 文件名
(2)常用命令参数
命令参数 | 功能 |
---|---|
-b | 只查找二进制文件 |
-B<目录> | 只在设置的目录下查找二进制文件 |
-m | 只查找说明文件 |
-M<目录> | 只在设置的目录下查找说明文件 |
-s | 只查找原始代码文件 |
S<目录> | 只在设置的目录下查找原始代码文件 |
三、find
缺点:查找速度慢
优点:可以按照自定义的方法通过遍历硬盘查找任何文件
1、命令格式
find 查找目录 查找参数 查找内容
2、常用参数
命令参数 | 功能 |
---|---|
-amin<+|-分钟> | 查找在指定时间曾被存取过的文件或目录,单位以分钟计算 |
-atime<+|-24小时数> | 查找在指定时间曾被存取过的文件或目录,单位以24小时计算 |
-cmin<+|-分钟> | 查找在指定时间之时被更改过的文件或目录 |
-ctime<+|-24小时数> | 查找在指定时间之时被更改的文件或目录,单位以24小时计算 |
-mmin<+|-分钟数> | 查找在指定时间曾被更改过的文件或目录,单位以分钟计算 |
-mtime<+|-24小时数> | 查找在指定时间曾被更改过的文件或目录,单位以24小时计算 |
-depth | 从指定目录下最深层的子目录开始查找 |
-exec<执行指令> | 假设find指令的回传值为True,就执行该指令 |
-follow | 排除符号连接 |
-gid<群组识别码 | 查找符合指定群组识别码的文件或目录 |
-group<群组名称> | 查找符合指定群组名称的文件或目录 |
-uid<用户识别码> | 查找符合指定的用户识别码的文件或目录` |
-user<拥有者名称> | 查找符和指定的拥有者名称的文件或目录 |
-name<范本样式> | 指定字符串作为寻找文件或目录的范本样式 |
-iname<范本样式> | 此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别 |
-inum<inode编号> | 查找符合指定的inode编号的文件或目录 |
-newer<参考文件或目录> | 查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录 |
-size<+|-|=文件的大小> | 查找符合指定的文件大小的文件 |
-type<文件类型> | 只寻找符合指定的文件类型的文件 |
-a | 是前后条件都要满足 |
-o | 是满足一个条件就好 |
备注:
- +:表示大于设置值的文件;
- -:表示小于设置值的文件;
- = :表示等于设置值的文件;
注意:使用find时命令前加 sudo
3 、-type
文件类型使用方法
常见文件类型:
f:普通文件
l:符号链接
d:目录
c:字符设备
b:块设备
s:套接字
p:Fifo
4、size <+|-|=文件大小>
使用方法
常见文件大小单位:
b —— 块(512字节)
c —— 字节
w —— 字(2字节)
k —— 千字节
M —— 兆字节
G —— 吉字节
5、-exec
使用方法
find … -exec 要执行的命令 {} \;
一个空格一对儿{}
一个空格和一个\;
,空格不能省略!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/150455.html