Linux文件权限以及目录结构
Linux水平一直处在能用但是不明所以的位置,前几天学校上Linux课,讲用户组,同学问我组是干嘛的,我都不知道。
所以补补课哈哈哈~
文件权限
对于Linux中的每一个文件,你都可以指定对于三类人的rwx(读写执行)权限
- 文件拥有者
- 文件所属组的用户
- 其它用户
每一个文件的前面有十个字符,第一个是文件的类型,一会再介绍。
从第二个开始到第十个,这九个字符,分为三组,第一组是对于文件拥有者的rwx权限,第二组是对于文件所属组用户的rwx权限,第三组是其它人。
我们可以看到.zshrc
的拥有者可以对其进行读写,该文件所属组内的用户还有其它人都只可以读它,所有人都不可以执行这个文件。
文件夹权限
文件夹和文件的权限类似,只不过rwx
的定义不再是读写执行,有些区别。
r
:是否可以对该目录结构进行读取w
:是否可以改动该目录结构(新建、删除、重命名、移动)x
:是否可以进入该目录
注意,r
和x
不一样,在你不进入目录的情况下也可以对目录的结构进行读取,x
只限制是否能够进入目录。
如下,当前用户对test
文件夹没有x
权限,意味着它不能进入该目录,但是它还是能够通过ls
来查看该目录的结构。
文件标识
即文件前面十个字符中的第一个字符
d
:该文件是一个目录-
:是一个文件l
:是一个连接b
:是一个块设备(如硬盘)c
:是一个字符设备(如键盘鼠标)
/dev/sda
和/dev/sdb
是块设备:
/dev/tty*
是字符设备:
/lib
、/bin
等文件在大部分新的Linux发行版中已经连接到/usr/lib
、/usr/bin
中,所以它们是连接文件:
目录和文件:
修改文件/文件夹权限
chgrp
:修改文件所属群组chown
:修改文件拥有者chmod
:改变文件权限
Linux目录结构——FHS
FHS是一套关于Linux系统下目录结构的规范,它存在的意义就是让你在切换到不同发行版时不至于一头雾水,因为所有发行版都有着相同的目录结构。
/根目录
所有目录都由该目录衍生出来,它非常重要,所以FHS建议它应该尽量小,这样根目录系统出现问题的几率就小。
/bin
常用的可执行指令,在/bin
下的指令可以被root和一般账号所使用
/boot
开机会使用到的文件,包括Linux内核、开机所需的一些配置文件等。
/dev
设备文件,Linux中的一切设备都被看作是文件,然后你读写设备时就可以像读写文件一样轻松。
/etc
放置配置文件,如/etc/passwd
、/etc/proxychains.conf
、/etc/mysql/my.cnf
/lib
库函数,开机时会用到的库函数以及/bin
、/sbin
中指令会使用的库函数
/media
可移除的媒体装置,如/media/cdrom
/mnt
额外的装置可以被挂载到这个目录,比如使用wsl时,Windows的盘符会被挂到这个目录。
/opt
第三方软件安装目录,/usr/local
也是一样的,而且更加常用
/run
开机后系统在运行期间产生的各项信息
/sbin
一些系统管理员使用的系统管理工具
/srv
/tmp
暂存目录,FHS建议每次开机清除该目录,所以不要有需要持久保存的文件放在这个目录
/home
用户的主目录
/root
管理员的主目录
/proc
各种进程、周边装置的状态,这个是虚拟文件系统,实际其中的内容存储在内存中。
/sys
和/proc
差不多,也是对系统的运行情况进行记录的目录
/usr
它不是/usr
的缩写,而是Unix Software Resource
,其中是放置软件资源的,而不是放置用户数据的。
它其中有如下子文件夹
/var
/usr存放静态的软件,而/var存放程序运行时动态产生的数据