第七章 Linux文件管理与目录
1.文件种类
1)在操作系统发展的历程中,文件类型经历了从简单到丰富的演变过程。
2)最初,操作系统中较为常见的文件类型主 要有文本文件、目录文件和二进制文件。
3)在当代操作系统中,文件类型主要可归纳为普通文件和目录文件两大类。
1.1文本文件
1)以字符编码形式存储数据,其内容可直接被文本编辑器读取和理解。
2)早期,文本文件广泛应用于记录系统日志、 配置信息以及简单的文档编写。
3)例如在 Linux 系统中,许多配置文件如 /etc/passwd 用于存储用户账号信息,均采用文本文件格式,管理员可方便地通过文本编辑器对其进行查看与修改。
1.2目录文件
1)目录文件(理解为windows的文件夹) 本质上是一种特殊的文件,用于组织和管理其他文件与目录。
2)目录文件就像是一个文件的容器,通过树形结构将文件系统中的文件进行有序排列。
3)在早期的操作系统中,目录文件是构建文件系统层级架构的关键,用户可通过目录结构快速定位和访问所需文件。
1.3二进制文件
1)以二进制的 0 和 1 形式存储数据,内容无法直接被普通文本编辑器识别。
2)早期的可执行程序、设备驱动程序等多为二进制文件。
3)例如在 Windows 系统中,可执行的.exe 文件包含了计算机能够直接运行的机器指令, 这些指令以二进制形式存储,操作系统通过特定的加载机制将其读入内存并执行。
1.4新一代文件种类
随着计算机应用场景的不断拓展和用户需求的日益多样化,传统简单的文件类型已难以满足人们的日常需求。于是,更多类型的文件应运而生。
1.5办公类文件
1)为了提高办公效率,像 PPT(PowerPoint 演示文稿)、Excel(电子表格)、Doc(Word 文档)等办公文件类型逐渐普及。
(1)PPT 用于制作演示文稿,通过图文并茂的方式展示信息;
(2)Excel 擅长数据处理与分析,能进行复杂的数值计算和数据可视化;
(3)Doc 则主要用于文档编辑,具备丰富的排版功能。这些文件极大地便利了办公场景中的信息交流与协作。
1.6多媒体文件
1)在娱乐领域,视频和音乐文件极大地丰富了人们的生活。
2)视频文件如 MP4、AVI 等格式,能够存储动态图像和声音信息,为用户带来视觉和听觉的双重享受;音乐文件如 MP3、WAV 等,专注于音频存储,让用户随时随地享受美妙的音乐。
1.7目录文件
1)依旧扮演着组织和管理文件的重要角色,是文件系统层级结构的基石。通过目录文件,用户可以方便地将相关文件归类存放,构建出清晰的文件管理体系。
2)例如在日常使用中,我们会创建 "工作资料"、"个人娱乐" 等不同目录,将对应的文件分别放置其中,便于查找和管理。
1.8普通文件
1)涵盖了除目录文件之外的大多数文件类型。
2)前面提到的文本文件(Text)、办公类文件(PPT、Excel、 Doc)、多媒体文件都属于普通文件范畴。
3)普通文件承载了丰富多样的信息,满足了用户在不同领域的需求,从日常办公到学习研究,从娱乐休闲到专业设计,几乎涵盖了现代生活的方方面面。
2.操作系统文件管理
1)操作系统文件管理指的就是对文件进行所谓的增删改查,linux的文件管理和windows上的文件管理是一样的,并无太大区别。
2)增指创建文件,删指删除文件,改指修改文件内容或文件属性,查指查看文件内容或者文件属性。
(1)不同的是像windows这种操作系统,我们大多情况采用的是图形化软件来对文件进行管理,但是在 linux 系统,我们大多情况都是采用字符界面的命令行来对文件进行管理。
(2)所以我们其实本身是会文件管理操作的,只不过我们更加熟悉图形化的管理方式,但是在linux操作系统,我们需要仔细学习的只是通过命令来管理 linux 中的文件而已,大多是文本文件。
3.数据的编码方式
3.1文本文件
1)对于文本文件,无论是 ASCII 编码、Unicode 编码还是其他编码方式,都是将字符映射为特定的二进制数字。
2)例如,在 ASCII 编码中,字符 'A' 对应的二进制代码是 01000001,字符 'B' 对应的是 01000010 等。
3)当我们在计算机上创建一个文本文件并输入内容时,计算机会将这些字符按照相应的编码规则转换为二进制数据存储起来。
3.2图像文件
1)图像文件中的图像数据也是以二进制形式存储的。
2)例如,常见的位图图像(如 BMP 格式),会将图像中的每个像素点的颜色信息等转换为二进制数据。如果是彩色图像,通常会用红、绿、蓝(RGB)三个颜色通道来表示一个像素的颜色,每个通道的值用一定位数的二进制数表示,比如 8 位二进制数可以表示 0-255 之间的一个颜色值,这样一个像素的颜色就可以用 24 位(8 位 ×3 通道)二进制数来表示。
3.3音频文件
1)音频文件同样是将声音信号转换为二进制数据。声音是一种连续的模拟信号,计算机通过采样和量化的过程将其转换为数字信号,即二进制数据。
2)采样就是每隔一定时间对声音信号的幅度进行测量,量化则是将测量得到的幅度值用二进制数表示。
3)例如,常见的 MP3 文件就是对音频数据进行了压缩编码后以二进制形式存储的。
3.4视频文件
1)视频实际上是由一系列连续的图像帧和音频组成的。
2)视频文件在存储时,一方面要存储图像帧的数据,另一方面要存储音频数据,这些数据都是以二进制形式存在的。
3)同时,为了减少存储空间和便于传输,视频文件通常还会采用各种压缩算法对图像和音频数据进行压缩,压缩后的结果依然是二进制数据。
3.5可执行文件
1)可执行文件包含了计算机可以直接执行的机器指令和相关的数据。这些机器指令和数据在计算机中也是以二进制形式存储的。
2)当我们运行一个可执行文件时,计算机的 CPU 会读取这些二进制指令,并按照指令的要求进行相应的操作,如进行数据运算、控制硬件设备等。
3)但也有一些特殊情况不完全符合这种严格的由 0 和 1 构成的说法,比如一些模拟存储介质上的信息,如传统的磁带、唱片等,它们存储的信息不是以 0 和 1 的形式直接存在,而是以模拟信号的形式记录,但当这些信息要在计算机中处理时,还是会被转换为 0 和 1 表示的数字信号。
4.图形化软件管理Linux系统中的文件
1)根据你自己电脑的情况调整Almalinux虚拟机合适的cpu和内存,比如你的笔记本内存8G,4核,那么保持 Almalinux 虚拟机为4G内存,2核CPU即可,如果你的笔记本内存是16G,8核,那么可以给虚拟机分配8G内存和4核,你可以根据你的物理机资源多分一些。
2)将你的Almalinux唯一的一个网卡配置连接到桥接模式的虚拟交换机上,并能通过DHCP获取IP地址,网关,DNS,最终让你的Almalinux访问Internet,如果你处在公司网络里,可能会因为公司网络的安全原因导致无法通过桥接网络获取地址,你可以更改为NAT模式,具体原理我们在上个模块已经学习过了,无论如何,让你的虚拟机可以访问Internet。
3)上述信息都确定了之后,将Almalinux关机,做一个静态快照,如果你后续操作玩坏了这个Linux,可以让虚拟机恢复到正常的状态。
4)开始通过图形化软件来管理Linux系统中的文件,我们在这里只是体验一下,并不会深入的用图形软件管理对应的文件,因为我们大多情况下,都不会在服务器上安装图形化的Linux,而且Almalinux也不主要是用作个人用户桌面用途的Linux发行版本,它只是有这个功能,其实做的并不是那么好,如果你想使用良好的Linux 图形软件来进行文件管理,请迁移到ubuntu Desktop,Fedora Workstation,深度系统,统信UOS等专门用作桌面的Linux发行版本。
5)我们的目标是通过Almalinux系统进行文本文件的管理,word文件的管理,ppt文件的管理,excel文件的管理,然后将他们放入一个文件夹中来体验一下Linux图形管理文件,主要是知道Linux也可以像 Windows那样进行图形化的文件管理,只不过我们更多的是通过命令行管理,而不是像Windows 那样图形管理文件。
6)为了方便我们在Almalinux上更为便捷的进行文件管理,我们需要将Almalinux系统切换为中文,你也可以不切换,看你的心情。
7)#Almalinux安装中文输入法(智能拼音和中文拼音是不一样的输入法)(选做)
[yh@locahost ~]$ sudo dnf install ibus ibus-libpinyin -y
5.linux系统中的目录结构与一级目录
1)通过图形界面实现了Linux系统下的文件管理,你可以多图形操作一会儿,试试多建立几个文件,也可以通过鼠标然后在图形界面上修改文件的名字和删除文件,这些都属于Linux文件管理的范畴,但是,对于我们大多的运维人员来说,我们都是通过命令行来进行文件管理,所以我们第五模块主要就是学习Linux的命令行方式管理文件,但是在这之前,我们还要明确一件事,那就是"文件一定是存放在某个目录中的"。
2)由于文件一定是存放在某个目录中,所以为了更好的进行linux的文件管理,我们需要了解一下Linux系统的目录结构,以及介绍什么是Linux系统中的"一级目录",以及Linux系统的每一个一级目录的作用。
6.Linux所有文件的起点目录
6.1 LInux(/)根目录
1)"/"目录我们叫"根目录",Linux有且只有一个根目录,是Linux所有文件的起点目录,所有其他目录和文件都在根目录下面,就像大树的树根,所有树枝和树叶都从这里延伸出去。
(1)类似于 Windows 中的盘符根目录,比 如C:\。
6.2 Windows目录
1)你可能会有Windows比Linux牛逼的奇怪想法,比如 Windows有C盘,D盘,E盘,F盘等,就意味着Windows有C:\,D:\,E:\,F:\多个根,但是Linux只有一个根。
2)Windows的盘符设计在某些方面有其合理性和便利性,但是也有一些不够合理的地方。比如当计算机有多个"盘或分区"时,会出现多个盘符,如 C 盘、D 盘、E 盘等。这可能导致用户在管理文件和存储数据时感到困惑,不清楚应该将文件存储在哪个盘符下,尤其是对于不太熟悉计算机存储结构的用户。
3)其实完全不需要那么多盘符,理论上一个C盘就够用了,就像Linux那样,一个根目录就够了,在Windows上多个盘符是没有任何意义的。
4)Windows的多个盘符是有意义的,能明确区分系统盘和数据盘,应该尽可能的不把非必要数据放在系统盘上,应该严格区分,否则如果系统盘C盘数据过多则会导致系统卡顿的情况发生。
5)我们之前已经学习过硬盘了,明白了机械硬盘和固态硬盘的工作原理。我来解释一下为什么C盘文件过多会导致系统卡顿,首先如果你使用的是机械硬盘用作C盘, 那确实会出现这个问题,这是因为系统运行主要依赖随机读写,机械硬盘由于寻找数据是通过磁盘转动+磁头移动来找对应的文件,这种机械工作原理下就导致文件数量越多,就会让你的找到具体文件(随机读写)速度变慢,所以你确实会明显感觉卡顿。
但是固态硬盘就完全不会有这种问题,无论多少文件数量,都不会影响找到具体文件的速度(随机读写)。所以,当你使用固态硬盘的时候,其实你就没有必要分所谓的系统盘和数据盘了, 所以这种情况下你多个盘符就没有任何意义了,实质上一个盘符就可以了。
6)你可能又会有问题,比如说,那我如果有多块硬盘,那不是只能有多个盘符了,其实也不是,你也可以通过不分配盘符的方式来使用多个硬盘,我们接下来通过Windows虚拟机来演示一下。7)通过演示我们知道了其实不分配盘符,我们也可以在Windows中使用多块硬盘,方法就是不给硬盘分配盘符, 而是创建一个空目录,将硬