一、linux文件系统的目录结构: linux的目录(文件),在逻辑上被组织成了一个倒置的单根树型结构,以“/”为根,并向下延,具有上下级的特点; 以CentOS 8 64位1905版本为例:

但是从物理存储位置来看,整个目录结构,均可以跨硬盘、跨分区存储; 尽管从逻辑组织结构上来说,/boot和/data目录都是根目录“/”的下级目录,但是从物理存储位置来说他们和根目录“/”目录又是平级的,是独立存在的一个分区: 以CentOS 8 64位1905版本为例,对各目录的作用进行解释: bin -> usr/bin (基本用户命令二进制文件(供所有用户使用),该目录在CentOS8上实际上是一个软连接文件,实际指向usr/bin目录) boot(引导加载程序的静态文件) data(用户子定义目录(可选)) dev(设备文件) etc(系统配置文件目录) home(用户主目录(可选)) lib->usr/lib(基本共享库和内核模块,该目录在CentOS8上实际上是一个软链接文件,实际指向usr/lib目录) lib64->usr/lib64(专用于X86_64位系统上的共享库文件存放目录,该目录在CentOS8上实际上是一个软链接文件,实际指向usr/lib64目录) media(设备挂载点) mnt(设备挂载点) opt(第三方应用程序安装位置) proc(用于存放输出当前系统上内核与进程相关信息的虚拟文件) root(管理员主目录) run(运行中的程序的相关数据,和/var/run/中的一致) sbin->usr/sbin(管理类基本命令,该目录在CentOS8上实际上是一个软链接文件,实际指向usr/sbin目录) srv(系统中运行的服务用到的数据) sys(用于存放输出当前系统上硬件设备相关信息的虚拟文件) tmp(存放临时文件的目录) usr(全称是unix共享资源,存放用户的很多应用程序和文件) var(存放不断变化的文件,例如系统日志文件等) 参考网站:https://www.pathname.com/fhs

二、文件的元数据信息 文件的元数据信息包括文件的节点号、文件大小、文件类型、权限、所属用户、所属用户组、链接数、 时间戳(包括访问时间atime、元数据改变时间ctime、 文件内容改变时间mtime(ll命令查看文件时,显示的时间就是mtime)) 、指向磁盘上文件数据的数据块指针以及其他的与文件本身有关的数据; 些信息是存放在inode表中,通过stat “文件名”,可以查看文件的元数据信息 示例: 通过touch -a “文件名”,来改变atime和ctime, 示例: 通过touch -m “文件名”,来改变mtime和ctime, 示例: 三、硬链接和软链接 (新创建文件,有两个动作:一是创建文件名、二是创建文件) 1、硬链接,实质是为源文件取了个新的文件名,并不创建新的文件,新的文件名指向源文件; 2、软链接,实质是新建了一个链接类型的文件,并将这个链接型文件指向源文件的文件名; 3、硬链接和软链接的区别:

| 对比项 |硬链接 | 软链接 | | -------- | | -------- | | -------- | | 与源文件关系 |同一个文件 | 不同的文件 | | 跨设备建立链接 |不支持 | 支持 | | 节点号| 与源文件相同 | 与源文件不同 | | 源文件链接数 | 改变 | 不变 | | 对文件夹建立链接 | 不支持 | 支持 | | 相对路径 | 源文件的相对路径是相对于当前的工作目录 | 源文件的相对路径是相对于链接文件的相对路径 | | 删除源文件对链接的影响|链接数减一,不影响通过链接文件对源文件的访问 | 链接文件将不能访问源文件 | | 文件类型| 和源文件相同 | 链接类型文件,和源文件无关 |

示例: 创建新文件并向新文件写入内容: 为文件创建硬链接和软链接: 查看链接文件简要信息: 通过查看源文件、硬链接文件、软链接文件来验证通过链接访问源文件的效果; 删除源文件(实际上只是文件名),验证通过链接访问源文件的效果:

四、Linux上的文件管理命令 Linux上的文件管理命令包括创建、复制、移动、删除、批量重命名等 (一)创建文件 touch [OPTION] FileName 常用选项: -a 只修改文件的atime和ctime. -c 不创建不存在的文件。 -m 只修改文件的mtime和ctime -r file 使用指定file文件的时间戳(atime和ctime)更新文件的时间戳(atime和ctime) -t 将时间修改为参数指定的日期,[[CC]YY]MMDDhhmm[.ss] (二)复制文件 cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE 常用选项: -i 如果目标存在,覆盖前提示(使前面的 -n 选项失效) -n 不要覆盖已存在的文件(使前面的 -i 选项失效) (-i和-n使用时要注意两者的顺序,后者有效) -f 如果目标存在,则覆盖目标文件时不提示 -R,-r 递归复制所有目录及目录内的所有内容 -a 归档,用于备份,等于-dR --preserve=all -d:等于--no-dereference --preserve=links,不复制源文件,只复制链接名称 -b:如果目标存在,在覆盖前先备份,默认格式为FileName~ --backup=numbered 如果目标存在,在覆盖前先备份,备份名称FileName.~#~,可以备份多个版本 (三)移动文件 mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE 常用选项: -i 如果目标存在,移动前提示(使前面的 -n 选项失效) -n 如果目标存在,则不移动(使前面的 -i 选项失效) -f 如果目标存在,则移动时不提示 -b:如果目标存在,在覆盖前先备份,默认格式为File~ (三)删除文件 rm [OPTION] File/DIRECTORY 常用参数: -i 删除时提示 -f 强行删除,不提示 -r 当删除的对象是目录,且目录下还有目录时,递归删除对象下的所有目标