
⚡ CYBER_PROFILE ⚡
/// SYSTEM READY ///
WARNING \]: DETECTING HIGH ENERGY **🌊 🌉 🌊 心手合一 · 水到渠成**  |------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------| | **\>\>\> ACCESS TERMINAL \<\<\<** || | [**\[ 🦾 作者主页 \]**](https://blog.csdn.net/fengtinghuqu520?spm=1000.2115.3001.5343) | [**\[ 🔥 C++初阶 \]**](https://blog.csdn.net/fengtinghuqu520/category_13085789.html) | | [**\[ 💾C++进阶 \]**](https://blog.csdn.net/fengtinghuqu520/category_13085793.html) | [**\[ 📡 代码仓库 \]**](https://blog.csdn.net/fengtinghuqu520/article/details/147275999?spm=1001.2014.3001.5502) | --------------------------------------- Running Process: 100% \| Latency: 0ms *** ** * ** *** #### 索引与导读 * [前言:浅谈操作系统\~🛠️](#前言:浅谈操作系统~🛠️) * * [一、Linux操作系统源代码地址](#一、Linux操作系统源代码地址) * [二、Linux安装---环境准备](#二、Linux安装---环境准备) * * [2.1)操作系统生态](#2.1)操作系统生态) * * [1. 操作系统自身](#1. 操作系统自身) * [2. 软件体系](#2. 软件体系) * [3. 官网文档](#3. 官网文档) * [4. 社区论坛](#4. 社区论坛) * [5. 维护更新速度](#5. 维护更新速度) * [6. 富有针对性的客户群体](#6. 富有针对性的客户群体) * [2.2)Linux安装](#2.2)Linux安装) * [三、Linux基本指令](#三、Linux基本指令) * * [前期准备(⚠️如何切换为超级管理员模式)](#前期准备(⚠️如何切换为超级管理员模式)) * * [调整风格](#调整风格) * [全屏调整](#全屏调整) * [3.1)clear 指令(清除清理指令)](#3.1)clear 指令(清除清理指令)) * [3.2)pwd 指令(查看当前路径)](#3.2)pwd 指令(查看当前路径)) * * [3.2.1)使用语法](#3.2.1)使用语法) * [3.2.2)路径分隔符](#3.2.2)路径分隔符) * [3.2.3)Linux根目录](#3.2.3)Linux根目录) * [3.3)ls 指令(查看当前路径下所有的文件)](#3.3)ls 指令(查看当前路径下所有的文件)) * * [如何理解文件?](#如何理解文件?) * [3.3.1)ls -a(列出目录下的所有文件,包括以 . 开头的隐含文件)](#3.3.1)ls -a(列出目录下的所有文件,包括以 . 开头的隐含文件)) * [3.3.2)ls -l(将目录像文件一样展示)](#3.3.2)ls -l(将目录像文件一样展示)) * [3.3.3)ls -l与ls -a的组合](#3.3.3)ls -l与ls -a的组合) * [3.3.4)\`..\`与\`.\`标识符](#3.3.4)`..`与`.`标识符) * [3.4)mkdir 指令(在当前路径建立文件夹)](#3.4)mkdir 指令(在当前路径建立文件夹)) * [3.5)cd 指令(切换当前的工作目录)](#3.5)cd 指令(切换当前的工作目录)) * * [3.5.1)核心路径概念](#3.5.1)核心路径概念) * * [1)绝对路径](#1)绝对路径) * [2)相对路径](#2)相对路径) * [3.5.2)常用快捷操作(必记)](#3.5.2)常用快捷操作(必记)) * * [A. 返回家目录](#A. 返回家目录) * [B. 进入上一级目录](#B. 进入上一级目录) * [C. 切换回上一次所在的目录](#C. 切换回上一次所在的目录) * [D. 进入根目录](#D. 进入根目录) * [3.6)touch 指令](#3.6)touch 指令) * * [3.6.1)理解文件的三个时间戳](#3.6.1)理解文件的三个时间戳) * [3.6.2)常用语法与选项](#3.6.2)常用语法与选项) * [3.7)stat 指令](#3.7)stat 指令) * [3.8) rmdir与rm指令](#3.8) rmdir与rm指令) * [3.9) man指令](#3.9) man指令) * [3.10) cp指令](#3.10) cp指令) * [3.11) mv指令](#3.11) mv指令) * [3.12) cat指令](#3.12) cat指令) * [3.13) more 指令](#3.13) more 指令) * [3.14) less 指令](#3.14) less 指令) * [3.15) head 指令](#3.15) head 指令) * [3.16) tail 指令](#3.16) tail 指令) * [3.17) date 指令](#3.17) date 指令) * [3.18) cal 指令](#3.18) cal 指令) * [3.19) find 指令](#3.19) find 指令) * [3.20) which 指令](#3.20) which 指令) * [3.21) whereis 指令](#3.21) whereis 指令) * [3.22) alias 指令](#3.22) alias 指令) * [3.23) grep 指令](#3.23) grep 指令) * [3.24) top 指令](#3.24) top 指令) * [3.25) zip/unzip 指令](#3.25) zip/unzip 指令) * [3.26) 关于 rzsz](#3.26) 关于 rzsz) * [3.27) tar 指令(重要)](#3.27) tar 指令(重要)) * [3.28) bc 指令](#3.28) bc 指令) * [3.29) uname -r 指令](#3.29) uname -r 指令) * [四、Linux的路径认识](#四、Linux的路径认识) * * [4.1 Linux使用树形结构来管理文件](#4.1 Linux使用树形结构来管理文件) * [4.2 绝对路径 与 相对路径](#4.2 绝对路径 与 相对路径) * [五、扩展命令](#五、扩展命令) * [六、关机 指令](#六、关机 指令) * [💻结尾--- 核心连接协议](#💻结尾— 核心连接协议) ## 前言:浅谈操作系统\~🛠️ 最开始的计算机输入时,通过闭合开关给计算机进行交互 **但是通过开关的这种方式真的太挫了,很难进行多任务的处理** 所以在计算机发展的时候必须要有一种软件的诞生------**操作系统** 在上个世纪最具有代表性的操作系统是 **`unix操作系统`** *** ** * ** *** 操作系统本质上是一个资源管理器。它管理着计算机中所有的 **"硬资源"**和**"软资源"**: * **硬件管理** :`CPU` 算力分配、内存空间管理、硬盘数据读写、外设(键盘、显示器)驱动。 * **软件服务** :为各种 `App` 提供运行环境,处理文件存取、网络通信等琐事,让程序员不需要直接对着电路板写代码。 *** ** * ** *** ### 一、Linux操作系统源代码地址 > [🔗Lucy的空间骇客裂缝:Linux](https://www.kernel.org/) *** ** * ** *** ### 二、Linux安装---环境准备 #### 2.1)操作系统生态  ##### 1. 操作系统自身 这是整个生态的核心基石。它包括内核、驱动程序、系统组件和用户界面。 * **硬件指标**:性能、稳定性、安全性以及对硬件的兼容性。 * **作用**:如果底层系统经常崩溃或效率低下,上层的软件体系和用户群体都会迅速流失。它是承载所有功能的物理与逻辑基础。 *** ** * ** *** ##### 2. 软件体系 这通常被认为是生态中最关键的一环。也就是我们常说的"有没有软件可用"。 * **丰富度**:是否拥有主流的办公软件、开发工具、游戏和各类行业软件。 * **兼容性** :系统提供的 `API` 是否易用,是否支持跨平台运行(如 `Windows` 对 `x86` 程序的长期支持)。 * **运维** :没人会为了使用一个系统而买电脑,大家是为了运行某个软件(如 `Photoshop`, `Office`, `IDE`)才选择系统。 *** ** * ** *** ##### 3. 官网文档 这是连接开发者与操作系统的桥梁。 * **内容** :包括 `API` 参考手册、开发指南、最佳实践、部署文档等。 * **作用**:高质量的文档能大幅降低开发者的学习成本。如果文档混乱或缺失,开发者就无法高效地为该系统编写软件,直接导致"软件体系"的匮乏。 *** ** * ** *** ##### 4. 社区论坛 这是生态的生命力与温度所在。 * **交流** :包括开发者社区(如 `GitHub`, `Stack Overflow`)和用户社区。 * **作用** :"解决问题":遇到 `Bug` 时,社区的响应往往比官方支持更快。 * 沉淀内容:各种技术博客、教程、第三方插件都源自社区。 * 反馈闭环:用户的反馈通过社区传达给官方,推动系统进化。 *** ** * ** *** ##### 5. 维护更新速度 这决定了生态的可持续性。 * **安全补丁**:面对新漏洞时的响应速度。 * **功能迭代** :是否能跟上硬件的发展(如对新一代 `CPU`、`AI` 算力卡的适配)。 * **作用**:频繁且稳定的更新能给企业和个人用户带来安全感,证明这个生态是活跃的,而非"死亡系统"。 *** ** * ** *** ##### 6. 富有针对性的客户群体 这定义了生态的生存空间和盈利模式。 * **定位** :"`Windows`":针对通用办公与游戏。 * `Linux` (`Ubuntu`/`CentOS`):针对服务器与开发者。 * `macOS`:针对设计师与程序员。 * **作用**:生态不需要讨好所有人,但必须死抓住核心用户。有了精准的用户群体,开发者才有动力在该平台上盈利,进而反哺整个系统的开发。 *** ** * ** *** #### 2.2)Linux安装 在这里我们不太推荐用**虚拟机**,毕竟对于初学者问题还是很多的 我们首推**云服务器** *还有其它的安装方式(例如:`windows wsl`)* ,可以自行问`AI`,让他就能帮你快速解决 *** ** * ** *** 市面上的互联网公司(*腾讯、华为、百度、阿里* ),这些我们统称**云厂商**,他们都会提供对应的云服务 需要我们消费去购买一台**云服务器** ,这台云服务器系统使用的就是 **`Linux`系统** * **为何要用云服务器** * 它是最仿真的 * 方便我们做网络实验 > 如何构建属于自己的云服务器我们可以看我的另一篇文章👇 > [🔗Lucy的空间骇客裂缝:]() > > *** ** * ** *** > > 如何部署虚拟机我们可以看这个👇 > [🔗Lucy的空间骇客裂缝:VMware安装Ubuntu虚拟机教程](https://blog.csdn.net/qq_62888264/article/details/145102532) *** ** * ** *** ### 三、Linux基本指令 **指令是控制Linux系统的基本方法** `Linux` 指令看似繁多,但其实大部分操作都遵循 **指令 + 选项 + 参数** 的逻辑 *** ** * ** *** #### 前期准备(⚠️如何切换为超级管理员模式) 在 `Linux` 系统中,切换到超级管理员(`root`)权限是进行系统配置和维护的日常操作 *** ** * ** *** * 首先我们登上`Xshell`,点击左上角的 `加号(新建会话属性)`  * **名称**------取一个自己喜欢的名字就好 * **主机**------填写自己云服务器的公网IP地址 点击 **确定**  * 接着我们点击左上角的 **打开** * 这时候我们就能看到我们新建的机器  * 我们点击 **连接** ,只要你的**公网IP地址**正确,它就会自动帮你连接 * 如果我们不需要用到这台机器,我们可以**鼠标右键单机可以删除**  * **现在我们使用`Xshell`登录我们的`Linux机器`**  **语法格式:** `root@`+`公网IP地址` 点击 **回车**  **这时候你进去便是`root`超级管理员模式** *** ** * ** *** * 如果你打开的`Xshell`是这样的  我们可以输入**ssh root@`公网IP`** ,也可以弹出这个界面  * **Password:** 输入对应账号密码即可(如何部署云服务器那里有讲) * 直到出现下面页面就算成功了  **更多关于Linux的root超级管理员操作请看👇** > [🔗Lucy的空间骇客裂缝:关于root的超级管理员权限](https://blog.csdn.net/fengtinghuqu520/article/details/160835916?spm=1011.2415.3001.10575&sharefrom=mp_manage_link) *** ** * ** *** ##### 调整风格 左上角还可以通过工具去调整自己页面对应喜欢的风格,在这里就不过多讲解,感兴趣的可以自己上网搜一搜  ##### 全屏调整 **`Alt+Enter`** 可以自由切换全屏与否 *** ** * ** *** #### 3.1)clear 指令(清除清理指令) 在之后的讲解中,我们会讲解各种各样的指令,敲各种各样的代码,如果你想重置服务器(`Xshell`)页面我们可以输入:**`clear`**  *** ** * ** *** #### 3.2)pwd 指令(查看当前路径) ##### 3.2.1)使用语法 输入这个指令可以快速显示出来 **我们自身是出于哪个工作路径的**  ❗❗相当于我们在**文件资源管理器** 中查看文件的位置❗❗  *** ** * ** *** ##### 3.2.2)路径分隔符 ❗❗**在`Windows`和`Linux`系统下的`pwd`路径显示** ❗❗  注意:**两个系统的路径分隔符是不一样的不要搞混** *** ** * ** *** ##### 3.2.3)Linux根目录  *** ** * ** *** #### 3.3)ls 指令(查看当前路径下所有的文件) **语法:** `ls` \[`选项`\] \[`目录或文件`
功能:
- 对于目录,该命令列出该目录下的所有子目录与文件
- 对于文件,将列出文件名以及其他信息
- 常用选项:
-
-a列出目录下的所有文件,包括以.开头的隐含文件 (ls在默认显示时,不显示隐藏文件) -
-d将目录像文件一样显示,而不是显示其下的文件。如:ls -d指定目录 -
-i输出文件的i节点的索引信息。如ls -ai指定文件 -
-k以k字节的形式表示文件的大小。ls -alk指定文件 -
-l列出文件的详细信息 -
-n用数字的UID,GID代替名称。(介绍UID、GID) -
-F在每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行的普通文件;"/"表示目录;"@"表示符号链接;"|"表示FIFOs;"="表示套接字(sockets)。(目录类型识别) -
-r对目录反向排序 -
-t以时间排序 -
-s在文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件) -
-R列出所有子目录下的文件。(递归) -
-1一行只输出一个文件。

-
如何理解文件?
-
抛出了一个非常经典的面试/基础问题:
"在 Windows 中,新建了一个空文件,占不占磁盘空间?"
很多初学者的第一直觉是"不占",因为文件是空的,什么数据都没写。但实际上,它一定会占用磁盘空间
- 文件 != 文件的内容
- 文件 = 文件的内容 + 文件的属性
-
假设我们在本地电脑新建一个文本文档

可能很多人会问:这个文件不是显示
oKB吗? -
事实上,你的操作系统是不是需要去识别
文档、建立的时间、文件的类型?这类属性信息我们称之为 元信息
所以,学习文件的本质------无非是对内容或者对属性做操作!
3.3.1)ls -a(列出目录下的所有文件,包括以 . 开头的隐含文件)
在 Linux 中,任何以 . (点) 开头的文件或目录都会被系统视为隐藏文件
默认的 ls 命令会忽略它们
-
a的含义:--all,列出目录下所有的文件 -
核心作用: 查看配置文件(如
.bashrc)、版本控制目录(如.git)以及当前目录状态
使用示例

注意: 你会看到两个特殊的项:
-
.: 代表当前目录本身。 -
..: 代表上一级目录(父目录)。
3.3.2)ls -l(将目录像文件一样展示)
如果你想知道文件有多大、是谁创建的、什么时候修改的,就需要用到 -l
-
-l的含义:--long,使用长格式列出信息 -
输出结果解析
当你输入
ls -l,你会看到类似下面的一行:
-rw-r--r-- 1 user group 1234 May 8 12:00 file.txt
从左到右的含义分别是:
-
文件类型与权限 (
-rw-r--r--):- 第1位:文件类型(
-是普通文件,d是目录,l是符号链接)。 - 后面9位:每3位一组,分别代表所有者(User)、所属组(Group)、其他人(Others)的读®、写(w)、执行(x)权限。
- 第1位:文件类型(
-
硬链接数(1):有多少个文件名指向这个物理数据块。
-
所有者(user):该文件属于哪个用户。
-
所属组(group):该文件属于哪个用户组。
-
文件大小(1234):默认单位是字节(Byte)。
-
最后修改时间(May 8 12:00):文件内容最后一次被更改的时间。
-
文件名(file.txt)
3.3.3)ls -l与ls -a的组合
当你需要查看当前目录下所有文件(包括隐藏文件)的详细属性时,这两个选项可以组合使用
顺序不影响结果

3.3.4)..与.标识符
| 标识符 | 含义 | 形象比喻 |
|---|---|---|
.(单点) |
当前目录 (Current Directory) | "我就在这里" |
..(双点) |
上一级目录 (Parent Directory) | "退回大门口" |
- 在
Linux,如果你写了一个脚本myscript.sh,直接输入文件名可能无法运行
bash
./myscript.sh
- 如果你在
/Users/Name/Documents目录下,输入:cd ..,你就会跳转到/Users/Name
我们只罗列最重要的指令,剩下的后面会用到,这里不多赘述
3.4)mkdir 指令(在当前路径建立文件夹)
语法格式: mkdir+文件名
相当于我们在当前的路径下,新建一个文件夹
3.5)cd 指令(切换当前的工作目录)
语法格式:
bash
cd [目标路径]
-
目标路径: 可以是一个文件夹的名称,也可以是完整的路径
-
如果省略目标路径,直接输入
cd并回车,默认会返回当前用户的家目录
3.5.1)核心路径概念
在使用 cd 之前,必须理解两种路径表示法:
-
绝对路径 :从根目录
/开始的完整路径。例如:cd /usr/local/bin。无论你当前在哪里,这个指令都能准确到达目的地 -
相对路径 :相对于你当前位置的路径。例如:如果你在
/home,输入cd user就会进入/home/user
1)绝对路径
bash
cd /home/work/projects/web
解释: 无论你在系统的哪个角落(哪怕在 /etc 里),这个命令永远有效。
2)相对路径
bash
cd projects/web
解释: 因为 projects 就在当前目录下,所以直接写名字
3.5.2)常用快捷操作(必记)
| 命令 | 描述 |
|---|---|
cd ~ |
返回当前用户的家目录(如 /home/username)。 |
cd / |
进入系统的根目录(整个文件系统的起点)。 |
cd .. |
返回上一级目录(父目录)。 |
cd . |
留在当前目录(通常在移动文件或执行脚本时配合使用)。 |
cd - |
返回上一次工作目录。就像遥控器上的"回看"键,在两个深层目录间切换时极其好用。 |
cd ../.. |
向上连续返回两级目录。 |
A. 返回家目录
家目录是当前用户的私人领地
-
指令:
cd或cd ~ -
例子:无论你在系统的哪个角落,输入
cd ~都会瞬间回到/home/用户名/
B. 进入上一级目录
在 Linux 中,.. 代表上一层文件夹
-
指令:
cd .. -
例子: 如果你在
/usr/local/bin,输入cd ..后,你将进入/usr/local。 -
进阶: 连续跳两级可以输入
cd ../..
C. 切换回上一次所在的目录
-
指令:
cd - -
例子: 如果你从
/var/log切换到了/etc/nginx,输入cd -就会立刻跳回/var/log。
D. 进入根目录
根目录是整个文件系统的起点
- 指令:
cd /
更多的cd指令可以自行查阅,我们这里只讲最常用的
3.6)touch 指令
touch 主要用于以下两个场景:
-
创建新文件: 如果指定的文件不存在,系统会创建一个全新的空文件
-
更新时间戳: 如果文件已存在,则将其访问时间(
atime)和修改时间(mtime)更新为当前系统时间
3.6.1)理解文件的三个时间戳
在使用 touch 之前,需要了解 Linux 文件的三种时间属性:
| 时间戳类型 | 缩写 | 含义 |
|---|---|---|
| Access Time | atime |
文件最后一次被读取(如 cat、vi 查看内容)的时间。 |
| Modify Time | mtime |
文件内容最后一次被修改的时间。 |
| Change Time | ctime |
文件元数据(如权限、所有者、链接数)最后一次改变的时间。 |
注意: touch 无法直接修改 ctime,但通过修改 atime 或 mtime,ctime 会随之自动更新为当前系统时间
3.6.2)常用语法与选项
基础语法:
touch [选项] 文件名
常用选项:
a: 只更新访问时间
bash
touch -a report.txt
# 结果:
# Access: 10:05 (更新了)
# Modify: 10:00 (没变)
m: 只更新修改时间
bash
touch -m report.txt
# 结果:
# Access: 10:05 (保持上次的状态)
# Modify: 10:10 (更新了)
c或--no-create:
场景: 你在写一个脚本,想更新 config.txt 的时间,但如果这个文件根本不存在,你不希望脚本莫名其妙创建一个空文件出来污染环境
bash
# 假设不存在 ghost.txt
touch -c ghost.txt
# 结果:
# 文件夹里依然空空如也,没有任何新文件生成。
# 如果不加 -c,你会发现多了一个 0 字节的 ghost.txt。
r: 以另一个文件的时间为准
touch -r ref_file.txt target_file.txt(将target的时间设置得和ref一模一样)
| 命令 | 目标文件不存在时 | 目标文件存在时 |
|---|---|---|
touch file |
创建空文件 | 更新所有时间 |
touch -c file |
无事发生 | 更新所有时间 |
touch -a file |
创建空文件 | 仅更新 atime |
touch -m file |
创建空文件 | 仅更新 mtime |
基础操作
-
创建单个空文件:
touch file.txt -
批量创建多个文件:
touch file1.txt file2.txt file3.txt -
使用通配符批量创建:
touch test{1..10}.txt(快速生成test1到test10)
3.7)stat 指令
如果说 ls -l 只能看到文件的皮毛(权限、大小、最后修改时间),那么 stat 就能把文件的生辰八字、户口信息、物理存储细节全都挖出来
在 Linux 系统中,stat 既是一个命令行工具,也是一个系统调用
核心作用:查看文件或目录的元数据(Metadata),即文件的"户口本信息",而不是文件内容
-
在终端输入
stat 文件名,你会看到比ls -l详尽得多的信息

-
File: 文件名。
-
Size: 文件大小(字节)。
-
Blocks : 实际占用的磁盘块数(通常每块
512字节)。 -
IO Block : 文件系统建议的 I/O 块大小(通常
4096字节)。 -
Device: 文件所在设备的十六进制 ID。
-
Inode: 文件的 i-node 节点号,这是文件在文件系统中的唯一标识。
-
Links: 硬链接数。
-
Access/Modify/Change:
-
Access (atime): 最后一次读取文件内容的时间。
-
Modify (mtime): 最后一次修改文件内容的时间。
-
Change (ctime): 最后一次更改文件属性的时间(如权限、改名、改内容)。
-
Birth : 文件创建时间(某些旧文件系统不支持,会显示为
-)
-
3.8) rmdir与rm指令
rmdir 指令:
- 功能:删除空目录。
- 适用限制:该指令只能删除内部没有任何文件或子目录的空目录。
rm 指令:
- 功能:删除文件或目录。
- 常用参数 :
-f(force):强制删除,忽略不存在的文件,不提示确认。-r(recursive):递归删除,常用于删除非空目录及其下的所有内容。-i:交互式删除,在删除前会逐一询问确认。
注意 :
rm -rf /是极度危险的操作,使用时务必确认路径。
3.9) man指令
功能 :Linux 的联机帮助手册。通过 man 指令可以查看所有 Linux 命令的详细说明、参数以及库函数。
- 用法 :
man [章节号] 指令名称 - 手册章节说明 :
- 普通的可执行程序或 shell 命令。
- 系统调用(内核提供的函数)。
- 库调用(程序库中的函数)。
- 操作 :按
q退出阅读模式。
3.10) cp指令
功能:复制文件或目录。
- 用法 :
cp [选项] 源文件或目录 目标文件或目录 - 常用参数 :
-r:递归复制整个目录树(复制目录时必带)。-f:强行复制文件或目录,不论目的文件或目录是否已经存在。-p:连同文件的属性(权限、用户、时间)一起复制,而非使用默认属性。
3.11) mv指令
功能:移动文件或目录,或者给文件/目录重命名(Rename)。
- 用法 :
- 移动 :
mv file.txt /home/user/(将文件移动到指定目录)。 - 重命名 :
mv old_name.txt new_name.txt(在同一目录下操作即为重命名)。
- 移动 :
- 常用参数 :
-f:如果目标文件已经存在,直接覆盖而不询问。-i:如果目标文件已存在,询问是否覆盖。
3.12) cat指令
功能 :连接文件并打印到标准输出设备上(适用于内容较少的文件)。
常用参数:
-n:对输出的所有行编号。-b:对非空输出行编号。-s:不输出多行空行。
3.13) more 指令
功能 :类似 cat,但以全屏幕的方式按页显示文件内容。
操作说明:
Space(空格):向下翻一页。Enter:向下翻一行。q:退出 more。/字符串:在当前文件中搜索指定内容。
3.14) less 指令
功能 :对文件进行分页查看。它是 more 的增强版,支持向前和向后翻页,且不会加载整个文件,效率更高。
操作说明:
PageUp / PageDown:向上/下翻页。j / k:向上/下滚动一行。/字符串:向下搜索;?字符串:向上搜索。q:退出。
3.15) head 指令
功能 :显示档案的开头至标准输出中,默认显示前10行。
示例:
head -n 5 file.txt:显示前5行内容。
3.16) tail 指令
功能 :显示档案的末尾内容。
示例:
tail -n 10 file.txt:显示最后10行。tail -f log.txt:实时查看日志文件更新(非常有用的指令)。
3.17) date 指令
功能 :显示或设置系统的时间与日期。
示例:
date:直接显示当前时间。date +"%Y-%m-%d %H:%M:%S":以指定格式显示。
3.18) cal 指令
功能 :查看日历。
示例:
cal:显示本月日历。cal -3:显示前一个月、本月及下一个月的日历。cal 2024:显示2024年整年的日历。
3.19) find 指令
功能 :在文件树中查找文件,并作出相应的处理。
示例:
find /path -name "*.c":在指定路径下查找所有后缀为 .c 的文件。
3.20) which 指令
功能 :查看某个系统命令是否存在,以及执行文件所在的具体位置。
示例:
which ls:输出/usr/bin/ls。
3.21) whereis 指令
功能:定位指令的二进制文件、源码文件及帮助手册。
3.22) alias 指令
功能 :设置指令的别名。
示例:
alias ll='ls -l':设置 ll 为 ls -l 的别名。unalias ll:取消别名。
3.23) grep 指令
功能 :强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
常用参数:
-i:忽略大小写。-v:反向选择(输出不匹配的行)。-n:顺便输出行号。
3.24) top 指令
功能 :实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。
快捷键 :q 退出,M 按内存排序,P 按 CPU 排序。
3.25) zip/unzip 指令
功能 :用于压缩和解压 zip 文件。
示例:
zip test.zip file1 file2:将文件压缩。unzip test.zip -d /target_dir:将文件解压到指定目录。
3.26) 关于 rzsz
功能 :用于 Linux 服务器和运行终端软件的本地计算机(如 Xshell)之间传输文件
sudo yum/apt install -y lrzlz
rz:Receive,从本地机器上传文件到服务器。sz filename:Send,将服务器上的文件下载到本地机器。
3.27) tar 指令(重要)
功能 :文件打包与解压缩。
核心参数:
-c:建立一个压缩文件。-x:解开一个压缩文件。-z:是否需要用 gzip 压缩。-v:压缩的过程中显示文件。-f:使用档名(注意:f之后要立即接档名,不要再加参数)。
常用组合:tar -czvf test.tar.gz source/:压缩打包。tar -xzvf test.tar.gz:解压。
3.28) bc 指令
功能 :任意精度的计算器语言。
用法 :直接输入 bc 进入交互模式,或使用管道 echo "3+4" | bc
3.29) uname -r 指令
功能:显示操作系统的发行版本号。
uname -a:显示系统所有相关信息(内核版本、架构、主机名等)
四、Linux的路径认识
4.1 Linux使用树形结构来管理文件
/
/bin
/usr
/sbin
/etc
/tmp
/lib
/var
/home
/opt
bin
local
src
rc.d
rc3.d
rc5.d
init.d
named
httpd
ftp
bin
etc
pub
- Linux 系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件
- 其中普通文件一定是目录树的叶子节点
- 目录可能是叶子(空目录),也可能是路上节点
理解路径存在的意义: 树状组织方式,都是为了保证快速定位查找到指定的文件,而定位文件就需要具有唯一性的方案来进行定位文件。其中任何一个节点,都只有一个父节点,所以,从根目录开始,定位指定文件,路径具有唯一性
4.2 绝对路径 与 相对路径
- 绝对路径: 一般从
/开始,不依赖其他目录的定位文件的方式
bash
/etc/sysconfig/network-scripts/ifcfg-ens33
bash
/usr/bin/date
- 相对路径: 相对于当前用户所处目录,定位文件的路径方式
特点: 相对于你当前的工作目录(PWD)。常用的符号包括.(当前目录)和..(上一级目录)。
假设你当前处于 /home/user/projects 目录下:
-
进入当前目录下的子文件夹 :
如果你想进入
projects里的test文件夹:
cd test(或者cd ./test) -
返回上一级目录 :
你想回到
/home/user:
cd .. -
访问同级目录的其他分支 :
假设
/home/user下还有个downloads文件夹,你想从projects直接跳过去:
cd ../downloads -
执行当前目录下的脚本 :
运行当前文件夹里的
run.sh:
./run.sh
五、扩展命令
以下命令作为扩展,有感兴趣的可以自行了解一下
-
安装和登录命令:
login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last; -
文件处理命令:
file、mkdir、grep、dd、find、mv、ls、diff、cat、ln; -
系统管理相关命令:
df、top、free、quota、at、lp、adduser、groupadd、kill、crontab; -
网络操作命令:
ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup; -
系统安全相关命令:
passwd、su、umask、chgrp、chmod、chown、chattr、sudops、who; -
其它命令:
tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
六、关机 指令
语法: shutdown [选项]
常见选项:
-h:将系统的服务停掉后,立即关机。-r:在将系统的服务停掉之后就重新启动。-t sec:-t后面加秒数,亦即『过几秒后关机』的意思。
💻结尾--- 核心连接协议
警告: 🌠🌠正在接入底层技术矩阵。如果你已成功破解学习中的逻辑断层,请执行以下指令序列以同步数据:🌠🌠
【📡】 建立深度链接: 关注本终端。在赛博丛林中深耕底层架构,从原始代码到进阶协议,同步见证每一次系统升级。
【⚡】 能量过载分发: 执行点赞操作。通过高带宽分发,让优质模组在信息流中高亮显示,赋予知识跨维度的传播力。
【💾】 离线缓存核心: 将本页加入收藏。把这些高频实战逻辑存入你的离线存储器,在遭遇系统崩溃或需要离线检索时,实现瞬时读取。
【💬】 协议加密解密: 在评论区留下你的散列码。分享你曾遭遇的代码冲突或系统漏洞(那些年踩过的坑),通过交互式编译共同绕过技术陷阱。
【🛰️】 信号频率投票: 通过投票发射你的选择。你的每一次点击都在重新定义矩阵的进化方向,决定下一个被全量拆解的技术节点。

