Linux shell脚本编程

什么是Shell程序设计?

也就是给计算机发命令,让它帮你做事,你通过shell

的小工具,用键盘输入指令,linux就会根据这些指令去执行任务,就像你法号一个指令一样。

shell的强大之处?

  • 文件处理:让计算机去找文件、压缩文件、删除文件
  • 系统管理:自动备份、清理垃圾文件等
  • 任务自动化:比如你设定定时任务,自动做一些此重复性的工作,解放你的双手。

shell脚本的建立与执行

1.shell脚本的建立:

shell脚本色建立,简单的来所就是给计算机编写任务清单(脚本),这个脚本就像你给计算机的"指令书",告诉他需要做什么。

步骤一:创建有一个脚本文件(与创建普通的文件一样)

复制代码
touch myscript.sh

步骤二:给文件加点"魔法"

使用文本编辑器(比如nano、vim等)

复制代码
nano myscript.sh

然后在文件里写这些内容:

复制代码
#!/bin/bash
# 这是一个简单的脚本
echo "你好,世界!"

其中#!/bin/bash 是告诉计算机这个脚本应该用bash来执行

2.给脚本执行权限:

相当于给文件"通行证",可以随时跑起来了

复制代码
chmod +x myscript.sh

这一步就是给脚本文件加上执行权限

3.执行脚本(3种执行方式)
  • 直接运行:

    ./myscript.sh

  • 通过shell命令运行:

    bash myscript.sh

或者

复制代码
sh myscript.sh

或者

复制代码
. myscript.sh

总结:

  1. ./myscript.sh:直接执行(拍肩膀让它动起来)。
  2. bash myscript.shsh myscript.sh:让Shell代你执行(给计算机找个帮手)。
  3. source myscript.sh. myscript.sh:在当前环境执行(你自己动手,做得更直接)。

历史命令(history):

它就像一个"记事本",帮你记下了每一次你敲入的命令,,方便之后回顾或重用

1.查看历史命令

你可以用history命令来查看之前执行过的命令列表,类似你翻阅自己做过的笔记。

复制代码
history

它会列出你执行过的命令,按顺序编号,从最早的命令开始,越新的命令越在后面。

输出的格式一般是这样的:

复制代码
1  ls
2  cd /home/user
3  echo "Hello"
4  history
2.重新执行历史命令:

如果你想重复执行某个命令,可以用!加上命令编号。就像你去超市,看到买过的商品,直接拿来再买一遍。

复制代码
!2

这个命令会重新执行编号为2的命令,也就是cd /home/user

3.执行最近的命令:

如果你只想重复最近执行的命令,可以直接输入!!。就像说:"嘿,刚刚那个命令,你再来一次!"

复制代码
!!

这会重新执行你刚刚执行的命令,超级省事儿。

4.查看历史命令:

如果你记得之前执行过某个命令,但记不清具体是什么,可以使用!加上命令的一部分来搜索。比如,假设你曾经执行过一个git命令,你可以输入:

复制代码
!git

这样就会执行最近一次包含git的命令。就像翻阅日历,找出最相关的日期。

5.清楚历史命令:

如果你不想让别人看到你的命令历史,或者想重置记录,可以用history -c来清除当前的历史命令。就像你想清空"记事本"一样:

复制代码
history -c
6.保存历史命令:

默认情况下,历史命令会保存在~/.bash_history文件中。你可以直接打开这个文件查看或者编辑历史命令记录。

复制代码
nano ~/.bash_history
相关推荐
小则又沐风a2 小时前
深入理解TCP协议----滑动窗口,流量控制
linux·网络协议·tcp
酣大智5 小时前
网络协议计时器 & 发包间隔汇总
运维·网络·tcp/ip
Wang's Blog10 小时前
Java 接入Redis: 服务启动停止与后台运行配置
java·服务器·redis
云运维笔记11 小时前
IP地址从入门到精通:网络通信的核心基石
运维·网络·计算机网络
bosins12 小时前
WSL2 启动即崩溃?调整超时参数解决 Docker 阻塞问题
linux·docker·wsl
web守墓人12 小时前
【goed/ui】自定义组件设计思想篇
linux·windows·ui·golang
码农学院12 小时前
企业官网改版后 AI 引用归零的复盘:301 重定向断层让爬虫索引掉线,修复方案与恢复数据
运维·geo优化·ai优化aio
kuroomi12 小时前
Ingress-Nginx与kubernetes 网络
linux·运维·网络·kubernetes
当下新鲜事12 小时前
空调机房冷冻泵与冷却泵技术分析:赛莱默B&G背包式智能变频管道泵的工程应用
运维·物联网·业界资讯
EasyGBS12 小时前
终结训推割裂!EasyGBS×EasyAIS×DLTM,实现AI算法训推一体闭环落地!
服务器·深度学习·安全