【Linux 系统篇(三)】入门基础指令详解(三)


大家好,欢迎来到 huangjin007_ 的博客
个人主页:huangjin007_
🔥 文章收录专栏:Linux 内功修炼手册(系统篇)
总会有一些坚持
能从冰封的土地里
培育出十万朵怒放的蔷薇


Linux 系统篇(三) ------ 基础指令详解(三)

文章目录

  • [Linux 系统篇(三) ------ 基础指令详解(三)](#Linux 系统篇(三) —— 基础指令详解(三))
    • [一、`alias` 指令](#一、alias 指令)
    • [二、`grep` 指令](#二、grep 指令)
    • [三、`top` 指令](#三、top 指令)
    • [四、`zip/unzip` 与 `rzsz`指令](#四、zip/unziprzsz指令)
      • [4.1 `zip` 和 `unzip` ------ Windows 用户最熟悉的压缩格式](#4.1 zipunzip —— Windows 用户最熟悉的压缩格式)
      • [4.2 `rzsz` ------ Windows 通过 XShell 传文件](#4.2 rzsz —— Windows 通过 XShell 传文件)
    • [五、`tar` 指令](#五、tar 指令)
    • 六、`bc`指令
    • 七、`uname`指令
    • 八、提升效率的快捷键
    • 九、关机与重启
      • [`shutdown` ------ 关闭系统](#shutdown —— 关闭系统)
    • [十、扩展:Linux 命令](#十、扩展:Linux 命令)
    • [十一、Shell 究竟是什么?](#十一、Shell 究竟是什么?)
      • [11.1 操作系统的"外壳"](#11.1 操作系统的“外壳”)
      • [11.2 一个形象的比喻](#11.2 一个形象的比喻)
    • 结语:

一、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/unziprzsz指令

4.1 zipunzip ------ Windows 用户最熟悉的压缩格式

  在 Linux 下虽然更流行 tar.gz,但 zip 格式因为与 Windows、macOS 天然兼容,常用于跨平台传输。

压缩

bash 复制代码
zip [选项] 压缩包名.zip 要压缩的文件或目录...

常用选项:

  • -r :递归处理,将目录下的所有子文件和子目录一并压缩。压缩目录时几乎必须加这个选项

解压

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

4.2 rzsz ------ Windows 通过 XShell 传文件

  rzsz 并不是 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 小时不间断运行,一旦通过命令行 shutdownhalt,你会直接失联,必须去云控制台手动"启动"实例才能恢复。


十、扩展: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 的最基本角色是命令解释器,它做两件事:

  1. 把你输入的人类可读的命令翻译成内核能懂的系统调用;
  2. 把内核的处理结果再翻译回人类可读的形式,显示在屏幕上。

  这就好比你在餐厅点菜(输入命令),服务员(Shell)把菜单翻译给后厨(Kernel),做好后再把菜端给你(输出结果)。你无需知道后厨的细节,而且就算你喊错菜名,服务员也会提示你,而不会让你直接冲进后厨乱搞。

11.2 一个形象的比喻

  假如你是个害羞的程序员,看上了村里漂亮的姑娘小花(操作系统内核),但又不好意思直接表白。于是你找来了媒婆王婆(Shell)。

  你告诉王婆"我想约小花去看电影"。王婆转身就去敲小花家的门,把话转达给了小花。小花同意了,王婆又跑回来告诉你:"小花答应了,今晚八点村口见"。

  整个过程,你只和王婆沟通,根本没有直接面对小花。王婆就是那个命令解释器,保护了双方的安全与体面。

对应到系统中:

  • 用户 = 程序员
  • Shell = 王婆(媒婆),常见实现是 bashzsh
  • 内核 = 小花(操作系统核心)

这个比喻完美解释了 为什么需要 Shell

  • 方便用户:提供交互式界面,无需写 C 语言调用内核。
  • 保护内核:过滤非法操作,避免用户无意或恶意破坏系统。

结语:

  今天的内容到这里就结束了,希望你能有所收获~

干货整理到手抖,觉得有用的话,赏个三连回回血?__(:ᗤ」ㄥ)_ _

相关推荐
言乐66 小时前
Python实现基本搜索引擎
java·linux·开发语言·python·搜索引擎
酷可达拉斯7 小时前
Linux操作系统-简单内核优化
linux·git·php
码上上班7 小时前
Filebeat课程
linux
weixin_516023077 小时前
LAMMPS(intel)的安装
linux·服务器
代码AC不AC7 小时前
【Linux】Socket编程UDP
linux·udp·socket编程
Brilliantwxx8 小时前
【Linux】基础指令
linux·运维·服务器
ZhemgLee8 小时前
在Linux上使用Claude Code 并使用本地VS Code SSH远程访问的完整指南
linux·运维·服务器·ssh
CHANG_THE_WORLD8 小时前
4.串行接受多个客户端
linux
bush48 小时前
嵌入式linux学习记录十八,KGDB使用例
linux·学习