一、文件权限
权限列表
drwxr-xr-x 2 root root 4096 Mar 21 14:33 a
lrwxrwxrwx 1 root root 8 Mar 21 14:33 bbb -> hello.sh
-rw-r--r-- 1 root root 0 Mar 21 14:36 c.txt
-rwxr-xr-x 1 root root 39 Mar 21 14:23 hello.sh
-rwxr-xr-x
有10位。
- 第一位表示文件类型。- 表示文件。d是目录。l是软连接。
- 之后9位分3组(读、写、执行)。没有对应的权限使用-
- rwx:文件所有者的权限。比如hello.sh文件的所有者root有读、写、执行的权限
- rwx:文件所属组的权限。比如c.txt文件的所属组root有读权限,没有写、执行的权限
- rwx:其他人的权限(除开文件所有者和文件所属组)。比如hello.sh文件的其他人只有读和执行的权限,没有写的权限
之后的学习使用一般用户。除特殊情况下,不再使用root账户。
chmod -x hello.sh
取消授权。
-rw-r--r-- 1 root root 39 Mar 21 14:23 hello.sh
bash执行脚本和赋权执行脚本的区别
-
bash执行脚本只需要执行者拥有bash的权限,不需要有脚本文件的权限即可执行。赋权执行脚本则用户必须要有脚本文件的执行权限,才能执行脚本程序。
-
bahs执行时,告诉系统使用bash解释器执行。脚本中的第一行:
#!/bin/bash
成为注释。
赋权执行脚本时,这一行告诉系统,指定解释器为bash。这里的解释器可以指定为其他,不一定是bash。比如python:
#!/bin/python print('hello python')
赋权执行或者输入命令python b.sh(文件名)即可输出结果。
如果不写这一行指定解释器,则会使用系统默认的解释器bash。