0. 基本命令
linux 基本命令整理
1. 壓縮 解壓
tar -zcvf a.tar.gz a #把a壓縮成a.tar.gz
tar -zxvf a.tar.gz #把a.tar.gz解壓成a
2. vim小結
2.1 vim替換
:m,ns/word_1/word_2/gc #把word_1用word_2替換,g表示替換所有的, c表示替換每一個時需要確認
2.2 vim統計某一個字符串的個數
:m,ns/word_1/&/gn #統計從m行到n行之間word_1的個數, n表示只是統計個數不替換
:1,$s/word_1/&/gn #搜索整個文檔中word_1的個數,和下面等價
:%s/word_1/&/gn
2.3 vim中刪除某一字符串
:m,ng/word_1/d #從第m行到第n行刪除所有的word_1
3. 文件搜索
3.1 locate——通過文件名查找
locate /bin/zip
3.2 find——通過文件的各種屬性在既定的目錄下查找
find /usr -type f -name "*.png" -size +1M #查找的目錄范圍是/usr,名字以.png結尾,大小大于1M(+1M,1M,-1M)
find /usr -type f -name "*.png" -size +1M | wc -l #統計符合條件的行數
find /usr -type f -name "*.png" -size +1M -delete #刪除符合條件的
3.3 找出目錄dirs下含有字符串“hello”的所有文件的名字(個數)
find .|xargs grep -ri "
IBM" #xargs是一條Unix和類Unix操作系統的常用命令。它的作用是將參數列表轉換成小塊分段傳遞給其他命令,以避免參數列表過長的問題。
find .|xargs grep -ri "IBM" -l #只打印出文件名
4. 排序
cat file_name | sort -k2 -r #按第二列(從一開始技術)排序,-r表示reverse,從大到小輸出
cat file_name | sort -k1 -n #按第一列排序, -n按數字排序,默認為按字符串排序
cat file_name | sort -k1 -nr | wc -l #統計滿足條件的個數
5. 系統開銷
5.1 df——磁盤占用情況
df #列出各文件系統的磁盤空間占用情況(已用 未用)共五列:Size Used Avail Use% Mounted on
df -h #以更易讀的方式顯示 (按K\M\G適當轉換)
5.2 du——文件大小
df #列出本目錄下,目錄的大?。J的計數單位是k)
df -h 文件名 #以更易讀的方式顯示所查文件的大小
5.3 w——CPU負載度量(簡單的說是進程隊列的長度,最近一段時間1min,5min,15min的load度量)
w
6. awk命令
cat file_name | awk '{print $1}' #輸出第一列(默認以空格切分)
cat file_name | awk -F ':' '{print $1"\t"$3}' #-F指定切割符號,輸出第3列
cat file_name | awk -F ':' 'BEGIN {print "name,id"} {print $1","$3} END {print "end_name,end_id"}' #BEGIN指定開頭輸出,END指出結尾輸出
cat file_name | awk -F ':' '/keyWord/{print $1}' # 輸出一行中含有關鍵字keyWord的制定列
cat file_name | awk -F ':' '{print "filename:" FILENAME ",linenumber:" NR ",columns:" NF}' #內置變量FILENAME文件名,NR已讀記錄數,NF列數
cat file_name | awk '{count++} END {print "Count:" count}' #編程,最后輸出總行數
7. 編碼轉換
iconv -f gbk -t utf-8 -c text.txt -o text.out #-f:from -t:to -c從輸出中忽略無效的輸出 -o輸出文件名字
8. 文件屬性
chmod 屬性 文件名 #更改文件屬性r:1 w:2 x:4
chown 擁有者 文件名
chgrp 組名 文件名
9. 管道 | 重定向 >
ls -l |grep "^-" | wc -l #grep 正則匹配以'-'開頭的, wc -l:統計滿足條件的總的行數
ls -l |grep "^-" >file_name1 #把滿足結果的定位到file_name1,注:先清空再定位
ls -l |grep "^-" >>file_name2 #把滿足結果的輸出到file_name2的后面,注:不清空,在原來基礎上繼續存儲
10. 文件傳輸下載
curl http://www.cnblogs.com/kaituorensheng/ #下載網頁,默認只下載HTML文檔; -l只顯示頭部; -i 顯示全部
curl http://e.hiphotos.baidu.com/image/pic/item/50da81cb39dbb6fd1e165c260a24ab18972b3764.jpg #下載圖片
curl "www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK" #獲取表單,參數birthyear=1905,press=OK"