Shell小技巧

写脚本时需要配置数据库但又不想进数据库操作(进了数据库shell脚本就会停止)如何绕过mysql

mysql 有个参数 -e 可以绕过mysql终端进行配置
[root@localhost ~]# mysql -uroot -ppasswd -e "create database ghost"
将配置信息插入需修改的文件里某一行后面
[root@localhost ~]# sed -i -e '10a -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT' /etc/sysconfig/iptables
将某文件里的某行某个参数修改自定义的参数
[root@localhost ~]# sed -i '14s/Url/'$Url'/g' /root/ghost/config.js
查找尝试破解我服务器密码的IP以及尝试破解用户名并将其归档统计后排序取前20行
[root@localhost ~]# lastb >lastb.log ;cat lastb.log | awk '{print $1,$3}'|sort -nr|uniq -c |sort -nr |head -n 20
改变输出的字体显示的颜色
 echo -e "\033[30m 黑色字 \033[0m"
 echo -e "\033[31m 红色字 \033[0m"
 echo -e "\033[32m 绿色字 \033[0m"
 echo -e "\033[33m 黄色字 \033[0m"
 echo -e "\033[34m 蓝色字 \033[0m"
 echo -e "\033[35m 紫色字 \033[0m"
 echo -e "\033[36m 天蓝字 \033[0m"
 echo -e "\033[37m 白色字 \033[0m"
 echo -e "\033[40;37m 黑底白字 \033[0m"
 echo -e "\033[41;37m 红底白字 \033[0m"
 echo -e "\033[42;37m 绿底白字 \033[0m"
 echo -e "\033[43;37m 黄底白字 \033[0m"
 echo -e "\033[44;37m 蓝底白字 \033[0m"
 echo -e "\033[45;37m 紫底白字 \033[0m"
 echo -e "\033[46;37m 天蓝底白字 \033[0m"
 echo -e "\033[47;30m 白底黑字 \033[0m"

用于切割文本

csplit
split

tr 命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大

-c或——complerment:取代所有不属于第一字符集的字符;
-d或——delete:删除所有属于第一字符集的字符;
-s或--squeeze-repeats:把连续重复的字符以单独一个字符表示;
-t或--truncate-set1:先删除第一字符集较第二字符集多出的字符。

将输入字符由大写转换为小写:

echo "HELLO WORLD" | tr 'A-Z' 'a-z'
hello world

使用tr删除字符:

echo "hello 123 world 456" | tr -d '0-9'
hello world

将制表符转换为空格:

cat text | tr '\t' ' '

用tr压缩字符,可以压缩输入中重复的字符:

echo "thissss is a text linnnnnnne." | tr -s ' sn'
this is a text line.

tee 类似 > tee -a 类似 >> 追加

comm

comments powered by Disqus