一、实验目的  

       1)掌握文件查看命令:file

       2)掌握命令位置查找之which命令

       3 ) 掌握如何就行档案搜索

 

二、实验步骤

     1)查看那文件的类型file命令

          语法:file [-bLvz] 文件

          etc目录下:

          Linux命令进阶篇之一_查找文件

          解释:-b:显示结果,但是不显示文件名称

          Linux命令进阶篇之一_查找文件_02

          -L:直接显示符号链接所指向的文件的类型

           Linux命令进阶篇之一_搜索_03

          -v:显示版本信息

          -z:测试去读取压缩文件的内容

          直接file 文件,不加任何参数可以显示文件类型

 

 

     2)搜寻which命令

          用法:which [-a] 命令

          解释:-a:将PATH中可以找到的指令都列出来,而不是第一个被找到的名称

          用which mkdir来找找mkdir命令位置

          Linux命令进阶篇之一_库文件_04

 

     3)档案查找:whereis命令 

          语法:whereis [-bmsu] 目录或文件名

          Linux命令进阶篇之一_数据_05

 

          解释:-b:只找binary(二进制)格式的文件

          -m:只找在说明文件manual路径下的文件

           Linux命令进阶篇之一_数据库_06

 

          -s:只找source来源档案

          -u:搜索不在上述三个项目当真的其他特殊档案

          注:whereis搜索非常快速,因为它是基于数据库。Linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用 whereis和locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率会很高。但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

 

     4)档案查找:locate命令

           语法:locate [-ir] keyword

          解释:-i :忽略大小写

                    -r :使用正规运算式做寻找的条件

          Linux命令进阶篇之一_库文件_07

 

 

 

         5)档案查找:find命令

               语法:find [路径] [option] [action]

              解释:find的参数有很多,我们介绍简单一点的,更多用法记得man find 。

              1.与时间相关的选项:-atime,-ctime和-mtime,以-mtime说明:

              -mtime n :n 为数字

              -mtime +n :n天之前(不含n天本身)

              -mtime -n:n天之内(含n天本身)

              -nwer file:file为一个存在的文件,列出比file更新的文件。

              find相关的时间的意义:

               Linux命令进阶篇之一_数据_08

 

 

 

               +4代表大于等于5天前

               -4代表等于4天内

                4代表4-5那一天

                

                 2.按名称查找

                   格式:find [路径] -name 名称

                  eg:找出 /etc/下 名为passwd的文件

                   Linux命令进阶篇之一_库文件_09

 

 

 

 

 

三、分析与思考

1、请说明whereis和find有何区别?它们各自的优缺点是什么?

            whereis优点:where搜寻是基于数据库搜寻,速度快

                         缺点:数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,在用whereis 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,                                       原因就是因为数据库文件没有被更新。

           find优点:可以按时间和文件名搜寻

                 缺点:通过遍历硬盘来查找文件,速度慢

2、请使用man page,如何使用find 命令查找/etc下大于500K的文件?

             find /etc -size +5k

3、让一个普通用户heetian能够进行cp /dir1/file1 /dir2的命令时,请说明dir1,file1,dir2的最小所需权限为何?

             dir1:可执行;file1:可读取;dir2:可创建,可执行

 

四、心得体会

       掌握了文件查看命令file,掌握了命令位置查找which命令,掌握了进行档案搜索的方法

 

五、课后习题

Linux命令进阶篇之一_搜索_10

Linux命令进阶篇之一_数据_11

Linux命令进阶篇之一_查找文件_12