linux入门6 文件权限与搜索查找类命令

一.文件权限类命令

        Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。

1.文件属性

要查看文件的属性,可以直接用 ll 命令,也可以 ls -l (前者是后者的缩写)

[root@oracle ~]# ll                     #之后我们会发现文件会以以下形式展示出来

drwxr-xr-x  3 root root   16 9月  24 21:53 aa
-rw-------. 1 root root 1533 9月  23 14:31 anaconda-ks.cfg
lrwxrwxrwx  1 root root   11 9月  24 21:54 cc -> /root/aa/bb
-rwxr-xr-x. 1 root root  274 9月  23 16:14 openoracle.sh
 

分析:

-rwxr-xr-x.     1       root       root       274        9月 23 16:14      openoracle.sh

[    1   ]          [ 2 ]     [ 3 ]       [  4  ]    [   5   ]           [   6   ]              [     7     ]

[  权限  ]      [链接] [拥有者][用户组] [文件容量]    [修改日期]          [文件名]

[1]:第一栏代表文件的类型与权限,一共十个字符,第一个字符表示文件的的类型,

其中【-】表示文件,【d】表示目录,【l】表示链接文件,

剩下的九个字符,三个一组,且皆为【rwx】的三个参数的组合。其中[r]代表可读(read),[w]代表可写(write),[x]代表可执行(execute),如果没有权限就会出现【-】号。

第一组(rwx)为文件拥有者所具备的权限,以分析里的为例,文件拥有者拥有对文件的读写执行操作;(user)

第二组(r-x)为加入该用户组的账号的权限,以分析里的为例,同一用户组里的成员对该文件具有读和执行的操作;(group)

第三组(r-x)为其他用户(非本人,也不在同一用户组里)对该文件所具有的的权限。(other)

[rwx]作用于文件和目录的不同解释

作用到文件:

[ r ]代表可读(read): 可以读取,查看

[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.

[ x ]代表可执行(execute):可以被系统执行

作用到目录:

[ r ]代表可读(read): 可以读取,ls查看目录内容

[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录

[ x ]代表可执行(execute):可以进入该目录

[2]:第二栏表示链接的数量

如果查看到是文件:链接数指的是硬链接个数。

如果查看的是文件夹:链接数指的是子文件夹个数。

2.chmod 改变权限 (chang modify)

要更改权限,首先要了解权限的类别;rwx三种权限都对应着一个数字,并且可以累加

u:所有者  g:所有组  o:其他人  a:所有人(u、g、o的总和)

r=4 w=2 x=1        rwx=4+2+1=7

改变权限的方式:

[root@oracle ~]# mkdir a.txt                              #我们先创建一个文件a.txt

[root@oracle ~]# ll                 #查看文件
-rw-r--r--  1 root root   12 9月  24 21:34 a.txt

接下来我们就以a.txt来操作,更改它的权限

(1)修改文件,使文件的拥有者(属主用户)拥有执行权限

[root@oracle ~]# chmod u+x a.txt                 #u表示文件所有者,x表示执行

(2)修改文件,使其所属组用户(同一用户组)具有执行权限

[root@oracle ~]# chmod g+x a.txt

(3)修改文件,使其所属主用户无执行权限,并使其他用户具有执行权限

[root@oracle ~]# chmod u-x,o+x a.txt
(4)采用数字方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。

[root@oracle ~]# chmod 777 a.txt

注:r(read)权限是4,w(write)权限是2,x(execute)权限是1;所以7=4+2+1(读写执行),5=4+1(读执行)。

(5)修改整个文件夹里面的所有文件所有者、所属组、其他用户都具有可读可写可执行权限。

[root@oracle ~]# chmod -R 777 aa           #修改aa文件夹里的文件的权限为777

3.chown 改变所有者 (chang owner)

基本语法:

chown [选项] [最终用户] [文件或目录]  (功能描述:改变文件或者目录的所有者)

参数说明:

-R            递归操作

(1)更改文件所属主(文件拥有者)

[root@oracle ~]# chown oracle a.txt        #将文件a.txt的所有者由root更改为oracle

注:不需要指明文件原所有者是谁,直接将最终所有者写出来就行。

(2)递归更改文件所属主(文件拥有者)和所属组

[root@oracle ~]# chown oracle:oracle a.txt

4.chgrp 改变所属组 (chang group)

基本语法:

chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)

(1)更改文件所属组

[root@oracle ~]# chgrp root a.txt

二.搜索查找类命令

1.find 查找文件或目录

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。

基本语法:

find [搜索范围] [选项]

参数说明:

-name<查询方式>        按照指定的文件名查找文件

-user<用户名>             查找属于指定用户名下的所有文件

-size<文件大小>          按照文件大小查找文件

(1)按照指定的文件名查找文件

[root@oracle ~]# find /opt/ -name "*.txt"       #查找opt目录下,以.txt结尾的文件

(2)查找属于指定用户名下的所有文件

[root@oracle ~]# find /opt/ -user root         #查找opt目录下,属于root用户的所有文件

(3)按照文件大小查找文件

[root@oracle ~]# find /opt/ -size +200       #查找opt目录下,大于200kb的文件

注:+n(n是数字)是大于,-n是小于,n 是等于

2. grep 过滤查找及 ‘|’管道符

管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

基本语法:

grep 选项 查找内容 源文件

参数说明:

-n               显示匹配号及行号

[root@oracle ~]# ls | grep -n *.txt

3.which 查找命令

基本语法:

which 命令

[root@oracle ~]# which ls                      #查找ls
alias ls='ls --color=auto'
    /usr/bin/ls                          #会显示出ls命令所在的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值