之前总是在用到的时候才去Google一下对应的命令,感觉这样没有系统性,也没有和环境编程以下的东西发生联系。所以决定有时间好好整理下思路。
1.ls列出文件信息:
文件类型:
d 文件夹(directory)
l 符号链接(link)
s 套接字文件(socket)
b 块设备文件(block device file)
c 字符设备文件(character)
p 命名管道文件(named pipe ,FIFO)
- 普通文件
创建文件命令:touch filename
改变文件权限:chmod [who] perator [permission] filename
who的定义:u文件属主,g组用户,o其它用户。a全部用户
operator:+-=分别添加/取消/设定权限
permission:rwx读写运行,s(后面会讲)。l给文件加锁
用例:chmod a+x myfile
改变文件权限(设置绝对值):chmod [mode] file
mode:把相应的位转换为8进制形式
用例:chmod 740 myfile
2.文件夹权限位的理解:文件夹的读意味着能够打开该文件夹(运行open操作),运行位意味着搜索和訪问该文件夹,写控制着能否够在当中创建文件,測试例如以下:
3.suid的理解:一个用户对属于自己的某个可运行文件设置了suid这样的权限,那么其它用户在运行
该文件的时候也具有其属主的对应权限,运行完之后恢复自己的身份,对于guid也是类似的理解。
在Linux环境编程中也会遇到这种情况。在某个代码段具有root权限。注意:在设置suid和guid的时候,
对应的运行权限位必须设置。
用例:chmod 4741 myfile
看看/bin文件夹下这种命令有哪些:
4.改变文件属主和分组:chown , chgrp
5.umask的理解(重点):当一个用户登入一个系统时,umask决定了其创建文件的缺省权限值,以保证文件的安全。
掩码顾名思义,就是说相应的用户不具备相应的权限。umask默认值是在/etc/login.def文件里定义的。系统管理员能够自己定义。