bash
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
bash [2020/03/12 14:53] – [bash 常用命令] plough | bash [Unknown date] (当前版本) – 移除 - 外部编辑 (Unknown date) 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== bash 常用命令 ====== | ||
- | 需要额外安装的命令行工具,不在此范围内。 | ||
- | * rsync | ||
- | * wget | ||
- | * sed | ||
- | * scp | ||
- | * ssh | ||
- | * grep | ||
- | ======bash 使用心得====== | ||
- | =====复制文件夹中前N个文件===== | ||
- | 先 cd 进入该文件夹。 | ||
- | 如果N=1000,命令如下: | ||
- | < | ||
- | ls |head -n 1000 |xargs -i cp -r {} / | ||
- | </ | ||
- | =====批量修改Java文件的包名===== | ||
- | 原来的包名是 com.xxx.utils,现在要改为 test。有 100 个这样的文件。 | ||
- | 使用 sed 命令: | ||
- | < | ||
- | sed -i ' | ||
- | </ | ||
- | |||
- | ===== 查看磁盘信息 ===== | ||
- | < | ||
- | |||
- | |||
- | ===== 当前日期格式化 ===== | ||
- | < | ||
- | |||
- | |||
- | ===== 相对路径转化为绝对路径 ===== | ||
- | < | ||
- | path=$(cd ../abc; pwd) | ||
- | echo $path | ||
- | </ | ||
- | |||
- | |||
- | ===== 判断目录是否存在 ===== | ||
- | < | ||
- | path=~/ | ||
- | echo $path # 输出绝对路径 | ||
- | if [ -d " | ||
- | echo 'exist codes' | ||
- | fi | ||
- | |||
- | if [ -d "/ | ||
- | echo 'exist codes' | ||
- | fi | ||
- | |||
- | # 相对路径是没用的 | ||
- | if [ ! -d " | ||
- | echo 'no exist codes' | ||
- | fi | ||
- | </ | ||
- | ==== 判断文件是否存在 ==== | ||
- | |||
- | < | ||
- | path=~/ | ||
- | if [ -f " | ||
- | echo ' | ||
- | fi | ||
- | </ | ||
- | ===== 获取当前脚本所在目录 ===== | ||
- | < | ||
- | dir=`dirname $0` | ||
- | script_dir=`readlink -f $dir/` | ||
- | </ | ||
- | ===== 替换文本文件中的内容 ===== | ||
- | < | ||
- | ===== 文件夹中保留指定数量的文件 ===== | ||
- | < | ||
- | reserve_num=10; | ||
- | ((delete_num=$(ls / | ||
- | if ((delete_num > 0)); then | ||
- | rm -rf $(ls / | ||
- | fi; | ||
- | </ | ||
- | ===== 查看一个目录中的文件大小 ===== | ||
- | < | ||
- | du -d 1 -h | ||
- | </ | ||
- | ===== 获取本机 ip 地址 ===== | ||
- | < | ||
- | ifconfig | grep -Eo 'inet (addr: | ||
- | </ | ||
- | 根据实际情况,可能存在多个 ip,还要再用 grep 过滤一下。 | ||
- | |||
- | ===== try/catch 异常处理 ===== | ||
- | < | ||
- | { # try | ||
- | |||
- | command1 && | ||
- | #save your output | ||
- | |||
- | } || { # catch | ||
- | # save log for exception | ||
- | } | ||
- | </ | ||
- | ===== 操作 bash 数组、字典 ===== | ||
- | < | ||
- | |||
- | # Array pretending to be a Pythonic dictionary | ||
- | ARRAY=( " | ||
- | " | ||
- | " | ||
- | " | ||
- | |||
- | for animal in " | ||
- | KEY=" | ||
- | VALUE=" | ||
- | printf "%s likes to %s.\n" " | ||
- | done | ||
- | |||
- | printf "%s is an extinct animal which likes to %s\n" " | ||
- | </ | ||
- | |||
- | ===== 字符串大小写转换 ===== | ||
- | < | ||
- | var=" | ||
- | # 把变量中的第一个字符换成大写 | ||
- | echo ${var^} | ||
- | # 把变量中的所有小写字母,全部替换为大写 | ||
- | echo ${var^^} | ||
- | # 把变量中的第一个字符换成小写 | ||
- | echo ${var,} | ||
- | # 把变量中的所有大写字母,全部替换为小写 | ||
- | echo ${var,,} | ||
- | </ | ||
- | |||
- | ===== 判断变量是否为空 ===== | ||
- | < | ||
- | #!/bin/bash | ||
- | |||
- | function is_empty() { | ||
- | if [ -z " | ||
- | return 1 | ||
- | fi | ||
- | return 0 | ||
- | } | ||
- | |||
- | function is_empty_ignore_space() { | ||
- | if [ -z "${1// }" ]; then | ||
- | return 1 | ||
- | fi | ||
- | return 0 | ||
- | } | ||
- | |||
- | is_empty '' | ||
- | echo $? # 1 | ||
- | is_empty_ignore_space '' | ||
- | echo $? # 1 | ||
- | is_empty ' | ||
- | echo $? # 0 | ||
- | is_empty_ignore_space ' | ||
- | echo $? # 1 | ||
- | </ | ||
- | |||
- | ===== 获取正在运行的 pod ===== | ||
- | < | ||
- | kubectl get pods|tail -n +2|awk ' | ||
- | </ | ||
- | |||
- | ===== 关闭正在运行的 k8s 服务 ===== | ||
- | < | ||
- | kubectl delete sts `kubectl get sts|tail -n +2|awk ' | ||
- | kubectl delete deployment `kubectl get deployments|tail -n +2|awk ' | ||
- | kubectl delete service `kubectl get services|tail -n +2|awk ' | ||
- | </ |
bash.1583996039.txt.gz · 最后更改: 2022/12/28 17:53 (外部编辑)