Linux常用命令大全 ---> 权限管理 、文件搜索命令(二)

1. 权限管理命令

(1) 只有两个人可以更改文件的权限,一个是所有者,一个是管理员root
(2) 文件的所有者和所属组的更改(chown、chgrp),只有root才可以进行操作

1.1 chmod命令

权限管理命令:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
语法:chmod [{ugoa} {±=} {rwx}]   [文件或目录]
                         [mode=421]     [文件或目录]
选项:-R    递归修改
功能描述:改变文件或目录权限

 
小提示:
(1)a(all)代表所有用户。
(2)递归修改:改变这个目录的同时,目录下多有的文件,都改成一样的权限,这时-R的权限。

举三个栗子:

栗子一
权限的数字表示 r=4 w=2 x=1
命令: chmod 764 test
作用: 相当于给这个test文件的所有者、所属组、其他人赋予权限rwxrw-r–

栗子二
命令:chmod g+w test
作用:赋予文件test所属组写权限

栗子三
命令:chmod -R 777 /tmp/Dongkun
作用:修改目录/tmp/Dongkun的权限的同时也将其目录下的文件或者子目录也修改为同样的权限

在这里插入图片描述
重点来了!!!!!

非常注意: 对一个文件有写权限只是能修改一个文件的内容,删除文件的前提条件是对这个文件所在的目录有写权限,才能把他删除掉。也就是说文件的权限会收到目录权限的影响

文件目录权限区别:

代表字符 权限 对文件的含义 对目录的含义
r 读权限 可以查看文件内容 可以列出目录中的内容
w 写权限 可以修改文件内容 可以在目录中创建、删除文件
x 执行权限 可以执行文件 可以进入目录

如果是一个文件的话,rwx可以使用哪些命令:
r    cat /more/head/tail/less
w   vim
x   script command

如果是一个目录的话,rwx可以使用哪些命令:
r    ls
w  touch/mkdir/rmdir/rm
x   cd

1.2 chown命令

权限管理命令:chown
命令英文原意:change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
语法:chown [用户] [文件或目录]
功能描述:改变文件或目录的所有者
 
举个栗子:
命令:chown zhaolusi hello.txt
作用:改变文件hello.txt的所有者为zhaolusi

1.3 chgrp命令

权限管理命令:chgrp
命令英文原意:change file group ownership
命令所在路径:/bin/chgrp
执行权限:所有用户
语法:chgrp [用户组] [文件或目录]
功能描述:改变文件或目录的所属组
 
举个栗子
命令:chgrp 冰红茶 hello.txt
作用:改变文件hello.txt的所属组为冰红茶
  
 

1.4 umask命令

权限管理命令:umask
命令英文愿意:the user file-creation mask
命令所在路径:shell内置命令
执行权限:所有用户
语法:umask [-S]
 -S 以rwx形式显示新建文件缺省权限
功能描述:显示、设置文件的缺省权限
   
 
下图中在执行umask权限的时候,出现的0022代表的什么含义那???

在这里插入图片描述
0 特殊权限
022 --- -w- -w- 如果按照421来推算权限,显然是不合理的。其实真正的权限是这样推算出来的
就拿022来举栗:
在这里插入图片描述
如果想要一个700的权限,如何计算出来umask值那?有下图可知,执行命令umask 077,就可以在创建目录的时候,目录的默认权限就是077。
在这里插入图片描述
 
 

2. 文件搜索命令

把目录规划好,东西不要乱放,减少搜索的操作,因为搜索整个操作占用大量的资源。

2.1 find命令

文件搜索命令:find
命令所在路径:/bin/find
执行权限:所有用户
语法:find [搜索范围] [ 匹配条件]
功能描述:文件搜索
  
  
匹配条件
(1) -name 以文件名进行查找
         -iname 文件名不区分大小写
 

举个栗子:
命令:find /etc -name init
作用:在目录/etc中查找文件init
 
 
(2) -size 以文件的大小来进行查找
 
举个栗子:
命令:find / -size +204800
作用:在根目录下查找大于100MB的文件
 
小提示: 查找目录的大小是按照数据块为单位进行查找的,一个数据块 = 512Byte = 0.5KB,所以:100MB=102400KB=204800
 
 
(3) -user 以所有者为这个文件来进行查找
         -group 根据所属组查找
举个栗子:
命令:find /home -user 冰红茶
作用:在根目录下查找所有者为冰红茶的文件
 
 
(4) -amin 以访问时间来进行查找(access)
         -cmin 以文件属性改变的时间来进行查找(change)
         -mmin 以文件内容修改的时间来进行修改(modify)
 

举个栗子:
命令:find /etc -cmin -5
作用:在/etc下查找5分钟内被修改过属性的文件和目录

小提示:
(1)什么是时间的属性?就是用命令ls –l命令所看的东西
(2)+代表超过多长时间-代表多长时间之内
 
 

(5) -a 两个条件同时满足
          -o 两个条件满足任意一个即可

举个栗子:
命令:find /etc -size +163840 -a -size -204800
作用:在/etc下查找大于80MB小于100MB的文件

+n  大于    -n  小于 n   n 是等于
 
 
 
(6) -exec/ok 在查找到文件之后执行后面的命令

举个栗子:
命令:find /etc -name inittab -exec ls -l {} \;
作用:在/etc下查找inittab 文件冰显示其详细信息

小提示:(1)-exec/ok 命令  {} \; 对搜索结果进行操作。 -ok有询问功能。

              (2)-exec   {} \; 是固定格式,记住就行。
 
 
 
(7) -type 根据文件类型查找
         f 文件 d 目录 l 软连接文件

举个栗子:
命令:find /etc -name init* -a -type f -exec ls -l {} \;

小提示:{}\ 花括号表示前面find查找的结果,因为find查找的结果,可能有多个,做一个替换。\代表转义符, ;代表结束
在这里插入图片描述
-ok和-exec的区别:
-ok有一个询问的过程
在这里插入图片描述
 
 

(8) -inum 根据i节点查找

.代表当前目录 , find . 相当于在当前目录进行查找
作用:1.可以根据i结点来删除奇形怪状的文件名 2.根据i结点来查找所对应的硬链接。
 

举个栗子:

在这里插入图片描述

2.2 locate命令

(1)locate能实现快速查找,建立了一个文件资料库,这个文件资料库会定时更新,在找的时候并不是在整个硬盘上找,而是在文件资料库中去找,所以速度很快。这个资料库在 /var/lic /mlocate.db,系统中的文件定期会收入到这个文件中,不像find一样在某一个目录、某一个分区、某一个硬盘来查找,而是直接找这个资料库就够了,所以非常快。
(2)这时有一个问题,如果一个新建立的文件,没有被收入到这个文件资料库中,实际上是找不到的。find是一个实时查找,不存在这样的问题。可以用updatedb命令来跟新这个文件资料库。
 
文件搜索命令:locate
命令所在路径:/usr/bin/locate
执行权限:所有用户
语法:locate 文件名
功能描述:在文件资料库中查找文件
选项:-i 不区分文件名的大小写
 

特别注意: (1)如果在/tmp目录下创建的文件,就算使用updatedb命令,更新文件资料库,也是不能被找到的。因为是存放在/tmp临时文件的目录下面,并不在文件资料库所收录的文件范围之中。这也是存在的一个问题。(2)如果是一个系统文件可以用locate快速搜索。可以节省很多的系统资源,只需要定期维护整个资料库就可以了。
 
 
 

2.3 which命令

如果要查找的文件就是一个可执行文件也就是一个命令,可以用which就行查找,可以找到这个命令所在的目录。

文件搜索命令:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which 命令
功能描述:搜索命令所在目录及别名信息
 
  
 

2.4 whereis命令

文件搜索命令:whereis
命令所在路径:/usr/bin/whereis
执行权限:所有用户
语法:whereis [命令名称]
功能描述:搜索命令所在目录及帮助文档
 
 
 

2.5 grep命令

文件搜索命令:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep -iv [指定字符串] [文件]
选项:
     -i 不区分大小写
    -v 排除指定字串
功能描述:在文件中搜索字符串匹配的行并输出
 
 
举个栗子:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46818279/article/details/108414982
今日推荐