【Linux终端探幽】—基础指令集(下):魔法终章

grep:文本森林的魔法卷轴—— 用咒语捕捉关键词的踪迹

zip/unzip:压缩与解压的时空胶囊—— 将文件封印或释放的秘术

sz/rz:跨次元传输的魔法阵—— 本地与远程的数据通道

tar:文件古籍的打包咒语—— 用归档术封存历史的碎片

scp:星际穿越的加密信使—— 安全传递数据的空间跃迁

bc:终端数学的炼金术—— 用代码熔炼数字的黄金

uname -r:内核版本的预言石板—— 揭晓系统底层的古老铭文

热键:键盘巫师的瞬发咒语—— Ctrl+C 与 Tab 的魔力共振

关机:终止仪式的最终符文—— 从魔法世界回归现实的密钥

完结撒花:终端的魔法书已合上—— 但你的探险永不止息


grep:文本森林的魔法卷轴
—— 用咒语捕捉关键词的踪迹

grep是文本过滤器,其作用是在指定的文件中过滤出包含你指定字符串的内容,并按行打印出来。

我们之前可以使用cat指令打印日志文件中的所有内容,现在我们也可以使用管道配合grep指令过滤出我们想要的内容!

当然,我们也可以直接用grep指定字符串和文件过滤出我们想要的内容!

grep还可以帮助我们查找我们进程中的包含指定字符串的进程内容:

这里先打开vim写一个简单的程序:

然后我们再把这个程序编译运行起来,并把这个进程放到后台:

通过grep过滤,我们可以在许多进程中快速查找到我们想要观测的进程 :

 常用选项:

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

zip/unzip:压缩与解压的时空胶囊
—— 将文件封印或释放的秘术

打包压缩的定义

打包,在计算机领域中,指的是将多个文件或目录进行合并,整合为一个单一的集合体的操作过程。压缩,则是运用特定算法,对数据进行重新编码,以减少其存储空间占用量的技术手段 。

打包压缩的作用

  1. 数据保护:通过打包,能够将零散的文件归整为一个整体,从而有效降低因文件分散管理而导致的文件丢失风险。
  2. 空间优化:压缩技术显著减少了数据所占据的存储空间,有助于提升存储设备的使用效率,节省宝贵的存储资源。
  3. 传输加速:在网络传输场景下,体积更小的压缩文件能够极大地缩短传输所需的时间,提高数据传输的效率 。

语法:zip [压缩文件.zip] [目录或文件]
功能:该命令用于将指定的目录或者文件压缩成为 zip 格式的压缩文件 。

常用选项

-r:此选项启用递归处理模式。当执行压缩操作时,它会深入指定目录,对该目录下包含的所有文件以及各级子目录进行全面处理,确保整个目录结构及其内容都被完整地压缩到目标 zip 文件中 。

案例:

-d选项将目标文件解压到指定目录:

sz/rz:跨次元传输的魔法阵
—— 本地与远程的数据通道

sz和rz可以实现云服务器和本地之间压缩包的互传: 如果我们想要将云服务器中的压缩包发送到本地,我们可以用sz指令:

使用该指令后,会有一个弹框,我们选择指定的目录即可! 

如果我们想要在本地上传压缩包到云服务器,那我们就可以使用rz指令,方便的话,我们也可以直接使用拖拽的方式上传!

tar:文件古籍的打包咒语
—— 用归档术封存历史的碎片

tar [-cxtzjvf] 文件与目录 .... 参数:

-c :建立一个压缩文件的参数指令(create 的意思);

-x :解开一个压缩文件的参数指令!

-t :查看 tarfile 里面的文件!

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

-C : 解压到指定目录

使用tar打包压缩一个文件:

使用tar解压一个压缩包到指定目录: 

scp:星际穿越的加密信使
—— 安全传递数据的空间跃迁

scp指令可以实现Linux和Linux之间压缩包的互传。

语法:scp dst.tgz 用户名@你的公网IP:目标机器的指定路径。(由于我只有一台Linux机器,这里就没有办法进行演示了 !)

bc:终端数学的炼金术
—— 用代码熔炼数字的黄金

bc 指令主要用于高精度的数学计算。与普通计算器不同,它可以处理任意长度的数字,不会因为数字过大而产生精度丢失的问题,适合进行科学计算、金融计算等对精度要求较高的场景。

启动方式

在终端中直接输入 bc 并回车,即可进入 bc 的交互式环境。在这个环境中,你可以输入各种数学表达式进行计算,按回车键后会立即显示计算结果。例如:

bc
3 + 5
8

常用选项

  • -i:强制进入交互式模式。即便 bc 是从脚本文件中读取输入,使用该选项也会使其以交互式方式运行。
  • -l:使用标准数学库。该库提供了一系列数学函数,如 s(x) (计算正弦值)、c(x) (计算余弦值)、a(x) (计算反正切值)等。例如:
bc -l
s(0)
0.00000000000000000000
  • -q:安静模式。默认情况下,启动 bc 时会显示版权信息和欢迎信息,使用该选项可以不显示这些信息,直接进入计算界面。
  • -w:在遇到与 POSIX bc 标准不兼容的特性时给出警告信息。

语法和功能

基本数学运算

在 bc 中,可以进行加(+)、减(-)、乘(*)、除(/)、取模(%)和幂运算(^)等基本数学运算。例如:

bc
2 * 3
6
5 ^ 2
25

变量使用

可以定义变量并对其进行赋值和运算。变量名由字母、数字和下划线组成,且不能以数字开头。例如:

bc
a = 10
b = 5
a + b
15

函数定义

bc 支持用户自定义函数。函数定义的基本语法如下:

define 函数名(参数列表) {
    函数体
    return 返回值
}

例如,定义一个计算两个数之和的函数:

bc
define add(x, y) {
    return x + y
}
add(3, 4)
7

从文件读取输入

除了交互式使用,bc 还可以从文件中读取输入。假设我们有一个名为 calc.bc 的文件,内容如下:

a = 2
b = 3
a * b

可以使用以下命令执行该文件中的计算:

bc calc.bc
6

与其他命令结合使用

bc 可以与其他 Unix 命令结合,实现更复杂的功能。例如,使用 echo 命令将表达式传递给 bc 进行计算:

uname -r:内核版本的预言石板
—— 揭晓系统底层的古老铭文

指令名称

uname

语法结构

uname [选项]

功能概述

uname 指令主要用于获取计算机系统以及操作系统的相关信息。通过该指令,用户能够快速了解到系统的基础配置情况,为系统管理、故障排查等工作提供必要的参考依据。

补充说明

uname 指令能够展示 Linux 主机所使用操作系统的版本、硬件名称等关键基本信息。这对于系统管理员以及需要深入了解系统环境的用户而言,是一个极为实用的工具。它所提供的信息涵盖了系统的多个层面,有助于用户全方位掌握系统状况。

常用选项

  • -a--all:此选项用于详细输出所有相关信息。输出内容依次为:内核名称、主机名、内核版本号、内核版本、硬件名、处理器类型、硬件平台类型以及操作系统名称。通过这一选项,用户可以一次性获取关于系统的全面且详细的信息,对系统环境有一个完整清晰的认识。

热键:键盘巫师的瞬发咒语
—— Ctrl+C 与 Tab 的魔力共振

  1. [Tab] 按键:堪称 Linux 操作中的 “智能助手”,具备强大的 “命令补全” 与 “档案补齐” 功能。当您在命令行输入命令或文件路径时,按下 [Tab] 键,系统会自动根据已输入的字符,在相关命令、目录或文件列表中进行匹配并补全。若存在唯一匹配项,会直接完成补全;若有多个匹配项,再次按下 [Tab] 键,便会列出所有可能的选项,极大地减少了手动输入的工作量,同时降低了输入错误的概率。例如,想进入 “/usr/local/bin” 目录,只需输入 “cd /usr/l”,然后按下 [Tab] 键,系统会自动补全为 “cd /usr/local/”,再次按下 [Tab] 键,若该目录下只有 “bin” 目录符合进一步补全条件,就会完整补全为 “cd /usr/local/bin”。
  2. [Ctrl]-c 按键:是应对异常任务的 “紧急制动” 按钮。在程序执行过程中,如果遇到程序陷入死循环、运行异常或不需要其继续执行的情况,按下 [Ctrl]-c 组合键,能够立即终止当前正在运行的程序,让失控的程序 “停掉”,及时释放系统资源,避免对系统运行造成更大影响。比如,当执行一个耗时较长且因参数错误陷入无响应状态的脚本时,按下 [Ctrl]-c 即可快速结束该脚本的运行。
  3. [Ctrl]-d 按键:有着 “优雅退出” 的作用,通常代表 “键盘输入结束 (End Of File, EOF 或 End Of Input)” 之意。在交互式命令行环境中,当您需要告知系统输入已完成时,按下 [Ctrl]-d 即可。此外,它还可以用来取代 exit 命令,实现退出当前用户会话的操作。例如,在使用完普通用户账号,想要退出登录时,除了输入 “exit” 命令,按下 [Ctrl]-d 也能达到相同的效果。
  4. [Ctrl]-l 按键:相当于 “屏幕清洁剂”,用于清屏操作。当命令行界面因大量输出信息而显得杂乱无章时,按下 [Ctrl]-l 组合键,屏幕会被清空,将干净整洁的命令行界面呈现给您,方便后续操作与查看新的输出内容。就像在查看冗长的日志文件后,使用该热键让屏幕焕然一新。
  5. [Ctrl]-u 按键:堪称 “输入框橡皮擦”,能快速删除当前命令行中光标所在位置之前的所有字符。在输入命令的过程中,如果发现前面输入有误,无需逐个删除字符,按下 [Ctrl]-u 即可一键清除,重新输入正确内容。比如,您原本输入 “ls -l /usr/local/sbin”,但误输入为 “ls -l /user/local/sbin”,此时在光标位于 “/user/local/sbin” 任意位置时,按下 [Ctrl]-u,就可以快速删除错误部分,重新输入正确路径。
  6. [Alt]-F4 按键:在 Xshell 中,这一组合键用于关闭当前打开的会话窗口。当您完成对某个会话的操作,不再需要该窗口时,使用 [Alt]-F4 可以便捷地关闭它,避免窗口过多造成界面混乱。例如,在同时打开多个远程服务器会话进行操作后,对已完成任务的会话使用此热键关闭。

关机:终止仪式的最终符文
—— 从魔法世界回归现实的密钥

语法:shutdown [选项] 

常见选项:

  • -h:该选项指示系统在停止所有相关服务后,即刻执行关机操作。使用此选项,系统会有条不紊地关闭正在运行的各项服务,随后迅速切断电源,实现设备关机,适用于需要立即停止系统运行的场景 。
  • -r:此选项的作用是在系统成功停止所有服务之后,自动触发重新启动流程。当系统执行到该指令时,会先安全关闭各类服务,然后重新初始化硬件设备、加载操作系统内核等,完成系统的重启过程,常用于系统更新后需要生效配置、修复某些系统问题需重启等情况。
  • -t sec:这里的sec代表秒数。通过使用-t选项并指定一个具体的秒数,能够设定在经过指定的时长后执行关机操作。例如,若设置-t 60,则表示系统会在 60 秒后开始停止服务并执行关机,给予用户一定的时间来保存工作、关闭应用程序等,为系统关机做好准备 。

完结撒花:终端的魔法书已合上
—— 但你的探险永不止息