第四节 Linux目录文件及文件基本操作
一.Linux目录结构
Linux 的目录与 Windows 的目录的区别:
一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介质为主的,主要以盘符(C 盘,D 盘...)及分区的来实现文件管理,然后之下才是目录,目录就显得不是那么重要,除系统文件之外的用户文件放在任何地方任何目录也是没有多大关系。所以通常 Windows 在使用一段时间后,磁盘上面的文件目录会显得杂乱无章(少数善于整理的用户除外吧)。然而 UNIX/Linux 恰好相反,UNIX 是以目录为主的,Linux 也继承了这一优良特性。 Linux 是以树形目录结构的形式来构建整个系统的,可以理解为一个用户可操作系统的骨架。虽然本质上无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说 Linux 的磁盘是“挂在”(挂载在)目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。举例来说,可以利用网络文件系统(Network File System,NFS)服务器载入某特定目录等.
1.FHS标准
Linux 的目录结构说复杂很复杂,说简单也很简单
复杂在于,因为系统的正常运行是以目录结构为基础的,对于初学者来说里面大部分目录都不知道其作用,重要与否,特别对于哪些曾近的重度 Windows 用户,他们会纠结很长时间,关于我安装的软件在哪里这类问题
简单是因为,它其中大部分目录结构是规定好了(FHS 标准),是死的,当你掌握后,你在里面的一切操作都会变得井然有序
FHS 定义了两层规范:
第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等
第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等
FHS 是根据以往无数 Linux 用户和开发者的经验总结出来的,并且会维持更新,FHS 依据文件系统使用的频繁与否以及是否允许用户随意改动(不是不能),将目录定义为四种交互作用的形态,如下表所示:
2.目录路径
路径:
使用 cd
命令可以切换目录
在 Linux 里面,使用 .
表示当前目录,..
表示上一级目录(**注意,还记得我们上一节介绍过的,以 .
开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a
命令查看隐藏文件), -
表示上一次所在目录,~
通常表示当前用户的"home"目录。使用 pwd
命令可以获取当前所在路径(绝对路径).
绝对路径:
关于绝对路径,简单地说就是以根"/"目录为起点的完整路径,以你所要到的目录为终点,表现形式如: /usr/local/bin
,表示根目录下的 usr 目录中的 local 目录中的 bin 目录
相对路径:
相对路径,也就是相对于你当前的目录的路径,相对路径是以当前目录 .
为起点,以你所要到的目录为终点,表现形式如: usr/local/bin
(这里假设你当前目录为根目录)
二.Linux文件的基本操作
新建空白文档创建名为 test 的空白文件
新建目录创建名为"mydir"的空目录
复制文件将之前创建的"test"文件复制到"/home/shiyanlou/father/son/grandson"目录中
复制目录
移动文件将文件"file1"移动到"Documents"目录
mv 源目录文件 目的目录