前言
linux是一个多人多任务环境,理解文件权限和目录配置对于使用Linux具有很大帮助
1. 用户与用户组
Linux的文件可读写身份有三个:
分别是:
- 拥有者(owner)
我写的文件,我就是拥有者;
- 所属群组(group)
我写的文件,我的团队可以编辑,我和我的团队是一个群组;
- 其他人(others)
和我文件不相干的人。
root可以访问任何文件,在Linux里面任何文件都具有用户,所属群组,及其他人的三种身份的个别权限
2. Linux文件权限概念
1. Linux文件属性
切换身份为root,好吧,我现在是天神了,命令如下:
su - #切换身份为root
ls #显示文件名及相关属性
ls -al #所有文件的详细权限和属性
ls -l --full-time #显示出完整的时间格式,export LC_ALL=en_US.utf8修改语系
2. 修改文件属性和权限
- 修改所属用户组
chgrp users initial-setup-ks.cfg
- 修改文件拥有者
chown bin initial-setup-ks.cfg
chown root:root initial-setup-ks.cfg
cp 源文件 目标文件 #把源文件复制成目标文件,权限配置一并复制过去
-
修改权限
- 数字修改
r=4 w=2 x=1 chmod 777 .bashrc #所有用户读写修改
- 符号修改
chmod u=rwx,g=rwx,o=rwx .bashrc #所用用户都能够读写修改 chmod ugo=rwx .bashrc #同上 chmod a+w .bashrc #所有用户增加写的权限
3. 目录与文件的权限意义
- 权限对文件的重要性
- r(read) 可阅读的权限
- w(write) 可编辑的权限,但不能删除
- x(excute) 是文件具有可执行的权限,windows下文件是否可执行取决于后缀名,而linux取决于这个权限属性
- 权限对目录的重要性(针对对象为文件名)
- r 可以看到文件名
- w 可以移动目录里面的文件,删除文件
- x 可以进入该目录成为工作目录
4. Linux文件种类和拓展名
Linux下万物皆文件,进一步了解文件是很有帮助的。
4.1 文件种类
-
常规文件
属性的第一个字符为‘-’,进一步可以分为一下几种
- 纯文本文件(ASCII),用户可以直接读到
- 二进制文件(binary),可执行文件
- 数据文件(data), 程序运行时会读取很多特定格式的文件
-
目录
就是目录,属性的第一个字符为d
-
链接文件
属性第一个字符为l,类似windows下面的快捷方式
-
设备与设备文件
- 区块设备文件
- 字符设备文件
-
数据接口文件
-
数据输送文件
4.2 Linux文件扩展名
Linux下文件扩展名主要是帮助用户区分文件种类,文件是否具有可执行的能力取决于权限设置。
.sh:脚本或批处理文件
Z .tar .tar.gz .zip .tgz :压缩文件
.html .php:网页相关文件
4.3 Linux文件名长度限制
单一文件或目录的最大容许文件名为255字节
3. Linux 目录配置
1. Linux目录配置的依据—FHS
Filesystem Hierarchy Standard
2. 目录树
3. 绝对路径和相对路径
-
绝对路径
由根目录(/)开始写起的文件名或目录名称
-
相对路径
相对于当前目录的文件名写法,./ 当前目录,…/ 上一级目录