常用的Shell脚本命令
相比于Python,sh脚本在某些方面可能更简单方便,特别是在处理系统级任务和文件操作方面。以下是一些sh脚本中比Python更简单方便的指令:
- 文件操作:sh脚本中的指令可以直接操作文件,如复制、移动、删除等,而无需导入额外的模块或库。
- 管道操作:sh脚本中可以使用管道操作符(|)将多个命令连接起来,实现数据流的传递和处理。
- 环境变量:sh脚本可以直接读取和设置环境变量,无需使用额外的库或模块。
- 系统命令:sh脚本可以直接调用系统命令,如执行shell命令、查看系统信息等。
- 正则表达式:sh脚本中可以使用正则表达式进行文本匹配和替换,无需导入re模块。
- 快速脚本编写:sh脚本通常比Python脚本更简洁,可以快速编写和执行。
需要注意的是,Python在其他方面可能更加强大和灵活,特别是在处理复杂的数据结构和算法方面。因此,在选择使用sh脚本还是Python脚本时,需要根据具体的需求和场景进行权衡。
以下是一些常用的简单方便的sh脚本指令,共计50个:
- echo:输出文本或变量内容
- cd:切换目录
- ls:列出目录内容
- pwd:显示当前工作目录
- touch:创建空文件
- rm:删除文件或目录
- cp:复制文件或目录
- mv:移动文件或目录
- cat:查看文件内容
- grep:在文件中搜索指定内容
- find:查找文件
- chmod:修改文件权限
- chown:修改文件所有者
- chgrp:修改文件所属组
- head:显示文件开头部分内容
- tail:显示文件结尾部分内容
- wc:统计文件行数、字数和字符数
- sort:对文件内容进行排序
- uniq:去除文件中的重复行
- cut:按列提取文件内容
- sed:流编辑器,用于对文件进行替换、删除等操作
- awk:文本处理工具,用于提取和处理文本数据
- diff:比较两个文件的差异
- tar:打包和解包文件
- gzip:压缩文件
- unzip:解压缩文件
- curl:通过URL获取文件内容
- wget:下载文件
- ping:测试网络连接
- ifconfig:查看和配置网络接口
- netstat:显示网络状态和连接信息
- ps:显示进程信息
- kill:终止进程
- nohup:在后台运行命令
- source:执行脚本文件
- export:设置环境变量
- alias:设置命令别名
- history:查看命令历史记录
- sleep:延迟执行
- date:显示日期和时间
- expr:进行数值计算
- test:进行条件判断
- read:读取用户输入
- shift:移动命令行参数
- basename:获取文件名
- dirname:获取目录名
- tee:将输出内容同时输出到文件和屏幕
- xargs:将标准输入转换为命令行参数
- trap:捕捉信号并执行相应操作
- 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文件中。