银河麒麟系统终端与Shell入门:从命令操作到脚本实战
2026/9/1 19:40:28 网站建设 项目流程

在国产操作系统逐步走进企业办公、政务生产和个人开发环境的过程中,银河麒麟(Kylin)系统是出镜率非常高的一款。很多人第一次接触 Linux 就是从麒麟开始的,但刚上手时最不习惯的就是终端和 shell。图形界面下装软件、改配置还能点一点,一旦遇到软件商店报错、想批量处理文件、写自动化脚本,就绕不开终端和 shell。这篇文章就以麒麟系统为背景,系统梳理终端和 shell 的核心概念、常用操作、软件安装方法、shell 脚本入门和常见故障排查,尽量让刚接触国产系统的读者能照着操作,也让有 Linux 基础的开发者能快速对齐麒麟环境下的差异点。

1. 终端和 shell 到底是什么

1.1 终端不是黑框框,而是操作系统的入口

很多读者刚打开麒麟系统里的“终端”应用时,看到的是一个类似黑色窗口的界面,里面只有一个提示符,比如:

kylin@kylin:~$

这个窗口其实就是终端模拟器。它本身并不执行命令,而是提供一个交互界面,把用户在键盘上输入的内容发送给 shell 程序,再把 shell 返回的结果显示出来。你可以把它理解成“操作系统的文字入口”。

在 Linux 系统中,终端是运维、开发、问题排查绕不开的工具。图形界面能完成大部分日常操作,但遇到下面这些场景时,终端反而更高效:

  • 批量重命名文件。
  • 查看系统运行状态。
  • 安装和卸载软件包。
  • 定位软件商店报错的原因。
  • 编写 shell 脚本实现自动化。

在麒麟系统上,终端的重要性并不比其他 Linux 发行版低。很多和系统底层、软件源、服务状态相关的操作,通过终端能获得更直接的反馈。

1.2 shell 是解释命令的程序

shell 是一个命令行解释器。用户输入的命令,最终由 shell 解释并转发给操作系统内核执行。bash(Bourne Again Shell)是 Linux 系统中最常见的 shell,麒麟系统默认使用的也是 bash。

从用户视角来看,shell 提供了几类核心能力:

  • 执行普通命令,比如lscdcp
  • 支持通配符,比如*.txt表示匹配所有 txt 文件。
  • 支持重定向和管道,比如cat a.txt | grep error
  • 支持变量、条件判断、循环等编程语法,把多条命令组织成脚本。

对普通用户而言,shell 是命令的翻译官;对开发者和运维工程师而言,shell 还是一种轻量级编程语言,适合编写自动化运维脚本、数据处理脚本和系统管理工具。

1.3 麒麟系统终端和 shell 的使用场景

银河麒麟 V10 常见的使用场景有几类:

  • 桌面办公:安装办公软件、配置打印机、管理系统更新。
  • 开发测试:部署中间件、运行 Python 或 Java 程序、操作数据库。
  • 运维管理:查看服务状态、清理磁盘空间、管理用户和权限。
  • 信创适配:将原本运行在 CentOS 或 Ubuntu 上的脚本迁移到麒麟系统。

在这些场景里,终端和 shell 几乎是绕不开的基础能力。

2. 环境准备与版本说明

2.1 银河麒麟常见版本

银河麒麟系统目前最常见的是 V10 系列,分为桌面版和服务器版。不同 CPU 架构还有不同版本,例如:

  • x86_64(Intel、AMD 平台)。
  • ARM64(飞腾、鲲鹏平台)。
  • MIPS64(龙芯平台)。
  • SW64(申威平台)。

同一套命令在不同架构上基本一致,差异主要集中在软件包来源和部分底层库。本文示例以银河麒麟桌面版 V10 为主,多数命令和脚本在服务器版同样适用。

如果系统版本不同,个别软件源的地址或包管理器行为可能有差异。遇到问题时,建议先确认系统版本:

cat /etc/os-release

2.2 终端模拟器和 shell 环境

麒麟桌面版自带终端模拟器,一般可以在“开始菜单 -> 系统工具 -> 终端”中找到,也可以在桌面空白处右键选择“打开终端”。

默认 shell 是 bash,可以执行下面命令确认:

echo $SHELL

正常情况下会输出/bin/bash

如果需要在脚本中指定解释器,在脚本第一行加上:

#!/bin/bash

2.3 用户权限说明

在使用终端时,普通用户提示符通常是$,root 用户提示符是#。很多管理类命令需要管理员权限,有两种方式:

第一种是临时切换用户:

su - root

第二种是使用sudo临时提权:

sudo 命令

需要提醒的是,日常操作尽量使用普通用户,不要长期使用 root。涉及系统关键配置的修改,先确认操作目的,再执行命令,避免误操作影响系统稳定性。

3. 麒麟终端高频操作与核心命令

3.1 打开终端和切换目录

打开终端后,通常停留在当前用户的家目录。查看当前目录:

pwd

切换目录是终端里最高频的操作之一,使用cd命令:

cd /etc # 进入 /etc 目录 cd ~ # 进入当前用户家目录 cd .. # 返回上一级目录 cd - # 返回上一次所在目录

在命令行里,~代表当前用户家目录,.代表当前目录,..代表上一级目录。这个约定在 Linux 中通用。

3.2 终端换行和多行输入

很多人在终端里遇到一个疑问:命令行太长,怎么换到下一行继续输入?

在 bash 中,如果一行命令还没写完,可以按反斜杠\再按回车,shell 会在下一行继续等待输入:

echo "hello" \ "world"

如果是想在已执行的命令中重新编辑,可以使用方向键上下翻看历史命令,也可以按Ctrl + A跳到行首、Ctrl + E跳到行尾。

还有一种情况是脚本或命令中间不小心按了回车,终端进入续行状态,提示符变成>。此时可以按Ctrl + C取消当前输入,重新开始。

3.3 文件与目录管理

日常操作中最常用的一组命令:

ls # 查看当前目录文件 ls -l # 查看详细信息 ls -a # 查看隐藏文件 cp file1 file2 # 复制文件 mv file1 dir/ # 移动文件 rm file1 # 删除文件 mkdir newdir # 创建目录

需要注意的是,rm删除的文件不会进入回收站,直接删除。生产环境中,尤其是 root 用户下,执行rm之前要仔细检查路径。

3.4 管理员权限和软件包管理

麒麟系统安装软件常见有两种方式:

一种是在软件商店中搜索安装,适合普通用户。但有时会遇到软件商店打不开、安装报错等问题。

另一种是使用命令行工具安装,更适合排查问题和批量部署。

银河麒麟 V10 基于 Debian 体系,底层包管理器是dpkg,依赖管理使用apt。常用命令如下。

更新软件源缓存:

sudo apt update

升级已安装软件包:

sudo apt upgrade

安装软件包:

sudo apt install 软件包名

卸载软件包:

sudo apt remove 软件包名

彻底卸载并清理配置:

sudo apt purge 软件包名

安装本地 deb 安装包:

sudo dpkg -i 软件包名.deb

如果 dpkg 安装时提示依赖缺失,可以执行:

sudo apt -f install

自动修复依赖关系后再安装。

需要注意的是,麒麟系统的软件源可能与企业内网、离线环境绑定。如果apt update报错,优先检查网络、软件源配置和 DNS。

3.5 查找命令和查看帮助

记不住命令参数时,可以查看帮助:

man ls

也可以用命令自带的帮助参数:

ls --help

想查找某个命令的位置:

which python3

想查找系统里某个文件的位置:

find /etc -name "*.conf"

4. 麒麟系统软件安装的完整示例

4.1 通过软件商店安装

银河麒麟桌面版自带软件商店,相当于图形化的软件管理工具。适合安装常用办公软件、开发工具和日常应用。

步骤很简单:

  1. 打开软件商店。
  2. 在搜索框输入软件名称。
  3. 点击安装按钮。
  4. 输入管理员密码。

这种方式适合新手,但安装失败时不方便看到底层错误日志,排查问题有一定局限。

4.2 通过 apt 命令行安装软件

以安装vim文本编辑器为例:

sudo apt update sudo apt install vim -y

参数-y表示自动确认安装,脚本中使用时比较方便。

安装完成后,执行:

vim --version

可以确认安装是否成功。

4.3 安装本地 deb 包

如果你手里已经有一个.deb安装包,比如某个适配麒麟系统的办公软件安装包,安装方式如下:

sudo dpkg -i your-software.deb

如果提示依赖缺失:

sudo apt -f install

然后重新安装。

这个过程建议在测试环境中先验证一次,确认软件与原系统兼容后再批量部署。

4.4 卸载和清理

卸载软件时,普通卸载:

sudo apt remove your-software

如果希望连配置文件一起清理:

sudo apt purge your-software

清理无用的依赖包:

sudo apt autoremove

清理包管理器缓存:

sudo apt clean

在生产环境或重要机器上,执行卸载命令前建议先确认软件包名,避免误删依赖组件。

5. shell 脚本入门与实战

5.1 第一个 shell 脚本

shell 脚本本质上是把多条命令写入一个文件,并赋予执行权限后运行。

新建一个脚本文件:

vim hello.sh

输入以下内容:

#!/bin/bash # 这是一个简单的 shell 脚本示例 echo "Hello, Kylin Shell"

保存退出后,赋予执行权限:

chmod +x hello.sh

执行脚本:

./hello.sh

输出:

Hello, Kylin Shell

这里需要解释一下:脚本第一行的#!/bin/bash是 shebang,告诉系统用哪个解释器来执行脚本。chmod +x是添加可执行权限,如果不加权限,执行时会出现Permission denied错误。

5.2 变量和用户输入

shell 脚本中定义变量很简单:

#!/bin/bash name="kylin" echo "当前系统用户是 $name"

从用户输入读取内容可以使用read

#!/bin/bash echo "请输入文件名:" read filename echo "你输入的文件名是 $filename"

变量名不能包含空格,赋值时等号两边不能有空格。这是新手比较容易踩的坑。

5.3 for 循环批量处理文件

shell 脚本中for循环非常实用。比如批量重命名当前目录下的.txt文件,在前面加上日期前缀:

#!/bin/bash for file in *.txt do mv "$file" "$(date +%Y%m%d)_$file" done

这段脚本会遍历当前目录下所有以.txt结尾的文件,并把文件重命名为类似20250101_oldname.txt的格式。

使用变量时加上双引号,可以避免文件名包含空格时出错。这是脚本健壮性的关键点。

再来看一个批量创建目录的例子:

#!/bin/bash for i in {1..5} do mkdir "folder_$i" done

循环执行完后,当前目录下会生成folder_1folder_5五个目录。

5.4 条件判断

条件判断用来控制脚本的分支逻辑。例如,判断文件是否存在:

#!/bin/bash if [ -f /etc/hosts ] then echo "文件存在" else echo "文件不存在" fi

[ -f 文件路径 ]是判断是否为普通文件。类似的判断还有:

  • [ -d 路径 ]判断是否为目录。
  • [ -e 路径 ]判断是否存在。
  • [ -z 字符串 ]判断字符串是否为空。

在使用[ ]判断时,注意方括号内侧必须有空格,否则会报语法错误。

5.5 忽略命令执行错误

在脚本中,如果某一条命令执行失败,默认情况下脚本不会停止,而是继续执行下一条。如果你希望在脚本中忽略某些步骤的错误继续执行,可以在命令末尾追加|| true

#!/bin/bash echo "开始执行" some_maybe_fail_command || true echo "忽略错误,继续执行"

如果希望脚本只要遇到任何错误就立即退出,可以在脚本开头加上:

set -e

实际项目中,可以根据需求选择不同的错误处理策略。对于自动部署脚本,通常会先用set -e做严格检查,再单独对允许失败的步骤做例外处理。

6. 常见问题与排查思路

6.1 麒麟软件商店错误代码 0006

不少用户在使用麒麟系统时,软件商店安装软件会提示错误代码 0006。

这个错误通常和软件源、网络连接或软件仓库缓存有关。排查思路如下。

第一步,检查网络是否正常:

ping -c 4 mirrors.kylinos.cn

第二步,更新软件源缓存:

sudo apt update

第三步,清理缓存后重试:

sudo apt clean

如果是在内网环境,需要确认/etc/apt/sources.list中配置的软件源地址是否可访问。

6.2 软件安装提示依赖缺失

使用dpkg -i安装本地包时,经常出现依赖缺失的提示。

解决方法是先执行:

sudo apt -f install

自动修复依赖,然后重新安装软件包。

也可以使用apt install ./软件包名.deb的方式直接安装本地包,apt 会尝试处理依赖。

6.3 终端提示权限不足

执行命令时提示Permission deniedOperation not permitted,通常有两种情况。

第一,命令需要管理员权限。检查当前用户身份,非 root 用户需要加sudo

第二,文件没有执行权限。如果是要执行脚本,先加权限:

chmod +x script.sh

6.4 终端打不开或异常退出

如果终端模拟器打不开,可以先尝试从另一个终端执行:

kylin-terminal

查看终端进程的报错信息。常见原因包括显卡驱动问题、中文输入法冲突、桌面环境组件异常。

也可以尝试删除终端应用的残留配置后重启:

rm -rf ~/.config/kylin-terminal

这个操作会重置终端配置,适合配置损坏的场景,但最好先备份原配置目录。

6.5 常见问题一览

问题现象常见原因解决思路
软件商店提示错误代码 0006软件源不可达、缓存损坏检查网络、更新软件源、清理缓存
apt update 报错软件源地址错误检查 /etc/apt/sources.list
安装 deb 包提示依赖缺失依赖包未安装apt -f install 修复依赖
执行脚本提示 Permission denied脚本没有可执行权限chmod +x 脚本名
终端字体或界面错乱终端配置损坏备份并重置终端配置
命令找不到软件未安装或 PATH 缺失which 检查路径,安装相应软件包

7. 最佳实践与工程建议

7.1 命令操作规范

在终端执行命令时,尽量养成几个好习惯。

命令执行前先确认路径:

pwd

删除操作前先查看:

ls -l 路径

使用rm -rf时要格外谨慎,最好先列目录确认内容,再执行删除,避免误删系统文件或用户数据。

7.2 shell 脚本编写规范

编写 shell 脚本时,建议注意以下几点。

脚本开头声明解释器:

#!/bin/bash

变量命名使用小写字母和下划线,避免与系统环境变量冲突:

file_path="/home/kylin/data"

给关键步骤添加注释,方便后期维护:

# 备份配置文件 cp /etc/app.conf /etc/app.conf.bak

对路径加双引号,防止空格导致错误:

cp "$source_file" "$target_dir"

在生产环境中,脚本里涉及远程服务器操作或数据库变更时,先在小范围测试,确认逻辑正确后再全量执行。

7.3 日志记录与错误处理

脚本运行出现问题后,日志是排查的第一手资料。建议在脚本中增加输出重定向:

bash deploy.sh > deploy.log 2>&1

这样标准输出和错误输出都会写入deploy.log文件。

在脚本内部,也可以对关键步骤做简单的日志追加:

echo "$(date) 开始备份" >> deploy.log

7.4 权限最小化

在服务器或生产环境中,不建议直接用 root 执行日常命令,也不要给脚本授予过高的 sudo 权限。普通用户能完成的任务就用普通用户执行,只有安装软件、修改系统配置时才临时提权。

对于可能影响系统稳定性的操作,比如替换软件源、修改内核参数、调整服务状态,建议先备份原文件,再执行修改。修改完成后确认系统功能正常,再清理备份或保留在固定目录中。

7.5 软件源与网络安全

配置软件源时,优先使用官方源或企业内部可信源。不要随意添加来源不明的软件源,避免安装到被篡改的软件包。

安装第三方软件时,确认软件包来源可靠,在测试环境验证后再部署到正式环境。

8. 下一步学习建议

终端和 shell 是 Linux 操作系统中适用范围很广的基础能力。读完这篇文章,你应该已经可以完成几件事:在麒麟系统中打开终端并执行基础命令、通过命令行安装和卸载软件、编写简单的 shell 脚本处理文件、面对软件商店报错时找到排查入口。

如果还想继续深入,建议从以下几个方向切入。

掌握文本处理三剑客:grepsedawk。这三个工具能帮你快速处理日志、提取数据、批量修改文件内容。

理解用户和权限管理。useraddusermodchmodchown是系统管理的基础。

学会 systemd 服务管理。用systemctl管理服务状态、设置开机自启,是服务器运维的常用技能。

尝试编写一个完整的小型自动化脚本。比如:每天定期备份指定目录,保留最近 7 天的备份文件,并把日志写入文件。这样一个脚本虽然不大,但能把变量、循环、条件判断、时间处理、文件操作全部串起来,对理解 shell 编程很有帮助。

在动手过程中遇到报错,不要急着搜索“复制粘贴”,先看报错信息本身。终端给出的错误信息一般是直接原因,比如文件不存在、权限不足、依赖缺失。如果信息不够完整,可以用-v--debug参数重试,获取更详细的输出。

国产操作系统处于快速迭代阶段,不同小版本的软件源地址、软件包名称可能有细微差别。遇到问题时,先确认版本,再对照官方资料排查,能少走很多弯路。希望这篇文章能帮你跨过终端和 shell 的第一道门槛,在麒麟系统上更顺畅地工作。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询