Linux命令进阶篇之一
本实验主要介绍了Linux系统中一些基本的命令,学会使用文件类型查看命令:file;搜索命令:which,whereis,以及find命令等。
一、实验目的
1)掌握文件查看命令:file
2)掌握命令位置查找之which命令
3 ) 掌握如何就行档案搜索
二、实验步骤
1)利用file命令查看文件的类型
命令:file
语法:file [-bLvz] 文件
解释:-b:显示结果,但是不显示文件名称
-L:直接显示符号链接所指向的文件的类型
-v:显示版本信息
-z:测试去读取压缩文件的内容
直接file 文件,不加任何参数可以显示文件类型
更多用法请使用manpage查看。
查看 cd /etc 中的所有文件:

用 file 查看 adjtime 文件的类型:
![]()
加上 -b 参数,使文件名不显示:
![]()
加上 -L 参数,可以直接显示链接文件所指的文件类型:

2)Linux命令搜寻之which命令
命令:which
语法:which [-a] 命令
解释:-a:将PATH中可以找到的指令都列出来,而不是第一个被找到的名称
![]()
3)档案查找命令
①命令之一:whereis
语法:whereis [-bmsu] 目录或文件名
解释:-b:只找binary(二进制)格式的文件
-m:只找在说明文件manual路径下的文件
-s:只找source来源档案
-u:搜索不在上述三个项目当真的其他特殊档案

只找跟 passwd 命令相关的帮助文件:

②命令之二:locate
语法:locate [-ir] keyword
解释:-i :忽略大小写
-r :使用正规运算式做寻找的条件
locate 使用很简单,只要后面跟关键字就行了,搜索起来也非常快速,因为它也是基于数据库的。

4)命令之 find
语法:find [路径] [option] [action]
解释:find的参数有很多,我们介绍简单一点的,更多用法记得man find 。
与时间相关的选项:-atime,-ctime和-mtime,以-mtime说明:
-mtime n :n 为数字
-mtime +n :n天之前(不含n天本身)
-mtime -n:n天之内(含n天本身)
-nwer file:file为一个存在的文件,列出比file更新的文件。
find相关的时间的意义:

+4代表大于等于5天前
-4:代表等于4天内
4:代表4-5那一天。
例1:将过去系统上面24小时内有更改(mtime)的内容列出来:


数字0代表当前时间,所以代表从现在到24小时前。
5)按名称查找
find [路径] -name 名称
找出 /etc/下 名为passwd的文件

三、心得体会
通过本次实验,我学习了如何查看文件的类型,并且学会了搜索命令,这对于以后的学习无疑是十分方便的,能够更加轻松地查找到想要的文件。
四、分析与思考
1)请说明whereis和find有何区别?它们各自的优缺点是什么?
答:whereis 是查看文件的位置,find 实际上是搜寻硬盘查询文件名称。
和find相比,whereis 查找的速度非常快,因为它从数据库查找数据,但该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。
find 命令是通过直接搜索硬盘的方式查找的,所以可以保证查找的信息绝对可靠。并且支持各种查找条件。但是通过遍历硬盘来查找,搜索速度慢。
2)请使用man page,如何使用find 命令查找/etc下大于500K的文件?
答:find /etc -size +5k
3)让一个普通用户heetian能够进行cp /dir1/file1 /dir2的命令时,请说明dir1,file1,dir2的最小所需权限为何?
答:dir1:可执行x
file1:可读取r
dir2:可创建w,可执行x
五、答题

浙公网安备 33010602011771号