Linux常见命令总结

时隔两年,又来了baidu,发现当年很多linux下常用的命令都记不大清楚了,挨个查找非常繁琐,于是下定决心还是把一些经常碰到的做一做记录好了。

grep:

  • 匹配文件中包含特定字符: grep hello filename | more

awk:

  • 输出文件的某一列:awk '{print $1 $2}' filename
  • 列连接符改为TAB:awk '{print $1"\t"$2}' filename
  • 输出列数满足条件的行: awk '{if(NF>5)print}' filename
  • 输出文件最后一列:awk '{print $NF}' filename
  • awk强大的正则匹配功能: awk '{if($2~/^80$/)print}' filename
  • PS:~ 匹配正则  !~ 不匹配正则

sed:

  • 去除含有特殊符号的行: sed 's/[[:punct:]]//g' filename | grep -v '^$'      ## grep -v '^$'为去除空白行
  • 取出文件特定行: sed -n '190,196p' a.txt   ## 取第190行到196行
  • 取出文件某一行: sed -n '190,1p' a.txt   ## 取第190行

文件操作:

  • 下载文件到本地:wget url/ftp
  • 从远程主机拷贝文件:scp  ## 拷贝整个文件夹为 scp -r
  • 统计文件行数:wc -l filename
  • 统计文件列数: awk '{print NF}' filename | more
  • 在当前目录下(包含子目录),删除所有txt文件: find ./ -name “*.txt” -exec rm {} \;      ## 只有find才有这个-exec的选项
  • 去除重复行:sort -u | uniq
  • 拆分文件: split -l 50 wlan_date.txt wlan   ## 将wlan_date.txt按50行拆分为 wlanaa, wlanab,....
  • 查看文件时显示行号:cat -n filename
  • 压缩当前文件夹:zip -r ./a.zip ./*
  • 解压zip文件:unzip a.zip

 vim: 

  • :set list/nolist ==>设置是否显示不可见字符,注意此选项受set listchars约束。
  • :%s/\n//g ==>删除换行符

BASH:

shell中按行读入文件:

#!/bin/bash
for line in `cat filename`
do
echo $line
done

######## another way different output ##########
cat filename | while read line
do
echo $line
done

 后台执行程序:nohup command >> file.out &

 查看进程: ps -e

 杀死进程: kill pid

 

posted @ 2016-03-22 13:46  小白菜的BLOG  阅读(375)  评论(0编辑  收藏  举报