一些常用的Linux 命令

删除相同的行

$ awk '!a[$0]++' <FILE>

Display digits in XXX way

$ echo <NUM> | awk '{printf("%03d\n", $1);}'

显示UID大于等于500的用户名

$ cat /etc/passwd | sort | gawk '$3 >= 500 {print $1 }' FS=":"

图形化显示本机连接数

 $ netstat -an | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | awk '{ printf("%s\t%s\t",$2,$1) ; for (i = 0; i < $1; i++) {printf("*")}; print "" }'
 
$ route -Cn | grep eth0 | awk '{print $2}' | awk -F: '{print $1}' | sort | uniq -c | awk '{ printf("%s\t%s\t",$2,$1) ; for (i = 0; i < $1; i++) {printf("*")}; print "" }'
 
$ netstat -an | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | awk '{ printf("%s\t%s\t",$2,$1) ;  print "" }'

QQ截图20140903162952

显示占用CPU和内存使用率排名前10位的进程

ps -eo user,pcpu,pmem | tail -n +2 | awk '{num[$1]++; cpu[$1] += $2; mem[$1] += $3} END{printf("NPROC\tUSER\tCPU\tMEM\n"); for (user in cpu) printf("%d\t%s\t%.2f%\t%.2f%\n",num[user], user, cpu[user], mem[user]) }'

QQ截图20140903163150

显示本机IP

$ ifconfig | grep -v '127.0.0.1' | awk '/inet (addr:)?/{sub("addr:","");print $2}'

Print from the 3rd column

$ echo $LINE | awk '{ i = 3; while (i<=NF) {print $i; i++}}'
$ echo $LINE | awk '{ for (i=3; i<=NF; i++) printf ("%s ", $i); }'
$ echo $LINE | awk '{for(x=3;x<=NF;x++) {printf $x " "; if(x==NF) printf "\n";}}'

显示本机TCP ESTABLISHED状态

$ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

显示HTTP日志中500错误数量

$ awk '$9 == 500 { print $0}' /opt/nginx/logs/access.log
$ ssh remote_host "awk '\$9 ~ /5[0-9][0-9]/ {print \$0}' /opt/nginx/logs/access.log"

显示进程firefox的PID

$ ps aux | awk '{ if (match($11, /^\/Applications\/.*firefox/)) print $2 }'

删除扩展名文件名

${FILENAME%.*}

小写转换为大写

 $ tr [:lower:] [:upper:] < a.txt >b.txt

查看22端口现在运行的情况

lsof -i :22

通过某个进程号显示该进行打开的文件

lsof -p <PID>

列出指定进程所打开的文件

lsof -c <PROCESS>

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 69 queries in 0.382 seconds