Linux 运维学科
第 1 章 Linux 基础知识
1.1 行业介绍
1.1.1 主流 IT 行业介绍
-
产品经理:负责产品的全生命周期管理,包括需求分析、产品设计、市场定位、项目管理和产品迭代,需具备用户研究、市场分析、沟通协调能力。
-
设计类方向:涵盖 UI/UE 设计、平面设计、交互设计等,注重用户体验、界面美观与可用性,要求掌握设计工具(如 Sketch、Photoshop)和用户行为分析。
-
开发方向:涉及软件开发、前后端编程、数据库设计与维护,要求熟悉编程语言(如 Java、Python、JavaScript)、开发框架及工具,具备解决复杂技术问题的能力。
-
运维方向:专注于系统和网络的部署、监控、维护与优化,确保系统的稳定运行,需掌握服务器管理、自动化运维工具(如 Ansible、Docker)、安全防护策略。
-
网络方向:主要涉及网络架构设计、路由与交换配置、网络安全管理等,要求熟悉网络协议、设备配置与管理工具,保障网络的高效、安全运行。
1.1.2 运维方向的优点
运维方向相较于其他 IT 方向具有以下优点:
- 行业需求量逐年增加
- 行业薪资逐渐高于行业平均薪资
- 技术淘汰速度非常慢
- 从业压力较小,是所有技术类行业中最小的
1.1.3 行业中 Linux 占比
Linux 作为开源和免费的操作系统,以其高安全性和卓越稳定性广受欢迎。开源的特性使其能够迅速修复漏洞,增强系统的安全防护。同时,其长期的优化和社区支持使其在服务器环境中表现优异,是服务器操作系统的理想选择:
-
在全球网站服务器中,使用 Linux 作为服务器的网站接近 80%。

-
世界超级计算机 500 强,操作系统对比。

1.1.4 行业人才需求
百度百聘职业需求量(北京)统计如下:
- Java:22038
- 运维工程师:6161
- Web 前端:5264
- PHP:5159
- Python:2025
1.1.5 职业发展路径

1.2 Linux 简介
1.2.1 UNIX 与 Linux 发展史
1.2.1.1 UNIX 发展历史
UNIX 是由贝尔实验室(Bell Labs)在20世纪60年代末和70年代初开发的操作系统。最初的开发者包括肯·汤普森(Ken Thompson)、丹尼斯·里奇(Dennis Ritchie)和道格拉斯·麦克尔罗伊(Douglas McIlroy)等人。UNIX 诞生于一个名为 MULTICS 的大型项目失败之后。汤普森和里奇利用一台小型计算机 PDP-7 编写了一个简单的操作系统,这就是 UNIX 的原型。1970年,这个系统首次被命名为 UNIX。1971年,汤普森的里奇发明了 C 语言;1973 年,UNIX 系统的绝大部分源代码用 C 语言重写,这为提高 UNIX 系统的可移植性打下基础。
由于其简洁、灵活和便于移植的特性,UNIX 很快在学术界、政府和企业中得到了广泛应用。

1.2.1.2 UNIX 主要发行版本
UNIX 发展过程中,衍生出了多个重要版本,以下是几个主要的 UNIX 发行版本:
| 操作系统 | 开发者 | 硬件平台 |
|---|---|---|
| AIX | IBM | PowerPC |
| UX | HP | PA-RIS |
| Solaris | Sun | SPARC、x86 等 |
| BSD | 加州大学伯克利分校 | x86、ARM 等 |
1.2.1.3 Linux 发展历史
Linux 系统诞生于 1991 年,由芬兰大学生李纳斯(Linus Torvalds)和后来陆续加入的众多爱好者共同开发完成。

Linux 是自由软件,源代码开放的 UNIX。

1.2.1.4 Linux 版本分类
-
按不同内核版本分类
Linux 内核是操作系统的核心部分,负责管理系统资源和硬件交互。内核的版本可以直接从 www.kernel.org 获取,这是官方发布和维护 Linux 内核的官方网站。以不同版本的 RHEL 为例:- RHEL 6.x 内核版本: 2.6.x
- RHEL 7.x 内核版本: 3.10.x
-
按不同发行版本分类
Linux 发行版是基于 Linux 内核构建的完整操作系统,通常包含各种软件包和工具,适合特定用途或用户群体。以下是几个主要的 Linux 发行版分类:-
RedHat 系列的发行版由 Red Hat 公司及其社区主导,主要面向企业级应用和开发者。以下是 RedHat 系列中常见的发行版:
发行版 简介 Fedora Fedora 是一个社区驱动的前沿发行版,注重引入最新的技术和软件包。它通常作为 RHEL 的测试平台,具有较短的更新周期,适合开发者和技术爱好者。 RHEL RHEL 是一款商业发行版,专为企业环境设计,以稳定性、安全性和长期支持为核心。RHEL 广泛应用于服务器、数据中心和关键任务系统,提供商业支持和企业级服务。 CentOS CentOS 是一个社区驱动的发行版,与 RHEL 二进制兼容。它提供 RHEL 的所有功能,但无需付费支持,适合企业和个人在生产环境中使用。 -
Debian 系列由 Debian 项目维护,强调自由软件原则和多平台支持。以下是 Debian 系列中的几个重要发行版:
发行版 Debian Debian 是一个稳定性和安全性兼备的社区驱动发行版,支持多种硬件平台。它拥有庞大的软件库和优秀的软件包管理系统,是其他许多发行版的基础。 Ubuntu Ubuntu 基于 Debian,由 Canonical 公司及其社区维护。Ubuntu 强调用户友好性,LTS 版本为企业和个人用户提供了长达 5 年的支持。

-
1.2.2 开源软件简介
开源软件(Open Source Software)指的是其源代码公开并允许用户自由查看、修改和分发的软件。开源软件的主要特点包括:
-
源代码开放:用户可以查看软件的源代码,理解其内部工作原理,甚至对其进行修改和改进。这使得软件可以根据具体需求进行定制。
-
自由使用:用户可以自由使用开源软件,通常不需要支付许可费用。开源软件通常根据不同的开源许可证发布,这些许可证定义了用户可以如何使用、修改和分发软件。

-
社区支持:开源软件往往由一个社区或组织进行维护和更新。社区成员可以贡献代码、报告问题、提供建议和帮助改进软件。这种协作模式促进了软件的快速发展和改进。
-
透明性:由于源代码是公开的,开源软件的安全性和稳定性可以得到更高的保障。用户和开发者可以审查代码,发现和修复潜在的漏洞和问题。
-
灵活性和定制:开源软件允许用户根据需要对其进行定制。企业和开发者可以根据自己的需求修改软件功能,甚至创建专门的版本来满足特定的应用场景。
以下列表涉及了一些常用的开源软件和技术:

| 软件 | 类型 |
|---|---|
| Apache | Web 服务器 |
| Nginx | Web 服务器 |
| MySQL | 数据库(SQL Server、Oracle) |
| PHP | 脚本语言 |
| Samba | Linux 和 Windows 之间的内网文件服务器 |
| MongoDB | NoSQL 数据库(Redis) |
| Python | 脚本语言 |
| Ruby | 脚本语言 |
| Sphinx | 中文分词 |
LAMP 就是支撑许多互联网应用的经典开源技术栈。它提供了一个开源、稳定、灵活的环境来开发和部署 Web 应用程序。

1.2.3 Linux 应用领域
- 基于 Linux 的服务器:Linux 服务器因其稳定性、可靠性和开源特性,被广泛用于互联网和企业环境,能够有效处理高负载任务并减少成本。
- Linux 在电影娱乐业:Linux 在电影娱乐业中用于高端渲染和动画制作,其稳定性和高性能支持了复杂的视觉效果和后期制作。
- Linux 在嵌入式领域:Linux 在嵌入式领域提供了灵活和高效的解决方案,被广泛应用于物联网设备、智能手机、网络设备和汽车系统中。
1.3 Linux 安装
1.3.1 VMware 虚拟机安装与使用
1.3.1.1 VMware 简介
VMware 是一个虚拟 PC 的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟出一台新的 PC ,以此来实现在一台机器上真正同时运行多个独立的操作系统。
VMware官方网站:http://www.vmware.com
VMware 主要有以下特点:
- 不需要分区或重新开机就能在同一台 PC 上使用两种以上的操作系统
- 本机系统可以与虚拟机系统网络通信
- 可以设定并且随时修改虚拟机操作系统的硬件环境
1.3.1.2 安装 VMware
VMware 建议的配置要求如下:
- CPU:建议主频为 1GHz 以上
- 内存:建议 1GB 以上
- 硬盘:建议分区空闲空间 8GB 以上
VMware 下载链接:VMware-Workstation-Lite-16.2.5-20904516-精简安装注册版.exe
VMware 的安装较为简单,除自定义安装路径外,其余默认即可。安装完成的主页如下所示

1.3.1.3 新建虚拟机
新建一个虚拟机除了需要安装 VMware 外,还需要一个 Linux 镜像,我选择的是 CentOS6.9 的镜像,该镜像可以前往 CentOS 的下载页进行下载:
查看详细步骤




也可以直接下载 Centos6.9 的镜像 CentOS-6.9-x86_64-bin-DVD1.iso。准备好 VMware 和 Centos 镜像后,就可以开始新建虚拟机了:
查看详细步骤
-
首先点击首页的 "创建新的虚拟机":

-
选择自定义安装,并选择默认的虚拟机硬件兼容性即可:


-
不要选择 "安装程序光盘映像文件(iso)",因为这会导致简易安装。而是选择 "稍后安装操作系统":

-
选择要安装的 Linux 的版本为 "CentOS 6 64 位",并且设置虚拟机名称和安装位置:


-
设置虚拟机的处理器数量和内存大小,由于目前只用于练习 Linux 的基础,所以默认设置即可,后续还可以根据自己需求更改:


-
虚拟机的网络配置先默认,后续再详细配置:

-
后续配置均默认即可,指定虚拟机的磁盘为默认大小即可,后续还可以根据自己需求更改:





-
选择 "自定义硬件" 指定下载好的 CentOS 镜像 后,选择 "完成" 结束安装:



1.1.3.4 虚拟机的管理操作
-
快照
快照是虚拟机在某一时刻的完整状态记录,包括虚拟机的内存、虚拟磁盘以及相关的硬件配置。创建快照后,虚拟机的所有状态(包括操作系统、运行的应用程序等)都可以保存下来,并且以后可以随时恢复到这个状态。新建一个虚拟机未进行系统的安装时,以及安装好系统未安装任何软件时,均建议创建一个初始快照可以保存干净的基础状态。这意味着如果之后的操作导致虚拟机出现问题,可以快速回滚到这个基础状态。
创建虚拟机快照的方式如下:
查看详细步骤
-
选择当前的虚拟机进行快照操作:

-
填写快照名称以及快照备注后,即可完成快照的创建:

-
-
克隆
克隆是将现有虚拟机的副本复制成一个新的虚拟机。克隆出来的新虚拟机可以与原虚拟机独立运行,拥有自己的配置和磁盘文件。和快照操作类似,克隆操作也可以创建虚拟机的备份副本,以便在原虚拟机损坏时快速恢复。并且可以快速创建多个相同配置的虚拟机实例,用于开发、测试或实验目的。
克隆虚拟机的具体方式如下:
查看详细步骤
-
选择当前的虚拟机进行克隆操作:

-
按照自己的情况选择从哪个状态创建克隆:


-
选择要进行克隆的类型:
- 完整克隆会复制虚拟机的所有内容,包括虚拟磁盘,因此克隆后的虚拟机完全独立于原虚拟机。完整克隆所需的时间较长,且占用较多的磁盘空间。
- 链接克隆基于原虚拟机的快照创建,只复制变化的部分,因此占用较少的磁盘空间,并且创建速度更快。链接克隆依赖于原始虚拟机,如果删除了原始虚拟机或其快照,链接克隆将无法正常运行。(推荐)

-
设置克隆虚拟机的名称和存储位置后,即可完成克隆:


-
1.1.3.5 虚拟机的网络配置
VMware 的网络配置涉及虚拟机如何与外部网络、主机系统以及其他虚拟机进行通信。
首先双击打开虚拟机的 "网络适配器":

打开虚拟机的 "网络适配器" 后可以看到 VMware 主要提供了多种网络模式,以满足不同的网络需求:

以下是对上图中的网络模式进行说明:
-
桥接模式(Bridged Networking):虚拟机通过宿主机 VMnet0 网卡桥接到真实网卡与外部网络通信。虚拟机拥有自己独立的 IP 地址(通常由 DHCP 服务器分配,或手动配置),因此在网络中表现为一台独立的计算机。它能够与局域网中的其他设备直接通信,并可以访问互联网。
-
NAT模式(Network Address Translation):虚拟机通过宿主机的 VMnet8 网卡与外部网络通信。VMnet8 提供一个私有的虚拟网络,虚拟机在这个网络中拥有一个私有 IP 地址。通过 NAT 机制,虚拟机的网络请求会通过宿主机的物理网络适配器访问外部网络。虽然虚拟机可以访问互联网,但外部设备无法直接访问虚拟机。
-
仅主机模式(Host-Only Networking):虚拟机通过宿主机的 VMnet1 网卡与宿主机进行通信,但无法访问外部网络。VMnet1 创建了一个仅供虚拟机和宿主机之间通信的私有网络。虚拟机与宿主机之间可以共享文件和资源,但无法与外部网络进行通信,也无法访问互联网。
-
自定义模式:VMware 允许用户创建自定义的虚拟网络,可以是桥接、NAT或仅主机模式的变种。如果手动选择 VMnet8 网卡,则相当于 NAT 模式;如果手动选择 VMnet1 网卡,则相当于仅主机模式;如果手动选择 VMnet0 网卡,则相当于桥接模式;其他的虚拟网卡可以用于创建更复杂或定制的虚拟网络,这些虚拟网卡的配置和用途可以根据用户的需求进行调整。
-
LAN 区段模式:LAN 区段是一个独立的虚拟网络,虚拟机只能与相同 LAN 区段内的其他虚拟机通信,无法与宿主机或外部网络通信。
宿主机的网卡(网络适配器)
网络适配器是用来连接到物理网络的硬件设备。网络适配器负责处理网络通信,它将数据包从计算机传输到网络,并接收来自网络的数据包。安装 VMware 虚拟机后再查看宿主机的网络连接可以发现,除原有的 WLAN(无线)和以太网(有线)真实(物理)网卡外,还新增了 VMnet1 和 VMnet8 两块虚拟网卡。
自定义模式和 LAN 区段模式适合高级用户或需要复杂网络配置的环境,一般我们使用桥接模式、NAT 模式以及仅主机模式即可,他们的特点总结如下:
| 连接方式 | 连接网卡 | 访问宿主机 | 被宿主机访问 | 访问局域网 | 被局域网访问 | 访问公网 | 被公网访问 |
|---|---|---|---|---|---|---|---|
| 桥接 | 真实物理网卡(通过 VMnet0 桥接) | 是 | 是 | 是 | 是 | 是 | 是 |
| NAT | VMnet8 | 是 | 是 | 否 | 否 | 是 | 否 |
| 仅主机 | VMnet1 | 是 | 是 | 否 | 否 | 否 | 否 |
从上表可知桥接模式的访问限制最小,所以推荐使用桥接模式作为虚拟机的网络配置。以下是配置桥接模式的详细步骤:
查看详细步骤
-
双击打开虚拟机的 "网络适配器" 选项后选择 "桥接模式":

-
在菜单栏选择【编辑】-【虚拟网络编辑器】来打开虚拟网络编辑器:

-
编辑虚拟网络需要授予管理员权限:

-
若有多张真实物理网卡,VMware 的桥接模式会自动选择一张网卡进行桥接,这很难导致桥接到未联通的网卡上,所以需要明确指定桥接的物理网卡,我选择桥接到我的无线网卡:

-
点击 "应用" 使网络生效后点击 "确认" 即可完成设置:

但在桥接模式下,虚拟机可以像物理机一样直接连接到网络,其 IP 地址需要与主机在同一个网段,并且和共享相同的网关与 DNS。所以可用于桥接模式的虚拟机 IP 数量是有限的,这可能导致真实网卡网段内的设备出现 IP 冲突。
如果没有局域网通信的需求,NAT 模式通常是更好的选择。在 NAT 模式下,虚拟机通过宿主机的 IP 地址进行网络通信,不需要单独的 IP 地址,从而避免了 IP 地址冲突的问题。
需要注意的是,使用 NAT 模式可能遇到宿主机(Windows)可以 ping 通虚拟机(Linux),而虚拟机无法 ping 通宿主机的情况,这是由于 Windows 防火墙可能阻止了从虚拟机到宿主机的 ICMP 请求(ping),可以尝试在 Windows 防火墙中允许 ICMP 回显请求,具体步骤如下:
查看详细步骤
-
打开控制面板,选择 "Windows Defender 防火墙",点击左侧的 "高级设置":

-
打开防火墙的配置界面后,在 "入站规则" 中找到 "文件和打印共享(回显请求 - ICMPv4-In)",确保其已启用:

1.3.2 系统分区
1.3.2.1 磁盘分区
-
什么是磁盘分区
磁盘分区是指使用分区编辑器(如 fdisk、Disk Management 或 GParted 等工具)将物理磁盘划分为多个逻辑部分。每个分区可以独立存储不同类别的目录与文件,从而在管理和组织存储资源时提供更大的灵活性。 -
分区表形式
分区表是记录磁盘上分区信息的数据结构,决定了磁盘的分区方式,并记录每个分区的起始和结束位置。不同的分区表形式适用于不同的操作系统和磁盘容量。以下是主要的两种分区表形式:磁盘分区的确是一个与操作系统独立的概念,不论是安装 Windows 还是 Linux 的 PC 都需要进行磁盘分区。
-
MBR(Master Boot Record,主引导记录):MBR 是一种传统的分区表形式,最早由 IBM 在 1983 年引入,广泛用于早期的 PC 和服务器。MBR 最大支持 2.1TB 的硬盘,并且最多支持 4 个主分区。由于其容量和分区数量的局限性,MBR 逐渐被新的标准所替代。
-
GPT(GUID Partition Table,全球唯一标识分区表):GPT 是一种较新的分区表形式,作为 UEFI(统一可扩展固件接口)标准的一部分,旨在替代 MBR,提供更灵活和强大的分区管理能力。GPT 支持最大 9.4ZB 的硬盘容量(1ZB = 1024PB,1PB = 1024EB,1EB = 1024TB),理论上支持无限制的分区数量,但在 Windows 系统中,限制为最多 128 个主分区。
-
-
分区的类型
使用 MBR 分区表的磁盘的分区可以分为以下几种类型:-
主分区:主分区是磁盘上最基本的分区类型。在传统的 MBR(主引导记录)分区表中,一个磁盘最多可以有 4 个主分区。主分区通常用于存放操作系统、启动文件或其他重要数据。计算机启动时,主分区中的一个可以被标记为“活动分区”,以便从该分区启动操作系统。
-
扩展分区:扩展分区是用于绕过 MBR 分区表中最多 4 个主分区限制的一种特殊分区类型,但主分区加扩展分区还是最多只能有 4 个。它本身不能写入数据,只能包含多个逻辑分区。扩展分区内的逻辑分区可以用于存储文件、数据或安装额外的操作系统。
-
逻辑分区:逻辑分区是扩展分区中的实际存储分区。在一个扩展分区内,你可以创建多个逻辑分区,用于存储不同类型的数据、安装操作系统或进行其他用途。逻辑分区的数量没有固定限制,受制于磁盘和操作系统的支持能力。
-
1.3.2.2 格式化
格式化是为分区写入文件系统的过程,使得分区能够被操作系统识别和使用。格式会将分区数据清空,并将整个分区划分为数据存储区域和管理区域,以下是对这两个分区的介绍:
常见文件系统
FAT16、FAT32、NTFS 是主要用于 Windows 操作系统的文件系统,而 EXT2、EXT3、EXT4、XFS 则是主要用于 Linux 的文件系统,目前 RHEL 和其他现代 Linux 发行版通常使用 EXT4 或 XFS 作为默认文件系统,以提供更高的性能和可靠性。
-
数据存储区域
在数据存储区域内,分区会被进一步划分为多个 block(数据块),这些 block 是用于实际存储数据的基本单位。每个 block 通常大小固定,Linux 系统中默认的 block 大小为 4 KB,但也可以选择 2 KB 或 1 KB。block 的存储具有以下特点:
(1)大于一个 block 的文件会被分割并存储在多个 block 中,这些 block 可能是连续的,也可能是分散的,视存储空间的利用情况而定。
(2)一个 block 是存储数据的最小单位,如果一个 block 存储了部分数据,剩余的空间将无法再存储其他文件数据。
(3)由于 block 可能是分散存放的,为了提高读写速度,可以通过磁盘碎片整理工具将分散的块尽量整理在一起。 -
管理区域
在管理区域中,存放着一系列 INode,它们是文件系统用来管理文件和目录的关键数据结构。每个 INode 包含 INode 号、文件权限、文件时间戳、文件大小以及 block 指针等信息。注意
每个文件系统中的 INode 数量是有限的,尽管这种限制在现代系统中不常见,但在特殊情况(如一直写入空文件)下可能会达到限制,导致无法再存储新的文件。
总的来说,INode 区域存放了文件的元数据,而数据存储区域则包含文件的实际数据。每个 INode 通过指针与数据存储区域中的一个或多个 block 相关联,以组织和访问文件数据。
1.3.2.3 硬件设备文件名
在 Linux 系统中,硬件设备通常被表示为文件,并且这些设备文件被存储在 /dev 目录下。每个硬件设备对应一个特定的设备文件名,这些文件名通常会遵循一定的命名规则,以下是一些常见的设备文件名及其对应的硬件设备类型:
| 设备名称 | 设备文件名 |
|---|---|
| IDE硬盘 | /dev/hd[a-d] |
| SCSI/SATA/USB硬盘 | /dev/sd[a-p] |
| 光驱 | /dev/cdrom或/dev/sr0 |
| 软盘 | /dev/fd[o-1] |
| 打印机(25针) | /dev/lp[0-2] |
| 打印机(USB) | /dev/usb/lp[0-15] |
| 鼠标 | /dev/mouse |
|
|
|
现在对硬盘设备的设备文件名进行详细介绍:
-
磁盘接口标识
- HD:代表老式的 IDE 接口(现已淘汰),对应的设备文件名为
/dev/hd[a-d]。 - SD:代表现代的 SATA、USB 接口或 SCSI(现已淘汰),对应的设备文件名为
/dev/sd[a-p]。
- HD:代表老式的 IDE 接口(现已淘汰),对应的设备文件名为
-
设备编号
使用 sda、sdb、sdc 等表示硬盘编号。sda 是第一块硬盘,sdb 是第二块,以此类推。 -
分区编号
使用数字表示分区。主分区和扩展分区的编号限制在 1~4。而扩展分区再分为逻辑分区,逻辑分区的编号将始终从 5 开始。例如,sda1 表示第一块硬盘的第一个主分区,sdb5 表示第二块硬盘的第一个逻辑分区。

1.3.2.4 挂载
-
什么是挂载
在 Linux 中,挂载是将存储设备(如硬盘分区)接入到系统的文件系统结构中的过程,使得设备中的文件可以被访问和操作。 -
什么是挂载点
挂载点是一个已经存在的空目录,作为访问挂载设备的入口。所有的挂载点必须是空目录,并且必须存在于系统中。 -
为什么需要挂载
Windows 的文件系统结构是由多个并列的树状结构组成的,每个树状结构的顶部是一个不同的磁盘(或分区),如C:\、D:\等。每个磁盘(或分区)都有自己的根目录和文件系统结构。盘符本身就是入口点,因此不需要额外的挂载过程。用户可以直接通过该盘符访问设备中的内容。而 Linux 的文件系统结构是一个单一的树状结构,所有的文件和目录都挂载在这个树状结构的某个节点上。根目录(
/)是这一结构的起点,所有其他目录和文件都是根目录的子目录或文件。每个存储设备(如硬盘分区)都必须挂载到树中的某个目录下,才能被访问。
-
Linux 分区建议
必须分区
-
/分区(根分区):/分区是和根目录/挂载的分区,其包含操作系统的核心文件和目录。 -
swap 分区(交换分区):swap 分区不会挂载到文件系统中的某个目录,它通过内核直接管理。当系统的物理内存(RAM)不足时,swap 分区会提供额外的虚拟内存。通常 swap 分区大小按以下规则进行分配:
(1)当内存小于 4GB 时,建议 swap 分区大小为实际内存的 2 倍
(2)当内存大于 4GB 时,建议 swap 分区大小等于内存大小或适当减少。
推荐分区
/boot分区(启动分区):/boot分区是和/boot目录挂载的分区,其存放系统启动所需文件,包括引导加载程序和内核文件等。对于大多数现代 Linux 系统,/boot分区的推荐大小通常设置为 1 GB。这个大小通常足够存放多个内核版本和引导加载程序文件。注意
如果未配置/boot分区,根分区存满后,系统无法更新或安装新的引导加载程序和内核文件。这可能会导致启动失败,因为系统无法读取或加载所需的引导文件。所以推荐一定要设置/boot分区。
常用分区
-
/home分区:/home分区是和/home目录挂载的分区,其用于存储用户的个人数据和设置。 -
/www分区:/www分区是和/www目录挂载的分区,其用于存放Web服务器的文件和网站数据。 -
/var分区:/var分区是和/var目录挂载的分区,其用于存储系统日志文件、缓存文件和数据库文件等。注意
某些特殊目录不能作为挂载点,例如/bin、/lib、/etc等目录。这是因为这些目录中包含了系统运行所需的最基本的文件、命令和配置。这些目录若不在根分区中则可能会导致系统出现问题。
-
-
目录和分区的关系
根目录是 Linux 文件系统的顶层目录,所有其他目录(如/home)都是它的子目录。如果单独将分区挂载到了某些目录(如/home),这些目录将有自己的存储空间,不会影响根分区的可用空间。此时,从目录角度看,/home目录和/目录是从属关系;而从分区角度看,/home目录实际对应于一个不同的分区,/home分区和/分区是并列关系。目录和分区在 Linux 系统中通过挂载操作实现了逻辑上的从属与物理上的并列共存,这种设计既保证了文件系统的清晰结构,又提供了灵活的数据管理和保护机制。
1.3.3 Linux 系统安装
CentOS6.9 的详细安装步骤如下所示:
查看详细步骤
-
启动已经配置好的虚拟机,选择安装 CentOS 系统并跳过扫描光盘:


-
等待一会儿后,会进入选择安装语言的界面,推荐安装中文,因为中文会自动安装中文字体和字符集,可以避免 Liunx 中的中文乱码问题(学习阶段推荐这样做):


-
然后选择默认的键盘布局即可:

-
在基础阶段不涉及网络存储,选择基本存储即可,并选择同意忽略所有数据进行格式化:


-
在学习阶段保持默认主机名即可(因为修改后可能影响某些软件的安装,但在生产环境需要进行修改),并且保持默认网络配置即可,会在登录系统后再进行更详细的配置:

-
时区设置为 "亚洲/上海":

-
设置 root 用户的密码,如果密码设置过于简单可以选择 "无论如何都使用" 来强制使用(生产环境中需要避免使用简单的密码):

-
接着定义磁盘分区,选择自定义分区(因为其他分区会使用到 LVM 机制,现在还未学习到),然后先后使用标准分区创建
/home分区、/boot分区、swap 分区以及/分区:







-
在设置好分区后选择 "下一步" 并同意进行格式化将修改写入磁盘:



-
接着选择安装默认的启动引导程序即可,并选择安装 Linux 的基本服务(在生产环境推荐选择最小安装):


-
等待 CentOS 安装结束即可,安装完成后还是建议创建一个初始系统的快照:



1.3.4 远程管理工具
安装好 CentOS 系统后就可以正常登录了,只需要输入用户名和密码即可:

但直接使用 VMware 登录 Linux 在使用体验上存在一些明显的不足,比如字体大小的调整、缺少高亮显示以及不便的复制粘贴功能。这些限制确实会影响日常的管理和操作体验,因此使用远程管理工具来登录 Linux 是一个更好的选择。这类工具不仅可以弥补这些不足,还能提供更丰富的功能和更好的用户体验。
以下是一些常用的远程管理工具,可以访问其官网进行下载:
-
FinalShell:一款集成终端、文件传输和远程桌面功能的跨平台远程管理工具,适用于 Linux 和 Windows 服务器。
-
Xshell:Xshell 是一款功能强大的 SSH 客户端软件,具备多会话管理、文件传输、脚本支持等功能,适用于 Linux 和 Windows 服务器。
-
WinSCP:专注于 Windows 环境下的 SFTP 和 FTP 客户端,支持文件传输和远程编辑,适合与 Linux 服务器交互。
要使用远程管理工具远程登录和管理 Linux 系统,首先需要为你的 CentOS 系统配置一个 IP 地址,以便从网络中访问。CentOS6.9 中我们可以使用 setup 工具来配置 IP 地址:
查看详细步骤
-
首先输入以下命令启动 setup 工具:
setup -
在 setup 工具的菜单中选择 "Network Configuration" 选项进行网络配置:

-
在 "Network Configuration" 菜单中,选择 "Device configuration" 选项进行网络设备配置:

-
在设备列表中,选择你想要配置的网卡(例如第一块网卡是 eth0,第二块网卡是 eth1,以此类推):

-
自定义 IP 地址需要将 "Use DHCP" 选项取消(即使用空格将
*号去掉),然后才能手动输入静态 IP 地址、子网掩码、网关和 DNS 服务器的 IP 地址:DHCP
DHCP(动态主机配置协议,Dynamic Host Configuration Protocol)是一种网络协议,用于自动分配IP地址和其他网络配置信息(如子网掩码、网关、DNS服务器等)给网络中的设备。取消使用 DHCP 是为了确保设备的 IP 地址不会发生变化。
配置项 描述 示例 Static IP配置静态 IP 地址 192.168.1.10Netmask配置子网掩码 255.255.255.0Default gateway IP配置默认网关 IP 192.168.1.1Primary DNS Server配置首选 DNS 服务器 8.8.8.8Secondary DNS Server配置备用 DNS 服务器 8.8.4.4网络配置信息的具体配置步骤如下,以桥接模式为例:
-
前往【网络连接】查看虚拟机所连接网卡(桥接模式查看通过 VMnet0 桥接的真实网卡、NAT 模式查看 VMnet8 网卡、仅主机模式查看 VMnet1 网卡)的详细信息:


注意
NAT 模式可以在 "虚拟网络编辑器" 中修改网关 IP 地址。 -
设置静态 IP 地址 和宿主机 IP 地址同处一个网段(
192.168.4.1~192.168.4.254),但又不能和宿主机 IP(192.168.4.126)以及网关 IP(192.168.4.1)相同,所以我设置为192.168.4.233(也不能和同个局域网内其他设备的 IP 一样):

-
设置子网掩码、网关 IP 和宿主机一致,所以我子网掩码设置为
255.255.255.0,而网关 IP 设置为192.168.4.1:

-
当前宿主机的 DNS 服务器地址和网关 IP 相同,说明宿主机将网关(通常是路由器)作为 DNS 中继服务器。我们也可以选用网关作为虚拟机的 DNS 中继服务器(将 "Primary DNS Server" 设置为
192.168.4.1),也可以选择公共 DNS 服务器,例如8.8.8.8和8.8.4.4(由 Google 提供),或者1.1.1.1和1.0.0.1(由 Cloudflare 提供)。我选择公共 DNS 服务器:

-
修改完配置后还需要将 "on boot" 选项勾选上(使用空格),以确保更改在每次系统启动时都生效:

-
-
最后依次保存返回:




-
输入以下命令重启网络服务:
service network restart然后使用以下命令验证是否配置成功:
ifconfig
lo 网卡
lo 网卡是 Linux 操作系统中的一个虚拟网络接口,也称为回环接口(loopback interface)。它的主要作用是让系统内部的程序能够通过网络协议与自身通信。通常配置有127.0.0.1作为 IPv4 地址和::1作为 IPv6 地址。这些地址用于本地系统内部的通信。
1.4 初学者注意事项
1.4.1 Linux 和 Windows 使用上的差异
-
Linux 严格区分大小写
Linux 是严格区分大小写的,这一点和 Windows 不一样,所以操作时要注意区分大小写的不同, 包括文件名和目录名、命令、命令选项、配置文件设置选项等。
-
Linux 中一切皆文件
Linux 中所有内容都是以文件的形式保存和管理的,硬件设备也是文件,这和 Windows 完全不同,Windows 是通过设备管理器来管理硬件的。 Linux 的设备文件保存在
/dev/目录中,硬盘文件是/dev/sd[a-p],光盘文件是/dev/hdc等。 -
Linux 不靠扩展名区分文件类型
在 Windows 中,文件类型主要依赖扩展名来区分,例如 .txt 表示文本文件,.exe 表示可执行文件等。而在 Linux 中,文件类型由权限位标识决定,文件类型种类较少,主要包括普通文件、目录、链接文件、块设备文件、字符设备文件等。可执行文件只需赋予普通文件执行权限即可,扩展名并不强制要求。然而,为了便于管理员区分文件用途,某些文件类型仍然使用扩展名。这样的文件扩展名主要有以下几种:
-
压缩包:如 .gz、.bz2、.zip、.tar.gz、.tar.bz2 等,用来直观表示文件是某种压缩格式,便于解压和识别。
-
二进制软件包:例如 .rpm 用于表示 Red Hat 系的 RPM 包安装文件,这类扩展名帮助管理员快速识别软件包类型。
-
程序文件:如 .sh 表示Shell脚本,.c 表示 c 语言源文件,扩展名并不是强制要求,但可以帮助快速区分不同编程语言的源文件。
-
配置文件:如 .conf、.ini、.cfg 等,通常用于表示配置文件,方便系统管理员查找和修改。
-
网页文件:如 .html、.php 等,主要用于区分网页相关文件类型,便于服务器识别和处理。
注意
可以使用file命令来判断文件类型,它会分析文件的内容,而不是依赖扩展名。例如file archive.tar.gz。 -
-
Linux 中所有的存储设备都必须在挂载之后才能使用
在 Linux 中,所有的存储设备都有对应的设备文件名,如硬盘、U盘和光盘。这些设备必须通过挂载后才能使用,挂载的过程就是为存储设备分配访问路径。与Windows中的盘符(如
C:、D:)不同,Linux 中的盘符是一个已经建立的空目录,称为挂载点。将存储设备文件(如/dev/sdb)与挂载点(如/mnt/usb)连接的过程就叫作挂载。通过挂载,用户可以访问设备上的文件系统。 -
Windows 下的程序不能直接在 Linux 中使用
Linux 和 Windows 是两种不同的操作系统,它们的软件生态也不相同,因此在 Windows 中安装的软件无法直接在 Linux 中安装。这种差异带来的好处是,Windows 病毒和木马无法在 Linux 中运行,使 Linux 相对更安全。然而,坏处则在于许多软件必须专门开发 Linux 版本,或者通过模拟器(如 Wine)来运行 Windows 软件。不过,很多主流软件会同时推出 Windows 和 Linux 版本,如大家熟悉的 QQ 等应用。
1.4.2 Linux 目录结构
以下表格总结了常见的 Linux 一级目录及其作用:
| 目录名 | 目录作用 |
|---|---|
/bin |
存放系统命令的目录,普通用户和超级用户都可以执行。是 /usr/bin/ 目录的软链接 |
/boot |
系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(GRUB)文件等 |
/cgroup |
提供 Linux 控制组(cgroups)的挂载点,主要用于资源管理。 |
/dev |
设备文件的保存位置 |
/etc |
配置文件保存位置。系统内所有采用默认安装方式(RPM 安装)的服务配置文件均保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等 |
/home |
普通用户的家目录。每个用户在创建时都会有一个默认的家目录,用于登录和保存数据,所有普通用户的宿主目录位于 /home/ 下,例如用户 user1 的家目录是 /home/user1/ |
/lib |
系统调用的函数库保存位置。是 /usr/lib/ 的软链接 |
/lib64 |
64 位函数库保存位置。是 /usr/lib64/ 的软链接 |
/lost+found |
当系统意外崩溃或异常关机时产生的文件碎片会保存在此目录。系统启动时,fsck 工具会检查并修复损坏的文件系统。该目录仅在每个分区中出现,例如 /lost+found/ 是根分区的备份恢复目录, /boot/lost+found/ 是 /boot/ 分区的备份恢复目录 |
/media |
挂载目录,系统建议用于挂载媒体设备,如软盘和光盘 |
/mnt |
挂载目录,系统建议用于临时挂载文件系统。虽然预设了多个挂载目录,但实际使用中,管理员可自行决定在哪个目录中挂载设备,由于早期系统中只有一个挂载目录 /mnt/,没有细分,所以习惯是在该目录下创建不同子目录用于挂载设备,如 /mnt/cdrom/ 用于挂载光盘,/mnt/usb/ 用于挂载 U 盘 |
/misc |
挂载目录,系统建议用于存放那些暂时不需要分类或归档的文件。 |
/net |
挂载目录,系统建议用于挂载 NFS 服务的共享目录。 |
/opt |
第三方安装的软件保存位置。此目录用于安装和存放手动安装的软件包,但系统管理员也常将软件安装到 /usr/local/ 目录中 |
/proc |
虚拟文件系统。该目录中的数据保存在内存中,主要存储系统的内核、进程、外部设备状态和网络状态等信息。例如,/proc/cpuinfo 保存 CPU 信息,/proc/devices 保存设备驱动列表,/proc/filesystems 保存文件系统列表,/proc/net 保存网络协议信息等 |
/root |
root 用户的家目录。普通用户的家目录位于 /home/ 下,而 root 用户的家目录直接位于根目录 / 下 |
/run |
系统运行时产生的数据保存位置,如服务的 PID 文件。/var/run/ 是 /run/ 目录的软链接 |
/sbin |
存放系统命令的目录,只有超级用户才可以执行。是 /usr/sbin/ 目录的软链接 |
/selinux |
存放 SELinux(安全增强型 Linux)相关的文件,提供强制访问控制功能,可以限制包括 root 用户在内的所有用户和进程的权限。 |
/srv |
存储服务相关的数据,如 Web 服务器和 FTP 服务器提供的数据。某些服务启动后,会将所需数据保存在此目录中 |
/sys |
包含系统硬件信息的虚拟文件系统。与 /proc/ 目录相似,该目录保存内核相关的实时信息,保存在内存中 |
/tmp |
存放临时文件的目录,系统和用户可以随意写入,并且该目录会在系统重启后会被清空 |
/usr |
系统软件资源目录。usr 并非 user 的缩写,而是 "UNIX Software Resource" 的缩写,用于存放系统软件资源,而非用户数据。大部分系统安装的软件均保存在此目录中 |
/var |
动态数据保存位置,主要用于保存缓存、日志及程序运行时产生的数据 |
接着是常用的多级目录及其作用:
| 目录名 | 目录的作用 |
|---|---|
/usr/bin |
存放系统命令的目录,普通用户和超级用户都可以执行 |
/usr/sbin |
存放系统命令的目录,只有超级用户才可以执行 |
/usr/lib |
应用程序调用的函数库保存位置 |
/usr/local |
手动安装的软件保存位置。通常建议将源码包软件安装在此目录 |
/usr/share |
应用程序的资源文件保存位置,如帮助文档、说明文件和字体文件等 |
/usr/src |
源码包保存位置。用户手动下载的源码包及内核源码包通常保存在此目录,但习惯上将源码包保存在 /usr/local/src 目录,而将内核源码保存在 /usr/src/kernels 目录 |
/usr/src/kernels |
内核源码保存位置 |
/var/www/html |
RPM 包安装的 Apache 的网页主目录 |
/var/lib |
程序运行中需要调用或更改的数据保存位置,例如 MySQL 的数据库文件保存在 /var/lib/mysql 目录 |
/var/log |
系统日志保存位置 |
/var/run |
某些服务或程序运行后,它们的 PID 文件保存位置。是 /run 目录的软链接 |
/var/spool |
用于保存排队等待其他程序使用的数据,如邮件队列和打印队列 |
/var/spool/mail |
新收到的邮件队列保存位置,系统接收的新邮件会存放在此目录 |
/var/spool/cron |
系统定时任务队列保存位置,计划任务文件会存放在此目录中 |
1.4.3 Linux 管理建议
-
远程服务器关机的注意事项
由于远程服务器不在本地,关机后无法物理地按电源按钮开机,只能依赖托管机房的管理人员来重启服务器。因此,除非有必要,避免远程关机。 -
远程服务器重启的注意事项
在重启服务器前,必须中止正在运行的服务,尤其是涉及高速数据存储的服务。强制重启或断电可能会导致数据损坏,甚至硬盘损坏。尽量关闭对外服务的网络连接,以确保重启过程中的安全。所以建议:- 在重启前,建议执行几次
sync命令,将保存在内存中的数据同步到硬盘,以防止数据丢失。 - 并且使用安全的重启命令,如
shutdown -r now。该命令会在重启时正常保存和中止正在运行的程序,确保安全重启。
- 在重启前,建议执行几次
-
不要在服务器访问高峰运行高负载命令
在访问高峰期运行高负载的命令,可能导致服务器资源消耗过多,进而引发响应缓慢,甚至可能导致服务器宕机或崩溃。常见的高负载操作包括:- 复制大量数据
- 压缩或解压大文件
- 执行大范围硬盘搜索
- 数据库大规模查询或更新
访问高峰期是指服务器流量和资源需求较高的时段。通常认为 17:00 至 24:00 是访问高峰期,但具体时间因服务器的服务对象和服务内容而异。例如针对不同国家的用户,需考虑时差或某些特定服务(如直播或重大事件)可能会有特殊的高峰时段。
建议在访问量低的时段进行高负载操作,如凌晨 4:00—5:00,这时服务器负载较低,执行高负载任务的风险也较小。并且为避免在非工作时间手动执行高负载任务,可以利用系统的计划任务功能。通过配置定时任务,自动在服务器低峰期执行这些命令,保证服务器在高峰期性能稳定。
-
远程配置防火墙时不要把自己踢出服务器
防火墙是一种通过过滤数据包来保护服务器安全的设备。配置得当可以阻止有害的流量,但配置错误可能导致正常的访问也被阻止,特别是误关闭了 SSH 服务的端口,这会导致管理员无法远程登录。以下是几种避免误操作导致被踢出服务器的方法:
-
本地配置防火墙:最安全的方法是在服务器本地进行防火墙配置。如果不慎把远程登录端口(如 SSH)阻止了,管理员仍然可以通过本地访问服务器进行修复。
-
本地测试后再上传:在本地先测试防火墙规则,并确保防火墙配置正常工作,然后再将配置上传到远程服务器,减少出错的机会。
-
使用定时任务清除防火墙规则:如果必须在远程环境下配置防火墙,建议写一个定时任务,每 5 分钟清空防火墙规则。这样即使配置出现问题,也能自动恢复连接。等测试无误后再删除定时任务即可。
-
-
指定合理的密码并定期更新
在设置密码时,需要遵循以下规范:- 复杂性:
(1)密码长度应大于 8 位;
(2)密码必须至少包含大写字母、小写字母、数字、特殊字符中的三种;
(3)不允许使用与个人信息相关的内容,例如姓名、生日、身份证号等相关的个人信息;
(4)不允许使用常见的英文单词,以防止字典攻击。 - 易记忆性:尽量通过使用独特的缩写、词组或短语,结合必要的符号和数字,使密码复杂但易于记忆。
- 时效性:密码必须每 180 天强制更换一次,防止长期使用带来的安全隐患。
- 复杂性:
-
合理分配权限
服务器管理有一个最简单的原则:给予用户最小的权限。 -
定期备份重要数据
应遵循“不要把鸡蛋放在同一个篮子里”的原则,确保备份分布在不同位置和介质上,这样可以有效降低数据丢失风险并确保数据可恢复。
1.5 常用命令
1.5.1 命令的基本格式
1.5.1.1 命令的提示符
[root@localhost ~]#
说明:
[]:这是提示符的分隔符号,没有特殊含义。root:显示的是当前的登录用户,表示当前以超级用户(root)身份登录,拥有系统的最高权限。@:分隔符号,没有特殊含义。localhost:当前系统的简写主机名(完整主机名是 localhost.localdomain)。如果系统配置了特定主机名,这里会显示相应的主机名。~:代表用户当前所在的目录(最后一级目录),此例中用户当前所在的目录是家目录。#:命令的提示符。表示操作用户的身份,超级用户是#,普通用户是$。
1.5.1.2 命令的基本格式
命令 [选项] [参数]
上述基本格式中:
命令表示要执行的具体操作,例如 ls、cp、ping 等。[选项]用于修改或扩展命令的功能,通常以短横线-或双短横线--开头,后跟具体的选项名,例如 -l、--help 等。并且选项可以单独使用,也可以组合(一般不分先后)。[参数]表示命令的操作对象,例如文件、目录、地址等,是命令的实际操作目标。如果省略参数,则存在默认值。
注意
在命令的语法中,[选项]和[参数]中的方括号[]表示这些内容是可选的,不是必须要提供的。
1.5.2 目录操作命令
1.5.2.1 ls 命令
ls 是最常见的目录操作命令,主要作用是显示目录下的内容:
- 命令名称:
ls - 英文原意: list
- 所在路径:
/bin/ls - 执行权限:所有用户
- 功能描述:显示目录下的内容
其基本语法格式如下:
ls [选项] [文件名或目录名]
说明:
-
[选项]:选项 描述 -a显示所有文件 --color=when支持颜色输出, when的值可以是always、never或auto-d显示目录信息,而不是目录下的文件 -h人性化显示,按照我们习惯的单位显示文件大小 -i显示文件的 i 节点号 -l长格式显示 -
[文件名或目录名]:指示ls命令要操作的文件或目录。
(1)如果是文件名,则会显示该文件的信息;
(2)如果是目录名,则会列出该目录中的内容;
(3)如果不指定文件名或目录名,ls默认显示当前目录的内容。
举个几个具体的例子:
-
-l选项

-l选项用于显示文件的详细信息,详细信息的结果包含了七列数据,它们的含义如下:- 第一列:权限。 具体权限的含义在《1.5.5 基本权限管理》中讲解。
- 第二列:引用计数。文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录有多少个一级子目录。
- 第三列:所有者,也就是这个文件属于哪个用户。 默认所有者是文件的建立用户
- 第四列:所属组。默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
- 第五列:大小。默认单位是字节。
- 第六列:文件修改时间。文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个时间不是文件的创建时间。
- 第七列:文件名。
-
-a选项

-a选项用于显示所有文件,命令显示的结果可以分为以下几类:- 普通文件或目录:没有以 . 开头的常规文件或目录。它们可以是用户创建的文件或系统文件,通常会在
ls的默认输出中显示。 - 隐藏文件或目录:名称以 . 开头,默认情况下不会被
ls命令显示,只有加上-a选项后才会显示。隐藏文件一般用于存储用户配置或系统设置,隐藏目录如 .git、.config。 - 特殊目录:在文件系统中,. 和 .. 是两个特殊的目录项,. 代表当前目录,而 .. 代表上一级目录。
- 普通文件或目录:没有以 . 开头的常规文件或目录。它们可以是用户创建的文件或系统文件,通常会在
-
-h选项

-h选项用于在ls -l命令中将文件大小以可读格式显示,即以 KB、MB、GB 等单位代替字节数。这可以更方便地查看文件的大小,而不需要手动计算字节数。 -
--color选项

--color选项用于在ls命令输出中为不同类型的文件和目录显示不同的颜色,使用户更容易区分它们。其主要有以下三种取值:always:始终使用颜色。auto(默认):根据输出环境自动决定是否使用颜色。如果输出到终端,使用颜色;如果输出到文件,不使用颜色。never:从不使用颜色。
-
-d选项

-d选项用于显示目录本身的信息,而不是列出目录中的内容。 -
-i选项

-i选项用于显示文件或目录的 Inode 编号。
1.5.3.2 cd 命令
cd 是切换所在目录的命令,这个命令的基本信息如下。
- 命令名称:
cd - 英文原意: change directory
- 所在路径: Shell 内置命令
- 执行权限:所有用户
- 功能描述:切换所在目录
-
cd命令的简化用法
在使用cd命令时,可以使用一些特殊符号来简化路径输入:特殊符号 作用 ~代表用户的家目录。例如, cd ~会将用户带到其主目录。-代表上次所在的目录。例如, cd -会切换回用户上次的工作目录。.代表当前目录。虽然通常不需要使用,但在一些脚本或路径操作中可能有用。 ..代表上级目录。 cd ..可以切换到当前目录的父目录。 -
绝对路径和相对路径
绝对路径和相对路径是文件系统中的两种路径表示方式,用于指示文件或目录在系统中的位置:-
绝对路径:绝对路径是从文件系统的根目录(
/)开始,明确指定一个文件或目录的位置。它完整地描述了从根目录到目标文件或目录的所有层级。 -
相对路径:相对路径是基于当前工作目录来指定目标文件或目录的位置,而不是从根目录开始。相对路径依赖于你当前所在的目录,通过与当前目录的关系找到目标。
-
1.5.2.3 pwd 命令
pwd 命令是查询所在目录的命令,基本信息如下:
- 命令名称:
pwd - 英文原意: print name of current/working directory
- 所在路径:
/bin/pwd - 执行权限:所有用户。
- 功能描述:查询所在的工作目录。
1.5.2.4 mkdir 命令
mkdir 是创建目录的命令, 其基本信息如下。
- 命令名称:
mkdir。 - 英文原意: make directories。
- 所在路径:
/bin/mkdir。 - 执行权限:所有用户。
- 功能描述:创建空目录。
其基本语法格式如下:
mkdir [选项] [目录名]
说明:
-
[选项]:选项 描述 -p递归建立所需目录 -
[目录名]:可以是单个目录名,也可以是多个用空格分隔的目录名。但创建的目录名不能和现有文件或目录同名。
举个几个具体的例子:
-
mkdir命令可以同时创建多个目录:

-
mkdir命令使用-p选项可以递归创建目录:

1.5.2.5 rmdir 命令
既然有建立目录的命令,就一定会有删除目录的命令 rmdir, 其基本信息如下。
- 命令名称:
rmdir - 英文原意: remove empty directories
- 所在路径:
/bin/rmdir - 执行权限:所有用户
- 功能描述:删除空目录
其基本语法格式如下:
rmdir [选项] [目录名]
说明:
-
[选项]:选项 描述 -p递归删除空目录 -
[目录名]:可以是单个目录名,也可以是多个用空格分隔的目录名。但必须是空目录。
rmdir 命令的作用十分有限,因为只能删除空目录, 所以一旦目录中有内容,就会报错。所以后续删除文件或目录都会使用 rm 命令。
1.5.3 文件操作命令
1.5.3.1 touch 命令
touch 命令创建空文件或修改文件时间, 该命令的基本信息如下:
- 命令名称:
touch - 英文原意: change file timestamps
- 所在路径:
/bin/touch - 执行权限:所有用户
- 功能描述:修改文件的时间戳
其基本语法格式如下:
touch [选项] 文件
说明:
-
[选项]:选项 描述 -a仅修改文件的访问时间 -m仅修改文件的修改时间 -c如果文件不存在,则不创建文件 -d使用指定的日期时间修改文件的时间戳 -
文件:指要创建或修改时间戳的文件路径,可以是相对路径或绝对路径。
touch 命令用于创建一个新的空文件或更新现有文件的访问和修改时间。 如果文件不存在,则会创建一个新的空文件;如果文件存在,则会更新该文件的时间戳而不改变其内容。
1.5.3.2 stat 命令
stat 是查看文件详细信息的命令。其基本信息如下。
- 命令名称:
stat - 英文原意: display file or file system status。
- 所在路径:
/usr/bin/stat - 执行权限:所有用户
- 功能描述:显示文件或文件系统的详细信息
stat 命令用于查看文件或文件系统的详细信息,具体输出内容如下:

以下是 stat 命令输出中的各个字段及其含义的详细说明:
| 字段 | 含义 |
|---|---|
File |
文件的名称 |
Size |
文件的大小(以字节为单位) |
Blocks |
文件占用的块数 |
IO Block |
文件系统的块大小(以字节为单位),即文件在磁盘上读写时的最小单位 |
<文件类型> |
文件类型描述 |
Device |
文件所在设备的设备号(以十六进制和十进制)。 |
Inode |
文件的 Inode 号 |
Links |
文件的硬链接数 |
Access |
文件的权限(以八进制和符号方式表示),以及文件的所有者 UID 和 GID。 |
Access (Time) |
文件最后一次被访问的时间(atime)。 |
Modify (Time) |
文件内容最后一次被修改的时间(mtime)。 |
Change (Time) |
文件元数据(如权限、所有者等)最后一次被修改的时间(ctime)。 |
Windows 操作系统通常会记录文件的创建时间,而 Linux 文件系统不记录文件的创建时间(即文件首次被创建的时间)。
1.5.3.3 cat 命令
cat 命令用来查看文件内容。 这个命令的基本信息如下:
- 命令名称:
cat - 英文原意:concatenate files and print on the standard output
- 所在路径:
/bin/cat - 执行权限:所有用户
- 功能描述:合并文件并打印输出到标准输出
其基本语法格式如下:
cat [选项] [文件...]
说明:
-
[选项]: -
[文件...]:指定要查看或合并的文件路径,可以是一个或多个文件。如果不指定文件,cat命令将从标准输入读取数据,直到遇到 EOF(文件结束标志)。
1.5.4 目录/文件操作命令用于
1.5.4.1 rm 命令
rm 是强大的删除命令,不仅可以删除文件,也可以删除目录。 这个命令的基本信息如下:
- 命令名称:
rm - 英文原意: remove files or directories
- 所在路径:
/bin/rm - 执行权限:所有用户
- 功能描述:删除文件或目录
其基本语法格式如下:
rm [选项] 文件或目录
说明:
-
[选项]:选项 描述 -f强制删除文件或目录,即不提示确认信息 -i(默认)交互删除文件或目录,即删除前会提示确认信息 -r递归删除文件或目录 -
文件或目录:指要删除的文件或目录路径,可以用于删除非空目录。路径可以是相对路径或绝对路径。
extundelete 工具
extundelete 是一种用于恢复被删除的文件的工具,专门用于 Linux 系统上的 ext3 和 ext4 文件系统。它通过分析文件系统的日志和元数据来恢复已删除的文件。

介绍Linux的基本概念、安装指南、常用命令、文件与权限管理,以及软件包管理等。

浙公网安备 33010602011771号