##此处收集经典好用的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补齐变量名。