在Linux操作系统中,最基本的功能就是文件管理,而文件的管理系统也是由文件按系统来完成的----Linux一切皆文件
操作系统就是处理各种数据的,这些数据在硬盘上就是二进制,人类肯定不能直接看懂这些二进制数据,要有一个翻译器,将这些二进制的数据还原为人类能看懂的文件形式,这个工作就是由文件系统来完成的,文件系统的目的就是实现数据的查询和存储,由于使用场合、使用环境的不同,Linux 有多种文件系统,不同的文件系统支持不同的体系。
在 Windows 下有磁盘分区的概念,比如 C,D,E 盘等,在 Linux 下没有这个概念,因此Linux 下你找不到像 C、D、E 盘这样的东西。在 Linux 下创建一个分区并且格式化好以后我们要将其“挂载”到一个目录下才能访问这个分区。
Linux 下我们使用 mount 命令来挂载磁盘。挂载磁盘的时候是需要确定挂载点
的,也就是你的这个磁盘要挂载到哪个目录下。
直接打开文件浏览器以后,我们默认不是处于根目录中的。Ubuntu 是支持多用户的,Ubuntu 为每个用户创建了一个根目录,其实所谓的给每个用户创建一个根目录只是方便说而已,这个所谓的用户根目录其实就是 “/” 下的一个文件夹,

用户可以对自己的用户根目录下的文件进行随意的读写操作,但是如果要修改根目录 “/” 下的文件就会提示没有权限。

大多数 Linux 发行版都会向你显示与你在上图中看到的相同或非常类似的结构。 这意味着,即使你现在感到困惑,掌握这一点,你将掌握大部分(如果不是全部的话)全世界的 Linux 文件系统。
为了让你开始走上掌控之路,让我们看看每个目录的用途。 当我们查看每一个目录的时候,你可以使用 ls 来查看他们的内容。
/bin/bin 目录是包含一些二进制文件的目录,即可以运行的一些应用程序。 你会在这个目录中找到上面提到的 ls 程序,以及用于新建和删除文件和目录、移动它们基本工具。还有其它一些程序,等等。文件系统树的其他部分有更多的 bin 目录,但我们将在一会儿讨论这些目录。
/boot/boot 目录包含启动系统所需的文件。不要动它! 如果你在这里弄乱了其中一个文件,你可能再无法运行你的 Linux,修复被破坏的系统是非常痛苦的一件事。 另一方面,不要太担心无意中破坏系统: 你必须拥有超级用户权限才能执行此操作。
/dev/dev 目录包含设备文件。 其中许多是在启动时或甚至在运行时生成的。 例如,如果你将新的网络摄像头或 USB 随身碟连接到你的机器中,则会自动弹出一个新的设备条目。
/etc/etc 的目录名称会让人变得非常的困惑。/etc 得名于最早的 Unix 系统们,它的字面意思是 etcetera(诸如此类) ,因为它是系统文件管理员不确定在哪里放置的文件的垃圾场。
/home/home 是你可以找到用户个人目录的地方。在我的情况下,/home 下有两个目录:/home/libin,其中包含我所有的东西;
/lib/lib 是库文件所在的地方。库是包含应用程序可以使用的代码文件。它们包含应用程序用于在桌面上绘制窗口、控制外围设备或将文件发送到硬盘的代码片段。
在文件系统周围散布着更多的 lib 目录,但是这个直接挂载在 / 的 /lib 目录是特殊的,除此之外,它包含了所有重要的内核模块。 内核模块是使你的显卡、声卡、WiFi、打印机等工作的驱动程序。
/media在 /media 目录中,当你插入外部存储器试图访问它时,将自动挂载它。与此列表中的大多数其他项目不同,/media 并不追溯到 1970 年代,主要是因为当计算机正在运行而动态地插入和检测存储(U 盘、USB 硬盘、SD 卡、外部 SSD 等),这是近些年才发生的事。
/mnt然而,/mnt 目录是一些过去的残余。这是你手动挂载存储设备或分区的地方。现在不常用了。
/opt/opt 目录通常是你编译软件(即,你从源代码构建,并不是从你的系统的软件库中安装软件)的地方。应用程序最终会出现在 /opt/bin 目录,库会在 /opt/lib 目录中出现。
/proc/proc,就像 /dev 是一个虚拟目录。它包含有关你的计算机的信息,例如关于你的 CPU 和你的 Linux 系统正在运行的内核的信息。与 /dev 一样,文件和目录是在计算机启动或运行时生成的,因为你的系统正在运行且会发生变化。
/root/root 是系统的超级用户(也称为“管理员”)的主目录。 它与其他用户的主目录是分开的,因为你不应该动它。
/run/run 是另一个新出现的目录。系统进程出于自己不可告人的原因使用它来存储临时数据。这是另一个不要动它的文件夹。
/sbin/sbin 与 /bin 类似,但它包含的应用程序只有超级用户(即首字母的 s )才需要。你可以使用 sudo 命令使用这些应用程序,该命令暂时允许你在许多 Linux 发行版上拥有超级用户权限。/sbin 目录通常包含可以安装、删除和格式化各种东西的工具。你可以想象,如果你使用不当,这些指令中有一些是致命的,所以要小心处理。

声明:以上第三章总结来源于网络博客:https://linux.cn/article-9798-1.html
touch 不仅仅可以用用来创建文本文档,其它类型的文档也可以创建,命令格式如下:
touch [参数] [文件名]
使用 touch 创建文件的时候,如果[文件名]的文件不存在,那就直接创建一个以[文件名]命名的文件,如果[文件名]文件存在的话就仅仅修改一下此文件的最后修改日期,常用的命令参数如下:
-a 只更改存取时间。
-c 不建立任何文件。
-d<日期> 使用指定的日期,而并非现在日期。
-t<时间> 使用指定的时间,而并非现在时间。
既然可以创建文件,那么肯定也可以创建文件夹,创建文件夹使用命令mkdir,命令格式如下:
mkdir [参数] [文件夹名目录名]
主要参数如下:
-p 如所要创建的目录其上层目录目前还未创建,那么会一起创建上层目录。
既然有创建文件的命令,那肯定有删除文件的命令,要删除一个文件或者文件夹可以使用命令rm,此命令可以完成删除一个文件或者多个文件及文件夹,它可以实现递归删除。
对于链接文件,只删除链接,原文件保持不变,所谓的链接文件,其实就是 Windows 下的快捷方式文件,此命令格式如下:
rm [参数] [目的文件或文件夹目录名]
命令主要参数如下:
-d 直接把要删除的目录的硬连接数据删成 0,删除该目录。
-f 强制删除文件和文件夹(目录)。
-i 删除文件或者文件夹(目录)之前先询问用户。
-r 递归删除,指定文件夹(目录)下的所有文件和子文件夹全部删除掉。
-v 显示删除过程。
上面我们讲解了如何使用命令rm删除文件夹,那就是要加上参数-rf,其实 Linux 提供了直接删除文件夹(目录)的命令—rmdir,它可以不加任何参数的删除掉指定的文件夹(目录),命令格式如下:
rmdir [参数] [文件夹(目录)]
命令主要参数如下:
-p 删除指定的文件夹(目录)以后,若上层文件夹(目录)为空文件夹(目录)的话就将其一起删除。
在 Windows 下我们可以通过在文件上点击鼠标右键来进行文件的复制和粘贴,在 Ubuntu下我们也可以通过点击文件右键进行文件的复制和粘贴。但是本节我们来讲解如何在终端下使用命令来进行文件的复制,Linux 下的复制命令为cp,命令描述如下:
cp [参数] [源地址] [目的地址]
主要参数描述如下:
-a 此参数和同时指定“-dpR”参数相同
-d 在复制有符号连接的文件时,保留原始的连接。
-f 强行复制文件,不管要复制的文件是否已经存在于目标目录。
-I 覆盖现有文件之前询问用户。
-p 保留源文件或者目录的属性。
-r 或-R 递归处理,将指定目录下的文件及子目录一并处理
有时候我们需要将一个文件或者文件夹移动到另外一个地方去,或者给一个文件或者文件夹进行重命名,这个时候我们就可以使用命令“mv”了,此命令格式如下:
mv [参数] [源地址] [目的地址]
在这里插入代码片
主要参数描述如下:
-b 如果要覆盖文件的话覆盖前先进行备份。
-f 若目标文件或目录与现在的文件重复,直接覆盖目的文件或目录。
-I 在覆盖之前询问用户。
文件的查询和搜索也是最常用的操作,Linux中查询某个文件是否存在,或者搜索哪些文件都调用了某个函数等等。本节我们就讲解两个最常用的文件查询和搜索命令:find 和 grep。
find 命令用于在目录结构中查找文件,其命令格式如下:
find [路径] [参数] [关键字
路径是要查找的目录路径,如果不写的话表示在当前目录下查找,关键字是文件名的一部分,主要参数如下:
-name<filename> 按照文件名称查找,查找与 filename 匹配的文件,可使用通配符。
-depth 从指定目录下的最深层的子目录开始查找。
-gid<群组识别码>查找符合指定的群组识别码的文件或目录。
-group<群组名称> 查找符合指定的群组名称的文件或目录。
-size<文件大小> 查找符合指定文件大小的文件。
-type<文件类型> 查找符合指定文件类型的文件。
-user<拥有者名称> 查找符合指定的拥有者名称的文件或目录。
grep 命令用于查找包含指定关键字的文件,如果发现某个文件的内容包含所指
定的关键字,grep 命令就会把包含指定关键字的这一行标记出来,grep 命令格式如下:
grep [参数] 关键字 文件列表
grep 命令一次只能查一个关键字,主要参数如下:
-b 在显示符合关键字的那一列前,标记处该列第 1 个字符的位编号。
-c 计算符合关键字的列数。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用此参数!否则 grep 指令
将回报信息并停止搜索。
-i 忽略字符大小写
-v 反转查找,只显示不匹配的行。
-r 在指定目录中递归查找。
在LINUX系统中有一个重要的概念:一切皆是文件。 其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。