截图透彻解析Linux目录结构和对文件的基本操作

一. Linux目录结构

Windows系统与Linux系统在文件管理上是不同,Windows最顶层文件目录是用存储介质(磁盘)来区分的,除系统文件外,用户文件放在哪个盘里都一样,而Linux整个文件系统都是由文件目录(树形目录)来管理的,所以目录在Linux中是非常重要的概念。

FHS标准(Filesystem Hierarchy Standard 文件系统层次结构标准)

截图透彻解析Linux目录结构和对文件的基本操作_第1张图片
来自实验楼

FHS 是根据以往无数 Linux 用户和开发者的经验总结出来的,并且会维持更新,FHS 依据文件系统使用的频繁与否以及是否允许用户随意改动(注意,不是不能,学习过程中,不要怕这些),将目录定义为四种交互作用的形态:

截图透彻解析Linux目录结构和对文件的基本操作_第2张图片
结构目录定义

目录路径

路径

使用cd命令来切换目录,.表示当前目录,..表示上一级目录,上一篇博客说过以.开头的文件是隐藏文件,因此这两个目录也是隐藏目录。可以使用ls -a命令来查看隐藏目录。

截图透彻解析Linux目录结构和对文件的基本操作_第3张图片

“cd”命令演示:

截图透彻解析Linux目录结构和对文件的基本操作_第4张图片

绝对路径

绝对路径就是从文件系统的起始目录(根目录)开始,到达目标目录的完整目录路径。

相对路径

相对路径是以当前目录为起始目录(.)开始,到达目标目录的完整目录路径。

演示:

截图透彻解析Linux目录结构和对文件的基本操作_第5张图片

注意:

1、具体使用哪一种目录看你当前方便使用哪一种。

2、在进行目录切换的过程中请多使用 Tab 键自动补全,可避免输入错误,连续按两次Tab可以显示全部候选结果

二. Linux文件的基本操

新建

新建空白文件

“touch”命令:其主要是来更改已有文件的时间戳的(比如,最近访问时间,最近修改时间),但其在不加任何参数的情况下,只指定一个文件名,则可以创建一个为指定文件名的空白文件(不会覆盖已有同名文件),当然你也可以同时指定该文件的时间戳。

新建目录

“mkdir”命令用来创建空白目录:

同时创建父目录“mkdir -p”:

截图透彻解析Linux目录结构和对文件的基本操作_第6张图片

复制

复制文件

“cp”复制文件到指定目录:

将前面/home/gcg目录下的gcg文件复制到/home/gcg/gcg_dir/father/son目录中:

截图透彻解析Linux目录结构和对文件的基本操作_第7张图片

复制目录

先来一个错误的示范:

先创建一个目标目录,将前面的gcg_dir复制进去,结果出错:

截图透彻解析Linux目录结构和对文件的基本操作_第8张图片

正确方法是在”cp”后面加上“-r”或“-R”,表示连同目录里面的所有目录和文件一起复制:

截图透彻解析Linux目录结构和对文件的基本操作_第9张图片

删除

删除文件

“rm”指令删除文件,这里需要注意当删除只读文件时,系统会给出提示。我们先把前面创建的gcg文件改为只读,再删除它:

截图透彻解析Linux目录结构和对文件的基本操作_第10张图片

删除目录

删除目录和复制目录道理一样,不能直接rm,需要在rm后面加上-r或者-R:

移动文件与文件重命名

移动文件

移动文件在windows中相当于剪切文件的功能,使用“mv”指令。演示:

截图透彻解析Linux目录结构和对文件的基本操作_第11张图片

重命名

mv也可以重命名:

如果上述实验中,gcg_dir和gcg_dir2都存在,那么【mv gcg_dir gcg_dir2】到底是将它重命名为gcg_dir2还是将它移动到gcg_dir2中呢?

截图透彻解析Linux目录结构和对文件的基本操作_第12张图片

答案显而易见:是移动了(其实同一个目录中也不允许有相同的目录名)。

再做一个实验:

截图透彻解析Linux目录结构和对文件的基本操作_第13张图片

这个实验是将一个文件重命名为另一个已存在的文件名,这时会覆盖先前的文件。

批量重命名

批量重命名的话使用mv就太麻烦了,相信大家都知道rename这个命令,不过这儿要批量重命名还需要用到正则表达式,这儿只是做个演示:

第二个参数是匹配所有需要修改名字的.txt文件,第一个参数是通过正则表达式来修改文件名。这儿只用记住rename可以批量重命名就行。

查看文件

1、”cat”、”tac”、”nl”可以用来查看文件

原文件:

截图透彻解析Linux目录结构和对文件的基本操作_第14张图片

使用三种不同命令查看的结果:

截图透彻解析Linux目录结构和对文件的基本操作_第15张图片

这三个命令的区别:【nl】=【cat -n】,不过nl更专业,tac是倒序打印。

2、当文件内容很多时,使用上述命令需要用鼠标来滚轮来翻页,如果没有鼠标怎么办?这时可以使用“more”和“less”命令来查看文件,他们是专业的阅读文件的命令。

使用方法:打开后默认只显示一屏内容,终端底部显示当前阅读的进度(百分比)。可以使用Enter键向下滚动一行,使用Space键向下滚动一屏,按下h显示帮助,q退出。

3、”head”和“tail”查看文件:

head只显示最开始十行,tail只显示最后十行,不足十行的文件全显示:

截图透彻解析Linux目录结构和对文件的基本操作_第16张图片

(关于tail命令,不得不提的还有它一个很牛的参数-f,这个参数可以实现不停地读取某个文件的内容并显示。这可让我们动态查看日志起到实时监视的作用)

查看文件类型

使用“file”命令:

三. 总结

这一次的实验是在虚拟机做的,不过学习的图片还是来自实验楼。

你可能感兴趣的:(截图透彻解析Linux目录结构和对文件的基本操作)