ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux命令进阶篇之一

2021-09-05 12:33:56  阅读:136  来源: 互联网

标签:文件 命令 目录 进阶篇 查找 Linux 权限 find


1、让用户进入某个目录成为工作目录的基本权限:

      可使用的指令:例如cd等改变工作目录的命令

      目录所需权限:用户对这个目录至少需要具有x权限

      额外需求:如果用户想要在这个目录内利用ls列出档案,则用户对此目录还需要r的权限

2、用户在某个目录内读取一个文件的基本权限:

      可用命令:例如cat,more,less等

      目录所需权限:用户对该目录至少需要具有x权限

      文件所需目录:使用者对档案至少需要具有 r 的权限才行

3、让使用者修改一个文件的权限:

      可使用的指令:如vim编辑器等

      目录所需权限:用户对该目录至少具有x权限

      文件所需权限:使用者对该文件至少具有r,w权限

4、让一个使用者可以建立一个文件的权限:

      目录所需权限:用户对该目录至少需要w,x权限

5、让用户进入某个目录并执行该目录下的某个命令所需权限:

      目录所需权限:该用户在该目录至少需要x权限

      文件所需权限:使用者对该文件至少需要x权限。

 

利用file命令查看那文件的类型

 

      命令:file

 

      语法:file [-bLvz] 文件

 

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

 

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

 

      -v:显示版本信息

 

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

 

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

 

      更多用法请使用manpage查看。

 

      接下来就来感受下:cd /etc 这里面的文件多~

 

  快来看看 adjtime 这个是个什么类型的文件呢?

 

  哦~,原来是个文本文件呢。来试试 –b 参数:

 

 

文件名显示了呢。

      也许你会发现有这样的文件:l 开头的,就是链接文件了,我们试试 -L参数吧,可以直接显示链接文件所指的文件的类型呢!!

 

 

linux命令搜寻之which命令

      命令:which

      语法:which [-a] 命令

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

      我们用which mkdir来找找mkdir命令在哪儿

 

 

 

 

 当我们用root用户的时候,为什么能找到ifconfig ,但是用普通用户就找不到了呢?

      是这样的,which是根据用户的PATH变量设定的路径去找的。echo $PATH就能查看当前用户的PATH变量设定了

 

 

档案查找命令

      命令之一:whereis

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

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

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

      -s:只找source来源档案

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

      来试试吧:

 

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

 

 

 我们发现whereis搜索非常快速,因为它是基于数据库的啦。这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用 whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。

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

      命令之二:locate

      语法:locate [-ir] keyword

解释:-i :忽略大小写

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

      locate 使用很简单,只要后面跟关键字就行了,搜索起来也非常快速,因为它也是基于数据库的。

 

 

 

 

如果没有出现就用“updatedb"修复一下。

 

 

命令之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小时前

 

按名称查找

      find [路径] -name 名称

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

 

 

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

(1)、which

    这条命令主要是用来查找系统PATH目录下的可执行文件。说白了就是查找那些我们已经安装好的可以直接执行的命令。 (2)、whereis     这个命令可以用来查找二进制(命令)、源文件、man文件。与which不同的是这条命令可以是通过文件索引数据库而非PATH来查找的,所以查找的面比which要广。 (3)、locate     这个命令也是通过数据库查找文件,但是这个命令的适用范围就比whereis大多了。这个命令可以找到任意你指定要找的文件,并且可以只输入部分文件名(前面两个命令是要输入完整文件名的)。同时locte还可以通过-r选项使用正则表达式,功能十分强大。

 

 

(4)、find
find命令要比前边几条复杂的多,功能也强大的多。这条命令是通过直接搜索硬盘的方式查找的,所以可以保证查找的信息绝对可靠。并且支持各种查找条件。但是功能强大肯定是有代价的,那就是搜索速度慢。所以一般前边几种找不出来的情况下才会使用find。另外如果要实现某些特殊条件的查找,比如找出某个用户的size最大的文件,那就只能用find了。

which主要用来查找可直接执行的命令,可以查找别名。whereis比which的搜索范围大了一些,同时可以查找源文件和man文件。这两个命令适用于查找安装好的命令。
locate的查找范围更大,可以查找任意类型文件。适合快速查找指定文件。
find最强大也最慢。适合查找前几个命令找不到的文件。:

————————————————

原文链接:https://blog.csdn.net/l1902090/article/details/24887997

 

 

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

find /etc -size +500k

 

 

 

(1).按文件名查找
#find / -name “file11” //查找名为file11的文件

(2).按文件大小查找
#find /etc -size +3M //查找大于3M的文件
#find /etc -size 2M //查找大小等于2M的文件
#find /etc -size -3M //查找小于3M的文件

(3).按目录的深度查找文件
#find / -maxdepath 2 -a -name file11 //查找深度为2,名为file11的文件

(4).按文件属主,属组查找
#find /home -user user01 //查找属主为user01的文件
#find /home -group user01 //查找属组为user01的文件

 

(5).按文件类型查找
#find /dev -type f //查看普通文件
#find /dev -type d //查看文件夹
#find /dev -type b //查看块设备文件
#find /dev -type l //查看链接
(6).按文件的权限查找
#find . -perm 644 -ls //查找权限为644的文件

 

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

 

 

 

 

  • dir1 :至少需要有x 权限;
  • file1:至少需要有r 权限;
  • dir2 :至少需要有w, x 权限。
  • 原因:

    1、用户在某个目录内读取一个文件的基本权限:

          可用命令:例如cat,more,less等

          目录所需权限:用户对该目录至少需要具有x权限

          文件所需目录:使用者对档案至少需要具有 r 的权限才行

    2、让使用者修改一个文件的权限:

          可使用的指令:如vim编辑器等

          目录所需权限:用户对该目录至少具有x权限

          文件所需权限:使用者对该文件至少具有r,w权限

 

标签:文件,命令,目录,进阶篇,查找,Linux,权限,find
来源: https://www.cnblogs.com/tang1127/p/15229074.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有