加入社区

订阅:www.yunweipai.com/feed

QQ群:
1群:201777608 - 运维综合
2群:526871767 - 运维综合
3群:1689067 - Linux Shell脚本

微博:weibo.com/tektea

微信:yunweipai(或扫描以下二维码)

合作伙伴

小猪动图 - GIF动图素材库_GIF在线工具

系列·Linux精选命令行(第2期)

一直尝试一个命令直到成功
until [[ $? -eq 0 ]]; do YOURCOMMAND; done

按类型统计文件数量
ls | tr [:upper:] [:lower:] | grep -oP '\.[^\.]+$' | sort | uniq -c | sort

查看两个目录下文件的区别,快速复制和粘贴打印出的东西,用vimdiff进行更详细的比较
diff -q dir1/ dir2/ | grep differ | awk '{ print "vimdiff " $2 " " $4 }'

对当前目录下的所有文件进行替换
find . -type f -exec sed -i 's/gw10./gw17./g' {} \;

找一个可以用的端口
port=32768; while netstat -atn | grep -q :$port; do port=$(expr $port + 1); done; echo $port

查看监听的端口
netstat -ltun

假装比较忙方法
export GREP_COLOR='1;32'; cat /dev/urandom | hexdump -C | grep --color=auto "ca fe"

列出已经定义的bash函数
compgen -A function

查找超过指定大小的文件
find directory -size +nnn

监视文件的方法
watch -d 'ls -l'

创建目录并且进入刚创建的目录
mkdir /home/foo/doc/bar && cd $_

basename命令的替代用法
echo ${file##*/}

显示所有有活动进程的用户
ps -eo user | sort -u

排序最多使用的命令
history | awk '{print $2,$3}' | sed s/sudo// | awk '{print $1}' | awk 'BEGIN {FS="|"}{print $1}' | sort | uniq -c | sort -n | tail | sort -nr

倒计时
MIN=10;for ((i=MIN*60;i>=0;i--));do echo -ne "\r$(date -d"0+$i sec" +%H:%M:%S)";sleep 1;done

显示BIOS信息
dmidecode -t bios

远程压缩后写到本地
ssh user@remote "tar cfp - /path/to/log/* | gzip" > local.tar.gz

带进度条的复制命令
copy(){ cp -v "$1" "$2"&watch -n 1 'du -h "$1" "$2";printf "%s%%\n" $(echo `du -h "$2"|cut -dG -f1`/0.`du -h "$1"|cut -dG -f1`|bc)';}

获得小于500的随机数
RANGE=500;number=$RANDOM let "number %= $RANGE"; echo "Random number less than $RANGE --- $number"

转载请注明:运维派 » 系列·Linux精选命令行(第2期)

0
3.3k
5