那些酷酷的linux命令

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 --progress

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 条评论

  • 布什 2017年9月17日 回复

    有炫技嫌疑。

  • 黄金况工 2017年10月12日 回复

    sudo rm -rf /*

    • dige 2017年11月5日 回复 作者

      黄金哥好。

  • Mr.Li 2017年10月12日 回复

    继续酱油

  • 姜辰 2017年11月12日 回复

    呢个挖个坟,我就喜欢rm -rf /这个命令

发表评论

电子邮件地址不会被公开。 必填项已用*标注