Skip to content

商务合作:vTikTok


公众号:



常用的Shell脚本命令


相比于Python,sh脚本在某些方面可能更简单方便,特别是在处理系统级任务和文件操作方面。以下是一些sh脚本中比Python更简单方便的指令:

  1. 文件操作:sh脚本中的指令可以直接操作文件,如复制、移动、删除等,而无需导入额外的模块或库。
  2. 管道操作:sh脚本中可以使用管道操作符(|)将多个命令连接起来,实现数据流的传递和处理。
  3. 环境变量:sh脚本可以直接读取和设置环境变量,无需使用额外的库或模块。
  4. 系统命令:sh脚本可以直接调用系统命令,如执行shell命令、查看系统信息等。
  5. 正则表达式:sh脚本中可以使用正则表达式进行文本匹配和替换,无需导入re模块。
  6. 快速脚本编写:sh脚本通常比Python脚本更简洁,可以快速编写和执行。

需要注意的是,Python在其他方面可能更加强大和灵活,特别是在处理复杂的数据结构和算法方面。因此,在选择使用sh脚本还是Python脚本时,需要根据具体的需求和场景进行权衡。

以下是一些常用的简单方便的sh脚本指令,共计50个:

  1. echo:输出文本或变量内容
  2. cd:切换目录
  3. ls:列出目录内容
  4. pwd:显示当前工作目录
  5. touch:创建空文件
  6. rm:删除文件或目录
  7. cp:复制文件或目录
  8. mv:移动文件或目录
  9. cat:查看文件内容
  10. grep:在文件中搜索指定内容
  11. find:查找文件
  12. chmod:修改文件权限
  13. chown:修改文件所有者
  14. chgrp:修改文件所属组
  15. head:显示文件开头部分内容
  16. tail:显示文件结尾部分内容
  17. wc:统计文件行数、字数和字符数
  18. sort:对文件内容进行排序
  19. uniq:去除文件中的重复行
  20. cut:按列提取文件内容
  21. sed:流编辑器,用于对文件进行替换、删除等操作
  22. awk:文本处理工具,用于提取和处理文本数据
  23. diff:比较两个文件的差异
  24. tar:打包和解包文件
  25. gzip:压缩文件
  26. unzip:解压缩文件
  27. curl:通过URL获取文件内容
  28. wget:下载文件
  29. ping:测试网络连接
  30. ifconfig:查看和配置网络接口
  31. netstat:显示网络状态和连接信息
  32. ps:显示进程信息
  33. kill:终止进程
  34. nohup:在后台运行命令
  35. source:执行脚本文件
  36. export:设置环境变量
  37. alias:设置命令别名
  38. history:查看命令历史记录
  39. sleep:延迟执行
  40. date:显示日期和时间
  41. expr:进行数值计算
  42. test:进行条件判断
  43. read:读取用户输入
  44. shift:移动命令行参数
  45. basename:获取文件名
  46. dirname:获取目录名
  47. tee:将输出内容同时输出到文件和屏幕
  48. xargs:将标准输入转换为命令行参数
  49. trap:捕捉信号并执行相应操作
  50. source:执行脚本文件

模版替换功能

sh
sed "s/{}/$(basename "$(pwd)")/g" template.txt >
sed "s/{}/$(basename "$(pwd)")/g" template.txt >

这段代码是一个sed命令,用于在template.md文件中将所有的{}替换为当前工作目录的基本名称,并将结果输出到output.md文件中。

具体解释如下:

  • sed是一个流编辑器,用于对文本进行处理和转换。
  • s/{}/$(basename "$(pwd)")/g是sed命令的模式部分,用于指定要进行替换的模式和替换的内容。
    • s/表示进行替换操作。
    • {}是要替换的模式,即要替换的文本。
    • $(basename "$(pwd)")是要替换的内容,即当前工作目录的基本名称。
      • $(pwd)是一个命令替换,用于获取当前工作目录的路径。
      • basename是一个命令,用于获取路径的基本名称,即去除路径前面的目录部分。
    • /g表示进行全局替换,即替换所有匹配的模式。
  • template.md是要进行替换操作的输入文件。
  • >表示将输出重定向到指定的文件。
  • output.md是输出文件的名称。

因此,这段代码的含义是将template.md文件中的所有{}替换为当前工作目录的基本名称,并将结果输出到output.md文件中。