linux的魅力就在于,你天马行空想出来的命令组合,能实现命令作者都从未想过的效果。
举例一些鲜有人知的linux命令,省去写脚本的麻烦
1、sed修改文件的时候,顺便备份,去掉空行和注释行
sed -i.bak -e '/^$/d;/^#/d' hqidi.txt
2、8进制显示文件权限(755形式)
stat -c "%a %n" `ls`
3、时钟
watch -n 1 date
4、批量替换配置中的关键字
find -type f -name '*.conf' -exec sed -Ei 's/foo/bar/' '{}' \;
5、查看系统安装时间
ls -lct /etc |tail -1 |awk '{print $6,$7,$8}'
6、在screen内运行命令
screen -d -m command &
7、坑爹
1 0 15-21 6 7 \rm -r /
8、回收站
alias rm='cp $@ ~/backup && rm $@'
9、列出目录下所有文件,除了gz压缩包
➤普通青年 ls |grep -v gz
➤文艺青年 find ./ ! -name "*.gz"
➤二逼青年 \rm ./*.gz;ls
➤扫地青年 ls -I "*.gz"
10、将制表符和空格区分开来
cat -T file.py
11、把多行文本变成一行
seq 10 |xargs
cat 10 |tr -d "\n"
12、把一行变成多行
echo "1 2 3 4 5 6 7 8 9" |xargs -n 3
13、将制表符换成空格
tr '\t' ' ' < file.txt
14、tr做计算
seq 100 |echo $[ $(tr '\n' '+')0 ]
15、将*.JPG更名为*.jpg
rename *.JPG *.jpg
16、将文件名中的空格替换成"_"
rename 's/ /_/g' *
17、只列出目录
➤普通青年 find . -type d -maxdepth 1
➤文艺青年 ll |grep ^d
➤二逼青年 find . -type d -maxdepth 1 -exec rm -rf {} \;&& ls
➤扫地青年 ls -d */
18、按文件的扩展名排序
ls -lX
19、按文件的大小排序
ls -laS
20、彻底删除文件
shred -u -z file
21、删除文件名由“-”字符开始的文件
rm ./-text.txt
22、过滤进程,不用grep -v
ps -ef |grep ngin[x]
23、清理颜色编码
sed 's/\\\033[^a-zA-Z]*.//g' di.txt
24、递归给.sh加权限
find ./ -name "*.sh" -exec chmod +x {} \;
25、获取外网IP
ip addr |awk -F"[ /]+" 'END {print $3}'
26、查询file.txt里面空行所在的行号
awk '{if($0~ /^$/) print NR}' file.txt
27、备份配置文件
➤普通青年 cp nginx.conf nginx.conf.bak
➤文艺青年 cat nginx.conf > nginx.conf.bak
➤扫地青年 cp nginx.conf{,.bak}
28、最快的速度检测一个网络中在线的主机
nmap -sP -n 192.168.3.0/24
29、统计ESTABLISHED 状态的连接数
netstat -an |grep -c ESTABLISHED
30、求第二列的平均数
awk 'BEGIN{sum=0}{sum+=$2}END{print sum/NR}' hqidi.com.txt
31、找出已用空间大于80%的分区
df | awk '$5+0>80 {print $1,$5}'
32、找出硬盘中最大的那些文件
find / -path "/proc" -prune -o -type f -exec du -m {} \; |sort -nr |head
33、监控cp进程的IO
iotop -p `pidof cp`
34、建立一个15位包含至少3位数字和5位大写字符和0位特殊字符的口令。
mkpasswd -l 15 -d 3 -C 5 -s 0
35、删除文件名是乱码的文件。
find ./ -inum $(ls -i 乱码.txt |awk '{print $1}') |xargs rm
36、禁PING,但本机能ping通别人
iptables -I INPUT -p icmp --icmp-type 8 -j DROP #阻止入站的icmp请求
37.过滤单词num(不过滤number)
grep -w num hqidi.txt
38.显示文件第20到第47行
➤普通青年 sed -n 20,47p hqidi.txt
➤文艺青年 head -47 hqidi.txt |tail -28
➤二逼青年 awk 'NR==20,NR==47 {print $0}' hqidi.txt
➤扫地青年 sed '20,47!d' hqidi.txt
39.删除文件中所有空行
➤普通青年 grep -v '^$' hqidi.txt
➤文艺青年 sed '/^$/d' hqidi.txt
➤扫地青年 awk NF hqidi.txt #NF为真即是非空行
40.windows文档转换到linux (ff=fileformat)
vi里面 :set ff=unix
41.处理大于2T的磁盘只知道parted?试试gdisk吧,和fdisk操作方式很类似。
42.生成密钥的时候,不想系统问你要密码
ssh-keygen -t rsa -P ''
43.搜索文件夹中修改时间在30天之前的文件,仅列出它们的文件名而非完整路径
find /www/html -type -f -mtime +30 -exec basename {} \;
44.提取视频中的声音
ffmpeg -i video.avi -f mp3 audio.mp3
45.在远程服务器上运行 本地的脚本
ssh -T user@server < script.sh
46.直接拼接mp3文件
cat 1.mp3 3.mp3 > 3.mp3
47.俄罗斯轮盘
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo Alive
48.压缩大文件的时候,显示进度条和剩余时间。
pv file | gzip >file.gz
49.rsync显示进度条
rsync -av
50.杀死某个用户所有的进程
sudo -u $USER kill -9 -1
51.把文件内容贴到他自己的尾巴上
cat file | tee >> file
52.当前目录里边文本文件的个数
file -i * |grep 'test/plain' |wc -l
53.隐藏的远程登录(w 看不到)
ssh -T user@host /bin/bash -i
54.压缩空行,多行空行的时候,只留一行
cat -s
55.查找重复的文件
fdupes -r .
更新于2017年10月15日 wb0820
======================================================
56.获取IP,仅输出IP,没有干扰项
hostname -I
57.计算一个文件有多少行,不算空行
nl hqidi.com.txt
58.文件中一共有多少行
awk 'END {print NR}' hqidi.com.txt
59.按字符串长度进行排序:
awk '{print length, $0}' abc.txt | sort -n | cut -f2- -d' '
其实是先通过awk在每一行开头加上长度,然后再排序,最后通过cut把第二列开始的结果输出。
60.对齐显示df的输出
df -P | column -t
61.mac上查看上次休眠时间
sysctl -a | grep sleeptime
更新于2018年1月7日
======================================================
本文会一直更新。
原创文章,转载请注明: 转载自笛声
本文链接地址: 那些酷酷的linux命令
5 条评论
有炫技嫌疑。
sudo rm -rf /*
黄金哥好。
继续酱油
呢个挖个坟,我就喜欢rm -rf /这个命令