常用shell命令

将时间转换为时间戳

date -d "2017-11-09 14:12:25" +%s
> 1510207945

将时间戳转换为时间(后面的输出格式可以参考man date)

date -d @1510207945
> Thu Nov  9 14:12:25 CST 2017

date -d @1510207945 "+%Y-%m-%d"
> 2017-11-09

date -d @1510207945 "+%F %T"
> 2017-11-09 14:12:25

 查看摸个目录下各个文件大小

sudo du -h --max-depth=1
sudo du --max-depth=1 -BM | sort -nr

查看都有那些用户登录

w / who

 统计某个单词在文件中的出现的次数

zgrep/grep -Po "关键字" 文件 | awk  '{print $1}' | sort | uniq -c | awk '{if($1>10) print $0}' | sort -k1nr

 awk根据某列去重

根据第一列去重
cat x.file |awk '!a[$1]++{print $0}'


awk 'a[$0]++' filename   //用于输出重复的行

awk '!a[$0]++' filename //用于去掉重复的行

其主要的原理,是利用AWK的数组a, 用每一行作为索引,如果行不存在 a[$0], 返回 0。 a[$0]++先返回,而后++。第二次读到相同的行,a[$0]++返回非0值。

取最后一个字符
 cat x.file | awk '{print $NF}'

原文地址:https://www.cnblogs.com/halu126/p/7809195.html