Syc*_*ycx 9 c file-permissions
#define COPYMODE 0644
creat(argV[2],COPYMODE);
Run Code Online (Sandbox Code Playgroud)
我在copy.c文件中有这两行代码.我不知道这意味着什么.请举一些例子
lus*_*oog 42
模式有3x3位标志:
所以每个三元组很好地编码为八进制数字.
rwx oct meaning
--- --- -------
001 01 = execute
010 02 = write
011 03 = write & execute
100 04 = read
101 05 = read & execute
110 06 = read & write
111 07 = read & write & execute
Run Code Online (Sandbox Code Playgroud)
所以0644是:
* (owning) User: read & write
* Group: read
* Other: read
Run Code Online (Sandbox Code Playgroud)
请注意,在C中,初始0值表示八进制表示法,就像0x表示十六进制表示法一样.因此,每次在C中写入纯零时,它实际上是八进制零(有趣的事实).
这也可以写成:
-rw-r--r--
Run Code Online (Sandbox Code Playgroud)
完全权限,也可以写入0777:
-rwxrwxrwx
Run Code Online (Sandbox Code Playgroud)
因此,传递给的八进制数creat直接对应(通过位模式的八进制编码)对应的文件权限ls -l.
Raf*_*ler 11
这意味着:
请参阅http://www.ss64.com/bash/chmod.html.