Linux 学习笔记(一)—Linux的查询命令

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。Linux 学习笔记(一)—Linux的查询命令,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

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 是满足一个条件就好

备注:

  1. +:表示大于设置值的文件;
  2. -:表示小于设置值的文件;
  3. = :表示等于设置值的文件;

注意:使用find时命令前加 sudo

3 、-type 文件类型使用方法

常见文件类型:

  1. f:普通文件
  2. l:符号链接
  3. d:目录
  4. c:字符设备
  5. b:块设备
  6. s:套接字
  7. 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

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!