权限的查看与表示

zhoux@westnorth:~$ ls -l
total 20
drwxr-xr-x 5 zhoux zhoux 4096 Dec  4 18:45 linux_practice
drwxr-xr-x 2 zhoux zhoux 4096 Dec  4 17:03 projects
drwx------ 4 zhoux zhoux 4096 Nov 29 20:54 snap
-rw-r--r-- 1 zhoux zhoux   68 Nov 29 09:40 test.txt
drwxr-xr-x 3 zhoux zhoux 4096 Nov 29 18:22 ubuntu-wsl2-systemd-script

观察输出的第一列,可见 drwr-xr-x 等 10 个字符,这表示了文件的权限

  • 第 1 个字符(0)
    • - 代表文件,d 代表目录
  • 第 2 组字符(1-3)开始 3 个字符一组,表示权限
    • r:read 权限
    • w:write 权限
    • x:execute 权限

权限的修改

使用 chmod (change mode)命令可以进行权限修改,基本语法如下

chmod u+x xibei.R
#命令,【谁】+【什么权限】,文件路径

实例如下

zhoux@westnorth:~/linux_practice/files$ ls -lh
total 4.0K
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 08:32 2021.matrix
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 08:32 2022.matrix
drwxr-xr-x 2 zhoux zhoux 4.0K Dec  4 18:27 copy
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 08:32 scRNA.script.R
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 08:32 script.R
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 08:33 script.r
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 08:31 xb.R2.fastq
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 18:44 xb.is.my.cat
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 08:31 xb.scRNA.fastq
#使用ls -lh 命令查看文件权限
zhoux@westnorth:~/linux_practice/files$ chmod u+x *script*
#为用户(u)加上执行(x)权限
#再次强调通配符的使用,*script*指的是所有脚本文件
zhoux@westnorth:~/linux_practice/files$ ls -lhF
total 4.0K
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 08:32 2021.matrix
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 08:32 2022.matrix
drwxr-xr-x 2 zhoux zhoux 4.0K Dec  4 18:27 copy
#权限已修改
-rwxr--r-- 1 zhoux zhoux    0 Dec  4 08:32 scRNA.script.R*
-rwxr--r-- 1 zhoux zhoux    0 Dec  4 08:32 script.R*
-rwxr--r-- 1 zhoux zhoux    0 Dec  4 08:33 script.r*
#权限已修改
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 08:31 xb.R2.fastq
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 18:44 xb.is.my.cat
-rw-r--r-- 1 zhoux zhoux    0 Dec  4 08:31 xb.scRNA.fastq

值得注意的,rwx 与三组数组都可以用数字表示

  • r =4,w =2,x =1,无权限=0
  • 数字按顺序即可分别为 user,group 和 other 赋予权限