这次我们来看银河麒麟系统的终端与 shell。在国产化替换和信创环境中,很多刚接触麒麟系统的用户,遇到的第一道坎往往不是图形界面操作,而是这个看起来黑乎乎的终端窗口。软件装不上、脚本跑不起来、命令报错、权限拒绝,最终都要回到终端去排查。终端和 shell 不是可选项,而是日常开发、运维、软件安装、日志分析的基本功。
这篇文章重点讲四块内容:第一,麒麟系统终端如何打开、如何配置,以及终端里高频使用的快捷键;第二,软件商店和命令行安装、卸载软件怎么操作,遇到“错误代码 0006”这类问题怎么排查;第三,shell 脚本从入门到批量任务怎么写,包括变量、循环、错误处理、后台运行;第四,常见报错和排查方法,尽量做到每一步都可以照着验证。目标很直接:让刚换到麒麟系统的开发者或运维,能靠这篇文章完成日常的软件安装、脚本执行和故障定位。
如果你的工作环境里也出现了“麒麟软件商店错误代码 0006”“终端打不开”“执行 shell 报权限不足”这类问题,建议直接把文章收藏,遇到哪一类,跳到对应章节去查。下面从核心能力速览开始。
1. 核心能力速览
| 能力项 | 说明 |
|---|---|
| 操作系统 | 麒麟软件桌面版 / 服务器版,常见版本如银河麒麟 V10 |
| 默认 Shell | Bash,兼容常见 Linux 命令 |
| 终端入口 | 图形界面终端、桌面版快捷键、SSH 远程终端 |
| 软件包管理 | 软件商店 + 命令行包管理工具 |
| 软件安装方式 | 图形化搜索安装、命令行安装、本地安装包安装 |
| 批量任务能力 | shell 脚本、循环批量处理、定时任务、后台运行 |
| 远程运维能力 | SSH 登录、终端复用工具对接 |
| 接口 API | 不直接提供统一 API,依赖具体软件服务,需要按具体产品确认 |
| 资源占用 | 终端进程本身占用很低,脚本任务按复杂度变化 |
| 适合场景 | 国产化替代、信创环境、桌面运维、服务器管理、shell 脚本批量任务 |
这里需要先说清楚一个边界:麒麟系统不是一套版本的“固定软件”,桌面版和服务器版、不同架构 CPU、不同发行小版本,在软件源、包管理工具和默认内核上会有差异。下面讲到的操作,适用于大多数基于常见 Debian/Ubuntu 生态的银河麒麟桌面环境,如果遇到“命令不存在”或“软件源不匹配”,请以本机的实际版本和官方文档为准。
2. 适用场景与使用边界
2.1 适合谁用
- 从 Ubuntu/Debian 切到麒麟系统的开发者,几乎可以沿用熟悉的 apt、dpkg、bash 命令。
- 国产化环境下的运维人员,需要批量安装软件、写巡检脚本、部署服务。
- 使用麒麟桌面版办公的技术用户,遇到软件商店异常时,需要命令行作为备选安装路径。
- 需要做 shell 脚本入门和批量任务练手的新手,麒麟系统的终端本身就是一套完整的 Linux 练习环境。
2.2 能解决什么问题
- 软件安装失败、软件商店打不开时,用命令行走通“安装、卸载、更新”的替代方案。
- 批量处理文件,例如批量重命名、批量压缩日志、批量检查服务状态。
- 远程登录服务器做日常维护,查看系统负载、磁盘空间、进程状态。
- 编写定时任务,让系统自动执行备份、清理、巡检等重复工作。
2.3 不适合什么场景
- 依赖 Windows 专有软件、且没有 Linux 替代方案的业务,不建议强行用终端绕过,应该先在软件商店或厂商兼容清单中找替代。
- 完全不会 Linux 命令的普通办公用户,只处理文档表格,图形界面和软件商店仍是最优路径,命令行不是万能入口。
- 没有授权、没有测试环境的生产服务器上,不建议直接执行网上复制来的安装脚本或未知命令。
2.4 安全与合规边界
终端权限高,误操作影响大。尤其是以 root 权限执行的命令,可能直接修改系统关键配置。这里明确几条底线:
- 不运行来源不明的 shell 脚本,不向陌生服务器执行反弹 shell 类命令,遇到来历不明的“一键脚本”先审计内容再执行。
- 涉及软件安装、数据删除、系统配置修改时,先备份。
- 在多人环境或生产环境操作时,使用普通用户账号,需要提权时用 sudo,并记录操作日志。
- 涉及远程连接时,优先使用 SSH 密钥登录,不要暴露不必要的服务端口。
3. 环境准备与前置条件
3.1 检查系统版本
打开终端后,先确认系统版本和 CPU 架构。不同架构的软件包不通用,x86 和 ARM 的安装包不能混用。
uname -a cat /etc/os-releaseuname -a可以查看内核版本和机器架构,cat /etc/os-release能显示发行版名称和版本号。如果后面安装软件遇到“架构不匹配”,第一步就是查这里。
3.2 确认当前用户权限
普通用户执行系统级命令时,经常遇到Permission denied。先用whoami确认当前用户。
whoami sudo -vsudo -v的作用是验证当前用户是否有 sudo 权限,并刷新 sudo 时间戳。如果没有输出错误,说明可以提权;如果提示当前用户不在 sudoers 文件中,则需要找管理员账号处理。
3.3 软件源与网络连通性
麒麟系统的软件商店和命令行包管理都依赖软件源。安装软件前先检查网络:
ping -c 4 mirrors.aliyun.com也可以直接执行一次软件源刷新,看是否报错。这一步能区分“软件源不可用”和“软件包不存在”两类问题。
sudo apt update如果apt update出现大量 404、连接超时或公钥错误,说明软件源配置有问题,先不要继续安装软件,优先修复源配置。这里不推荐立即删除系统自带的源,更稳妥的方式是把源文件备份后替换。
3.4 磁盘空间
安装大型软件、开发工具链时,可能占用数 GB 空间。用df -h检查根分区空间:
df -h /如果输出显示根分区剩余空间不足,先清理缓存包和旧内核,再继续安装。
4. 终端启动与高频操作
4.1 打开终端的方式
麒麟桌面版打开终端有几个常见入口:
- 在桌面空白处右键,菜单里选择“打开终端”。
- 使用快捷键
Ctrl + Alt + T,不同桌面环境快捷键可能不同,但多数版本支持。 - 在开始菜单搜索“终端”启动。
- 通过 SSH 远程登录到麒麟服务器,进入的就是远程 shell。
启动后,你会看到类似这样的提示符:
user@kylin:~$user是当前用户名,kylin是主机名,~表示当前在用户家目录,$表示当前是普通用户。如果是 root 用户,末尾通常是#。
4.2 终端里的换行与续行
刚接触终端的人,经常遇到“命令太长,回车后报错”的问题。其实 shell 支持使用反斜杠\换行,把一条长命令分成多行输入:
sudo apt install \ python3-pip \ vim \ curl这里反斜杠的含义是“当前行没有结束,下一行继续”。输入反斜杠后回车,终端会出现>提示符,继续输入即可。
顺带对比一下不同平台的换行符:Windows 命令提示符 cmd 使用^换行,PowerShell 使用反引号`换行,Linux 终端使用\换行。这三者不能混用。
4.3 终端里的历史命令与搜索
使用上下方向键可以在历史命令中切换。如果历史命令太多,使用Ctrl + R进入反向搜索模式,输入关键字后回车即可执行:
# 按 Ctrl + R 后输入 apt # 终端会匹配历史中最近一次包含 apt 的命令常用快捷键整理:
| 快捷键 | 作用 |
|---|---|
| Ctrl + Alt + T | 打开终端(桌面版常见) |
| Ctrl + Shift + C | 复制 |
| Ctrl + Shift + V | 粘贴 |
| Ctrl + C | 中断当前命令 |
| Ctrl + D | 退出当前 shell |
| Ctrl + L | 清屏 |
| Ctrl + R | 搜索历史命令 |
| Tab | 命令和路径补全 |
4.4 终端复用与多窗口
日常排查问题经常要同时看日志、跑命令、编辑文件,开一堆终端窗口容易混乱。终端复用工具能在同一个终端里开多个会话。麒麟系统软件源里常见的是tmux,通过命令行安装:
sudo apt install tmux启动 tmux:
tmux new -s work常用操作:
# 在 tmux 中新建窗口 Ctrl + b 然后按 c # 切换窗口 Ctrl + b 然后按 0 或 1 # 分离会话,任务继续在后台运行 Ctrl + b 然后按 d # 重新接入会话 tmux attach -t work使用终端复用的一个明显好处是:SSH 连接突然断开时,tmux 里的任务不会跟着中断,重新登录后还能恢复现场。
5. 软件安装与卸载:软件商店和命令行走一遍
5.1 软件商店的基础操作
麒麟系统自带软件商店,日常办公用户优先在商店里搜索、安装、卸载软件。商店的优势是图形化、依赖自动处理,适合不熟悉命令行的用户。
如果软件商店能正常打开,直接搜索软件名,点击安装即可。但商店偶尔会遇到“错误代码 0006”或安装进度卡住的情况。从社区反馈看,这类问题通常和网络、软件源、缓存或商店服务有关。遇到时按下面的顺序排查:
- 先确认系统时间是否正确,时区偏差会导致 HTTPS 请求失败。
- 检查网络连通性,确认能否正常访问软件源。
- 清理软件商店缓存后重启商店。
- 尝试用命令行刷新软件源,再回商店安装。
- 查看商店日志或系统日志,定位具体报错。
如果商店一直无法使用,不要死磕,直接切到命令行安装,这是更可控的路径。
5.2 命令行的软件源刷新与更新
命令行安装前,先更新软件源索引:
sudo apt update升级已安装软件:
sudo apt upgrade注意:upgrade在部分场景下不处理内核相关更新,如需完整升级,需要在确认兼容性后执行sudo apt dist-upgrade。生产环境升级前务必备份。
5.3 安装软件的命令写法
安装单个软件:
sudo apt install vim -y同时安装多个软件:
sudo apt install curl wget git -y这里的-y表示自动确认,不加的话安装过程会交互式询问 Y/n。写脚本时建议加上,避免卡在确认环节。
如果已经下载了.deb安装包,用dpkg安装:
sudo dpkg -i 软件包名称.debdpkg -i不会自动处理依赖,如果提示缺少依赖,先执行sudo apt -f install修复依赖,再重新安装。
5.4 卸载软件的两种方式
卸载软件用apt remove:
sudo apt remove 软件包名称如果想把配置文件也一起清理,用apt purge:
sudo apt purge 软件包名称卸载后清理不再需要的依赖:
sudo apt autoremove图形化软件商店里的“卸载”按钮,本质上是调用系统包管理能力。玩家在商店里卸载失败时,命令行是可靠的替代方案。这里的关键是:先查出准确的包名。
5.5 查询软件包信息
不知道包名时,用apt search搜索:
apt search 关键字查看某个软件是否已安装:
apt list --installed | grep 软件名查看软件包详细信息:
apt show 软件包名称这里举一个实际场景:想给麒麟系统安装分区编辑器,但不知道包名。可以先搜索:
apt search 分区编辑器搜索关键字太多时过滤慢,也可以直接搜英文名。常见工具如gparted,在多数麒麟软件源中可以直接安装:
sudo apt install gparted如果提示找不到,先sudo apt update刷新源,再用apt search gparted确认包名是否一致。
6. shell 脚本入门与批量任务
6.1 第一个 shell 脚本
在终端里创建一个测试脚本:
mkdir -p ~/shell-lab cd ~/shell-lab vim hello.sh在 vim 中输入:
#!/bin/bash echo "Hello, Kylin Shell" echo "当前用户: $(whoami)" echo "当前目录: $(pwd)"保存后添加执行权限:
chmod +x hello.sh执行脚本:
./hello.sh这里解释一下,#!/bin/bash称为 shebang,指定脚本使用哪个解释器执行。chmod +x给脚本添加可执行权限。如果直接用bash hello.sh执行,也可以不添加执行权限。
6.2 变量与输入
shell 脚本里使用变量不需要声明类型:
#!/bin/bash name="kylin" echo "系统名称: ${name}"读取用户输入:
#!/bin/bash read -p "请输入文件夹名称: " folder_name mkdir -p "${folder_name}" echo "已创建目录: ${folder_name}"执行后终端会等待输入,输入内容后自动创建目录。这里的${folder_name}写法比$folder_name更安全,尤其当变量后面紧跟其他字符时,${}能明确边界。
6.3 循环与批量任务
写一个批量创建目录的脚本:
#!/bin/bash for i in 1 2 3 4 5 do mkdir -p "dir_${i}" echo "已创建 dir_${i}" done执行后,当前目录下会生成dir_1到dir_5五个目录。这是一个最朴素的批量任务例子,可以扩展到批量重命名文件、批量压缩日志、批量检查服务状态。
批量重命名文件是更常见的需求。假设当前目录有一批.txt文件,想统一加前缀:
#!/bin/bash for file in *.txt do mv "${file}" "备份_${file}" done如果文件名带空格,for file in *.txt也能正确处理,因为通配符展开后的每个文件名会被当作一个整体。但普通字符串切分可能会出错,这也是 shell 脚本的常见坑之一。
批量安装软件包列表:
#!/bin/bash packages=(vim curl git tmux) for pkg in "${packages[@]}" do echo "正在安装: ${pkg}" sudo apt install -y "${pkg}" done实际使用时,建议不要无脑批量安装,先确认每个包名确实存在,再执行。
6.4 条件判断与错误处理
判断目录是否存在:
#!/bin/bash if [ -d "/tmp/kylin-test" ]; then echo "目录存在" else echo "目录不存在,正在创建" mkdir -p /tmp/kylin-test fi判断文件是否存在:
if [ -f "/etc/hosts" ]; then echo "hosts 文件存在" fi在执行关键步骤时,建议启用“出错即停”:
#!/bin/bash set -e echo "步骤1: 更新索引" sudo apt update echo "步骤2: 安装软件" sudo apt install -y curl这里的set -e表示脚本中任何一条命令返回非零退出码时,立即停止执行。这样做的好处是,不会在第一步失败后继续执行后续命令,把系统环境搞得一团糟。
如果明确希望某条命令失败时忽略错误继续执行,可以在命令末尾加|| true:
sudo apt install -y optional-package || true echo "即使安装失败也继续执行"使用|| true要谨慎,它意味着彻底忽略命令的错误状态,适合“能装最好,装不上不影响主流程”的场景,不适合核心部署步骤。
6.5 权限、执行方式和常见坑
脚本报Permission denied,先看权限:
ls -l script.sh如果权限位没有x,执行权限缺失,用chmod +x script.sh添加。或者使用显式解释器执行:
bash script.sh在 Windows 下编辑过脚本再拷到麒麟系统,经常遇到\r字符导致脚本报错。可以用sed快速处理:
sed -i 's/\r$//' script.sh这里把每行末尾的 Windows 换行符\r删除,转成 Linux 格式。如果不处理,脚本可能报$'\r': command not found或行为异常。
7. 接口 API、远程终端与自动化对接
在麒麟系统里,“接口能力”通常不是终端本身提供的,而是终端作为客户端去调用其他服务的接口。这里讲三个常用对接场景。
7.1 通过 curl 调用 HTTP 接口
麒麟系统自带 curl,可以用它测试 REST API。例如发送一个 GET 请求:
curl -X GET http://127.0.0.1:8080/api/health发送带 JSON 数据的 POST 请求:
curl -X POST http://127.0.0.1:8080/api/submit \ -H "Content-Type: application/json" \ -d '{"name": "kylin", "task": "backup"}'如果接口返回中文乱码,检查是否缺少-H "Accept: application/json",或者接口本身返回了非 UTF-8 编码。用curl -v可以查看完整请求响应过程,排查连接、证书、路由类问题。
7.2 远程终端与 SSH 连接
开发或运维人员经常要登录远程服务器。麒麟系统终端自带 SSH 客户端:
ssh user@192.168.1.100指定端口:
ssh -p 2222 user@192.168.1.100第一次连接时会提示确认主机指纹,输入yes后继续。生产环境建议使用密钥登录,不直接使用密码。生成密钥:
ssh-keygen -t ed25519将公钥拷贝到服务器:
ssh-copy-id user@192.168.1.100远程登录后,配合 tmux 可以做到会话保持。即使本地断网,远程 tmux 里的任务仍然在跑。
7.3 第三方终端工具接入
除了系统自带终端,很多用户习惯使用跨平台终端工具,比如 Tabby。这类工具通常支持 SSH 连接、SFTP 文件传输、主题定制,可以在本机安装后,通过 SSH 协议连到麒麟服务器。第三方工具的角色是“终端模拟器 + SSH 客户端”,最终执行的命令仍然由麒麟系统的 shell 解释处理。第一次使用第三方终端工具时,重点检查字符编码是否设置为 UTF-8,否则中文日志和文件名可能显示乱码。
如果你在 Cursor、VS Code 这类编辑器里集成终端,在麒麟系统中同样可以直接打开系统 shell。遇到“终端进程启动失败”“无法加载文件”这类报错,优先检查编辑器配置的 shell 路径是否正确。
7.4 定时任务的批量调度
shell 脚本配合 crontab,能实现周期性批量任务。编辑当前用户的定时任务:
crontab -e添加一条每天凌晨 1 点执行备份脚本的任务:
0 1 * * * /home/user/scripts/backup.sh >> /home/user/logs/backup.log 2>&1查看当前定时任务:
crontab -l定时任务执行时没有交互终端,脚本里如果依赖当前用户环境变量,可能要显式写绝对路径。这也是新手经常遇到的坑:手动执行正常,定时任务却不生效。
8. 资源占用与性能观察
8.1 终端本身的占用
终端进程是轻量进程,空闲时 CPU 占用接近于零,内存占用通常在几十 MB 级别。真正消耗资源的是终端里运行的程序,比如编译任务、大文件压缩、数据库查询。排查性能问题时,先分清是 shell 本身慢,还是执行的具体程序慢。
8.2 观察系统负载
用top查看实时进程和系统负载:
top按q退出。如果只关心内存,用free -h:
free -h查看磁盘空间:
df -h8.3 脚本任务的性能观察
shell 脚本大量循环执行时,如果循环体内每次都调用外部命令,整体耗时会明显上升。比如批量处理 1000 个文件,每个文件都启动一次ls或sed,性能可能比预期差很多。优化方向有两个:减少循环内的外部命令调用次数;用更快的工具替代,例如用find的-exec参数批量处理,而不是逐条启动命令。
find ./logs -name "*.log" -exec gzip {} \;这条命令会批量压缩logs目录下的所有.log文件。find -exec比for循环加gzip的写法更简洁,且对文件名中的空格处理更好。
8.4 后台运行与日志隔离
长时间运行的脚本,直接用./long_task.sh执行,关闭终端就中断了。可以使用nohup让命令在后台运行:
nohup ./long_task.sh > task.log 2>&1 &这里&表示后台执行,nohup让进程忽略挂断信号,> task.log 2>&1把标准输出和错误输出都写入日志文件。之后可以用tail -f task.log实时查看进度。
如果需要恢复前台交互,可以用jobs和fg:
jobs fg %18.5 端口与进程排查
排错时经常要确认某个端口是否被占用。使用ss命令:
ss -tlnp | grep 8080查看端口 8080 的监听状态。如果提示-p需要权限,加sudo重试。查找指定进程:
ps -ef | grep 软件名强制结束异常进程:
sudo kill -9 进程PID使用kill -9要非常谨慎,它会直接终止进程且不给予清理机会,优先尝试普通kill。
9. 常见问题与排查方法
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 终端打不开 | 桌面环境异常、快捷键被占用、会话卡死 | 检查系统桌面服务,尝试重启系统 | 重启桌面会话;查看系统日志定位 |
| 软件商店提示“错误代码 0006” | 网络异常、软件源不可用、商店缓存损坏、系统时间偏差 | 检查网络、系统时间,清理商店缓存,查看日志 | 先修复网络和软件源,再重启商店 |
| apt update 报 404 或公钥错误 | 软件源配置错误、源地址失效 | 备份源文件,检查源地址是否匹配当前版本和架构 | 恢复正确源配置,重新刷新索引 |
| 安装软件提示依赖错误 | 软件源索引过期、本地包依赖不完整 | 执行sudo apt -f install修复依赖 | 先apt update,再重试安装 |
| 命令提示 command not found | 软件未安装、包名不对、环境变量缺失 | 用apt search搜索,确认包名 | 安装对应软件包,或修正命令路径 |
| 运行脚本报 Permission denied | 脚本没有执行权限 | 使用ls -l查看权限位 | chmod +x 脚本名 |
脚本报$'\r': command not found | 脚本在 Windows 编辑过,换行符为 CRLF | 用file命令查看编码格式 | 执行sed -i 's/\r$//' 脚本名 |
| 普通用户执行系统命令被拒绝 | 权限不足,命令需要提权 | 确认是否在 sudoers 列表中 | 使用sudo,或切换管理员用户 |
| 中文文件名或日志乱码 | 终端字符编码不是 UTF-8,或软件不兼容中文 | 检查终端设置中的字符编码 | 改为 UTF-8,或安装中文字体 |
| 定时任务不执行 | crontab 语法错误、脚本路径相对、环境变量缺失 | 手动执行脚本看是否正常,查看 cron 日志 | 脚本中写绝对路径,检查 crontab 语法 |
| 远程 SSH 连接被拒绝 | SSH 服务未启动、防火墙拦截、端口错误 | 查看systemctl status sshd,检查防火墙 | 启动 SSH 服务,放行端口或修正端口 |
| 批量任务执行到一半卡住 | 等待用户输入、网络阻塞、磁盘写满 | 查看进程状态、磁盘空间、日志尾部 | 给命令加-y参数,清理磁盘,重启任务 |
这里要特别提醒:如果是 Windows 平台上的终端模拟器报类似“终端进程启动失败: 启动期间发生本机异常(无法启动 conpty)”的错误,那是 Windows 终端的 conpty 子系统问题,与麒麟系统无关。遇到时检查对应终端模拟器的版本、shell 路径和系统更新状态。在 Android 调试设备时遇到adb shell无法打开 root shell,属于设备权限策略,需要检查设备是否允许调试和提权,不要尝试绕过设备的安全机制。
10. 最佳实践与使用建议
10.1 先从最小命令集开始
刚上手麒麟终端时,不需要记住所有命令。先掌握几个核心命令组合:cd切换目录、ls查看文件、pwd确认当前位置、sudo提权、apt install安装软件、chmod +x赋予脚本执行权限。这六个命令足以覆盖日常 80% 的操作。
10.2 保存一份最小可运行配置
在服务器或新装系统上,建议把常用工具一次性装好,减小后续排错成本:
sudo apt update sudo apt install -y vim git curl wget tmux tree htop这组命令安装的是基础工具,不涉及特定业务软件,兼容性风险较低。装完后,vim用于编辑、git用于代码管理、tmux用于会话保持、htop用于资源观察,日常运维基本够用。
10.3 目录和文件规划要清楚
建议把脚本统一放到~/scripts,把日志统一放到~/logs,把安装包统一放到~/packages。脚本里所有路径尽量写成绝对路径,或者在脚本开头定义变量:
#!/bin/bash BASE_DIR="/home/user/scripts" LOG_DIR="/home/user/logs" mkdir -p "${LOG_DIR}"这样做的好处是:定时任务执行时不会因为“当前目录不对”而找不到文件。
10.4 写批量脚本时加日志和重试
批量任务不是“写完就能跑”的。实际执行时,经常有某个文件格式错误、某个网络请求超时。正确的做法是每处理一个项目就写一行日志,并把失败信息记录下来:
#!/bin/bash LOG_FILE="/home/user/logs/batch.log" while read -r file_path do if process_file "${file_path}"; then echo "[OK] ${file_path}" >> "${LOG_FILE}" else echo "[FAIL] ${file_path}" >> "${LOG_FILE}" fi done < file_list.txt这样执行结束后,通过grep "\[FAIL\]" batch.log能快速定位失败项。
10.5 权限和隔离意识
日常使用不要一直用 root 登录。普通用户能完成的操作,用普通用户执行;需要安装软件或修改系统配置时,用sudo提权。多人共用的服务器上,为不同角色创建独立账号,避免一个误操作影响所有人。
10.6 合规与授权意识
在麒麟系统上安装第三方工具、运行脚本、连接远程主机时,要确认软件来源和授权范围。处理他人文件、音频、图像、代码时,尊重版权和数据隐私。涉及“反弹 shell”“绕过安全限制”等方式的行为,无论技术演示还是实际操作,都存在明显安全风险,不建议在未授权环境尝试,也不要向不明服务器主动发起连接,这是底线。
11. 总结与下一步
麒麟系统的终端与 shell,本质上仍然是 Linux 生态里那一套成熟的命令体系和脚本能力。当前阶段最值得先验证的功能有三个:一是用命令行成功完成一次软件安装和卸载,确认软件源和包管理工具可用;二是把日常手动执行的批量操作整理成一个 shell 脚本,尤其是批量重命名、批量备份这类高频任务;三是尝试用 tmux 做一次远程会话保持,体验“断线不丢现场”的效果。
最容易踩的坑也有三个:第一个是软件源配置不正确,导致apt update大面积报错,这种情况优先检查版本和架构匹配;第二个是脚本从 Windows 拷过来后出现 CRLF 换行符,执行前先处理\r;第三个是普通使用中忘记权限边界,不是所有命令都需要 sudo,但需要 sudo 的命令不加权限又跑不通,这道题要先习惯sudo -v验证、sudo提权、chmod +x赋权的节奏。
下一步建议按顺序做三件事:备份当前系统的软件源配置,记录一份本机软件包清单;把常用的环境初始化命令整理成脚本,方便新机器快速复现;结合具体的业务场景,例如日志清理、磁盘检查、服务健康巡检,写两个定时任务。等到这一步跑通,你在麒麟系统上的终端和 shell 能力就已经能支撑日常开发和运维了。建议收藏备用,排查问题时直接对照文章里的表格。