Linux系统文件结构
- /bin (必须挂载在根目录下)里面存放着开机启动时就能使用的命令
- /boot 里面存放着linux启动时需要的一些核心文件
- /dev (必须挂载在根目录下)里面是linux系统挂载的外部设备,linux中,操作外部设备与操作普通文件一样。
- /etc (必须挂载在根目录下)里面系统的各种设定存放地,如用户密码,服务预启动脚本,服务的设置等等
- /home home目录
- /lib (必须挂载在根目录下)存放着几乎所有应用程序都需要使用到的基础库函数
- /media 挂载着一些可移除的其他设备,比如U盘、光碟等等
- /mnt 临时挂载的设备,比如可以把u盘挂载在/mnt下,照样可以使用U盘
- /opt 安装第三方软件的地方
- /root root用户的home目录,因为如果在单人维护模式下的话,将仅会挂载根目录,把root放在根目录下,能够使得即使在这种情况下,也能进入root的home目录
- /sbin (必须挂载在根目录下)存放只有root用户才能使用的用于管理系统的一些命令,一般链接到/usr/sbin/中
- /srv 存放一些服务启动之后需要提取的数据,比如web应用所需要的一些资源之类的
- /tmp 临时存放数据的目录,所有人都可以使用,务必不能放置重要数据在此
- /lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
- /proc 这个目录是一个虚拟的目录,是系统内存的映射,放置一些外部设备的状态,网络的状态等等,修改这些文件将直接生效,因为存在于内存中
- /sys 记录与内核模组相关的信息
- /usr (可分享但不可变)Unix Software Resource的缩写,不是user的缩写,即unix软件资源目录,安装软件的地方,因为是所有系统默认的软件都会放置到/usr底下,因此这个目录有点类似Windows 系统的C:\Windows\ + C:\Program files\这两个目录的综合体
- /usr/bin 与/bin不同的是,这里存放的是普通的指令,不可在启动时使用
- /usr/include 存放c/c++头文件的地方
- /usr/lib 应用软件的lib
- /usr/local 系统管理员自己的软件目录
- /usr/sbin 常常被/sbin链接
- /usr/share 放置共享文件的地方
- /usr/src 源码存放地
- /var (可变的)放置运行时的缓存文件或者软件运行时产生的文件,如数据库文件等
- /var/cache 放置应用程序本身会产生的一些缓存文件
- /var/lib 放置软件的数据文件,比如数据库文件
- /var/lock 存放一些需要上锁的资源,即不能共同使用的资源
- /var/log 系统登陆相关信息文件的存放地
- /var/mail 放置个人电子邮件信箱的目录,不过这个目录也被放置到/var/spool/mail/目录中,通常这两个目录是互为链接文件。
- /var/run 存放某些程序的pid文件
- /var/spool 放置一些队列数据,所谓的“队列”就是排队等待其他程序使用的数据。 这些数据被使用后通常都会被删除。
Linux文件属性
- 七种文件基本类型:
- 【-】普通文件类型
- 【d】目录文件
- 【b】以供系统存储数据的接口设备,例如硬盘
- 【c】串行接口设备,如键盘、鼠标等等
- 【l】软链接
- 【s】套接字文件
- 【p】管道文件
- 查看文件的基本属性
file <fileName>
//查看文件的详细属性,包括属主和属组
stat <fileName>
-
更改文件的属主与属组[1]
/*仅更改文件的属组,[-R]表示是否递归更改文件属组,即同时更改这个文件(如果是目录文件)下所有文件的属组(或属主)*/
chgrp [-R] <groupName> <fileName>
//同时更改文件的属主与属组
chown [-R] <userName>:<groupName> <fileName>
Linux文件权限
-
linux文件的默认权限:(1)目录文件的默认文件权限是rwxrwxrwx(2)普通文件的默认文件权限是rw-rw-rw
-
umask
- umask是指用户的文件默认权限补码,用户的默认文件权限为linux文件默认权限-用户文件默认权限补码
- 使用
umask
命令可以查看当前用户的umask,系统的默认umask为0022(似乎uid大于199的用户其umask默认为0002) - 暂时修改当前会话的umask
umask 0002
-
全用户永久修改umask[2]
$vi /etc/profile # By default, we want umask to get set. This sets it for login shell # Current threshold for system reserved uid/gids is 200 # You could check uidgid reservation validity in # /usr/share/doc/setup-*/uidgid file if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then umask 002 else umask 022 $source /etc/profile
- 修改用户自己的umask
$cd ~ $vi .bashrc # .bashrc #umask umask 0022 $source .bashrc
-
设置文件的权限
chmod [-R] xyz <fileName>
//or
chmod [a=xyz] [u=xyz,][g=xyz,][o=xyz] <fileName>
//or 减去权限
chmod [a-xyz] [u-xyz,][g-xyz,][o-xyz] <fileName>
参考文档:
linux文件目录结构详解
网友评论