Linux系统文件结构

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文件属性

  • 七种文件基本类型:
    1. 【-】普通文件类型
    2. 【d】目录文件
    3. 【b】以供系统存储数据的接口设备,例如硬盘
    4. 【c】串行接口设备,如键盘、鼠标等等
    5. 【l】软链接
    6. 【s】套接字文件
    7. 【p】管道文件
  • 查看文件的基本属性
file 
//查看文件的详细属性,包括属主和属组
stat 
  • 更改文件的属主与属组[1]

/*仅更改文件的属组,[-R]表示是否递归更改文件属组,即同时更改这个文件(如果是目录文件)下所有文件的属组(或属主)*/
chgrp [-R]  
//同时更改文件的属主与属组
chown [-R] : 

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 
//or
chmod [a=xyz] [u=xyz,][g=xyz,][o=xyz] 
//or 减去权限
chmod [a-xyz] [u-xyz,][g-xyz,][o-xyz] 

参考文档:
linux文件目录结构详解


  1. 如果在某个用户的用户目录下创建文件,则其属主和属组还是该文件创建的那个用户和组,而不是该目录所属的用户和组 ↩

  2. (1)这是对所有用户生效的配置,谨慎使用(2)只修改并不会立即生效,即使使用了source也只会使得当前会话生效,其他登录用户必须重新登录才能生效! ↩

你可能感兴趣的:(Linux系统文件结构)