操作系统学习——Linux基础学习篇(第6章)
第 0 章 Linux 的文件权限和目录配置
用户与用户组
用户:由于 Linux 被设计为一个多用户、多任务的系统,用户概念在 Linux 中极为重要。
文件所有者:为了应对多人工作环境,分离不同用户的工作环境,设置了文件的归属权(文件所有者的角色)。
用户组:团队开发协作的需要,在用户概念之上设置了用户组的权限管理级别。每组成员相对而言更易互相修改对方的数据,但是其他组的组员则不能看到本组的文件内容。
Linux 文件权限概念
Linux 文件属性
执行命令
1 |
|
会得到下面的结果
第一列代表文件权限(permission)
第一个字符
- [d]表示目录
- [-]表示文件
- [l]表示链接文件(linkfile)
- [b]表示可控存储的接口设备
- [c]表示串行端口设备
后面字符三个一组
- [r]表示可读
- [w]表示可写
- [x]表示可执行
- 第一组为文件所有者权限、第二组为同用户组权限、第三组为其他非本用户组的权限。
- 第二列表示有多少文件名连接到此节点(i-node)
- 第三列表示这个文件的所有者账号
- 第四列表示这个文件所属的用户组
- 第五列表示文件大小(默认为 B)
- 第六列表示文件创建日期或者最近修改日期
第七列表示文件名
改变文件属性和权限
三个命令
chgrp 改变文件所属的用户组
1
chgrp [-R] 账号名称:组名 文件或目录
-R 参数表示是否要递归改变子目录下的所有文件
chown 改变文件所有者
1
chown [-R] 账号名称:组名 文件或目录
-R 参数同上
chmod 改变文件的权限
目录与文件的权限意义
对文件的意义
- r(read)表示可以读此文件的具体内容
- w(write)表示可以编辑、新增或是修改文件的内容(但不含删除)
- x(execute)表示可以被系统执行的权限
对目录的意义
- r 表示可以读取目录结构权限,可以查询到文件名数据,也可以利用
ls
命令来获取列表内容的显示 - w 表示可以新建文件/目录,删除已经存在的文件和目录(无视此文件/目录的),重命名,转移文件/目录的位置。(也即,删除一个文件的权限是跟是否具备此文件所在目录的写权限有关,而跟文件本身权限无关)
- x 表示是否可以进入该目录成为工作目录(working directory)的权限。
- r 表示可以读取目录结构权限,可以查询到文件名数据,也可以利用
Linux 文件种类与扩展名
文件种类
普通文件、纯文本文件(cat 的文件)、二进制文件、数据格式文件
目录(d)
连接文件(l)类似 Windows 下面的快捷方式
设备与设备文件(device):通常在/dev 这个目录,通常分为两种:
块(block)设备文件
一些存储数据供系统随机访问的接口设备,例如硬盘等。
字符(character)设备文件
一些串行端口接口设备,特征是一次性读取,不能够截断输出。
套接字(socket):网络进程通信,通常在/var/run 中
管道(FIFO,pipe):解决多个程序同时访问一个文件造成的错误问题
文件扩展名
只是以适当的扩展名来表示是什么种类,而实际能否运行依赖数据+execute 执行权限(这一点和 Windows 判断可执行程序有很大的不同)。
*.sh
:脚本或批处理文件,主要用 shell 写。
*Z
、*.tar
、*.tar.gz
、*.zip
等:压缩文件,由不同压缩软件使用决定。
*.html
等:网页相关文件
长度限制:默认使用 Ext2/Ext3 文件系统,单一文件名/目录名限制长度为 255 字符、包含完整路径名称及目录的完整文件名为 4096 个字符。
Linux 目录配置
Linux 目录配置标准:FHS
- / (root,根目录),与开机系统有关
- /usr (UNIX software resource):与软件安装/执行有关
- /var (variable):与系统运作过程有关
其他详情可以自行百度,或者查看目录树(单独再找机会整理一下)
绝对路径与相对路径
区别/var/log
(绝对路径)和../var/log
(相对路径)
网络文件常常提到类似“。/run.sh”的数据,这个命令的意义是什?
答:由于命令执行需要变量(bash 章节会提及)的支持,若执行文件放置在本目录并且本目录并非正规的执行文件目录(/bin、/usr/bin 等为正规),此时要执行命令就要严格指定该执行文件。“./”代表“本目录”的意思,所以“./run.sh”代表执行本目录名下的 run.sh 文件
END
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!