一、知识点梳理
1.Linux 的文件组织目录结构。
2.相对路径和绝对路径。
3.对文件的移动、复制、重命名、编辑等操作。
二、Linux目录结构
首先要说明的是,Linux的目录结构与Windows的目录结构的区别,这种区别主要体现在目录与存储介质的关系上,这里的存储介质包括但不限于磁盘、内存。
Windows 一直是以存储介质为主的,主要以盘符(C 盘,D 盘…)及分区来实现文件管理,然后之下才是目录,目录就显得不是那么重要,除系统文件之外的用户文件放在任何地方任何目录也是没有多大关系。所以通常 Windows 在使用一段时间后,磁盘上面的文件目录会显得杂乱无章。而Linux继承了Unix以目录为主的优良特性,其整个系统都是以树形目录的结构来构建的,这一目录构成了整个操作系统的骨架,而磁盘等存储介质是挂载在目录上的,如每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。
1.FHS标准
Linux中目录的重要性决定了它势必需要一套标准去维护其稳定性,使得各个不同目录存储特定的内容,让系统工作的井然有序。
FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。
FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin 与 /sbin 则应该放置可执行文件等等。
第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件,/usr/share 放置共享数据等等。
在你的terminal中执行命令 $ tree /后,你可以在终端中看到整个Linux中的树形目录。目录的结构并不是固定的,其中可变的(variable)的部分可以由用户修改。
2.目录路径
路径,我理解为Linux目录下,从起点到达当前文件所在目录的一条“路”,就和数据结构中树的路一样。
在Linux中,通过cd命令进行目录之间的切换,. 表示当前目录,..表示上一级目录,~表示/home目录,如$ cd .. 可以返回上一级目录。pwd可以显示当前路径。
小技巧:在输入路径时,连按两下Tab键可以显示补全路径的所有选项。
绝对路径与相对路径:
绝对路径是以根“/”目录为起点,完整的将每一步表示出来的路径,如 /usr/local/bin。
相对路径是相对于当前目录而言,以当前目录 . 为起点,目的目录为终点的路径。
三、Linux 文件基本操作
1.创建文件或目录
通过$ touch < file_name > 命令在当前目录下创建文件。
$ mkdir(make directory) < directory_name >创建空目录
$ mkdir -p father/son 通过-p参数可以同时创建其子目录
2.复制文件或目录
$ cp < file_name > < directory > 复制文件,但要求文件在当前目录下。
$ cp -r < directory > < directory_in > -r参数可以复制目录(包括其子目录带着粘贴进去)
3.删除
$ rm(remove) file_name/ -r directory_name 可以删除文件或者目录
对于一些权限为只读的文件,可以用 -f参数强制删除。
4.移动与重命名
移动与重命名是通过同一个指令实现的–mv(move)
$ mv file dir 移动至目录 $ mv file new_name 重命名
5.查看文件内容
$ cat file 可以查看文件内容 -n可以给其加上行号,但并不适合阅读。
more 命令可以使得文件内容只显示一屏,并随着需求继续拖动。
6.查看文件类型
$ file file_name可以查看文件类型