Linux常見命令總結

時隔兩年,又來了baidu,發現當年不少linux下經常使用的命令都記不大清楚了,挨個查找很是繁瑣,因而下定決心仍是把一些常常碰到的作一作記錄好了。linux

grep:shell

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

awk:vim

  • 輸出文件的某一列: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:bash

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

文件操做:url

  • 下載文件到本地: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: spa

  • :set list/nolist ==>設置是否顯示不可見字符,注意此選項受set listchars約束。
  • :%s/\n//g ==>刪除換行符

BASH:code

shell中按行讀入文件:blog

#!/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 -eip

 殺死進程: kill pid

相關文章
相關標籤/搜索