Linux運維常用命令詳解


1、ls

文件屬性: 
-:普通文件 
d:目錄文件 
b:塊設備 
c:字符設備文件 
l:符號連接文件 
p:命令管道 
s:套接字文件 
 
文件權限: 
9位數字,每3位一組 
文件硬鏈接次數 
文件所屬主(owner) 
文件的屬組(group) 
文件大小(size),單位默認是字節 
 
ls常用選項: 
-l:顯示文件屬性,ls -l=ll 
-h:做相應的單位轉換顯示 
-a:顯示所有文件 
-A:顯示.和..以為的所有文件 
-d:顯示目錄自身屬性 
-i:顯示文件的縮影接點號碼(index node ,inode) 
-r:逆序顯示文件列表 
-R:遞歸顯示文件 

2、cd

cd:change directory 
cd:回到用戶的家目錄 
cd ~username:進入指定用戶的家目錄 
cd - :在當前目錄和前一次所在的目錄來回切換 
cd ..:切換至其父目錄 

3、printenv:顯示當前環境變量信息

4、時間管理

date:顯示系統時間 
clock:顯示硬件時間 
hwclock -W:把系統時間同步到硬件時間 
hwclock -s:把硬件時間同步到系統時間 
cal:顯示日歷 

5、命令幫助

內部命令幫助:help COMMAND 
外部命令幫助:man  COMMAND 
命令手冊:manual 
whatis COMMAND:顯示此命令在man幫助的哪個章節內。 
============================================================
man的操作命令: 
空格:向后翻一屏 
b:向前翻一屏 
ENTER:向后翻一行 
k:向前翻一行 

============================================================


關鍵字查找 
/KEYWORD:向后查找關鍵字 
?KEYWORK:向前查找關鍵字 
n:下一個關鍵字位置 
N:前一個關鍵字 
q:退出man幫助 

 
6、file
file:用於查看普通文件和系統文件的類型
7、mkdir

mkdir:創建目錄 
rmdir:刪除目錄 
   -p:遞歸創建 
   -V:顯示創建信息 

 
8、rm

rm:刪除文件 
-i:交互式刪除 
-f:暴力刪除 
-r:遞歸刪除 
命令可以組合利用 

9、touch

touch:創建文件 
-c:文件存在的時候不在創建 
-a:只改變文件的訪問時間 
-m:只改變文件的修改時間 
-t:自己設定文件的時間戳(年月日時分.秒),與a、m配合使用 

10、cp

cp:文件復制,規則:只有最后一個為目標。復制一個文件到一個文件  或者 多個文件
到一個目錄! 
  cp /etc/passwd /tmp/   復制到目錄下並保存原文件名 
  cp /etc/passwd /tmp/test 看test是文件還是目錄,目錄:負責到目錄內,
文件則替換!
============================================================== 
  -r:遞歸復制目錄 
  -i:交互式顯示復制 
  -f:強制復制,覆蓋 
  -p:保留源文件的屬性,時間戳 
  -a:保留源文件的所有屬性 
  -P:復制鏈接文件時保存為鏈接(默認是復制鏈接所指向的文件) 
  -d:復制時保持鏈接 
  -a:歸檔復制,常用與備份 

11、mv

mv:移動或重命名文件 
mv SRC(源) DEST(目標) 
在統一目錄下可以利用mv進行重命名: mv abc bcd 或者 mv -t 目標 源 

12、cat

 
cat:連接並顯示文件的信息,是全部顯示文件內的信息 
  -n:在顯示的時候可以顯示行號,這個行號只是顯示出來,跟文件內容沒有  關系 
  -E:顯示每一行的行結束符,所以linux中文本文件的行結束符是$符 
  -T:可以顯示制表符 
  -v:顯示其他的非打印字符 
  -A:顯示所有的符號 

13、more

 
more:more的作用同cat是相同的,只不過這時我們可以通過手動來翻屏,更加方便
,more:只支持向后翻,翻到最后
就直接退出了 
less:顯示文件信息,默認不退出顯示,q即可退出 
  空格:向后翻一屏 
  b:向前翻一屏 
  ENTER:向后翻一行 
  k:向前翻一行 
關鍵字查找 
  /KEYWORD:查找關鍵字 

14、head、tail

 
head:顯示文件的前幾行,默認是10行 
  -NUM:顯示前多少行 
tail 
tail:顯示文件的后幾行,默認是10行 
  -NUM:顯示后多少行 
  -f:查看文件尾部,而且不退出,等待顯示后續追加的新內容; 

15、cut

 
cut:用於剪切數據的內容 
  -d:指定字段分隔符,默認的是空格  cut -d: -f7 空格符 cut -d'' 
  -f:指定要剪切顯示的字段 
  -f 1  表示顯示第一個字段  cut  -f1 
  -f 1,3表示顯示第一個和第3個字段 
  -f 1-3表示顯示從1到3的字段 

16、sort 、uniq、wc

 
sort:文本排序,僅僅是對顯示文件的排序,而不影響源文件的順序,是根據ASSII碼
的字符升序來排列的。 
  -n:安裝數值大小從小到大排列 
  -r:降序排列 
  -t:指定字段分隔符 
  -k:從哪個字符開始,就是指定關鍵字排列 
  -u:相同的行只顯示一次 
  -f:忽略字符大小寫 
================================================================
uniq:報告或者忽悠重復行 
  -d:只顯示重復行 
  -c:顯示某一行的重復次數 
================================================================
wc:文本統計,可以統計文件中一共有多少行數,多少個單詞數,多少個字節數 -l:只顯示行數 -w:只顯示單詞數 -c:只顯示字節數 -L:顯示最長的一行包含多少個字符

17、tr

tr:轉換或刪除字符 
 tr [OPTION]...SET1 [SET2] 
  例如# tr ab AB   把小寫ab都換位大寫AB 
  -d:可以實現刪除出現在字符集中的所有字符 
 
18、aliase 
  aliase:定義shell命令的別名 
  alias CMDALIAS=COMMAND 
  unalias CMDALIAS是撤銷命令別名 
===========================================================================================
19、權限 
  權限: r 、w 、x 
  文件: 
  r:可讀,可利用類似 cat等命令查看文件內容 
  w:可寫,可以編輯或刪除此文件 
  x:可執行,可以再命令提示符下當做命令提交給內核運行。 
  目錄: 
  r:可以對此目錄執行LS以列出內部的所有文件 
  w:可以在此目錄中創建文件 
  x:可以使用cd切換進此目錄,也可以使用ls -l查看內部文件的的詳細信息。
===========================================================================================
20、useradd 
  useradd NAME:增加用戶 
    -u UID:指定用戶所屬主ID 
    -g GID:指定基本組ID或者組名(此組必須首先存在才能用) 
    -G GID:定額外組(附加組),可以指定多個,彼此之間用逗號隔開即可(此附加
組必須首先存在才能用) 
    -c "COMMENT"指定注釋信息 
    -d /path/to/somedirectory指定用戶的家目錄,不用的時候默認在home下面
建立一個和用戶同名的目錄。 
    -s 指定shell,路徑最后是etc/shells文件內規定的shell路徑。 
    -M 不給用戶創建家目錄 
    -r 創建一個系統用戶,共系統調用,並不建立家目錄 
userdel USERNAME:刪除用戶 
            (不加參數時,默認不刪除用戶的家目錄) 
    -r :刪除用戶的同時也刪除家目錄 
===========================================================================================
21、id 
  id命令:查看當前用戶的id信息 
    -g USERNAME:查看用戶的gid 
    -u USERNAME:查看用戶的uid 
    -G USERNAME:查看用戶的所有組 
    -un:顯示當前用戶的用戶名 
   -gn:顯示當前用戶的組名 
===========================================================================================
22、finger 
  finger命令:查看用戶賬戶信息 
    finger USERNAME 
===========================================================================================
 
24、用戶賬戶屬性管理 
  usermod:修改賬戶的屬性 
  usermod [option] USERNAME 
    -u:修改UID 
    -g:修改GID 
    -G:修改附加組 
    -a -G:增加附加組,不覆蓋之前的附加組 
    -c:修改用戶的注釋信息 
    -d:為用戶知道新的家目錄 
    -d -m :指定信家目錄並移動此前家目錄的文件至新的家目錄內 
    -s:修改用戶的默認shell 
    -l:修改用戶名 
    -L:鎖定用戶賬戶 
    -U:解鎖賬戶
==========================================================================================
 
25、用戶密碼管理 
   passwd USERNAME 
     -l:鎖定賬戶 
     -U:解鎖賬戶 
     -d:刪除用戶密碼 
     -n:用戶密碼最短時間 
     -x:用戶密碼最長使用時間 
   pwck:檢查用戶賬戶完整性 
==========================================================================================
 
26、組管理 
 groupadd:新建組 
 groupadd [option] GROUPNAME 
    -g :GID指定GID 
    -r :添加為系統組 
 groupmod:組屬性 
 groupmod [option] GROUPNAME 
   -g GID:修改gid 
   -n NAME:修改組名 
 gpasswd:修改組密碼 
 gpasswd GROUPNAME 
===========================================================================================
27、chage 
 chage:更改用戶賬戶信息 
   -d:最后一次修改時間 
   -E:過期時間 
   -I:非活動時間 
   -m:最短期限 
   -M:最長期限 
   -W:警告時間 
===========================================================================================
28、chown 
 chown:改變文件屬主、屬組,只有管理員是也此命令 
 chown USERNAME file....(只改變目錄本身) 
    -R 遞歸修改(修改目錄及其內部文件的屬主) 
    --reference=/path/to/somefile file... 把file的屬主設定為與
somefile的屬主一樣(不需要指定屬主) 
   chown USERNAME:GRPNAME fiel... 同時改變屬主和屬組 
   chown USERNAME,GRPNAME fiel... 同時改變屬主和屬組 
   chown :GROUPNAME fiel....   修改屬組 
===========================================================================================
29、chgrp 
 chgrp:修改文件屬組 
 chgrp GROUPNAME file....(只改變目錄本身) 
    -R 遞歸修改(修改 目錄及其內部文件的屬組) 
     --reference=/path/to/somefile file... 把file的屬主設定為與
somefile的屬組一樣(不需要指定屬組)    
===========================================================================================
30、chmod 
 chmod:修改文件的用戶權限 
 chmod MODE file... 
    -R:遞歸修改 
    --reference=/path/to/somefile file... 
    chmod 755 file... 
 修改某類用戶的某些權限 
  u:屬主 
  g:屬組 
  o:其他 
  a:所有 
    chmod 用戶類別=MODE fiel.. 
    chmod u=wr,g=w /fiel.. 
    chmod uo=wr /file.. 
 修改某類的用戶某位或某些位權限 
    chmod 用戶類別[-/+]MODE fiel.. 

 

31、echo 
  echo:輸出信息 
  echo "abc" 
  echo "字符串" | passwd --stdin USERNAME:利用管道修改用戶密碼 
 
32、輸入、輸出重定向 
 
   輸出重定向:> 覆蓋輸出(會覆蓋原文件內的內容) 
    : >> 追加輸出(不覆蓋原文件的內容) 
    set -C :禁止對已經存在文件使用覆蓋重定向 
    set +c :關閉上述功能 
    2>:重定向錯誤輸出,不能輸出正確信息 
    2>>:追加方式實現錯誤輸出 
    &>:重定向標准輸出或錯誤輸出至同一個文件。 時覆蓋方式 
    輸入重定向:<  
    <<:此處生成文檔 
    cat <END :輸入信息,直至輸入END時結束。(EOF或者END代表文檔輸入結束) 
    cat >> /tmp/myfile.txt <END 
===========================================================================================
33、grep 
 
   grep:根據模式,搜索文本,並將符合模式的文本行顯示出來 
   -i 忽略大小寫 
   --colour(color)顏色顯示 
   -v 反向查找,顯示沒有被模式匹配的行 
   -O 只顯示被模式匹配的字符串 
===========================================================================================
34、sed 
   sed:流編輯器,把文本中的某一行讀取到內存中進行處理,此內存空間稱為模式空間。
默認不編輯原文件,只對模式空間內的數據進行處理,處理結束后,將沒模式空間打印至
屏幕 
   sed 'AddressCommand'  file... 
    -n :靜默模式,不在顯示模式空間中的內容 
    -i :直接修改原文件 
    -e :(-e SCRIPT -e SCRIPT) 可以同時執行多個腳本 
    -f /PATH/TO/SED_SCRIPT: sed -f /path/to/sed_script file 
:執行腳本文件 
    -r :使用擴展的正則表達式 
    d:刪除符合條件的行 
     fg:/etc/inittab    刪除1-2行 
     sed '/root/d' /etc/fastab 刪除包含root的行 
    p:顯示符合條件的行。 
     fg:sed '/^\//d' /etc/fastb 刪除以/開頭的行 
     sed '/^\//p' /etc/fastb 顯示以/開通的行 
    a \string:在指定的行后追加新的行,內容為string 
    i \string:在指定的行前面添加新行,內容為string 
    r FILE :將指定的文件的內容添加至符合條件的行處 
    w FILE :將地址指定范圍內的內容另存至指定的文件中 
    s/pattern/string/ :查找並替換(默認只替換每行中第一次被pattern匹配
到的字符串)  把pattern匹配的字符換為string 
    修飾符:g 全局替換   s/pattern/string/g 
    i 忽略字符大小寫 s/pattern/string/i 
    s///=s###=s@@@ 在找/時就不用轉意了。 
    &:后向引用,引用模式匹配的整個串 
===========================================================================================
    fg:sed練習: 
    1、刪除/etc/grub.conf文件中行首的空白符; 
      sed -r 's/^[[:space:]]+//g' /etc/grub.conf 
    2、替換/etc/inittab文件中"id:3:initdefault:"一行中的數字為5; 
     sed 's/id:3:initdefault/id:5:initdefault/g' /etc/inittab 
     sed 's@\(id:\)[0-9]\(:initedefault)@\15\2@g' /etc/inittab 
    3、刪除/etc/inittab文件中的空白行; 
     sed '/^$/d' /etc/inittab 
    4、刪除/etc/inittab文件中開頭的#號;  
     sed 's/^#//g' /etc/inittab 
    5、刪除某文件中開頭的#號及后面的空白字符,但要求#號后面必須有空白字符; 
    sed 's/^#[[:space:]]\{1,\}//g' /etc/inittab 或者
sed  -r 's/^#[[:space:]]+//g' /etc/inittab 
    6、刪除某文件中以空白字符后面跟#類的行中的開頭的空白字符及# 
      sed -r 's/^[[:space:]]+#//' 1 
     7、取出一個文件路徑的父目錄名稱; 
       echo "/etc/rc.d" | sed -r 's@^(/.*/)[^/]+/?@\1@g'  
以/.*/開頭,[^\]指非斜杠,\1引用左邊第一個括號內的內容一次。 
      echo "/etc/rc.d" | sed -r 's@^/.*/([^/]+)/?@\1@g' 
 提取本文件 
===========================================================================================
35、vim 
    vim:文本編輯器,全屏、模式化的編輯器 
   vim模式: 
        編輯模式(命令模式):默認 
        輸入模式 
        末行模式
------------------------------------------------------------------------------------------
    vim模式轉換: 
    1、從編輯模式-->輸入模式 
      i:在當前光標所在字符的前面,轉為輸入模式 
      a:在當前光標所在字符的后面,轉為輸入模式 
      o:在當前光標所在行的下方新建一行,並轉為輸入模式 
      I:在當前光標所在行的行首,轉為輸入模式 
      A:在當前光標所在行的行尾,轉為輸入模式 
      O:在當前光標所在行的上方新建一行,並轉為輸入模式 
---------------------------------------------------------------------------------------
     2、從輸入模式-->編輯模式 
       鍵入esc鍵。 
     3、末行模式:必須從編輯模式進入末行模式 
       鍵入:即可。 
     4、末行模式-->編輯模式 
       敲esc鍵,一次或者多次。

-------------------------------------------------------------


 vim退出文件: 
    1、末行模式下關閉文件 
       w:保存文件 
       q:退出 
       wq:保存並退出 
       q!:不保存並退出 
       w!:強制保存 
       wq=x 保存退出 
    2、編輯模式下退出 
      大寫ZZ:保存退出 
------------------------------------------------------------------------------------------
 vim下移動光標(編輯模式):  
 1、逐字符移動: 
     h:向左 
     l:向右 
     j:向下 
     K:向上 
     #h:移動#(數字)個字符 
   2、以單詞為單位移動 
     w:移動下一個單詞的詞首 
     e:移動到當前單詞的詞尾或者下一個單詞的詞尾 
     b:移動到當前單詞的詞首或者上一個單詞的詞首 
     #w:一次跳#個單詞。 
   3、行內跳轉 
     0:跳到行首(絕對行首) 
     ^:跳到第一個非空白字符的行首 
     $:絕對行尾 
    4、行間跳轉 
     #G:直接跳轉至第#行上。 
     G:直接跳轉至最后一行 
 末行模式下跳轉:直接給出行號,回車即可。 
-------------------------------------------------------------------------------------------
   vim翻屏: 
     ctrl+f:向下翻一屏 
     ctrl+b:向上翻一屏 
     ctrl+d:向下翻半屏 
     ctrl+u:向上翻半屏 
-------------------------------------------------------------------------------------------
   vim刪除字符: 
     x:刪除光標所在處的單個字符 
     #x:刪除光標所在處及向后的共#個字符 
   vim刪除命令:d 
     d命令與跳轉命令結合使用 
     d$:刪除到行尾。 
     #d跳轉符:刪除跳轉符指定的#個字符 
     dd:刪除當前光標所在行 
     #dd:刪除包括光標所在行之內的#行 
   末行模式下可以使用: 
      startADD,ednADDd 
      1,10d:刪除第一行到第十行 
      .,100:刪除當前行到100行。 
      .表示當前行 
       $:最后一行 
       +#:向下的#行 
       $-10:倒數第10行 
       vim刪除的內容為保存在緩沖中,最后一次刪除的內容可以粘貼。 
-------------------------------------------------------------------------------------------
   vim粘貼命令:p 
     p(小寫):如果刪除的或復制的為正行內容,則粘貼至光標所在含行的下方,如果
復制或刪除的內容為非整行,則粘貼至光標所在字符的后面     
     P(大寫):如果刪除的或復制的為正行內容,則粘貼至光標所在含行的上方,如果
復制或刪除的內容為非整行,則粘貼至光標所在字符的前面 
     vim復制命令:y 
      y的用法同d 
      yy:復制一行 
      vim先刪除內容,再轉換為輸入模式:c 
    c的用法同d命令 
      cc:刪除一行,並進入輸入模式。 
      c$:刪除到行尾,並進入輸入模式 
-------------------------------------------------------------------------------------------
    vim下撤銷編輯操作命令:u 
        u:撤銷上一次操作,連續u命令可以撤銷此前的n次操作 
        #u:直接撤銷最近#次編輯操作 
-------------------------------------------------------------------------------------------
    vim超找替換 
      /PATTERN:從行首向下查找PATTERN匹配的選項 
      ?PATTERN:從行尾向上查找PATTERN匹配的選項 
    vim查找並替換:s 
     在末行模式下使用s命令 
     用法與sed一樣 
     ADDR1,ADDR2s@PATTERN@string@gi 
     g:全局 i:忽略大小寫 
     .,$-1 :當前行到倒數第一行 
     1,$表示全文 
    vim下shell交互 
     :!COMMAND 回車查看,查看完以后再回車,進入vim編輯模式。 
-------------------------------------------------------------------------------------------
 vim高級話題 
     1、顯示或取消顯示行號 
        :set nu 
        :set nonu 
     2、設定忽略或區分大小寫 
       :set ignorecase  
       :set ic 忽略 
       :set noic 
     3、設定自動縮進 
       :set autoindent 
       :set ai 縮進 
       :set noai 
     4、查找到的文本高亮顯示或取消高亮顯示 
       :set hlsearch 高亮顯示 
       :set nohlserch 取消 
    5、語法高亮 
       :syntax on 開啟 
       :syntax off 關閉 
 
36、let 
    
let:相當於一個小的計算器 
     let SUM+=$I ;sum等於sum+I 
     let I+=1:讓I等於I加1 
     let I++:讓I等於I加1 
     let I-=相當於let I--:I等於I減1 
 
37、locate 
    
 locate:查找文件,非實時的、模糊匹配,全系統文件數據庫的查找命令 
     updatedb:手動生成文件數據庫,新安裝的系統沒有數據庫的,速度快 
 
38、find 
   
 find:實時查找、精確、遍歷指定目錄中的所有文件完成查找,速度慢、支持眾多
查找標准 
    格式:find 查找路徑 查找標准 查找到以后的處理運作 
    查找路徑:默認為當前目錄 
    查找標准:默認為指定路徑下的所有文件 
    處理運作:默認為顯示到屏幕 
-------------------------------------------------------------------------------------------
匹配標准 
    -name 'FILENAME':對文件名進行精確匹配 
          還支持文件名通配符:*:任意長度的任意字符 
    -iname 'FILENAME':文件名匹配不區分大小寫 
    -regex PATTERN:基於正則表達式進行文件名匹配 
    -user USERNAME:基於文件所屬主進行匹配查找 
    -group GROUPNAME:基於文件的屬組進行查找 
    -uid UID:基於文件的uid,用戶被刪了以后id號會保存下來 
    -gid GID:文件組 
    -nouser:查找沒有屬主的文件 
    -nogroup:查找沒有屬組的文件 
    -type :根據文件的類型來查找 
       f:普通文件 
       d:目錄 
       p:管道 
       s:套接字 
       l:鏈接 
       -size:指定文件的大小 
      [+|-]#K:大於或者小於#k的文件 
-------------------------------------------------------------------------------------------
時間戳查找 
       單位為天 
       -mtime :修改時間 
       -atime :訪問時間 
       -ctime:改變時間 
       支持[+|-]#: 
          5:五天那一天訪問 
       -5:五天之內 
       +5:至少五  天之外 
      單位為分鍾 
      -amin:訪問時間 
      -cmin:修改時間 
      -tmin:改變時間 
       文件的權限查找 
         -perm mode(755):精確查找 
              fg:find 路徑 -pern 755 
         -perm /mode : 三位匹配一位就可以              
      -perm -mode:文件權限能完全包含此mode才可以顯示 
       執行動作: 
     -print:默認的,顯示 
     -ls:類似ls -l的形式顯示匹配到的每個文件的詳細信息 
     -ok COMMAND {} \;每個操作需要用戶確認 執行命令,必須以\;結尾。
{}代表匹配到的文件。          
        -exec COMMAND {} \;不需要確認,執行命令,必須以\;結尾。{}代表
匹配到的文件。 


=========================================================================================
39、SUID 
    
suid:運行某程序時,相應進程的屬主是程序文件自身的屬主,而不是啟動者所屬主 
       添加文件的SUID:chmod u+s FILE 
                   chmod u-s FILE 
     如果FILE本來原來就有執行權限,則SUID顯示為s,否則為大S。 
    SGID:運行某程序時,相應進程的屬組是程序文件自身的屬組,而不是啟動者所屬
的基本組 
    chmod g+s  FILE 
    chmod g-s  FILE 
    fg:一個團隊,三個用戶:hadoop、hbase、hive,一個開發目錄
/tmp/project,要求這三個用戶可以同時修改同一個文件。查看、編輯、等權限 
     三個用戶同屬一個基本組,並要求基本組具有查看、編輯權限。。 
      groupadd devdeop 
      chown -R :develop /tmp/projest 
      usermod -a -G develop hadoop 
      chmod g+s /tmp/project 
      然后就可以進行創建、修改、刪除同一個文件了。 
===========================================================================================
40、sticky 
    sticky:規定在一個公共目錄,每個人都可以創建文件、刪除自己的文件,但不
能刪除別人的文件。 
     chmod o+t DIR:對目錄增加sticky權限 
     chmod o-t DIR:去掉目錄的sticky權限 
     chmod 1755 /backup/test 表示文件具有sticky權限 
 
41、facl 
    facl:利用文件擴展保持額外的訪問權限 
    setfacl:設置某文件的控制權限 
         -m:增加facl 
         u:設定用戶的時候,后面加上u:UID:perm  
         fg:setfact -m u:UID:rw file 
         g:設置組 
        -x:取消facl 
    getfacl:查看文件的facl權限 
 
42、whoami 
    whoami:顯示當前用戶是誰,su半切換的時候顯示的是切換之前的那個用戶 
 
43、who 
    
who:查看當前登錄系統的用戶以及他所登錄的終端 
      -r:顯示當前運行級別 
      -H:第一回列表顯示各列名稱 
    w:顯示比who更詳細的信息 
 
44、last 
    last:顯示當前系統上的登錄日志(/var/log/wtmp文件),包括系統用戶和
重啟信息 
   last -n 數字:只顯示最近幾次的登錄信息 
45、lastb 
    
lastb:顯示用戶錯誤的登錄常識 
    lastb -n 數字:只顯示最近幾次錯誤的登錄信息。 
 
46、lastlog 
    lastlog:顯示每個用戶最近一次成功登錄的信息 
    lastlog -u USERNAME:顯示指定用戶最近一次的登錄信息 
47、basename 
   
 basename:顯示一個目錄的基名 
      basename /etc/abc/me 直接顯示me 
      $0:命令名稱或者腳本本身的路徑。 
      basename $0:直接調用腳本本身路徑 
==========================================================================================
48、mail 
    mail:郵件查看,可以查看郵件,查看以后就會放到用戶的家目錄內mbox文件夾內。 
     -s主題 
     mail -s "How are you " root   
     cat /etc/fast | mail   -s "How are you "   root 
 
49、hostname 
    hostname:顯示當前主機的名稱 
    hostname 主機名:更改主機名 
       fg:如當前主機的名字為空,或者(none)或者為(localhost),就將其
改為www 
      [ -z` hostname` -o `hostname` == "(null)" -o `hostname` 
== "localhost" ] && host www. 
       -z:表示是否為空
 
50、RANDOM 
    
RANDOM:0-32768直接的隨機數 
    echo $RANDOM:生成隨機數 
  ln:創建鏈接文件 
  ln SRC DEST:創建硬鏈接 
    -s:創建軟連接 
    -i:顯示文件的inode號 
    -v:顯示執行結果 
   硬件連接: 
   1、只能對文件創建,不能應用於目錄,文件的硬鏈接次數為2 
   2、不能誇文件系統 
   3、創建硬鏈接會增加文件被連接的次數 
   符號連接: 
   1、可應用於目錄 
   2、可以跨文件系統 
   3、不會增加被連接文件的連接次數 
   4、其大小為指定的路徑所包含的字符個數 
===========================================================================================
52、du 
    
du:顯示目錄下的所有文件的大小 
       -s:顯示目錄大小 
       -sh:單位換算后顯示
================================================================ 
53、df 
    
df:顯示整個磁盤分區的使用情況 
        -h:顯示空間大小 
===========================================================================================
54、fdisk 
    fdisk:磁盤分區 
    fdisk /dev/sda 
    p:顯示當前磁盤上的分區 
    n:創建一個新的分區 
        e:擴展分區 
        p:主分區 
    d:刪除一個分區 
    w:保存退出 
    q:不保存退出 
    t:修改分區類型 
    l:顯示所有支出的分區類型 
===========================================================================================
55、partprobe:把新的分區同步到內核上去。
 
56、mkfs 
    mmkfs:創建文件系統 
    mkfs -t FSTYPE 指定分區 
    -t可以實現多種系統的格式化    如mkfs -t ext2 /dev/sda5  
 
57、mke2fs  
    mke2fs:專門管理ext系列的文件的命令,不跟任何參數,指的是創建ext2 
       -j:指的是創建ext3類型文件系統 
       -b BLOCK_SIZE:指定塊大小,默認為4096;可用取值為1024,2048或
4096 
       -L LABEL: 指定分區卷標;例如 mke2fs -L MYYY /etc/sda5 
       -m #:明確指定預留給超級管理員用的快熟百分比 mke2fs -m 3 
/dev/sda5
 
       -i #:指定為多少個字節的空間創建一個inode , 默認為8192;這里給出的
數值應該為塊大小的2^n被  mke2fs -i 4096  表示4096個字節創建一個inode 
      -F:強行創建文件系統; 
      -E:用於指定額外的文件系統屬性; 
      -N#:指定inode個數; 
58、blkid 
    blikd:查詢或查看塊設備的屬性,其中有包含文件系統的信息 
 
59、e2lable 
   
 e2lable:專門用於查看或定義卷標 
    查看卷標  e2label /dev/sda5  
    設定卷標  e2label 設備文件 卷標   :即實現設定卷標   e2label 
/dev/sad6 YYY 
           (這里的設備文件即/dev/sda5) 


60、tune2fs   
    tune2fs:調整文件系統的相關屬性  
        -j:不損壞原有數據,將ext2升級為ext3,但是不能降級  
        -L LABLE:設定或修改卷標  
     -m #:調整預留百分比  
        -r #:預留塊數  
        -o:設置默認掛載選項,其中有一個是acl,acl是一個功能,但需要掛載才能 
使用,否則是不能用的   
 -c #:指定掛在次數達到#次之后進行自檢,指定0或-1表示關閉此功能,不自 
檢;  
       -i #:可以指定每掛載使用多少天后進行自檢:0或-1表示關閉此功能;  
       -l:顯示超級塊內容  
=========================================================================================== 
61、dumpe2fs  
    dumpe2fs:以顯示文件系統中超級塊信息或文件的屬性信息,同上面的tun2fs -l 
選項類似,都是很重要的命令,其中也顯示超級塊的信息,FREE是空閑的意思  
    -h:表示只顯示超級塊中的信息  
62、fsck  
    fsck:檢查並修復Linux文件系統  
       -t TYPE:指定文件系統類型  
       -a:自動修復  
63、e2fsck  
    e2fsck:專門用來檢查修復ext2或ext3的命令  
         -a或-p:自動修復;  
         -f :強行修復;  
64、mount   
    mount:掛載文件系統  
    mount 設備 掛載點  
    設備  
設備文件:/dev/**  
卷標:LABLE="" 
UUID:UUID=""  
    掛載點:掛載點就是個目錄  
       1,此目錄沒有被其他進程使用;  
       2,目錄的首先存在;  
       3,目錄中原有的文件將會暫時隱藏; 
----------------------------------------------------------------  
    mount相關參數  
        -a:表示掛載/etc/fstab文件中指定的所有的文件系統  
        -n:默認情況下,mount每掛載一個設備,都會把掛載的設備信息保存至 
/etc/mtab文件;使用-n選項意味着掛載設備時,不把信息寫入此文件;  
        -t FSTYPE:指定正在掛載設備上的文件系統的類型;不使用此選項時, 
mount會調用blkid命令獲取對應文件系統的類型;  
        -r:只讀掛載,掛載光盤時常用此選項  
        -w:讀寫掛載  
        -o:指定而外的文件系統掛載選項,即指定文件系統啟用的屬性  
            async:表示異步寫入  
            atime:表示更新時間戳  
        noatime:關閉更新時間  
        auto:表示這個磁盤設備能被使用-a選項自動掛載  
        remount:重新掛載當前系統  
        dev:允許其他磁盤設備  
            ro:掛載為只讀            
        rw:讀寫掛載  
        ower:允許普通用戶掛載  
        sync:同步啟用  
        loop:掛載本地回環設備  
 ========================================================================================== 
65、umount  
    umount:卸載  
    umount 設備  
    umount 掛載點  
        上面兩個都可以,卸載時只要指定一個就可以了  
66、free  
    free:查看系統上的物理內存和交換內存的使用情況,默認字節  
        -m:以M為單位顯示  
        buffers是緩沖 cached是緩存:的目的是重復使用,避免過慢的設備遭 
67、mkswap  
    mkswap:創建交換分區  
    swapon /dev/sd*:啟用交換分區  
        -a:表示啟用/etc/fstab內的所有交換設備  
    swapoff /edv/** :關閉交換分區  
=========================================================================================== 
68、dd  
    dd:轉換和復制文件,復制的是最底層的數據流  
    格式:dd if=數據來源 of=數據存儲目標 bs=#多大為一個單位 count=# 復制 
這樣的數據幾次  
    例如dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=
可以用來備份MBR    
    創建回環文件  
    dd if=/dev/zero of=/var/swapfile bs=1M count=1024這個命令就能 
創造出一個大小為1G的鏡像文件,而這個鏡像文件能夠直接mkswap並且啟動起來都是 
可以的  
    /dev/zero是泡泡設備,能一直向外吐零  
=========================================================================================== 
69、fuser   
    fuser:驗證進行正在使用的文件或套接字  
        -v:查看某文件上正在使用的進程  
        -k:把正在訪問的進程給kill了  
        -km:把掛載點上的進程都關閉掉  
=========================================================================================== 
70、gzip     
 gzip:壓縮,壓縮完成后會刪除源文件  
        -d:解壓  
        -#:1-9個壓縮級別,默認為6  
    gunzip:解壓  
    zcat:不解壓的情況,查看文本GZ文件的內容   
71、bzip2  
    bzip2 /path/to/somefile  
        -d:解壓  
        -K:壓縮后不刪除原文件  
    bzcat:不解壓的情況,查看文本bz2文件的內容   
72、zip  
    zip:壓縮目錄,即歸檔又壓縮的工具  
    壓縮后不刪除原文件  
    unzip:解壓  
73、tar   
    tar:能夠實現歸檔的工具,只歸檔,不壓縮。  
        -c:創建歸檔文件  
        -f file.tar:操作的歸檔文件,所以-f后面必須跟參數,后跟.tar  
        -x:展開歸檔文件,原歸檔文件不刪除  
        --xattrs:表示在歸檔的同時,保留文件的擴展屬性信息  
        -t:不展開歸檔,查看歸檔了哪些文件  
        -zcf:歸檔並調用gzip壓縮  
        -zxf:調用gzip解壓縮並展開歸檔,-z選項可以省略  
        -jcf:調用bzip2並歸檔  
        -jxf:調用bzip2並展開歸檔  
        -Jcf:調用xz  
        -JXF:調用xz 
          tar zxvf libmcrypt-2.5.8.tar.gz
  tar xvf libvpx-v1.3.0.tar.bz2 
------------------------------------------------------------------------------------------- 
74、cpio:制作歸檔或展開歸檔文件 
75、read 
read:shell腳本內可以實現交互式的操作 
read -p “提示”  
-t:時間限制
76、mdadm
mdadm:制作RAID卷的命令
-C:創建RAID
-l:級別
-n:設備數 
-a:自動為其創建設備文件,后跟yes|no 
-c:指定chunk大小,默認64k 
-x:指定空閑盤格式,提供冗余 
-F:監控RAID 
-G:增加RAID 
-A:裝配RAID 
-D:顯示RAID信息 
-S:停止RAID 
mdadm -D --scan > /etc/mdadm.conf,將當前RAID信息保存至配置
文件,一便以后進行裝配 
77、wathc 
      watch:周期性的執行指定命令,並以全屏方式顯示結果
      格式: watch -n # 'COMMAND' 
      -n #:指定周期,單位為妙,默認2秒
78、邏輯卷 LV
pvcreate:創建
pvmove:挪動數據
pvremove:擦除pv卷 
pvdisplay:顯示物理卷 
pvscan:掃描系統上有幾個pv
pvs:查看pv信息
------------------------------------------------------------------
卷組
vgcreate:創建
     -s #:指定pe大小,默認為4m 
vgreduce:刪除vg 
vgmove:移除
vgextend:把一個物理卷加入此卷組
vgs:查看系統上的組卷信息
------------------------------------------------------------------
邏輯卷: 
lvcreate:創建
      -L #:指定大小 
      -n NAME:指定名字
lvreduce:模擬損壞
lvremove:移除lv,后加路徑 
lvextend:擴展
lvdisplay:查看lv相關信息
lvs:查看lv信息
fg:lvcreate -L 50M -n testlv myvg 
-----------------------------------------------------------------------
LVM擴展:先擴展物理卷邊界,再擴展邏輯卷 
lvextend -L [+]# /PATH/TO/LV :擴展物理邊界
resize2fs:擴展邏輯邊界
resize2fs /PATH/TO/LV 5G:擴展邏輯邊界到5G
resize2fs -p /PATH/TO/LV:有多大擴展到多大
mount -a:掛載/etc/fstab文件內的所有設備 

 

-------------------------------------------------------------------------
LVM縮減:先縮減邏輯邊界resize2fs /PV 3G,再縮減物理卷邊界、  
1、不能在線縮減,得先卸載 
2、確保縮減后的空間大小能儲存原來所有文件 
3、在縮減之前應該強行檢查文件,以確保文件系統處於一致性狀態 
e2fsck -f:強行檢查文件 
df -lh:檢查利用率 
umount 
e2fsck -f:強行檢查文件 
resize2fs /PATH/TO/lV  5G:縮減邏輯卷到5G 
lvreduce -L [-]#G /PATH/TO/LV:縮減物理卷邊界 
================================================================
78、lvcreate
lvcreate:創建快照卷 
-s :指定類型為塊照 
-p r|w:表示指定權限 
-n:名字 
-L #:指定大小 
79、ping
ping IP 
-c:次數 
-w:超時時長,單位為秒 
80、awk 
awk:從文件中篩選符合條件的內容 
格式:awk 'PATTERN{ACTION}' file 
-F:指定分隔符 
print $1:顯示第一段 
print $0:顯示一行中的所有字段 
print $NF:顯示最后一行 
awk '空格{print $1,$3}' 第一和第三字段 
awk -F: '{print $1,$2}' 
fdisk -l 2>/dev/null :把錯誤信息輸入到null內不顯示 
===========================================================================================
81、ifconfig 
ifconfig:查看和配置系統的網絡信息 
[ethX]:顯示某個網卡信息 
-a:顯示所有的網卡信息 
ifconfig ethx IP/MASK :配置網卡地址(子網掩碼必須指定) 
ifconfig ethx [up|down]:開啟或者禁用網卡 
配置Ip地址是立即生效,但重啟網絡服務或重啟主機,都失效 
------------------------------------------------------------------------------------------
82、route 
route:查看本機的路由信息 
-n:以數字的方式顯示主機信息 
route add:添加路由 
-host:主機路由 
-net:網絡路由 
格式:route add -net|host DEST gw NEXTHOP 
route add  default gw NEXTHOP 
route del:刪除路由 
-host 
-net 
route del -net 10.0.0.0/8 
route del -net 0.0.0.0 
route del default 
以上所做的改動重啟網絡服務或重啟主機,都失效。 
-------------------------------------------------------------------------------------------
83、ip 
ip:功能比較強大的網絡命令 
ip link:配置網絡接口屬性 
show:顯示所有網絡接口信息 
ip -s link show:查看所有統計信息 
ip link set ethx {up|down|arp {on|off}}:設定網絡接口的工作屬性 
ip addr:協議地址 
show:網絡信息 
ip addr add IP  dev eth1 添加ip,在ifconfig下看不到的,利用
ip addr show 
ip addr add 192.168.0.1/24 dev eth1 
ip addr add IP  dev eth1 label ethx:x 添加ip以后增加別名,
在ifconfig下可以查看到 
ip addr add IP  dev eth1  
ip addr show dev ethx to 前綴:查看ethx 上的以前綴開頭的信息 
ip addr flush eth1 to 10/8 :刪除eth1上所有的以10開頭的ip地址。 
ip route:路由 
ip route change|replace :修改路由信息 
ip route add to 目的網段 dev ethx via IP(下一跳IP)
=========================================================================================
84、shutdown 
shutdown [-akrhHPfnc] [-t secs] time [warning message] 
shutdown:關機的命令 
 -r now:立即重啟 
 -t sec:幾秒之后 
 -h now:立即關機 
85、uname 
 uname -r:查看系統內核版本 
 uname -a:系統版本信息 
86、lftp 
 lftp IP:進入ftp服務器 
 get 下載單個文件到本地 
 mget 下載多個文件到本地 
bye 退出ftp 
===========================================================================================
87、rpm 
rpm:安裝rpm包的工具 
rpm安裝命令 
-i rpm:安裝軟件 
-h:以#顯示安裝進度 
-v:顯示安裝信息 
-vv:顯示更詳細的安裝信息 
-ivh:組合使用,常用命令安裝軟件 
--nodeps:忽略依賴關系 
--replacepkgs:重新安裝、替換原來安裝。 
-ivh --oldpackage:降級安裝 
-ivh --force:強制安裝,可以實現重裝或降級 
--test:測試有沒有依賴關系 
-------------------------------------------------------------------------------------------
rpm查詢命令 
-q rpm:查詢指定包是否安裝 
-qa:經安裝的所有包 
-qi:查詢指定包的說明信息 
-ql:查詢指定包安裝后生成的目錄列表 
-qc:查詢指定包的配置文件 
-qd:查詢指定包的幫助文件 
-q --scripts:查詢指定包內包含的腳本 
-qf:查詢指定的文件是有哪個rpm包安裝 
-------------------------------------------------------------------------------------------
rpm軟件升級命令 
-Uvh:如果裝有老版本的,則升級;否則,則安裝 
-Fvh:如果裝有老版本的,則升級;否則,則退出 
-Uvh --oldpackage:降級 
-------------------------------------------------------------------------------------------
rpm卸載命令 
-e:卸載 
-e --nodeps:忽略依賴關系卸載
-----------------------------------------------------------------------------------------
rpm校驗命令: 
-V:無輸出信息就是正常 
rpm數據庫重建 
rpm --rebuilddb:重建數據庫,一定會重新建立。 
rpm --initdb:初始化數據庫,沒有才建立,有就不用建立。
==========================================================================================
88、yum 
yum:安裝軟件命令,可以自動解決軟件包直接的依賴關系。 
list:顯示yum倉庫內的軟件 
list available:倉庫中有但尚未安裝的包 
list installed:顯示已經安裝的 
list updates :可以的升級 
------------------------------------------------------------------------------------------
yum clean:清楚緩存 
yum clean {packages | headers | metadata | dbcache | all} 
yum repolist:顯示repo列表及簡要信息 
yum repolist {all|enabled|disabled}
--------------------------------------------------------------- 
yum安裝軟件命令 
install:安裝軟件包 
-y install:自動安裝 
install --nogpgcheck:不做校驗 
------------------------------------------------------------------------------------------
yum升級軟件命令 
yum update :升級 
yum   update_to:升級到指定版本、 
-----------------------------------------------------------------------------------------
yum卸載軟件命令 
yum remove|erase PACKAGE_NAME
yum info PACEAGE_NAME:查看軟件包信息 
------------------------------------------------------------------------------------------
yum 開發組安裝命令 
groupinstall 組名:安裝組中包含的包  
groupinfo 組名:顯示組包含包信息(如果組名中間有空格,使用”“ 
grouplist 列出組     
groupupdate 
-------------------------------------------------------------------------------------------
yum 安裝本地RPM包命令 
yum localinstall rpmfile1 :安裝本地包並從yum庫內解決依賴關系 
yum --nogpgcheck localinstall rpmfile1:不校驗安裝 
===================================================
89、源碼程序安裝命令
tar xf ....:解壓源碼包 
./configure;配置 
make:編譯 
make install:安裝

 
        

90、netstat 
netstat:查看系統信息 
  -r:顯示路由信息 
  -rn:以數字的方式顯示 
  -t:顯示tcp鏈接 
  -u:顯示udp鏈接 
  -l:顯示端口監聽狀態 
  -p:顯示監聽指定套接字的進行的進程號及進程名 
  -tunlp:常用組合,數字顯示tcp、udp的鏈接情況

91、ps 
ps:查看進程信息 
 BSD風格常用選項: 
  a:顯示所有與終端有關的進程 ?:表示與終端無關 
  x:顯示所有與終端無關的進程 
  u:顯示進行信息 
  aux:組合使用 
SysV風格常用選項: 
  -elF:查看所有進行信息(e:所有進程) 
  -elf:沒F詳細 
  -o PROPERTY:指定屬性顯示

ps -aux | grep bmgctl
ps aux | grep bmgctl
ps -ef | grep bmgctl    (推薦使用)


--------------------------------------------------------------------------------------------
92、pstree 
pstree:以樹的形式顯示ps信息。

93、pgrep:以grep的風格查看符合某種特性的進程 


94、top 
top:動態顯示進程信息 
支持交互,交互命令 
  M:根據駐留內存大小進行排序 
  P:根據CPU使用百分比進行排序 
  T:根據累計時間進行排序 
  l:是否顯示平均負載和啟動時間 
  t:是否顯示進行和CPU狀態相關信息 
  m:是否顯示內存相關信息 
  c:是否顯示完整的命令行信息 
  q:退出top 
  k:終止某個進程 
常用選項: 
  -d 1 :幾秒刷新一次 
  -b:批模式顯示   
  -n #:在批模式下,共顯示多少批 

95、前台和后台作業 
前台作業:占據了命令提示符 
 后台作業:啟動之后,釋放了命令提示符,后續的操作在后台完成 
 前台-->后台: 
 ctrl+z鍵:正在前台的作業送到后台 
 bg:讓后台停止的作業繼續運行 
 bg [%JOBID]:%可以省 
 fg:將前台的作業送到后台 
 fg [%JOBID]:%可以省 

96、jobs 
jobs:查看后天的所有作業

97、chkconfig 
 chkconfig:查看服務啟動項 
 --list:查看所有獨立服務的啟動設定 
 --list SERVICE_NAME:某個服務的啟動設定 
 chkconfig --add SERVICE_NAME(腳本名稱):增加S鏈接和K鏈接 
 chkconfig --del SERVICE_NAME(腳本名稱):刪除S鏈接和K鏈接 
 chkconfig --level 24 服務名 off|on:指定在級別24內為on或off。 

98、mktemp
mktemp:創建臨時文件 
 mktemp /tmp/file.XX(XX代表系統自動生成的文件)生成臨時文件 
 mktemp -d /tmp/file.xx :生成臨時目錄 


99、kill 
kill -SIGNAL PID 
常用SIGNAL:1:hup 2:INT 9:KILL 15:TERM ctrl+c:是信號2,結束 


100、trap命令:可以實現捕捉信號
trap ‘COMMAND’ 信號列表 
fg:trap 'echo "you cannot kill me"' INT 


101、at 
at:指定在未來的某個時間點執行一次某任務 
時間格式     
絕對時間:HH:MM DD::MM:YY MM/DD/YY 
相對時間:now+#(minutes,hours,days,weeks) 
模糊時間:noon,midnight,teatime 
at -l:顯示自己的作業列表 
 at -d 作業號:刪除作業 


102、batch 
batch:和at用法相似,只是執行是在系統空閑的時候執行計划任務。 


103、cron 
cron:不間斷允許的服務 
系統cron定義格式: 
分鍾 小時 天 月 周 用戶 任務 
用戶cron任務定義格式 
定義文件/var/spool/cron/USERNAME 
格式:分鍾 小時 天 月 周  任務 


104、ssh 
ssh:遠程連接命令 
ssh 172.....:直接以當前客戶端上登陸的用戶登陸遠程主機 
ssh USERNAME@172....:以某個用戶登陸 
ssh -l USERNAME 172....:以某個用戶登陸 
ssh USERNAME@HOST`COMMAND`:以某個用戶不登陸遠程主機執行COMMAND命令

105、scp 
scp:遠程復制文件的命令 
scp SRC DEST:復制文件(與cp命令用法相似) 
 -r 
 -a                      
fg: scp USERNAME@HOST:/PATH/TO/SOMEFILE /path/to/local 
scp /path/to/local USERNAME@HOST:/PATH/TO/SOMEFILE 


106、dig 
dig:主要用來從 DNS 域名服務器查詢主機地址信息
-t NS . :獲取DNS根域信息 
-t NS chris.com @IP:直接去某個IP查找DNS服務器。 
-t A  chris.com:查看域的A記錄 
-t CNAME:查看別名記錄 
-X IP:根據IP查找主機名,反向解析信息 


107、nslookup 
nslookup:交互式的查看主機域名信息,使用與linux和windows上。

108、screen 
screen:模擬多個窗口,窗口關閉后還可以調出來,常用於需要執行很長時間的時候,
如內核編譯 
screen -ls:顯示已經建立的屏幕 
screen:打開一個新的屏幕 
exit:退出當前屏幕 
screen -r ID:返回某個屏幕

 

轉載鏈接:http://www.cnblogs.com/doseoer/p/6241486.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM