Linux开发 -- 编写脚本

使用脚本可以提高工作效率、减少人为错误、简化复杂操作、增加系统自动化管理能力等,是 Linux 系统管理和开发中非常重要的工具之一。

1.常见指令

  1. 变量操作

    • =:赋值操作符,用于给变量赋值。
    • $:变量引用符号,用于获取变量的值。
    • export:将变量导出为环境变量,使其在脚本和子进程中可用。
  2. 条件语句

    • if:用于执行条件判断,并根据不同条件执行不同的代码块。
    • else:与 if 配合使用,在条件不满足时执行的代码块。
    • elif:用于添加额外的条件判断分支。
  3. 循环结构

    • for:用于遍历列表或指定范围的数值,并执行相应的操作。
    • while:在给定条件为真时重复执行一段代码块。
  4. 函数

    • function:定义一个函数。
    • return:从函数中返回值。
    • call:调用函数。
  5. 文件操作

    • ls:列出文件和目录列表。
    • cd:改变当前工作目录。
    • cp:复制文件或目录。
    • mv:移动文件或目录。
    • rm:删除文件或目录。
    • touch:创建空文件或更新文件的访问和修改时间。
  6. 输入输出

    • echo:打印文本到标准输出。
    • read:从标准输入读取用户输入。
    • >:重定向标准输出到文件,会覆盖文件内容。
    • >>:重定向标准输出到文件,追加到文件末尾。
    • <:重定向标准输入从文件中读取。
  7. 命令执行

    • `command` 或 $(command):执行命令并将其输出作为字符串。
  8. 条件判断

    • -eq-ne-lt-gt-le-ge:用于数值比较的运算符。
    • -e-f-d-r-w-x:用于测试文件属性的运算符。
  9. 其他

    • sleep:暂停脚本执行一段时间。
    • exit:退出脚本,并返回一个退出状态码。

2.CMake自动编译脚本

set -x
rm -rf `pwd`/build/*
cd `pwd`/build &&
        cmake .. &&
        make
  1. set -x

    • 这是一个 shell 脚本的调试选项,它会打开脚本的调试模式,使得在终端上显示每个命令在执行之前先打印出来。
  2. rm -rf pwd/build/*

    • 这个命令会删除当前目录下 build 文件夹内的所有文件和子文件夹。
    • pwd 表示获取当前目录的路径。
  3. cd pwd/build

    • 这个命令会进入当前目录下的 build 文件夹。
  4. cmake ..

    • 这个命令会在 build 文件夹内执行 CMake 命令,使用上一级目录(即当前目录)中的 CMakeLists.txt 文件来配置项目的构建。
  5. make

    • 这个命令会在 build 文件夹内执行 make 命令,编译项目生成可执行文件或库文件。

 3.虚拟机网络报文重放

# 源IP和MAC地址
SRCIP=192.168.137.1
SRCMAC=00:0c:29:9a:a8:12

# 目标IP和MAC地址
DSTIP=192.168.137.100
DSTMAC=90:df:7d:dc:43:f9

# 为重放的test.pcap创建缓存
# tcpprep -a client -i test.pcap -o test.cache 
tcpprep -a client -i $1 -o test.cache 

# 重写目标IP和Mac地址
# tcprewrite --infile test.pcap --outfile test_1.pcap --dstipmap=0.0.0.0/0:$DSTIP --enet-dmac=$DSTMAC
tcprewrite --infile $1 --outfile test_1.pcap --dstipmap=0.0.0.0/0:$DSTIP --enet-dmac=$DSTMAC

# 重写源IP和Mac地址
tcprewrite --infile test_1.pcap --outfile test_2.pcap --srcipmap=0.0.0.0/0:$SRCIP --enet-smac=$SRCMAC

# 更新数据包校验和
tcprewrite --infile test_2.pcap --outfile testFinal.pcap --fixcsum

# 重放包
sudo tcpreplay -v -i ens33 -x 1 testFinal.pcap
  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值