慕课网Linux 达人养成计划 I 学习笔记(三)

本文是教程第4章文件搜索命令和第5章帮助命令的笔记。


第4章 文件搜索命令

4-1 Linux中文件搜索命令locate

locate命令的特点:搜索速度比后面将要介绍的find命令快,但是缺点是只能搜索文件名。
locate命令的搜索范围:后台数据库(/var/lib/mlocate),这也是locate命令比find命令速度快的原因,它不用遍历整个操作系统。
这里有两点需要注意的:

  1. locate命令对应的后台数据库(/var/lib/mlocate)是每天一更新,也就是说,一天以内新建的文件用locate命令是找不到的,不过,可以使用updatedb这条命令及时进行后台数据库的更新;
  2. locate的搜索范围可以在/etc/updatedb.conf这个配置文件中进行配置。
4-2 Linux中的命令搜索命令——whereis和which

whereis:搜索系统命令对应的可执行文件所在的路径及帮助文档所在的位置。选项:-b表示只查找可执行文件,-m表示之查找帮助文件。比如:

whereis -b ls

which:用法与whereis类似,区别在于which可以看到系统命令的别名而却看不到帮助文档的位置。
这里有两点需要注意的:

  1. 通过whereis和which两个命令看到的都是外部命令的位置,所以像cd这种shell自带的命令是无法看到其位置的
  2. $PATH的作用:定义系统搜索命令的路径。命令其实是一些可执行文件,而运行命令要使用绝对路径(比如:ls本来应为/bin/ls),但因为/bin已经被添加到$PATH中,所以当输入ls的时候,系统会自动在/bin/中搜索。
4-3 Linux中的find命令

find命令相对于locate命令,优势在于能够用多种格式进行搜索,但是由于是直接在系统中进行搜索而非在后台数据库中,所以速度比locate要慢。
find命令格式:find [搜索范围] [搜索条件]
EX:find / -name install.log
关于find命令有下面两点需要注意:

  1. 尽量避免大范围的搜索,否则极耗系统资源;
  2. find是在系统中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配(即上面的find / -name install.log命令,只能找到/root/install.log而不能找到/root/install.log.syslog,但是locate则可以)。

Linux中的通配符:

  1. *:匹配任意内容;
  2. ?:匹配任意一个字符;
  3. []:匹配任意一个括号中的字符。
    EX:find /root -name “ab?” 以及 find /root -name “ab[cd]” (后面的一句命令匹配的是名为abc或者abd的文件)

关于find命令的一些说明:

  1. 加上“i”表示不区分大小写:-iname;
  2. 按所有者搜索:find /root -user root;
  3. 查找没有所有者的文件:find /root -nouser;
    没有所有者的文件除了下面的两种情况,其它的一般都是垃圾文件,可以进行清除:
    1. 内核产生的文件;
    2. 外来文件(如U盘等)。
  4. 按时间搜索文件:find /var/log/ -mtime +10
header 1header 2
-1010天内修改的文件
1010天前当天修改的文件
+1010天之前修改的文件
header 1header 2
atime按文件访问时间搜索
ctime按改变文件属性的时间搜索
mtime按修改文件内容的时间进行搜索
  1. 查找特定size的文件:find . -size 25k (其中k为小写,表示查找大小为25KB的文件,同样可以使用+和-);
  2. 查找特定i节点的文件:find . -inum 262422(ls -i则是查看特定目录下的文件的i节点);
  3. 表示逻辑与、逻辑或:-a、-o (find /etc -size +20k -a -size -50k);
  4. 用后一条命令对前一条命令得到的结果进行处理:-exec
    EX:find /etc -size +20k -a -size -50k -exec ls -lh {} ; (查找/etc/文件夹下面,大于20KB且小于50KB的文件并显示它们的详细信息,注意:“{} ;”是固定跟在 -exec 后面的)。

第5章 帮助命令

5-1 Linux中 帮助命令

最常见的帮助命令:man(man是manual手册的意思)。
EX:man ls (查看帮助信息的时候"/“可以用于搜索关键字,比如”/-d"可以用来搜索"-d"这一关键字,而n键可以用来查找下一个,shift+n键可以查找上一个)。
关于man命令的一些选项:

  • man命令有1-9九个不同的帮助级别,可以使用"man -f 命令"(相当于"whatis 命令")来查看对应的命令有几个帮助级别。
    EX:man -f ls
  • 查看和指定命令相关的所有帮助:“man -k 命令”(相当于"apropos 命令")
    EX:"man -k passwd"能查找出帮助文档中含有"passwd"这一关键词的所有命令(例如当要查找smbpasswd的帮助信息,但是只是大概记得这个命令与passwd相关的时候,就可以使用man -k passwd这种方式,这样的话同时也能够查找到smbpasswd)。
5-2 Linux中 其他帮助命令
  1. 仅仅获取命令的选项帮助:命令 --help;
  2. 获取shell内部命令的帮助信息:help shell内部命令;
    如何区分外部命令与内部命令:可以使用whereis命令,外部命令能够看到命令的可执行文件的位置,而内部命令则看不到;
  3. 查看命令的详细帮助信息:info 命令。

一般,比较常用的是"man"和"–help"。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值