Tools

##此处收集经典好用的Shell技巧,记录以便查阅和分享

##闲话不说,Enjoy Shell!~

rm -rf !(\*.html)    删除除了\*.html之外的所有文件

ping -c3 www.tecmint.com && links www.tecmint.com	 成功则执行

apt-get update || links tecmint.com		 失败则执行

python -m SimpleHTTPServer 用python生产一个简单的http服务器显示当前目录结构,可以通过浏览器在端口8000访问

mtr google.com 合并ping和traceroute的命令

nl 显示行书的cat(等同于cat -n)

^foo^bar 将上个命令中的foo修改成bar,并执行

ctrl+r 在历史记录中搜索

echo "2:12 PM" | at 2:12 PM at命令

ls -l > /dev/pts/4 将命令结果输出到pts/4终端上。

_command 前面加空格符号执行的命令不会记录到history中

stat stricks.md 察看文件或者文件系统的状态信息。

mount | column -t 格式化输出所有挂在的文件系统。

ctrl+l 清理终端,等同于clear

yes "dum ass" 持续输出字符串,直到发出终止信号(和> /dev/pts/4一起用很好玩)

ping -i 60 -a www.google.com 每60sping一次google,一旦连通就发出声音。

cmatrix 这个很酷!黑客帝国矩阵

${variable:0:5} 截取前5个字符

mkdir -p /home/user/{test,test1,test2} 创建多个目录

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img 测试硬盘写入速度。

hdparm -Tt /dev/sda 测试硬盘读取速度

xmllint --noout file.xml 检查xml格式

cp some_file_name{,.bkp} 快速备份文件

watch -d -n 1 ps aux 监视ps aux的输出,每秒输出一次,用不同的颜色显示变化的区域。

mount -o remount,rw / 修改挂载参数。

mount -t tmpfs tmpfs /tmpram -o size=512m 创建临时RAM文件系统

nmap -p 8081 172.20.0.0/16 扫描网络寻找开放的端口

ls | shuf -n1 随机选择一个文件名输出

ssh user@server bash < /path/to/local/script.sh ssh到远程服务器执行一个脚本,此命令可以避免将脚本上传到远程服务器

ssh user@host cat /path/to/remotefile | diff /path/to/localfile - 比较远程文件和本地文件的差异

vim scp://username@host//path/to/somefile vi一个远程文件

curl ifconfig.me 在内网下查看公网ip

echo ${#a} 取变量字符个数

tmp_file_name=$(mktemp TMP.XXXXXX) 生成一个随机文件名的临时文件。

使用ctrl+n补齐变量名。