首先,我们在学习的过程中要了解的是--help的使用([命令] --help的形式),然后逐步学习各个命令。
help命令用于显示shell内部命令的帮助信息。 help命令只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man命令或者info命令查看。 内部命令在目录列表时是看不见的,它们由Shell本身提供。常用的内部命令有:cd, pwd, echo, eval, exec, export, readonly, read, shift, wait和点(.)。
chmod --help信息:
用法:chmod [选项]... 模式[,模式]... 文件...或:chmod [选项]... 八进制模式 文件...
或:chmod [选项]... --reference=参考文件 文件...
eg: chmod +r+w file 这是个文件添加读写功能
With --reference, change the mode of each FILE to that of RFILE.
-c, --changes like verbose but report only when a change is made
-f, --silent, --quiet suppress most error messages
-v, --verbose output a diagnostic for every file processed
--no-preserve-root do not treat '/' specially (the default)
--preserve-root fail to operate recursively on '/'
--reference=RFILE use RFILE's mode instead of MODE values
-R, --recursive change files and directories recursively
--help 显示此帮助信息并退出
--version 显示版本信息并退出
Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.
请向bug-coreutils@gnu.org 报告chmod 的错误
GNU coreutils 的主页:<http://www.gnu.org/software/coreutils/>
GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
请向<http://translationproject.org/team/zh_CN.html> 报告chmod 的翻译错误
要获取完整文档,请运行:info coreutils 'chmod invocation'
chmod----改变一个或多个文件的存取模式(mode)
chmod [options] mode files
所有文件属主或者特权用户才能改变文件的存取模式。
mode:有两种表示方式:
1.数字形式:
以三位八进制数字的形式表示权限 :_1_ _2_ _3_
其中1表示属主的权限,2表示指定组的权限,3表示其他用户组的权限
怎么样的数字表示怎么样的权限呢?
4:读(read ,-r)
2:写(write,-w)
1:执行(execute,-x)
以及这三个数值的和来确定权限 eg: 6(4+2):表示读写 3(2+1)表示写和执行。
还可设置第四位,它位于三位权限序列的前面,第四位数字取值是4,2,1,代表意思如下:
4,执行时设置用户ID,用于授权给基于文件属主的进程,而不是给创建此进程的用户。
2,执行时设置用户组ID,用于授权给基于文件所在组的进程,而不是基于创建此进程的用户。
1,设置粘着位。
eg:chmod 4755 设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限
2.以who opcode permission形式表示
who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。
options:
-c,--changes 只输出被改变文件的信息
-f,--silent,--quiet 当chmod不能改变文件模式时,不通知文件的用户
--help 输出帮助信息。
-R,--recursive 可递归遍历子目录,把修改应到目录下所有文件和子目录
--reference=filename 参照filename的权限来设置权限
-v,--verbose 无论修改是否成功,输出每个文件的信息
--version 输出版本信息。
who:
u 用户(user)
g 组(group)
o 其它(other)
a 所有用户(默认all)
opcode:操作权限
+ 增加权限
- 删除权限
= 重新分配权限
permission :权限
r :读(read)
w :写(write)
x :执行
s :设置用户(或组)的ID号
t :设置粘着位(sticky bit),防止文件或目录被非属主删除
u :用户的当前权限
g :组的当前权限
o :其他用户的当前权限
eg: $ chmod u+x file 给file的属主增加执行权限
$ chmod =r file 为所有用户分配读权限
$ chmod a-wx,a+r file 同上例
$ chmod -R u+r directory 递归地给directory目录下所有文件和子目录的属主分配读的权限