
大家好,欢迎来到 huangjin007_ 的博客
⭐ 个人主页:huangjin007_
🔥 文章收录专栏:Linux 内功修炼手册(系统篇)
总会有一些坚持
能从冰封的土地里
培育出十万朵怒放的蔷薇
Linux 系统篇(三) ------ 基础指令详解(三)
文章目录
- [Linux 系统篇(三) ------ 基础指令详解(三)](#Linux 系统篇(三) —— 基础指令详解(三))
-
- [一、`alias` 指令](#一、
alias指令) - [二、`grep` 指令](#二、
grep指令) - [三、`top` 指令](#三、
top指令) - [四、`zip/unzip` 与 `rzsz`指令](#四、
zip/unzip与rzsz指令) -
- [4.1 `zip` 和 `unzip` ------ Windows 用户最熟悉的压缩格式](#4.1
zip和unzip—— Windows 用户最熟悉的压缩格式) - [4.2 `rzsz` ------ Windows 通过 XShell 传文件](#4.2
rzsz—— Windows 通过 XShell 传文件)
- [4.1 `zip` 和 `unzip` ------ Windows 用户最熟悉的压缩格式](#4.1
- [五、`tar` 指令](#五、
tar指令) - 六、`bc`指令
- 七、`uname`指令
- 八、提升效率的快捷键
- 九、关机与重启
-
- [`shutdown` ------ 关闭系统](#
shutdown—— 关闭系统)
- [`shutdown` ------ 关闭系统](#
- [十、扩展:Linux 命令](#十、扩展:Linux 命令)
- [十一、Shell 究竟是什么?](#十一、Shell 究竟是什么?)
-
- [11.1 操作系统的"外壳"](#11.1 操作系统的“外壳”)
- [11.2 一个形象的比喻](#11.2 一个形象的比喻)
- 结语:
- [一、`alias` 指令](#一、
一、alias 指令
有时候一个命令又长又难记,比如 ls -l --color=auto,每次输入都费劲。使用alias 可以为它创建别名,用一个简短的名字代替一长串指令。
基本用法
bash
alias 别名='原始命令'
注意等号两边不能有空格,而且原始命令最好用单引号括起来,防止特殊字符被提前解析。

定义之后,输入 .. 就返回上一级目录。
取消别名
bash
unalias ll
二、grep 指令
grep 能在文件或输入流中搜索匹配特定字符串的行,并把它们打印出来。
基本语法
bash
grep [选项] "搜索字符串" 文件名
如果不指定文件名,grep 会从标准输入读取数据,因此它常跟管道 | 配合使用。

常用选项
-i:忽略大小写。
-n:显示匹配行的行号。
-v:反向匹配,只显示不包含 该字符串的行。
-r或-R:递归搜索整个目录下的所有文件。
-l:只列出包含匹配内容的文件名,不显示具体内容。
-c:统计匹配行的数量。
三、top 指令
top 命令提供了一个动态实时的系统状态界面,类似于Windows 的任务管理器。你可以看到 CPU、内存的使用率,以及哪些进程最消耗资源。
启动与退出
直接输入 top 就会进入一个全屏的交互式界面,按 q 退出。
四、zip/unzip 与 rzsz指令
4.1 zip 和 unzip ------ Windows 用户最熟悉的压缩格式
在 Linux 下虽然更流行 tar.gz,但 zip 格式因为与 Windows、macOS 天然兼容,常用于跨平台传输。
压缩
bash
zip [选项] 压缩包名.zip 要压缩的文件或目录...
常用选项:
-r:递归处理,将目录下的所有子文件和子目录一并压缩。压缩目录时几乎必须加这个选项 。

解压
bash
unzip 压缩包名.zip -d 目标目录
-d:指定解压到的目标目录。如果不加-d,则解压到当前目录。


4.2 rzsz ------ Windows 通过 XShell 传文件
rz 和 sz 并不是 Linux 标准工具,但很多人会安装它们(软件包名 lrzsz)。它们配合终端仿真软件(如 XShell)能实现直接在终端里上传和下载文件,非常方便。
- 安装 (Ubuntu):
apt install lrzsz -y- 上传 :在终端输入
rz,XShell 会弹出文件选择对话框,选择文件后即可上传到服务器当前目录。- 下载 :输入
sz 文件名,就会将服务器上的文件下载到本地。
五、tar 指令
核心参数速记
c:create,创建打包文件。x:extract,解包。t:list,列出包中文件,不解包。z:通过 gz ip 进行压缩或解压。文件后缀通常是.tar.gz或.tgz。j:通过 b zip2 进行压缩或解压。文件后缀通常是.tar.bz2。v:verbose,显示详细过程,让你看到正在处理哪些文件。f:file,必须放在参数最后,紧接着文件名。-C:change to directory,解压时指定目标目录。
详细示例
示例一:打包与压缩

示例二:查看压缩包内容(不解包)

t 操作会列出包内所有文件的路径和权限信息,配合 v 可以看到详细信息。
示例三:解压到指定目录

-C ./others 表示先切换到这个目录,然后再解压,因此解压后的文件会出现在 ./others 下面。如果没有 -C,解压到当前工作目录。
示例四:仅解压包中的某个文件
先用 -t 查看包内文件,找到想要的那个:

然后单独提取:

Linux 和 Linux 主机间传输压缩包
生产环境中,经常需要把一台机器上的打包文件传到另一台机器上。这时 scp(安全复制)登场了。
bash
# 将本地包传到远程服务器的 /root 目录
scp backup.tgz root@192.168.1.100:/root/
# 从远程服务器下载包到本地当前目录
scp root@192.168.1.100:/root/backup.tgz ./
六、bc指令
bc 是一款任意精度的计算器语言,支持基本的算术运算、变量和简单的编程控制。

也可以进入交互模式,直接输入 bc 然后逐行输入表达式,按 Ctrl+D 退出。

七、uname指令
uname 能够显示当前操作系统的名称、版本、硬件架构等信息,最常用的是 uname -r 查看内核版本。
常用选项
-a或--all:显示全部信息,包括内核名称、主机名、内核版本、硬件架构等。-r:仅显示内核发行版号,如5.15.0-91-generic。-m:显示机器硬件架构,如x86_64表示 64 位系统。-s:显示内核名称(默认是Linux)。
八、提升效率的快捷键
Tab键 ------ 命令和路径自动补全
输入命令或文件路径的前几个字母,按一下Tab,系统会尝试自动补全。如果有多个匹配项,按两下Tab就会列出所有可能选项。Ctrl + C------ 中断当前程序
当你运行了一个死循环程序,或者某个命令卡住不动时,按Ctrl + C会向正在前台运行的程序发送中断信号,让它立即停止。Ctrl + D------ 退出或发送 EOF
在终端里按Ctrl + D表示输入结束(EOF),效果等同于输入exit退出登录 Shell,或者关闭当前终端窗口。在交互式程序(如bc)中则代表正常退出。Ctrl + R------ 搜索历史命令
按下Ctrl + R后,输入关键词,终端会反向搜索你过去执行过的命令。每按一次Ctrl + R会跳到下一个更早的匹配项,按回车直接执行,按左右箭头可修改后再执行。上/下箭头:直接浏览上一条或下一条历史命令。
九、关机与重启
shutdown ------ 关闭系统
bash
shutdown [选项] [时间] [警告信息]
常用选项:
-h:将系统服务全部停止后,关闭电源(halt)。shutdown -h now立即关机。-r:重启(reboot)。shutdown -r +10 "System will reboot in 10 minutes"表示 10 分钟后重启,并给所有在线用户发送警告。-c:取消已经计划的关机或重启。
云服务器红线
在云环境中,绝对不要随意关机 ! 云服务器设计为 7×24 小时不间断运行,一旦通过命令行 shutdown 或 halt,你会直接失联,必须去云控制台手动"启动"实例才能恢复。
十、扩展:Linux 命令
为了让你的知识体系更完整,这里按照功能将一些重要命令分类列出。
- 安装和登录 :
login,shutdown,halt,reboot,mount,umount,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,finger,nslookup - 安全相关 :
passwd,su,umask,chgrp,chmod,chown,chattr,sudo,ps,who - 压缩归档 :
tar,unzip,gunzip,unarj,mtools - 其它工具 :
man,unencode,uudecode
十一、Shell 究竟是什么?
上面我们一直在用各种命令,这些命令到底是怎么被系统执行的呢?这就不得不提 Linux 最核心的一层抽象:Shell。
11.1 操作系统的"外壳"
严格来说,我们说的"Linux"指的是内核(Kernel) 。内核负责直接管理硬件、分配 CPU 时间、读写磁盘等等。但是,普通用户不能直接和内核交流。一是因为太底层、太危险,二是因为交互起来极不方便。
于是,Linux 在内核外面包了一层程序,这一层就叫 Shell (外壳)。Shell 的最基本角色是命令解释器,它做两件事:
- 把你输入的人类可读的命令翻译成内核能懂的系统调用;
- 把内核的处理结果再翻译回人类可读的形式,显示在屏幕上。
这就好比你在餐厅点菜(输入命令),服务员(Shell)把菜单翻译给后厨(Kernel),做好后再把菜端给你(输出结果)。你无需知道后厨的细节,而且就算你喊错菜名,服务员也会提示你,而不会让你直接冲进后厨乱搞。
11.2 一个形象的比喻
假如你是个害羞的程序员,看上了村里漂亮的姑娘小花(操作系统内核),但又不好意思直接表白。于是你找来了媒婆王婆(Shell)。
你告诉王婆"我想约小花去看电影"。王婆转身就去敲小花家的门,把话转达给了小花。小花同意了,王婆又跑回来告诉你:"小花答应了,今晚八点村口见"。
整个过程,你只和王婆沟通,根本没有直接面对小花。王婆就是那个命令解释器,保护了双方的安全与体面。
对应到系统中:
- 用户 = 程序员
- Shell = 王婆(媒婆),常见实现是
bash、zsh等- 内核 = 小花(操作系统核心)
这个比喻完美解释了 为什么需要 Shell:
- 方便用户:提供交互式界面,无需写 C 语言调用内核。
- 保护内核:过滤非法操作,避免用户无意或恶意破坏系统。
结语:
今天的内容到这里就结束了,希望你能有所收获~
干货整理到手抖,觉得有用的话,赏个三连回回血?__(:ᗤ」ㄥ)_ _







