文本替换

mac https://www.cnblogs.com/meitian/p/5907562.html https://blog.csdn.net/fengxianger/article/details/64127644

  1. #把test.txt文件中的每一行的11替换成ff
  2. # g 一行中所有的11都替换成ff
  3. # 不加g,只替换第一行
  4. # -i 替换并保存
  5. sed -i '' 's/11/ff/g' test.txt

上一条命令是否执行成果

  1. if [ $? -ne 0 ]; then
  2. echo "failed"
  3. else
  4. echo "succeed"
  5. fi

文件是否存在

  1. if [ -f "/data/filename" ];then
  2. echo "文件存在"
  3. else
  4. echo "文件不存在"
  5. fi

后缀文件判断

  1. files=$(ls ${local_tmp}/*.war 2> /dev/null | wc -l)
  2. if [[ "${files}" != "0" ]] ; then
  3. echo "文件存在"
  4. else
  5. usage "war 包不存在"
  6. exit 0
  7. fi

包含某个字符串

  1. str="this is a string"
  2. [[ $str =~ "this" ]] && echo "$str contains this" || echo "$str is missing"

ssh远程执行脚本

  1. #https://www.cnblogs.com/sparkdev/p/6842805.html 参考地址
  2. ~ ssh root@192.168.34.23 "ls && cd github && ls "
  3. github
  4. Skitch-2.8.1.zip
  5. sphinx.osx-x86_64
  6. sphinx.osx-x86_64.1
  7. xx.zip
  8. xx.txt
  9. ;; 也可以执行多条语句
  10. 区别
  11. && : 前边失败了后边的不在执行
  12. ;; : 前边失败了后边继续执行

rsync 远程传输

  1. rsync -avz --delete \
  2. --exclude-from=/Users/admin/open/exclude.list \
  3. /Users/admin/open/jsp root@1.1.1.1:/root/jsp
  4. --delete 删除那些 DST SRC 没有的文件。
  5. --exclude-from=FILE 排除 FILE 中指定模式的文件。
  6. -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于 -rlptgoD
  7. -v, --verbose 详细模式输出。
  8. -r, --recursive 对子目录以递归模式处理。
  9. -z, --compress 对备份的文件在传输时进行压缩处理。

scp 日常用

  1. #将本地文件传递到远程文件
  2. scp /path/file user@ip:/path/dir
  3. #将远程文件同步到本地
  4. scp user@ip:/path/file /path/dir

判断远程主机是否存在目录

  1. ssh tomcat@${IP} "[ -d /home/tomcat/xxx ]" >/dev/null 2>&1
  2. if [[ $? -ne 0 ]]; then
  3. echo 'xxx 目录不存在,找对应的运维下载xxx. 放到/home/tomcat/xxx目录下'
  4. exit 1
  5. fi

判断远程目录是否存在2

  1. ssh tomcat@192.168.198.148 "[ -d /home/tomcat/arthas ] && echo good || mkdir -p /home/tomcat/arthas "
  2. #如果/home/tomcat/arthas目录不存在则新建目录,否则新建目录

压缩/解压

  1. ## 压缩当前目录成xxx
  2. zip -r ./xxx.zip ./* -r表示递归
  3. ## 压缩dir目录
  4. zip -r dir.zip dir
  5. ## 解压到当前目录(这个xxx.zip可以相对/绝对路径)
  6. unzip xxx.zip
  7. ## 解压到指定目录(使用-d参数指定目录)
  8. unzip xxx.zip -d /home/root/xxx
  9. #解压
  10. tar zxvf 文件名.tar.gz
  11. #压缩
  12. tar zcvf 文件名.tar.gz 待压缩的文件名

查看进程启动时间和运行时长

  1. ps -eo pid,lstart,etime | grep 25699