Tips and Recipes



正则匹配ip地址

"^([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$"

严格匹配ip地址,如192.168.1.1,不包括192.168.001.001.

查看文件属性

$ stat -c %y FILENAME

输出文件最后修改时间,类似的有w文件创建时间,x最后访问时间,z属性最后修改时间,更多用法man stat

删除多余的内核文件

$ dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

这条命令可以删除系统中多余的内核。

[TOP]


删除文件倒数第n行到m行

$ tac FILE.txt | sed 'n,md' | tac

taccat的反写,用于倒置文本。

[TOP]


列出目录中最大的十个文件

$ du -ak DIR | sort -nrk 1 | head

du即disk usage,-a表示递归所有目录,-h自动选择KB、MB、GB,-c附加总计占用的磁盘容量,-s只列出总计占用的磁盘容量;-k统一容量单位为KB,类似的-b表示字节,-m表示MB,-B表示块。

常用的同类命令还有df -h,df即disk free。

[TOP]


tail -f监视文件变化

$ tail -f -s 10 FILE.txt --pid PID

监视FILE.txt的变化,当进程PID结束运行时,自动退出tail。-s 10指定刷新时间。

[TOP]


列出最常用的十条命令

$ history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}' | sort | uniq -c | sort -rn | head

[TOP]


列出最耗内存的十个进程

$ ps aux | sort -nk +4 | tail

[TOP]