linux作业2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作业二
比较命令find、locate、wheris功能特点。
答:
1:find
find是一个功能强大的文件或目录查找命令,该命令具有查找方法灵活、查找内容全面的优点,但是该命令也有磨损硬盘和查找速度慢的缺点,推荐大家在利用whereis和locate命令不能定位文件或目录时在使用find命令find的使用格式如下:
$ find <指定目录> <指定条件> <指定动作>
- <指定目录>:所要搜索的目录及其所有子目录。默认为当前目录。
- <指定条件>:所要搜索的文件的特征。
- <指定动作>:对搜索结果进行特定的处理。
如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
find的使用实例:
$ find . -name "my*"
搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。
$ find . -name "my*" -ls
搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。
$ find . -type f -mmin -10
搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f 参数,则搜索普通文件+特殊文件+目录。
2. locate
locate命令用于查找文件或目录。该命令的查找机制是利用文件列表数据库来实现对文件或目录的查找。Linux会将系统中所有的文件和目录名称及位置信息记录在一个文件列表数据库中,当执行locate命令式,会在该数据库内查找文件,并将文件的位置信息显示给用户。Locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux 系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。由于以数据库为依托,所以locate命令的查询效率要高于whereis、
locate命令的使用实例:
$ locate /etc/sh
搜索etc目录下所有以sh开头的文件。
$ locate ~/m
搜索用户主目录下,所有以m开头的文件。
$ locate -i ~/m
搜索用户主目录下,所有以m开头的文件,并且忽略大小写
3. whereis
whereis命令用于查找文件或目录。该命令仅对特定目录下的文件或目录进行查找,所以其查找结果不能反映文件在系统中存在的完全信息。而且能搜索二
进制可执行文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
whereis命令的使用实例:
$ whereis passwd
$ whereis –m passwd