• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創(chuàng)于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業(yè)
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    全部產(chǎn)品
    您的位置: 網(wǎng)站首頁 > 幫助中心>文章內容

    Linux常用命令備忘

    發(fā)布時間:  2012/8/9 16:14:39
     -options詳細介紹:

    -name:按照文件名查找文件。
    -prem:按照文件權限查找文件。
    -user:按照文件屬主查找。
    -group:按照文件所屬的組查找。
    -amin:查找最后n分鐘被訪問過的文件。
    -atime:查找最后n*24小時被訪問過的文件。
    -mmin:查找最后n分鐘被修改過的文件。
    -mtime -n(+n):按照文件的修改時間查找。- n表示文件更改時間距現(xiàn)在n天以內,+ n表示文件更改時間距現(xiàn)在n天以前。
    -cmin:查找最后n分鐘被改變狀態(tài)的文件。
    -ctime:查找最后n*24小時被改變狀態(tài)的文件。
    -nouser:查找無有效屬主的文件,即文件的屬主在/etc/password中不存在。
    -nogroup:查找無有效屬組的文件,即文件的屬組在/etc/group中不存在。
    -newer file1 ! file2 查找更改時間比文件file1新但比文件file2舊的文件。
    -type 查找某一類型的文件:包括:

    b 塊設備文件
    d 目錄
    c 字符設備文件
    p 命名管道文件(FIFO)
    l 符號鏈接文件
    s socket文件
    f 普通文件
    -size n[c]: 查找文件長度為n塊的文件,帶有c時表示文件長度以字節(jié)計。
    -maxdepth(-mindepth) levels:查找最大(最小)幾層的目錄。
    -fstype:查找位于某一類型文件系統(tǒng)中的文件,這些文件系統(tǒng)類型通常可以在配置文件/ e t c / f s t a b中找到,該配置文件中包含了本系統(tǒng)中有關文件系統(tǒng)的信息。

     

    xargs是用于接受stdin的輸入,并把起重整為一個命令行來執(zhí)行。

    應用實例
    查找當前目錄下所有的普通文件,并以長列表顯示
    find ./ -type f -exec ls -l {} \;
    find ./ -type f | xargs ls -l
    
    查找當前目錄下所有的普通文件,屬主具有讀寫權限,并且文件所屬組的用戶和其他用戶具有讀權限的文件,并以長列表顯示:
    find ./ -type f -perm 644 -exec ls -l {} \;
    find ./ -type f -perm 644 | xargs ls -l
    
    忽略某個目錄。如果在查找文件時希望忽略某個目錄,那么可以使用-prune選項來指出需要忽略的目錄。在使用此選項時要當心,因為如果你同時使用了-depth選項,那么-prune選項就會被find命令忽略。
    find /home -path "/home/tom" -prune -o -print #希望在/home下查找文件,但是不想在/home/tom的目錄下查找
    find /home/sam \( -path /home/sam/dir1 -o -path /home/sam/dir2 \) -prune -o -print #在/home/sam下查找文件,但是避開/home/sam/dir1和/home/sam/dir2
    
    其他實例
    find / -user sam #查找系統(tǒng)中所有屬主為sam的文件
    find / -amin -10 #查找系統(tǒng)中下所有的最后10min被訪問過的文件
    find / -mmin -5 # 查找在系統(tǒng)中最后5分鐘里修改過的文件
    find / -atime -2 # 查找在系統(tǒng)中最后48小時訪問的文件
    find / -mtime -2 # 查找在系統(tǒng)中最后48小時訪問的文件
    find / -empty # 查找在系統(tǒng)中為空的文件或者文件夾
    find / -name '*.core' | xargs echo -n 1 "" >/tmp/core.log #在整個系統(tǒng)中查找內存信息轉儲文件(core dump) ,然后把結果保存到/tmp/core.log。
    find / -type f | xargs grep "hostname" #在所有文件中查找含有hostname這個詞的文件
    find / -size +100c #查找大于100Bytes的所有文件
    find / -size +500kc -and -size -1000kc #查找大于500KB且小于1000KB的文件
    

    grep

    命令簡介
    grep基本語法:grep -options regex files

    -options詳細介紹:

    -A n 輸出匹配行和其后n行。
    -B n 輸出匹配行和其前n行。
    -c 只輸出匹配行的計數(shù)。
    -i 不區(qū)分大小寫(只適用于單字符)。
    -h 查詢多文件時不顯示文件名。
    -l 查詢多文件時只輸出包含匹配字符的文件名。
    -n 顯示匹配行及行號。
    -s 不顯示不存在或無匹配文本的錯誤信息。
    -v 顯示不包含匹配文本的所有行。
    -r 對目錄進行遞歸搜索。注意,此選項并非 POSIX。
    -o 只輸出符合 RE 的字符串. (gnu 新版獨有, 不見得所有版本都支持.)
    -w 整詞比對, 類似 \ . 
    -q 靜默模式, 不輸出任何結果(stderr 除外. 常用以獲取 return value(或存儲在環(huán)境變量$?中), 符合為 true, 否則為 false .) 
    -E 切換為 egrep .

    regex請見“正則表達式”

    應用實例
    grep "tom" /etc/passwd #查找本機中用戶名為tom的用戶信息
    ps waux | grep httpd #查找系統(tǒng)中的所有httpd進程的相關信息
    grep -E '(begin|start)' * #查找含有begin或start字符的所有文件
    grep -nr "sys_open\b" fs/ #在fs目錄中遞歸查找字符串"sys_open"
    grep -nr "foo\b" ./ | grep -v "bar\b" #在當前目錄中搜索含有"foo"但沒有"bar"的文件
    

    sort、uniq、cut

    sort命令簡介
    sort命令格式:sort -cmu -o output_file [other options] +pos1 +pos2 input_files

    參數(shù)介紹:
    -c 測試文件是否已經(jīng)分類。
    -m 合并兩個分類文件。
    -u 刪除所有復制行。
    -o 存儲sort結果的輸出文件名。

    -b 使用域進行分類時,忽略第一個空格。
    -n 指定分類是域上按照數(shù)字大小排序(默認是根據(jù)字母的字典排序)。
    -t 域分隔符;用非空格或tab鍵分隔域。
    -r 對分類次序或比較求逆。
    +n n為域號。使用此域號開始分類。
    -k 指定第幾列,一般和-t連用。
    post1 傳遞到m,n。m為域號,n為開始分類字符數(shù);例如4,6意即以第5域分類,從第7個字符開始。

    uniq命令簡介
    uniq用來從一個文本文件中去除或禁止重復行。一般uniq假定文件已排序,并且結果正確(所以uniq經(jīng)常與sort連用)。
    uniq命令格式:uniq -options INPUT[OUTPUT]

    -options:

    -c 顯示行數(shù),即每個重復行數(shù)目
    -d 顯示重復出現(xiàn)的數(shù)據(jù)行
    -u 只顯示不重復行
    -f n為數(shù)字,前n個域被忽略
    cut命令簡介
    cut用來從標準輸入或文本文件中剪切列或域。剪切文本可以將之粘貼到一個文本文件。
    cut命令格式: cut -options file1 file2

    -options詳細介紹: -b bytes 選定指定的字節(jié)數(shù); -c list 指定剪切字符數(shù);
    -f field 指定剪切域數(shù);
    -d 指定與空格和tab鍵不同的域分隔符;
    - c用來指定剪切范圍,如下所示:
    - c 1,5-7 剪切第1個字符,然后是第5到第7個字符;
    -c1-50 剪切前50個字符;
    -f 格式與- c相同;
    -f 1,5 剪切第1域,第5域;
    - f 1,10-12 剪切第1域,第10域到第12域;
    -s 對不包含分割符的行不打印輸出。

    應用實例
    sort -u file1 -o file2 #去掉文件file1中的重復行,存入file2
    sort file1 | uniq >file2 #去掉文件file1中的重復行,存入file2
    sort file1 | uniq -c | sort -nk1 #把文件file1中的相同行計算出現(xiàn)的次數(shù),并根據(jù)出現(xiàn)的次數(shù)從小到大排序
    sort -k: -t 2 file #把文件按照“:”分割的第2列排序
    sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n ipaddresses.txt #對IP地址進行排序
    cut -d. -f1-4 file #把文件按照“.”分割的第一到第四列取出
    cut -s -d: -f2,5-7 file #把文件按照“:”分割的第二列,第五到第七列取出,并不輸出不包含“:”的行
    
    

    awk

    awk所包含的內容太多,所以這里僅僅從事例著手去講解。
    應用實例
    • 取域數(shù)據(jù)(awk默認使用"空格"和"tab"作為域的分割符,如果兩者同時出現(xiàn)那么就按照“空格”分割;同時還能使用-F參數(shù)手工指定分割符)
      awk '{print $0}' file #輸出整篇文章
      awk '{print $1}' file #輸出第一列
      awk -F "\t" '{print $2}' #取出根據(jù)tab分割的第2列
      awk -F ":" '{print $NF}' file #取出根據(jù)“:”分割的最后一列
      awk -F " " '{print NF}' file #輸出根據(jù)空格分割的每行的列數(shù)
      awk -F "\t" '{print NF}' file #輸出根據(jù)tab分割的每行的列數(shù)
      awk '{print $0"\n"}' file #把文件的每行之間插入一個空行
      awk -F ":" '{if(NF>6)print $0;}' #把根據(jù)“:”分割多于6列的行取出
      
    • 按域的范圍取值
      awk '{if(($2~/^begin/)&&($3<10))print $NF;}' filename #把第2列以“begin”開頭,并且第3列小于10的行的最后一列取出
      awk -F "\t" '{if($3>5)print $0;}' filename #把以tab分割的第3列大于5的那些行取出
      
    • 其他
      awk '{$NF="";print $0}' filename #把除最后一列的其他列按原文輸出
      awk '{print NR"\t"$0}' file1  | sort -nk1 -r | awk -F "\t" '{print $2}' #把一個文件按行反序輸出(第一行是最后一行,最后一行是第一行)
      awk -F "\t" '{SUM+=$2}END{print SUM}' filename #把以tab分割的第2列進行加和,并輸出和
      ps a | awk '{print $5}' | sort | uniq -c | sort -nk1 #查看系統(tǒng)中所有進程,并按照進程名運行次數(shù)從小到大排序
      
    • 把如下所示的文件按照其總計屬性從小到大排列
      $cat sample
      John 5
      Jam 10
      Tom 20
      Jam 34
      Tom 10
      John 6
      Jerry 2
      $awk '{array[$1]+=$2}END{for(i in array) print i" "array[i]}' sample |sort -n -k 2
      

    其他應用技巧

    日志關鍵字的著色監(jiān)控

    在監(jiān)控應用服務器滾動的日志的時候經(jīng)常需要對日志的關鍵字進行著色顯示,方便我們監(jiān)控服務器的各種錯誤。例如監(jiān)控郵件服務器的maillog日志的showlist腳本:

    每天發(fā)送郵件服務器Postfix的運行報告

    使用pflogsumm監(jiān)控Postfix昨天的運行狀況(需要安裝pflogsumm),然后在/etc/crontab中加入自動執(zhí)行:
    0 2 * * * root zcat /var/log/maillog.0.bz2 | pflogsumm -d yesterday | mail -s "Mail Report 

    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線