ls 查看权限
$ ls -l
total 16
----rw-r-- 1 morvan morvan 34 Oct 12 09:51 t1.py
-rw----r-- 1 morvan morvan 80 Oct 12 09:57 t2.py
-rw-rw-r-- 1 morvan morvan 12 Oct 12 09:56 t3
-rwxrw-r-- 1 morvan morvan 55 Oct 13 17:28 t.py
在这里, 像-rw-rw-r–这种, 就是权限的说明. 细节展示在下面的图中. 在下图中, 这串字符得拆成4个部分,
• Type: 很多种 (最常见的是 - 为文件, d 为文件夹, 其他的还有l, n … 这种东西, 真正自己遇到了, 网上再搜就好, 一次性说太多记不住的).
• User: 后面跟着的三个空是使用 User 的身份能对这个做什么处理 (r 能读; w 能写; x能执行; - 不能完成某个操作).
• Group: 一个 Group 里可能有一个或多个 user, 这些权限的样式和 User 一样.
• Others: 除了 User 和 Group 以外人的权限.
将 —-rw-r– 拆成 - (这是文件), —(这个 user 没有任何权限), rw- (这个 Group 里可以读,写), r– (其他人只能读).
chmod 修改权限
$ chmod [谁][怎么修改] [哪个文件]
举个最简单的例子, 现在的 t1.py 是 —-rw-r–, 如果我们想让你(user)有读的能力. 下面这样改就行了.
$ chmod u+r t1.py
$ ls –l
-r--rw-r-- 1 morvan morvan 34 Oct 12 09:51 t1.py
[谁]
• u: 对于 User 修改
• g: 对于 Group 修改
• o: 对于 Others 修改
• a: (all) 对于所有人修改
[怎么修改]
• +, -, =: 作用的形式, 加上, 减掉, 等于某些权限
• r, w, x 或者多个权限一起, 比如 rx
[哪个文件]
• 施加操作的文件, 可以为多个
一个使用 Python 的技巧
我不怎么用权限这东西, 但是我却发现给 python 文件添加权限 x 还算有用的. 为什么这么说? 因为通常, 如果一个 .py 没有 x 权限, 在 terminal 中你就需要这样执行:
$ python3 t.py
This is a Python script!
如果你有了 x (可执行权限), 你运行这个文件可以直接这样打:
$ ./t.py
This is a Python script!
如果你天天要运行这个脚本, 每次运行的时候少几个字还是挺好的. 如果你决定要这样做, 你在这个 Python 脚本的开头还需要加一句话.
#!/usr/bin/python3 # 这句话是为了告诉你的电脑执行这个文件的时候用什么来加载
print("This is a Python script!")