文章目录
- **1.0.2. 为什么要打包压缩 (应用场景)**
- 1.3.2传输Linux——>windows:sz
- 1.3.3传输Windows——>Linux:物理拖拽/rz
- 2.1 查找指令——find/which/whereis
概要&序論
这里是此方 本文作为指令篇的第三篇,主要介绍两套打包压缩的方法,同时对前几期的指令剩余部分收尾。
一,打包压缩zip与tar两套经典方法
1.0前言
1.0.1打包压缩是什么
- 打包 (Archiving)
- 定义
- 比喻:把散落在桌上的零食全部装进一个大纸箱,方便搬运。
- 结果
- 压缩 (Compression)
- 定义
- 比喻:把纸箱里的海绵垫用力挤压,抽出空气,使体积变小。
- 结果
1.0.2. 为什么要打包压缩 (应用场景)
■ 打包的目的:防止文件丢失
- 完整性:在传输包含成千上万个碎文件的目录(如代码工程)时,碎文件极易在拷贝过程中丢失或损坏。打包成一个文件可确保“一个都不能少”。
- 管理便利:备份时,处理一个大文件比处理一堆小文件效率更高。
■ 压缩的目的:效率至上
- 节省空间:长期存放不常用的数据时,压缩可以腾出大量硬盘空间。
- 网络加速:在网络传输(如
scp、rz/sz)前压缩,可以大幅缩短传输时间,节省带宽成本。
1.1zip打包压缩指令的使用
打包压缩出来的文件类型非常多,zip和tgz最常见。 压缩包也属于普通文件。
1.1.1指令详解:zip
- 指令名称
- 使用频率
- 指令作用:
zip 是 Linux/Unix 系统中常用的压缩程序,用于将一个或多个文件压缩成扩展名为 .zip 的文件。它在保持文件结构的同时能有效减小文件体积,且生成的压缩包在 Windows 和 macOS 上具有极佳的兼容性。 - 指令操作:
zip [选项] [压缩包名.zip] [文件或目录...]
确定你的zip有没有安装,没有安装则安装
-bash-4.2# zip --version #指令Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.This is Zip 3.0 (July 5th 2008), by Info-ZIP.Currently maintained by E. Gordon. Please send bug reports tothe authors using the web page at www.info-zip.org; see README for details.
安装zip指令:
[root@bite-alicloud lesson4]# yum install -y zip unzip
1.1.2常用选项说明
| |
|---|
| -r | 递归处理。用于压缩目录,将指定目录下的所有文件和子目录一并处理。 |
| -m | 移入压缩包 |
| -q | 安静模式 |
| -e | 加密 |
| -u | 更新。仅将较新的文件或新文件添加/更新到现有的压缩包中。 |
| -d | 删除 |
1.1.3经典使用示例
- 压缩单个文件:
zip documents.zip file1.txt - 压缩整个目录:
zip -r project_backup.zip ./my_project(一定要加-r不然压缩的就是一个空目录) - 创建一个带密码保护的压缩包:
zip -re secret.zip private_folder
1.2tar打包压缩指令使用
1.2.1指令详解:tar
- 指令名称
- 使用频率
- 指令作用:Linux 中最常用的归档工具。它能将大量文件和目录打包成一个单独的
.tar 文件,或者进一步压缩为 .tar.gz (缩写:.tgz)等格式。tar不同于zip,它默认是递归的。 - 指令操作:
tar [选项] [归档文件名] [文件或目录...] - 常用组合
tar -czf a.tgz filestar -xzf a.tgztar -zxvf project.tar.gz -C /usr/local/src/tar -cvf project.tar ./my_project
1.2.2 常用选项说明
| |
|---|
| -c | 创建 |
| -x | 解压缩/提取 |
| -v | 详细报告。列出正在处理的文件,让你看到进度(verbose)。 |
| -f | 指定档案文件。后面必须紧跟文件名(说明这个选项必须放在选项组的最后位置),这是必选参数(file)。 |
| -z | gzip 属性。通过 gzip 压缩/解压,文件名常以 .tar.gz 结尾。 |
| -j | bzip2 属性。通过 bzip2 压缩/解压,文件名常以 .tar.bz2 结尾。 |
| -t | 查看 |
| -C | 定向 |
小细节注意:
1.2.3强化内容——tar指令的更多用法
一般的,知道xzf和czf就足够应对绝大多数情况了,但是出于文章内容完整性考量,我必须补充以下知识内容,感兴趣的小伙伴可以看看:
| | |
|---|
| 完整备份 | tar -zcvpf etc.tar.gz /etc | -p |
| 增量备份 | tar -N "yyyy/mm/dd" -zcvf ... | -N |
| 定向排除 | tar --exclude 路径 -zcvf ... | --exclude |
| 管道同步 | tar -cvf - /etc | tar -xvf - | - |
例一:查阅压缩包内容
- 指令:
tar -ztvf /tmp/etc.tar.gz - 核心:使用
-t 可以在不解压的情况下预览包内文件列表。
-bash-4.2# tar -tf baggage.tgzpractice_lab/practice_lab/test03practice_lab/readme.txtpractice_lab/test02practice_lab/mulu_deep/practice_lab/mulu_deep/deep_file.logpractice_lab/mulu_deep/inner/practice_lab/mulu_deep/inner/secret.txtpractice_lab/test01practice_lab/big_file.binpractice_lab/script.sh-bash-4.2#
例二:指定目录解压
- 步骤:cd /usr/local/src -> tar -zxvf /tmp/etc.tar.gz- 结果:文件将解压至 /usr/local/src/etc。更省事儿的方法: -C后面指定目标目录。
-bash-4.2# tar -xzvf baggage.tgz -C /root/mulu01/mulu01/nihao01
例三:精准解压单个文件
- 指令:
tar -zxvf /tmp/etc.tar.gz etc/passwd - 技巧:在/tmp底下,我只想要将/tmp/etc.tar.gz内的etc/passwd解开而已
当前目录下不要有你要解压出来的这个文件。
例四:权限保留备份
- 指令:
tar -zcvpf /tmp/etc.tar.gz /etc - 关键参数:将/etc/内的所有文件备份下来,并且保存其权限!
目前测不了,等权限章节再测一下。 这里涉及到很多很多细节的问题,包括root下自带权限保留,必须用普通用户来。(反正坑很多)
例五:基于时间的增量备份
- 指令:
tar -N "2005/06/01" -zcvf home.tar.gz /home - 功能:在/home当中,比2005/06/01新的⽂件才备份
例六:排除特定目录备份
- 指令:
tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc - 功能:我要备份/home,/etc,但不要/home/dmtsai
例七:管线流同步(不产生中间件)
- 指令:
tar -cvf - /etc | tar -xvf - -C /tmp - 解析:将/etc/打包后直接解开在/tmp底下,而不产生文件!
中间的那个-是数据流的意思,就是占位符,现在也讲不了。
1.3不同操作系统之间的压缩包传输与解压操作
1.3.1先打包压缩两个文件
我们顺便把上面的两个指令练习一下: 初始文件结构如下,我们接下来要打包压缩mulu01和mulu66。
-bash-4.2# tree.|-- mulu01| `-- mulu01| |-- nihao01| | `-- test789.txt| |-- test01| |-- test02| |-- test03| `-- test23|-- mulu66| |-- nihao01| | `-- test789.txt| |-- test01| |-- test02| |-- test03| `-- test23`-- test.c5 directories, 11 files-bash-4.2#
压缩成功,形成压缩包mulu.zip。和mulu.tgz(压缩一个目录一定要记得-r递归)
-bash-4.2# zip mulu.zip mulu01 adding: mulu01/ (stored 0%)-bash-4.2# tree.|-- mulu01| `-- mulu01| |-- nihao01| | `-- test789.txt| |-- test01| |-- test02| |-- test03| `-- test23|-- mulu66| |-- nihao01| | `-- test789.txt| |-- test01| |-- test02| |-- test03| `-- test23|-- mulu.zip`-- test.c5 directories, 12 files-bash-4.2# tar czf mulu66.tgz mulu66-bash-4.2# tree.|-- mulu01| `-- mulu01| |-- nihao01| | `-- test789.txt| |-- test01| |-- test02| |-- test03| `-- test23|-- mulu66| |-- nihao01| | `-- test789.txt| |-- test01| |-- test02| |-- test03| `-- test23|-- mulu66.tgz|-- mulu.zip`-- test.c5 directories, 13 files-bash-4.2#
1.3.2传输Linux——>windows:sz
安装sz:[root@bite-alicloud other]# yum install -y lrzsz
- 指令名称
- 使用频率
- 指令作用:从 Linux 服务器发送文件到本地 Windows。执行后会自动弹出 Windows 的“另存为”窗口。
- 指令操作:
sz [选项] [文件名]
1.3.2Linux——>Linux:scp
检查你的scp是否存在(一般系统都是自带的)
-bash-4.2# scp --visionunknown option -- -usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 ... [[user@]host2:]file2-bash-4.2#
此方只有一台机器,没办法做演示,这里找王老师的演示截图的:
1.3.3传输Windows——>Linux:物理拖拽/rz
最省事儿的方法,拖拽:(先安装sz和rz)
这两个压缩包的样子还是有区别的:
更安全的方法:rz:
- 指令名称
- 使用频率
- 指令作用:利用 ZModem 协议将本地 Windows 的文件上传到 Linux 服务器。在 Xshell 等终端工具中,输入此命令会弹出 Windows 文件选择对话框。
- 指令操作:
rz [选项]
1.3.4解压指令详解:unzip
- 指令名称
- 使用频率
- 指令作用:专门用于解压缩由
zip 指令生成的 .zip 压缩文件。它可以列出压缩包内容、测试压缩文件完整性以及将文件提取到指定目录。 - 指令操作
- 常用选项
-bash-4.2# unzip -v mulu.zip #显示解压过程Archive: mulu.zip Length Method Size Cmpr Date Time CRC-32 Name-------- ------ ------- ---- ---------- ----- -------- ---- 0 Stored 0 0% 04-15-2026 20:22 00000000 mulu01/-------- ------- --- ------- 0 0 0% 1 file-bash-4.2# unzip mulu.zip -d /root #定向解压
二,剩余指令统讲
2.1 查找指令——find/which/whereis
2.1.1find指令
- 指令名称
- 使用频率
- 指令作用:在目录树中搜索文件,并执行指定的操作。它支持按文件名、大小、类型、权限、时间戳等多种条件进行查找,是 Linux 中功能最强大的搜索工具。
- 指令操作:
find [在哪里找] [匹配规则] [执行什么操作]
匹配规则:(看看就行不用全部记忆)
| | | |
|---|
| 名称 | -name | -name "*.sh" | |
| -iname | -iname "test*" | |
| 类型 | -type f | -type f | |
| -type d | -type d | |
| -type l | -type l | |
| 大小 | -size | -size +100M | |
| 时间 | -mtime | -mtime -7 | |
| -atime | -atime +30 | |
| -mmin | -mmin -60 | |
| 权限 | -perm | -perm 755 | |
| 所有者 | -user | -user root | |
| -group | -group docker | |
| 深度 | -maxdepth | -maxdepth 2 | |
| 逻辑 | -a | 规则1 -a 规则2 | 与 |
| 组合 | -o | 规则1 -o 规则2 | 或 |
| ! | ! -name "*.txt" | 非 |
-bash-4.2# tree.|-- mulu01| `-- mulu01| |-- nihao01| | `-- test789.txt| |-- test01| |-- test02| |-- test03| `-- test23|-- mulu66| |-- nihao01| | `-- test789.txt| |-- test01| |-- test02| |-- test03| `-- test23|-- mulu66.tgz|-- mulu.zip`-- test.c5 directories, 13 files-bash-4.2# find /root -name "test" -ls-bash-4.2# find /root -name "test*" -ls786483 4 -rw-r--r-- 1 root root 297 Apr 15 20:22 /root/mulu01/mulu01/test03786485 0 -rw-r--r-- 1 root root 0 Apr 15 20:22 /root/mulu01/mulu01/nihao01/test789.txt786486 8 -rw-r--r-- 1 root root 4495 Apr 15 20:22 /root/mulu01/mulu01/test02786487 4 -rw-r--r-- 1 root root 28 Apr 15 20:22 /root/mulu01/mulu01/test01786488 0 -rw-r--r-- 1 root root 0 Apr 15 20:22 /root/mulu01/mulu01/test23786468 4 -rw-r--r-- 1 root root 905 Apr 16 10:59 /root/test.c786440 4 -rw-r--r-- 1 root root 297 Mar 31 20:24 /root/mulu66/test03786445 0 -rw-r--r-- 1 root root 0 Mar 30 17:31 /root/mulu66/nihao01/test789.txt786451 8 -rw-r--r-- 1 root root 4495 Mar 31 20:23 /root/mulu66/test02786452 8 -rw-r--r-- 1 root root 4900 Apr 16 09:06 /root/mulu66/test01786480 0 -rw-r--r-- 1 root root 0 Apr 15 20:18 /root/mulu66/test23-bash-4.2#
2.2.2which指令
- 指令名称
- 使用频率
- 指令作用:用于查找并显示给定命令的绝对路径。它通过在环境变量 PATH 指定的路径中搜索可执行文件,常用于确认某个指令是否存在以及它的具体安装位置。
基本只用来查找指令而不是文件 - 指令操作
使用样例: 我们这里看到alias是取别名的意思,在下面有讲。
-bash-4.2# which man/usr/bin/man-bash-4.2# which lsalias ls='ls --color=auto' /usr/bin/ls-bash-4.2# which llalias ll='ls -l --color=auto' /usr/bin/ls-bash-4.2#
2.2.3whereis指令
- 指令名称
- 使用频率
- 指令作用:用于定位指令的二进制程序、源代码文件和 man 手册页等相关文件的路径。相比 find,它的搜索速度更快,因为它直接查询数据库。
- 指令操作
-bash-4.2# whereis lsls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz-bash-4.2# whereis pwdpwd: /usr/bin/pwd /usr/include/pwd.h /usr/share/man/mann/pwd.n.gz /usr/share/man/man1/pwd.1.gz /usr/share/man/man1p/pwd.1p.gz-bash-4.2# whereis cdcd: /usr/bin/cd /usr/share/man/mann/cd.n.gz /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz-bash-4.2#
科普知识:历史指令查询 `history`- 指令名称
- 核心功能
- 应用场景:找回忘记的长指令、复盘操作流程、快速重复执行。 (与上文讲的东西没有关系。基于文章内容完整性的一种妥协(我也不知道该放在文章的哪里))
2.2.4一道经典的例题
我必须补充这道题,因为它实在太好了,如果你按照我说的做了,你也会这么认为:
批量删除当前目录下后缀名为.c的文件。如a.c、b.c。 A. find . -name “.c" -maxdepth 1 | xargs rm B. find . -name ".c” | xargs rm
这道题的精髓在于对 “当前目录” 这四个字的理解。在 Linux 运维中,误删往往就发生在对作用域的模糊认知上。
1. 为什么 A 是最优解?
-maxdepth 1 的威力:这个参数限制了 find 搜索的深度。1 代表只在当前层级查找。- 符合题意:题目明确要求删除“当前目录下”的文件。如果你的当前目录里有子文件夹
backup/,里面存着珍贵的 old_code.c,使用 A 选项,这些子文件夹里的文件会安然无恙。
2. 为什么 B 存在风险?
- 默认递归:
find 命令在不指定深度时,默认会“钻”进所有的子目录、孙子目录。 - 过度删除:如果你执行了 B 选项,它会把当前目录下及其所有子目录中所有的
.c 文件一网打尽。这在生产环境下是一个极其危险的操作,不符合“最小权限/最小范围”原则。
核心知识点:xargs
在这里,xargs 充当了 “翻译官” 的角色:
- 痛点:
rm 命令不接受管道(|)传过来的标准输入(stdin)。 - 方案:
xargs 会把管道传过来的文件名列表,转换成 rm 能够理解的参数格式。 - 逻辑演示:
find 输出了 a.c b.c -> xargs 接收后拼装成 -> 执行 rm a.c b.c。
2.2 过滤器:grep
2.2.1指令介绍
- 指令名称:grep (Global Regular Expression Print)
- 使用频率
- 指令作用:强大的文本搜索工具,它能使用正则表达式搜索文本,并将匹配的行打印出来。常配合管道符
| 使用,用于过滤其他命令的输出结果。 - 指令操作:
grep [选项] [过滤什么] [在哪里过滤] (你要过滤的东西可以不用带“”但是如果你要过滤的东西有空格就必须带“”)
选项:
2.2.2经典样例与实践操作
我们用日志文件来演示grep的强大功能,如下,我们用cat拉出了一堆message,现在我们想要筛选出其中“有Removed关键字的最后十个文件”
我们输入指令:
-bash-4.2# grep "Removed" /var/log/messages | tail -10Apr 17 13:02:01 VM-0-9-centos systemd: Removed slice User Slice of root.Apr 17 13:03:01 VM-0-9-centos systemd: Removed slice User Slice of root.Apr 17 13:04:01 VM-0-9-centos systemd: Removed slice User Slice of root.Apr 17 13:05:01 VM-0-9-centos systemd: Removed slice User Slice of root.Apr 17 13:06:01 VM-0-9-centos systemd: Removed slice User Slice of root.Apr 17 13:07:01 VM-0-9-centos systemd: Removed slice User Slice of root.Apr 17 13:08:01 VM-0-9-centos systemd: Removed slice User Slice of root.Apr 17 13:09:01 VM-0-9-centos systemd: Removed slice User Slice of root.Apr 17 13:10:01 VM-0-9-centos systemd: Removed slice User Slice of root.Apr 17 13:11:01 VM-0-9-centos systemd: Removed slice User Slice of root.-bash-4.2#
一个非常常见的操作:找到我们曾经进行过的一个进程,我们接下来模拟一下(目前会有点超纲)
-bash-4.2# sleep 1000 &[1] 5040-bash-4.2# ps -ef | grep --color "sleep"root 5040 31558 0 13:32 pts/0 00:00:00 sleep 1000root 5111 31558 0 13:32 pts/0 00:00:00 grep --color=auto --color sleep
sleep 1000 &它的作用是在后台启动一个暂停1000秒的进程,ps -ef是查看所有进程,把它的输出结果通过管道输入给grep操作,然后让结果高亮–color,于是我们找到了这个进程sleep。
还有一些别的用法:
2.2.3定位符与扩展正则表达式
看一道题目:在 Linux 系统中,为找到文件 try_grep 含有以 a 字母为行开头的内容,可以使用命令?
A. grep -E # try_grep D. grep -E ^a try_grep √
知识点解析 :在正则表达式中,有两个非常重要的定位符。(后面学习vim的时候也会强调)。
^(脱字符):匹配行的开头。例如 ^a 表示匹配所有以字母 a 开头的行。 $(美元符号):匹配行的结尾。例如 a$ 表示匹配所有以字母 a 结尾的行。
A (#): 匹配空行(开头紧接着就是结尾,中间没内容)。 D (^a): 正确。匹配以 a 开头的行。
这里的 -E 参数表示使用“扩展正则表达式”(Extended Regular Expressions),虽然对于简单的 ^a 来说,普通的 grep 也能直接运行,但在复杂匹配中 -E 非常有用。
2.3 重命名:alias
2.3.1指令介绍
- 指令名称
- 使用频率
- 指令作用:用于为较长或复杂的指令创建别名(简写)。通过设置别名,可以减少输入量并提高工作效率。如果不带参数执行,则显示当前系统中已定义的所有别名。
- 指令操作
2.3.2经典样例
常用安全操作: 提供询问。
alias rm='rm -i' # 删除前询问alias cp='cp -i' # 覆盖前询问alias mv='mv -i' # 移动/重命名覆盖前询问
我们在上文看到的,which ll发现它实际上是ls -l的一个别名。
-bash-4.2# which llalias ll='ls -l --color=auto' /usr/bin/ls
科普知识:续行符号 `\`(Backslash)- 符号名称
- 核心功能:转义与续行。在行末使用时,它告诉 Shell:“命令还没结束,请忽略接下来的换行符,把下一行接在后面。”
- 应用场景:当一条指令过长(例如带有大量参数的
find 或 docker run)时,将其拆分成多行书写。
普通写法(臃肿难读):ls -a -l --color=auto /var/log/messages续行写法(整洁优雅): ls -a -l –color=auto /var/log/messages
(与上文讲的东西没有关系。基于文章内容完整性的一种妥协(我也不知道该放在文章的哪里))
2.4 任务管理器:top
- 指令名称
- 使用频率
- 指令作用:实时动态地查看系统的整体运行情况。它会显示系统负载、CPU 使用率、内存消耗以及正在运行的各个进程的资源占用情况,类似于 Windows 的“任务管理器”。
- 指令操作:
top (进入后按 q 退出,按 M 按内存排序,按 P 按 CPU 排序)
其实就相当于windows的任务管理器:
2.5 计算器:bc
2.5.1指令介绍
- 指令名称
- 使用频率
- 指令作用:一个支持任意精度的交互式计算语言。它可以进行简单的算术运算,也可以进行逻辑运算和科学计算。在脚本中常用于处理浮点数运算。
- 指令操作:
bc [选项] (在终端输入 bc 进入交互模式,或使用 echo "计算表达式" | bc)
2.5.2使用样例
- 基本运算:+ (加), - (减), * (乘), / (除), % (取模), ^ (指数)。
- 逻辑:&& (与), || (或), ! (非)。
- e(x):指数函数(
)。
-bash-4.2# bcbc 1.06.95Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.This is free software with ABSOLUTELY NO WARRANTY.For details type `warranty'. 9+59+84+565+4576278645*4554635819651707878787/76876102^C(interrupt) Exiting bc.-bash-4.2#
2.6 体系结构查看 uname
2.6.1什么是体系结构
什么是体系结构: 在 Linux 语境下,体系结构(Architecture)通常指硬件平台与操作系统的组合方式。它决定了计算机如何处理数据(如 32 位或 64 位)以及内核的版本信息。简单来说,就是告诉软件:“我这台机器的大脑是什么型号,沟通语言的版本是多少。”
2.6.2指令介绍
- 指令名称
- 使用频率:★★★★☆(在安装驱动、部署环境或编译内核时必用)
- 指令作用:用于显示当前操作系统的相关信息(如内核版本、硬件架构等)。
- 指令操作
uname -runame -muname -a:显示所有系统信息(包括内核名、节点名、版本、编译时间等)。
2.6.3实践操作
-bash-4.2# uname -r3.10.0-1160.119.1.el7.x86_64-bash-4.2# uname -mx86_64-bash-4.2# uname -aLinux VM-0-9-centos 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux-bash-4.2#
2.7 热键与关机
在 Linux 操作中,熟练使用热键可以极大提高工作效率,避免重复敲打冗长的路径或陷入失控的进程。
2.7.1 重要的几个热键
[Tab] 按键- 核心功能
- 操作技巧:敲出命令或文件的前几个字母,连按两次
Tab 键可以列出所有匹配项。
[Ctrl] + c 按键- 核心功能
- 应用场景:当你发现指令跑飞了、陷入死循环或者不想等结果时,直接按下它。
[Ctrl] + d 按键- 核心功能:键盘输入结束(End Of File, EOF)。
- 操作技巧:可以用来取代
exit 指令,快速退出当前的终端登录。
2.7.2 关机指令 shutdown
语法:shutdown [选项] [时间]
常见选项说明:
-h-r:在将系统的服务停掉之后,重新启动(reboot)。-t sec
常用实例:
shutdown -h nowshutdown -r nowshutdown -h 20:25shutdown -h +10
Linux云服务器永远不会关机,除非维护或者不用了。
2.8 Linux 常用指令扩展速查表
本文是Linux指令的最后一篇,以下指令前面基本都讲过了,没有讲过的我会在后续不断补充。(瞄一眼知道有啥就行)
| |
|---|
| 安装与登录 | 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, sudo, ps, who |
| 压缩与其它 | tar, unzip, gunzip, unarj, mtools, man, unencode, uudecode |
好了,本期内容到此结束,我是此方,我们下期再见。バイバイ!