学习Linux心得笔记(4)-linux根文件系统详解

作者: sxdgy 分类: linux 发布时间: 2017-03-16 22:07

1、Linux的文件系统是根文件系统,标准是 FHS(Filesystem Hierarchy Standard文件系统层次标准),大概如下:

可分享的(shareable) 不可分享的(unshareable)
不变的(static) /usr (软件放置处) /etc (配置文件)
不变的(static) /opt (第三方协力软件) /boot (开机与核心档)
可变动的(variable) /var/mail (使用者邮件信箱) /var/run (程序相关)
可变动的(variable) /var/spool/news (新闻组) /var/lock (程序相关)
可分享的:可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据, 是能够分享给网络上其他主机挂载用的目录;
不可分享的:自己机器上面运作的装置文件或者是与程序有关的socket文件等, 由于仅与自身机器有关,所以当然就不适合分享给其他主机了.
不变的:有些数据是不会经常变动的,跟随着distribution而不变动. 例如函式库、文件说明文件、系统管理员所管理的主机服务配置文件等等;
可变动的:经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等。

2、Linux关键目录意义:

/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)。
/dev: 设备文件分两种:块设备(随机访问,如硬盘)、字符设备(线性访问,如显示器键盘),设备都有设备号:主设备号(major)和次设备号(minor)。
/etc:配置文件,多事为文本。
/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME。
/root:管理员的家目录,生产环境一般不建议使用root。
/lib:库文件一般分两种:静态库(.a,直接连接到程序文件中)、动态库(类似Windows的.dll, .so (shared object共享对象),加载到内存中,被多个程序共享)。里面有/lib/modules:内核模块文件
/media:挂载点目录,FHS规定:挂移动设备,如光盘U盘。
/mnt:挂载点目录,额外的临时文件系统。
/opt:可选目录,早期是第三方程序的安装目录
/proc:伪文件系统,启动前是空的,启动之后装内核映射文件(内核可调参数等)。
/sys:伪文件系统,启动前是空的,启动之后装跟硬件设备相关属性的映射文件。
/tmp:临时文件目录,还有另一个临时文件目录:/var/tmp。
/var:可变化的文件,随系统运行时间增加增大。
/bin: binary,存放可执行文件,用户命令。
/sbin:super binary存放可执行文件,管理命令。
/usr:shared read-only 全局共享只读文件。/usr/bin、/usr/sbin、/usr/lib基本上是跟系统启动相关的命令、库。
/usr/local里面还有/usr/local/bin、/usr/local/sbin、/usr/local/lib主要是跟第三方软件相关的命令、库。

3、Linux文件命名规则:

a.长度不能超过255个字符;
b.不能使用/当文件名,但是不建议特殊字符。
c.严格区分大小写

4、目录管理

# ls #显示列表
# tree:查看目录树
# cd #切换目录
# pwd #打印当前工作目录
# mkdir #创建空目录
  -p:parent父目录,递归创建
    -v: verbose显示详细信息
# mkdir -pv /mnt/test/{x/m,y} #bash支持花括号展开
# mkdir -pv /mnt/test2/{a_b, a_c, d_b, d_c} #等同mkdir -pv /mnt/test2/{a,d}_{b,c}
#rmdir #(remove directory)删除空目录

5、文件创建和删除

# touch #更改文件时间戳,如果不存在则新建
    -a只更改访问时间
    -m只更改修改时间
    -t指定时间
    -c(no-create)不要创建任何文件
# stat #显示文件或文件系统状态
#rm #删除文件
    -i 提示每次删除
    -f (force)强制忽略不存在的文件,从不提示
    -r(recursive)递归删除