Chmod 的递归是大写的“R”,选项 -R 位于权限之前,权限本身位于目录之前。因此:
sudo chmod -R 777 dir/name
应该做你想做的。
但是,我总是很难告诉人们去 chmodding 777 任性。
默认情况下,主目录之外的所有目录都是只读的。三组用户共有三种权限:“读”、“写”、“执行”。如果您ls -l
在相关目录上运行命令,您应该会看到如下内容:
drwxr-xr-x 4 shannon admin 136 Oct 7 18:22 chunkers/
drwxr-xr-x 122 shannon admin 4148 Nov 1 08:22 corpora/
drwxr-xr-x 12 shannon admin 408 Nov 1 08:22 grammars/
Linux 系统的安全性主要基于这样一个事实,即只有 root 可以做任何事情。其他所有人,包括您的用户名,都必须请求许可。这可能看起来很麻烦,但我们 Linux 用户很高兴每个人都必须请求许可。
那么,这个废话是什么意思:
drwxr-xr-x 4 shannon admin some-numbers date-time dir/name
drwx
:这是用户/所有者(香农)可以为rwx
.
r-x
:组(在本例中为管理员)可以执行以下操作:(rx
读取和执行,而不是写入)。
r-x
: 其他人(任何其他用户)可以执行以下操作:rx
.
等等。
要编辑该文件,您可以将相关目录的所有者永久更改为您自己:
sudo chown -R yourusername /usr/local/lib/python2.7/dist-packages/nltk/
当然,您可以通过多种不同的方式授予自己编辑内容的权限(例如,您可以sudo chgrp -R g+w dir/name
然后确保您的用户名是现在可以写入目录的组的一部分)。这是一个很好的制作方法,以便其他人可以做一些事情来做这个目录。
可能最好的解决方案是使用 sudo 和命令行编辑器来编辑文件,因为您可能不会多次编辑文件,对吗?
sudo nano /usr/local/lib/python2.7/dist-packages/nltk/metrics/segmentation.py
使用 CTRL+o 保存并使用 CTRL+x 退出。
无论如何,有些答案不如其他答案安全,但我一直对 chmod 777 一切犹豫不决。也许我被教导过于偏执。