一、已经知道了使用ls -l 查看文件的属性,我们可以通过一些命令来改变文件的属性以达到需求。
1、chgrp 改变文件所属用户组
2、chown 改变文件所有者
3、chmod 改变文件的权限
二、具体操作
1、chgrp [-R(进行递归)] <groupname> <filename>
要求groupname必须存在!
2、chown [-R(进行递归)] <username> <filename>
要求user必须存在!
此外,chown也可以用来顺便修改group
具体实现:
chown <username:groupname> <filename>
ps:什么时候要使用chown、chgrp呢?
答:将自己的文件复制给其他人时,复制行为会复制执行者的属性与权限,
这时我们要通过修改权限使其他人能够使用复制出的文件。
复制命令 cp
格式 cp <source file> <destination file>
3、chmod
①、数字类型改变文件权限
其中r-- = 4 -w- = 2 --x = 1
rwx = 7 rw- = 6 -wx = 3
r-x = 5
具体格式:
chmod <user numeber><group number><others number> <filename>②、符号类型改变文件权限
chmod [u=<r/w/x>],[g=<r/w/x>],[o=<r/w/x>] <filename>
如果我们想增加/减少一个文件的每个人的权限
格式:
chmod a+r/z/w <filename>
chmod a-r/z/w <filename>
三、目录配置
目录配置标准FHS、用于规范每个特定的目录下应该放置什么样的数据。
FHS依据文件系统使用的频繁与否是否允许用户随意改动,把目录定义
为四种交互作用的形态,分别为:
1、可分享的shareable
可以分享给其他系统挂载使用的目录,包括执行文件与用户邮件等数据,
能够分享给网络上其他主机挂载用的目录。
2、不可分享的unshareable
自己机器上面运行的设备文件,或者与程序有关的sock文件等,由于仅
与自身及其有关,所以不适合分享给其他主机了。
3、不变的 static
有些数据是不经常变动的的,例如函数库、文件说明文件、系统管理员
所管理的主机配置文件。
4、可变动的variable
经常变动的数据,如登陆信息、新闻组。
四、/(根目录的意义与内容)
意义:
1、衍生出所有目录
2、与开机、还原、系统修复有关
特殊要求:
根目录越小越好,不但性能好,而且根目录所在的文件系统也比较不容易发生问题。
子目录:
1、/bin 放置执行文件的目录(单用户维护模式下还能操作的命令)2、/boot 放置开机会使用的文件(linux内核、开机菜单、开机配置文件)
3、/dev 设备与接口设备以文件形式存放的目录
4、/etc 系统配置文件 (只有root管理员有权修改)
5、/home 用户主文件夹
6、/lib 放置开机时会用到的函数库、以及/sbin、/bin 下面命令会调用的函数库
7、/media 放置可删除设备(软盘、光盘、dvd)
8、/mnt 暂时挂载的额外设备
9、/opt 第三方软件目录(如、kde 、gnome)
10、/root 系统管理员的主文件夹
11、/sbin 放置开机过程所需的,包含开机,修复,还原的文件
12、/srv 网络服务所需取用的数据目录
13、/tmp 正在执行程序暂时放置文件的目录
14、/lost+found 当文件系统错误时将丢失片段放置该目录下
15、/proc 虚拟的文件系统(内核、进程、外设及网络状态)
16、/sys 一个虚拟文件系统,记录与内核相关信息
其中,/bin /dev /etc /lib /sbin五个目录不允许与根目录分开。
五、/usr(Unix Software resource)<可分享不可变动>
子目录:
1、/usr/X11R6/ X-Windows 的重要数据
2、/usr/bin/ 大部分用户可用命令
3、/usr/include/ 包含程序的头文件
4、/usr/lib/ 各应用软件的库函数
5、/usr/local/ 自行管理的软件
6、/usr/sbin/ 网络服务器软件的服务命令
7、/usr/share/ 共享文件
8、/usr/src/ 源码
六、/var 针对常态性变动的文件(缓存,运行产生的文件)
子目录:
1、/var/cache/ 应用程序本身运行产生的暂存文件
2、/var/lib/ 程序执行过程中使用的数据文件放置目录
3、/var/lock/ 将设备"上锁",确保设备只能单一软件使用。
4、/var/log/ 登录文件信息
5、/var/mail/ 个人电子邮箱
6、/var/run/ 程序或服务启动后,将PID放在这个目录
7、/var/spoll/ 放置队列数据