
如果您希望在麒麟OS系统中减少重复性手动操作,提升日常运维效率,则可以通过编写Shell脚本实现任务自动化。以下是几种常见场景下的实用脚本编写与调用方法:
一、自动清理系统缓存与日志
麒麟OS在长期运行后会积累大量临时文件和旧日志,占用磁盘空间并影响响应速度。该脚本通过定时删除指定路径下的无用缓存与过期日志,维持系统轻量运行状态。
1、使用文本编辑器创建脚本文件:sudo nano /usr/local/bin/clean-kylin-cache.sh
2、写入以下内容:
#!/bin/bash
find /var/log/journal -type f -mtime +7 -delete
find /tmp -type f -mtime +3 -delete
journalctl --vacuum-time=7d
3、赋予执行权限:sudo chmod +x /usr/local/bin/clean-kylin-cache.sh
4、添加到每日定时任务:sudo crontab -e,末尾追加:0 3 * * * /usr/local/bin/clean-kylin-cache.sh
二、一键切换默认桌面环境
麒麟OS支持UKUI与GNOME双桌面环境,用户可能因兼容性或性能需求频繁切换。该脚本可绕过图形化设置界面,直接修改用户级显示管理器配置,实现快速切换。
1、新建脚本:nano ~/switch-desktop.sh
2、输入内容(切换至UKUI):
#!/bin/bash
echo "ukui" > ~/.dmrc
chmod 644 ~/.dmrc
3、保存后执行:chmod +x ~/switch-desktop.sh && ./switch-desktop.sh
4、重启显示管理器生效:sudo systemctl restart lightdm
三、批量安装常用国产软件包
麒麟OS软件源中包含大量适配的国产应用(如WPS、钉钉、微信Linux版),但逐个安装耗时。该脚本通过apt命令批量检测并安装缺失包,避免重复安装已存在软件。
1、创建安装清单文件:cat > ~/kylin-apps.list wps-office
deepin-wine-wechat
dingtalk
youker-assistant
EOF
2、编写安装脚本:nano ~/install-kylin-apps.sh
AutoIt v3 版本, 这是一个使用类似 BASIC 脚本语言的免费软件, 它设计用于 Windows GUI(图形用户界面)中进行自动化操作. 利用模拟键盘按键, 鼠标移动和窗口/控件的组合来实现自动化任务. 而这是其它语言不可能做到或无可靠方法实现的(比如VBScript和SendKeys). AutoIt 非常小巧, 完全运行在所有windows操作系统上.(thesnow注:现在已经不再支持win 9x,微软连XP都能放弃, 何况一个win 9x支持), 并且不需要任何运行库. AutoIt
3、填入逻辑代码:
#!/bin/bash
while IFS= read -r pkg; do
if ! dpkg -l | grep -q "^ii.*$pkg "; then
sudo apt install -y "$pkg"
else
echo "$pkg 已安装"
fi
done
4、执行安装:chmod +x ~/install-kylin-apps.sh && sudo ~/install-kylin-apps.sh
四、自动备份用户文档目录
为防止误删或系统异常导致文档丢失,脚本可将/home/$USER/Documents目录按日期压缩归档,并保留最近7天副本。所有操作均基于本地路径,不依赖外部服务。
1、新建备份脚本:nano ~/backup-docs.sh
2、写入内容:
#!/bin/bash
DATE=$(date +%Y%m%d)
SRC="$HOME/Documents"
DEST="$HOME/Backup"
mkdir -p "$DEST"
tar -czf "$DEST/docs_$DATE.tar.gz" -C "$HOME" Documents
find "$DEST" -name "docs_*.tar.gz" -mtime +7 -delete
3、设置每周一凌晨2点执行:crontab -e,添加行:0 2 * * 1 ~/backup-docs.sh
4、首次手动运行验证:chmod +x ~/backup-docs.sh && ~/backup-docs.sh
五、禁用非必要开机自启服务
麒麟OS预装部分后台服务(如remote-desktop、bluetooth)在桌面办公场景中常无实际用途,持续运行消耗内存与CPU资源。该脚本可安全停用并屏蔽指定服务,不影响核心功能。
1、列出当前启用的服务:systemctl list-unit-files --state=enabled | grep -E "(remote|bluetooth|avahi)"
2、编写禁用脚本:nano ~/disable-unneeded-services.sh
3、填入命令序列:
#!/bin/bash
sudo systemctl stop bluetooth remote-desktop avahi-daemon
sudo systemctl disable bluetooth remote-desktop avahi-daemon
sudo systemctl mask avahi-daemon.socket
4、执行脚本:chmod +x ~/disable-unneeded-services.sh && sudo ~/disable-unneeded-services.sh









