文件权限与目录配置

文件权限

权限 链接数 拥有者 用户组 大小 修改日期 文件名
dr-xrw-r— 5 root root 1864 May 19 12:01 1.cfg

权限的第一个字符

字符 类型
d 目录
- 文件
l 链接
b 块设备(可随机读写的存储设备)
c 串口设备(一次性读取的设备)
p 管道(pipe)
s socket

三组权限

  • 拥有者
  • 用户组
  • 其他人

时间

太久远会被折叠,使用ls -l --full-time查看具体时间

其他

文件名长度:255个字符,128个汉字

文件名限制:少用特殊符号,如果有特殊符号,使用单引号

修改权限

chgrp

chgrp [-R] dirname/filename ...

chown

chown [-R] username:groupname dirname/filename ...

chmod

# x,y,z = 4/2/1
chmod [-R] xyz dirname/filename ...
# id = u g o a; ac = r w x
chmod [-R] u+r dirname/filename ...

目录配置

标准:FHS

FHS要求存在的目录

目录 内容
/bin 单人维护下仍然可以正常使用的可执行文件
/boot 启动所需,包括内核文件,启动选项,grub2
/dev 块设备,包括硬盘、外设,以及特有的/dev/null /dev/tty
/etc 系统的主要配置文件,建议不要放可执行文件进来
/lib 函数库,/lib/modules中有主要的内核中驱动程序
/media 可删除的设备,软盘光盘
/mnt 用于临时挂载
/opt 第三方独立软件,如kde
/run 系统启动后所生成的各项信息,该目录又内存来模拟
/sbin 启动过程中,启动、修复、还原系统的命令
/srv 网络服务的数据目录
/tmp 正在执行的程序暂时存放文件的位置,建议定期清理
/usr 稍后介绍
/var 稍后介绍

FHS建议存在的目录

目录 内容
/home 家目录,使用来表示自己,123表示123的家目录
/lib 存放与/lib不同格式的函数库
/root root的家目录

FHS未要求但也很重要的目录

目录 内容
/lost+found 文件系统发生错误时,用于找回的目录
/proc 虚拟的文件系统,存放在内存中,包括系统内核,进程信息,外设和网络的状态
/sys 虚拟文件系统,记录内核和系统硬件的信息,包括已加载的内核模块和检测到的硬件的信息

/usr目录

usr的全称不是user,而是UNIX Software Resource

FHS要求必须存在的目录

目录 内容
/usr/bin 一般用户能使用的命令,/bin目录也被链接至此,FHS建议此目录下不要有子目录(为了加快查找速度?)
/usr/lib 同上,/lib也被链接至此
/usr/local 自己下载的软件安装至此
/usr/sbin 非系统正常运行所需的系统命令,常见的是网络服务器中的daemo,/sbin被链接至此
/usr/share 存放只读的数据文件,尤其是共享文件,如man,doc,zoneinfo(时区文件)

FHS建议存在的目录

目录 内容
/usr/games 游戏(woc???
/usr/include c和c++的头文件与包含文件,用于tarball
/usr/libexec 某些不被一般用户常用的执行文件或脚本,如x window下的指令
/usr/lib 同前
/usr/src 存放源码,比如内核源码

/var目录

/var存放流动的文件,如缓存、日志、以及某些软件运行产生的文件

FHS要求必须存在的目录

目录 内容
/var/cache 程序运行过程中的缓存
/var/lib 程序运行中,用到的链接库
/var/lock 锁的存放位置
/var/log 日志
/var/mail 邮件目录,也会存放到/var/spool/mail中
/var/run 程序启动后PID的存放位置
/var/spool 队列数据

这里鸟哥推荐再去看看FHS的官方文档,有空去研读一下。

相对路径与绝对路径

linux的标准

FHS之外,还有LSB(Linux Standard Base)。

需要使用包管理工具安装lsb后,使用lsb_release -a来查看系统信息