linux文件系统

1.文件系统

(1)文件和目录被组织成一个单根倒置树结构
(2)文件系统从根录下开始,用“/”表示
(3)根文件系统(rootfs):root filesystem
(4)文件名称区分大小写
(5)以.开头的文件为隐藏文件
(6)路径分隔的 /
(7)文件有两类数据:
元数据:metadata
数据:data
(8)文件系统分层结构:LSB Linux Standard Base
(9)FHS: (Filesystem Hierarchy Standard)

2.文件名规则

文件名最长255个字节
 包括路径在内文件名称最长4095个字节
 蓝色-->目录 绿色-->可执行文件 红色-->压缩文
件 浅蓝色-->链接文件 灰色-->其他文件
 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和
文件不推荐使用,有些字符需要用引号来引用它们。
 标准Linux文件系统(如ext4),文件名称大小写敏感。例如
:MAIL, Mail, mail, mAiL

3.文件系统结构

linux文件系统_第1张图片
  • /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器
    (bootloader, grub)都存放于此目录
  • /bin:供所有用户使用的基本命令;不能关联至独立分区,
    OS启动即会用到的程序
  • /sbin:管理类的基本命令;不能关联至独立分区,OS启动即
    会用到的程序
  • /lib:启动时程序依赖的基本共享库文件以及内核模块文件
    (/lib/modules)
  • /lib64:专用于x86_64系统上的辅助共享库文件存放位置
  • /etc:配置文件目录
  • /home/USERNAME:普通用户家目录
  • /root:管理员的家目录
  • /media:便携式移动设备挂载点
  • /mnt:临时文件系统挂载点
  • /dev:设备文件及特殊文件存储位置
    b: block device,随机访问
    c: character device,线性访问
  • /opt:第三方应用程序的安装位置
  • /srv:系统上运行的服务用到的数据
  • /tmp:临时文件存储位置
  • /proc: 用于输出内核与进程信息相关的虚拟文件系统
  • /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
  • /selinux: security enhanced Linux,selinux相关的安全策
    略等信息的存储位置

4.Linux上的应用程序的组成部分

(1) 二进制程序:

/bin, /sbin, /usr/bin, /usr/sbin,
/usr/local/bin, /usr/local/sbin

(2) 库文件:

/lib, /lib64, /usr/lib, /usr/lib64,
/usr/local/lib, /usr/local/lib64

(3) 配置文件:

/etc, /etc/DIRECTORY, /usr/local/etc

(4)帮助文件:

/usr/share/man, /usr/share/doc,
/usr/local/share/man, /usr/local/share/doc

(5)CtenOs7变化

  • /bin 和 /usr/bin
  • /sbin 和 /usr/sbin
  • /lib 和/usr/lib
  • /lib64 和 /usr/lib64

6.pwd:显示当前工作目录

 每个shell和系统进程都有一个当前的工作目录
 CWD:current work directory
 显示当前shell CWD的绝对路径
pwd: printing working directory

-P 显示真实物理路径
-L 显示链接路径(默认)

7.绝对和相对路径

(1)绝对路径

以正斜杠开始
完整的文件的位置路径
可用于任何想指定一个文件名的时候

(2)相对路径名

不以斜线开始
指定相对于当前工作目录或某目录的位置
可以作为一个简短的形式指定一个文件名

 基名:basename
 目录名:dirname

8.更改目录

(1)cd 改变目录
使用绝对或相对路径:

cd /home/wang/
cd home/wang

(2)切换至父目录: cd ..
(3)切换至当前用户主目录: cd
(4)切换至以前的工作目录: cd-


 选项:-P
 相关的环境变量:
PWD:当前目录路径
OLDPWD:上一次目录路径

9.文件通配符

 * 匹配零个或多个字符
 ? 匹配任何单个字符
 ~ 当前用户家目录
 ~mage 用户mage家目录
 ~+ 当前工作目录
 ~- 前一个工作目录
 [0-9] 匹配数字范围
 [a-z]:字母
 [A-Z]:字母
 [wang] 匹配列表中的任何的一个字符
 [^wang] 匹配列表中的所有字符以外的字符
linux文件系统_第2张图片

 预定义的字符类:#man 7 glob

[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母
[:upper:]: 任意大写字母
[:alpha:]: 任意大小写字
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符
linux文件系统_第3张图片

10.硬链接

(本质是给一个文件多个文件名,目录不支持硬链接,删除任何一个,其他名称不受影响)
(1)创建硬链接会增加额外的记录项以引用文件
(2)对应于同一文件系统上一个物理文件
(3)每个目录引用相同的inode号
(4)创建时链接数递增
(5)删除文件时:

  • rm命令递减计数的链接
  • 文件要存在,至少有一个链接数
  • 当链接数为零时,该文件被删除
    (6)不能跨越驱动器或分区
    (7) 语法:
ln filename [linkname ]
linux文件系统_第4张图片

11.符号(或软)链接(相就可以当于快捷方式,只要路径)

(1)一个符号链接指向另一个文件
(2)ls - l的 显示链接的名称和引用的文件
(3)一个符号链接的内容是它引用文件的名称
(4)可以对目录进行
(5)可以跨分区
(6)指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数;
(7)语法:

ln -s filename [linkname]
linux文件系统_第5张图片

你可能感兴趣的:(linux文件系统)