1、查看文件目录权限:ls -al
[myStudy@CentOs ~]$ ls -al
total 28
drwx------. 3 myStudy myStudy 4096 Apr 28 18:09 .
drwxr-xr-x. 6 root root 4096 Apr 27 19:33 ..
-rw-------. 1 myStudy myStudy 63 Apr 27 22:47 .bash_history
-rw-r--r--. 1 myStudy myStudy 18 Jul 18 2013 .bash_logout
-rw-r--r--. 1 myStudy myStudy 176 Jul 18 2013 .bash_profile
-rw-r--r--. 1 myStudy myStudy 124 Jul 18 2013 .bashrc
drwxrwxr-x. 7 myStudy myStudy 4096 Apr 28 19:18 sudyFile
格式化的输出了文件和文件夹的信息。
第一列:文件的类别和权限,这列由10个字符组成,第一个字符表明该文件的类型,(表0-1表明了每个字符代表的含义),接下来的属性,每三个字符为一组,第2~4个字符,代表该文件所有者的权限,第5~7个字符表示该文件所有组的权限,第8~10个字符代表其他用户拥有的权限。每组都是rwx的组合。有读权限,在该组第一个字符显示“r”,有写权限,第二个字符显示“w”,有操作权限,第三个字符显示“x”.
表0-1
第一个字符可能的值 含义
d 目录
- 普通文件
l 链接文件
b 块文件
c 字符文件
s socket文件
p 管道文件
第二列:连接数,除了目录文件之外,其他文件的链接数都是1,目录的连接数,是该目录包含其他目录的总个数+2。
第三列:代表改文件的所有人,第四列:代表改文件的所有组,第五列:是该文件的大小,第六列:是该文件的创建时间或最近的修改时间,第七列是文件名。
2、文件的隐藏属性
(1)lsattr filename显示文件的隐藏属性。
[myStudy@CentOs java]$ lsattr Hello1.txt
-------------e- Hello1.txt
结果中的第一列是13个“-”,其中每一个代表一个属性,如果设置了该属性,就会显示相应的字符。
(2)chattr 设置文件的隐藏属性
[root@CentOs java]# chattr +a Hello1.txt
[root@CentOs java]# lsattr Hello1.txt
-----a-------e- Hello1.txt
[root@CentOs java]# rm Hello1.txt
rm: remove regular empty file `Hello1.txt'? y
rm: cannot remove `Hello1.txt': Operation not permitted
隐藏属性具体字符含义请看
3、改变文件权限:chmod
Linux下的每个文件都定义了User,group,others的权限。在使用chmod命令中,我们使用u,g,o来分别代表user,group,others,增加权限使用+,删除权限使用-。
[root@CentOs java]# ls -l
total 0
-rw-rw-r--. 1 myStudy myStudy 0 Apr 28 19:12 Hello1.txt
-rw-rw-r--. 1 myStudy myStudy 0 Apr 28 18:18 Hello.java
[root@CentOs java]# chmod u+x Hello1.txt
[root@CentOs java]# ls -l
total 0
-rwxrw-r--. 1 myStudy myStudy 0 Apr 28 19:12 Hello1.txt
-rw-rw-r--. 1 myStudy myStudy 0 Apr 28 18:18 Hello.java
[root@CentOs java]# chmod u-x Hello1.txt
[root@CentOs java]# ls -l
total 0
-rw-rw-r--. 1 myStudy myStudy 0 Apr 28 19:12 Hello1.txt
-rw-rw-r--. 1 myStudy myStudy 0 Apr 28 18:18 Hello.java
也可以使用数字表示法来设置权限(其中“r”=4,“w”=2,”x”=1,这样就可以得出777权限的由来。是通过每一组总和的权限代表数字的和。)实例:
[root@CentOs java]# ls -l
total 0
-rw-rw-r--. 1 myStudy myStudy 0 Apr 28 19:12 Hello1.txt
-rw-rw-r--. 1 myStudy myStudy 0 Apr 28 18:18 Hello.java
[root@CentOs java]# chmod 754 Hello1.txt
[root@CentOs java]# ls -l
total 0
-rwxr-xr--. 1 myStudy myStudy 0 Apr 28 19:12 Hello1.txt
-rw-rw-r--. 1 myStudy myStudy 0 Apr 28 18:18 Hello.java
也可以使用参数 -R给一个目录下的所有目录和文件设置权限:
[root@CentOs sudyFile]# chmod -R 754 java
[root@CentOs sudyFile]# ls -la |grep java
drwxr-xr--. 2 myStudy myStudy 4096 Apr 28 19:12 java
drwxrwxr-x. 2 myStudy myStudy 4096 Apr 28 19:13 java1
[root@CentOs java]# ls -l
total 0
-rwxr-xr--. 1 myStudy myStudy 0 Apr 28 19:12 Hello1.txt
-rwxr-xr--. 1 myStudy myStudy 0 Apr 28 18:18 Hello.java
4、改变文件的拥有者:chown
linux系统默认使用什么用户登录,创建的文件就是哪个用户以及用户组。想要改变文件的拥有者,就可以使用chown命令。
[root@CentOs java]# ls -l
total 0
-rwxr-xr--. 1 myStudy myStudy 0 Apr 28 19:12 Hello1.txt
-rwxr-xr--. 1 myStudy myStudy 0 Apr 28 18:18 Hello.java
[root@CentOs java]# chown root Hello1.txt
[root@CentOs java]# ls -l
total 0
-rwxr-xr--. 1 root myStudy 0 Apr 28 19:12 Hello1.txt
-rwxr-xr--. 1 myStudy myStudy 0 Apr 28 18:18 Hello.java
[root@CentOs java]# chown root:root Hello1.txt
[root@CentOs java]# ls -l
total 0
-rwxr-xr--. 1 root root 0 Apr 28 19:12 Hello1.txt
-rwxr-xr--. 1 myStudy myStudy 0 Apr 28 18:18 Hello.java
同样的可以使用-R改变一个目录以及目录下的所有文件和目录的用户和用户组。
5、改变文件的拥有组:chgrp
使用该命令可以改变一个文件的用户组。:
[root@CentOs java]# ls -l
total 0
-rwxr-xr--. 1 root root 0 Apr 28 19:12 Hello1.txt
-rwxr-xr--. 1 myStudy myStudy 0 Apr 28 18:18 Hello.java
[root@CentOs java]# chgrp myStudy Hello1.txt
[root@CentOs java]# ls -l
total 0
-rwxr-xr--. 1 root myStudy 0 Apr 28 19:12 Hello1.txt
-rwxr-xr--. 1 myStudy myStudy 0 Apr 28 18:18 Hello.java
同样支持-R参数。