shell脚本中常用的命令

  1. date +%Y%m%d%H%M%S -----打印年月日时分秒
  2. echo -e "\033[32m color this word \033[0m" ----输出时添加颜色,32m是绿色,31m是红色
  3. find / -name *.log -type f -size -1M -mtime -30 -perm 755 ----查找到小于1M的30天内修改了的 权限为755的log文件
  4. find ./ -maxdepth 1 -type d -name "*" -exec rm -rf {} \; 删除当前文件夹下的所有文件夹
  5. ll | awk '{print $9}'|grep -v '^$'; -----打印第9列,去除空格,如果在shell脚本里ll需要改成ls -l
  6. read -p "press any key to continue..."(另:read -n 1) ----------按任意键继续
  7. echo -e "\n" | ./jdk-6u26-linux-x64.bin-----JDK文件安装时提示按回车继续,添加echo -e "\n" |后不提示。
  8. find /home/ -maxdepth 1 -type d ! -name "home"|awk -F"/" '{print $NF}' 不显示指定目录名
    find /home/ -maxdepth 1 -type d ! -name "home" -o -name "test2folder"|awk -F"/" '{print $NF}' 只显示指定目录名

  9. \cp -f sourcefile targetdir ####拷贝时如果是覆盖,不提示覆盖。
  10. awk '/RX/&&/bytes/{print $3}' 同时匹配“RX”及bytes
  11. awk -vAWK_DATE=$DATE 'BEGIN {print AWK_DATE}'-------从SHELL向AWK传递变量 BEGIN一定要大写

  12. grep baseurl=file:/// CentOS-Media.repo |sed -i "s#baseurl=file.*#baseurl=file:///$Media_path#" CentOS-Media.repo 替换baseurl=file后所有的内容为Media_path的值
  13. scp -r -o Port=$Server_port root@$DB_IP:"$CONFIG" "$CONFIG"; 远程服务器拷贝配置文件
  14. url=jdbc:postgresql:\/\/:192.168.10.100: 替换该串字符中的ip为DB_IP的值。\/\/这个表示的时候是四个斜杆转义
    sed -i s#url=jdbc:postgresql:\\\\/\\\\\/.*:#url=jdbc:postgresql:\\\\/\\\\\/$DB_IP:# $CONFIG
  15. str=20190129---> ${str:0:4}-${str:4:2}-${str:6}---结果是:2019-01-29,从0位字符开始往后显示总共4个字符(从0算起,含第1个),从4位字符开始往后显示2个字符(含第5个),从6位字符起第7个开始不限
  16.  read -p "input something:" cmd 用户输入的内容会传给变量cmd,echo $cmd
  17. sed -i 's/[[:space:]]/AA/g' host.txt 将空格替换成AA字符
posted on 2019-01-29 23:33  凌云鹤  阅读(905)  评论(0编辑  收藏  举报