日常知识通
柔彩主题三 · 更轻盈的阅读体验

shell脚本入门:轻松搞定日常电脑任务

发布时间:2025-12-16 01:01:20 阅读:267 次

你有没有遇到过这种情况:每天上班第一件事就是打开一堆文件夹,复制日志、清理缓存、启动几个程序,重复操作让人头大。其实这些事完全可以交给电脑自己干,关键就是学会写点简单的 shell 脚本

什么是 shell 脚本

shell 是命令行解释器,比如你在终端里输入 ls、cd、cp 这些命令,都是通过 shell 执行的。而 shell 脚本就是把一系列命令写进一个文件里,让系统按顺序自动执行。它不需要编译,写完就能跑,特别适合处理日常琐碎任务

写个第一个脚本试试

打开任意文本编辑器,比如 nano 或 VS Code,新建一个叫 hello.sh 的文件,输入下面内容:

#!/bin/bash
echo "你好,这是我的第一个脚本!"

第一行 #!/bin/bash 叫 shebang,告诉系统用 bash 来运行这个脚本。第二行 echo 是打印文字。保存后,在终端执行以下命令给脚本添加执行权限:

chmod +x hello.sh

然后运行:

./hello.sh

屏幕上就会出现那句问候语。别小看这一步,你已经跨进了自动化的大门。

让脚本真正帮上忙

假设你每天都要整理下载目录,把图片移到 picture 文件夹,压缩包移到 archive,手动拖来拖去太费劲。写个脚本能一键完成:

#!/bin/bash
# 移动图片和压缩包
mv ~/Downloads/*.jpg ~/Pictures/ 2>/dev/null || true
mv ~/Downloads/*.png ~/Pictures/ 2>/dev/null || true
mv ~/Downloads/*.zip ~/Archive/ 2>/dev/null || true
mv ~/Downloads/*.tar.gz ~/Archive/ 2>/dev/null || true
echo "文件已整理完毕"

这里用到了 mv 命令移动文件,*.jpg 表示所有 jpg 结尾的文件。后面的 2>/dev/null || true 是防止某个文件类型不存在时报错,让脚本继续运行。

加点判断更聪明

脚本也可以做判断。比如你想在周末运行时打个招呼,工作日则提醒开工:

#!/bin/bash
DAY=$(date +%u)  # 获取星期几,1-7
if [ $DAY -gt 5 ]; then
    echo "周末快乐,休息会儿吧!"
else
    echo "又是元气满满的工作日,加油!"
fi

$(date +%u) 获取当前是星期几,[ $DAY -gt 5 ] 判断是否大于5(即周六周日)。这种逻辑控制让脚本更像“程序”而不是“命令列表”。

放在哪里运行更方便

把常用脚本放进 ~/bin 目录(没有就创建),然后确保这个路径在 $PATH 环境变量里。这样你就可以直接在任何地方敲脚本名运行,不用写 ./ 或完整路径。

还可以把脚本加到开机启动或定时任务里。比如用 crontab -e 编辑定时任务,让脚本每天早上9点自动运行:

0 9 * * * /home/yourname/scripts/cleanup.sh

这样一来,每天到工位前,你的电脑已经把该准备的东西都弄好了。

从模仿开始,慢慢改出自己的工具

刚开始不用非要从零写起。网上很多现成的小脚本,比如备份文件、批量重命名、监控磁盘空间,拿过来改改路径和参数,就能为你所用。多试几次,你会发现自己越来越顺手。

shell 脚本不像编程那么复杂,但它能实实在在帮你省时间。哪怕只会写两三行,也足够应对不少重复操作。哪天你发现自己不再手动点鼠标了,那就是脚本上道的时候。