LINUX經常使用命令詳解

muxinqing發表於2014-06-19

1.man 對你熟悉或不熟悉的命令提供幫助解釋
eg:man ls 就能檢視ls相關的用法
注:按q鍵或ctrl+c退出,在linux下能使用ctrl+c終止當前程式執行
1. 檔案管理命令
●名稱:ls
功能:列出當前目錄下的檔案和目錄
    ls(list)是個最常用的命令,用於顯示當前目錄下的檔案和子目錄。
第一、顯示當前目錄的內容
    [root@yanghsia root]#Is                        (# 顯示當前目錄下的內容)
    install.log    install.log.syslog
    Linux約定以以“.”開頭的檔案為隱含檔案,要顯示這樣的檔案能使用ls命令的“-a”引數。
    [root@yanghsia root]#Is-a                     (# 顯示所有內容,包括隱含檔案)
    .    .bash_logout    .bashrc    .gconfd    intall.log               .tcshrc
    ..   .bash_profile   .cshrc     .gtkrc     install.log.syslog       .Xresources
Linux的每一個目錄中都包含“.”和“..”兩個特別目錄,分別代表當前目錄和上級目錄。“ /”表示系統的根;而“~”則為使用者的主目錄(home)。使用者主目錄是使用者登入後所處的目錄,例如使用者root的主目錄為
/root,而普通使用者yanghsia的主目錄則為/home/yanghsia。
第二、顯示檔案的周詳資訊(#ls –l)
    [root@yanghsia root]#ls-l                 (# 以長格式列出當前目錄下所有內容)
    total 28
    -rw-r--r--  1    root    root    24477    4月    2    20:35       install.log
    -rw-r--r--  1    root    root    4096     4月    2    20:20       install.log.syslog
輸出資訊中各個部分的含義如表1所示。
表1  長格式顯示的檔案屬性
第一項      第二項   第三項   第四項  第五項   第六項   第六項
操作許可權   連結數目  所有者   使用者組   大小   建立時間   名稱
    用ls命令顯示的檔案操作許可權有10個小格,最前面的那個小格是個特別標記,用來區分目錄和連結,其中d表示目錄(如drwx--x--x),l代表連結(如lrwx--x--x),如果是“-”,則表明他只是個普通檔案。其餘的格於以三個為一組,其中第一組代表檔案所有者的許可權,第二組代表組使用者的許可權,第三組代表其他使用者的許可權,每個組中的三個小格依次分別代表讀許可權(r)、寫許可權(W)和可執行許可權(x),如果是“-”,則代表不具有相應的許可權。例如,-rwxrw-r--(用數字能表示為764),表明該檔案的所有者擁有對該檔案的全部許可權,組使用者擁有讀和寫許可權,而其他使用者則只有讀許可權。
    由於Linux是個多使用者、多工作業系統,同一檔案可能同時被非常多人使用,因此。一定要為檔案設定好相應的許可權,這樣才能保護好重要資料。

名稱:cd
功能:轉換目錄
    cd(change directory)命令能改動使用者當前所在的目錄。
    [root@yanghsia yanghsia]#cd  /home/            (# 轉換到/home/目錄)
    [root@yanghsia home]#cd  yanghsia/             (# 轉換到當前目錄下yanghsia子目錄中)
    [root@yanghsia yanghsia]#cd ..                  (# 轉換到上一級目錄)
    [root@yanghsia yanghsia]#cd~                  (# 轉換到使用者主目錄:home)

名稱:pwd
功能:顯示當前工作目錄
    由於Linux的樹狀目錄結構非常龐大,使用者經常會忘記當前所處的目錄。命令提示符一般又只顯示最後一級的目錄名稱,這時pwd能幫上你的大忙。
    [root@yanghsia root]#pwd                       (# 顯示當前所在的工作目錄)
    /root

名稱:mkdir
功能:建立目錄
    mkdir(make directory)命令能用來建立目錄。
    [root@yanghsia root]#mkdir  student            (# 建立student子目錄)
  
名稱:rmdir
功能:刪除目錄
    rmdir(remove directoy)命令能用來刪除目錄,但需求該目錄中不包含所有檔案或子目錄。
    [root@yanghsia root]#rmdir  student            (# 刪除student子目錄)

●名稱:cp
功能:複製檔案
    cp(copy)命令用於將檔案從一個地方複製到另一個地方,在進行檔案複製時,需要指定要複製的源位置和目標位置。
第一、複製檔案
    [root@yanghsia root]#cp source.txt dest.txt    (# 將source.txt複製成dest.txt)
    [root@yanghsia root]#cp source.txt /tmp/       (# 將source.txt複製到/tmp/目錄中)
第二、覆蓋檔案前詢問
    如果在要複製的目標位置上已存在了相同名稱的檔案,若用強行復制將會覆蓋該檔案,這時能用“-i”引數來詢問使用者是否確實需要覆蓋該檔案。
    [root@yanghsia root]#cp –i source.txt dest.txt (# 將source.txt複製成dest.txt)
    cp:overwrite dest.txt ?                       (# dest.txt已存在,詢問使用者是否覆蓋該檔案,按Y鍵覆蓋,技N鍵不覆蓋)。
第三、強制複製
    如果在要複製的目標位置上已存在了相同名稱的檔案,用“-f”引數能強制覆蓋該檔案。
    [root@yanghsia root]#cp -f source.txt dest.txt (# 強制複製檔案source.txt成dest.txt)
第四、遞迴複製
    cp命令不僅能用來複制檔案,也能用來複制目錄,由於目錄中可能包含子目錄,因而需要用到“-R”引數來進行遞迴複製。
    [root@yanghsia root]#cp -R /home/yanghsia/ /imp/(# 將目錄/home/yanghsia/複製到/imp/目錄下)。
   
名稱:rm
功能:刪除檔案
   
    rm(remove)命令能用來刪除檔案。
第一、刪除檔案
    [root@yanghsia root]#rm student.txt             (# 刪除檔案student.txt)
    [root@yanghsia root]#rm *                       (# 刪除當前目錄下的所有檔案)
第二、強制刪除檔案
    在刪除檔案時,有時Linux會詢問你是否確實需要刪除這些檔案,其目的是避免誤操作。如果確信要刪除這些檔案,能用“-f”引數來強制刪除這些檔案,此時Linux將不會再作提示。
    [root@yanghsia root]#rm -f *.bak                (# 強制刪除當前目錄下所有字尾為.bak的
檔案)。
第三、刪除檔案前詢問
    如果不是非常確定,刪除檔案時最佳帶上“-i”引數,Linux會詢問你是否確實執行刪除操作,這樣做的好處是能避免誤操作。Linux命令列方式下可沒有像視窗系統那樣的“回收站”,刪除操作是不可恢復的,檔案一旦被刪除,就可能永遠無法找回他了,所以一定要認真對待。刪除檔案時習慣性的加上“-i”引數,說不定在某個時候就會幫上你的大忙。
    [root@yanghsia root]#rm *.txt                   (# 刪除所有字尾為.txt的檔案)
    rm:remove regular empty file ’student.txt’?    (# 詢問是否刪除檔案,按Y鍵刪除,按N鍵
不刪除)。
第四、遞迴刪除
    除刪除檔案外,rm命令還能用來刪除目錄,他不像rmdir那樣需求被刪除的目錄是空的。由於目錄下可能會包含子目錄,因此需要用“-r”引數進行遞迴刪除。
    [root@yanghsia root]#rm-r /tmp/yanghsia/        (# 刪除/tmp/yanghsia/目錄)
名稱:mv
功能:移動檔案或目錄
   
    mv(move)命令能將檔案或目錄或移動到另一個位置,或更改檔案或目錄的名稱。
    [root@yanghsia root]#mv student.txt /imp/        (# 將student.txt移到/imp/目錄)
    [root@yanghsia root]#mv student.txt teacher.txt  (# 將student.txt更名為teacher.txt)
  
2. 檔案查詢命令
   
名稱:whereis
功能:定位檔案所在的目錄
   
    使用whereis命令能定位常用命令的位置:
    [root@yanghsia root]#whereis ls                  (# 定位ls命令的位置)
?  ls:/bin/ls                                      (# ls位於/usr/bln目錄下)
   whereis命令不是透過查詢磁碟上的所有檔案來實現定位的,你能隨便指定一個可執行檔案,估計whereis會未找到,這是因為whereis是根據環境變數PATH來查詢檔案的,而PATH通常設定成存放命令的那些路徑,如 /bin、/usr/bin等,因此whereis的用途僅限於定位shell命令所在的位置。
     
●名稱:find
功能:查詢檔案
    
    find命令能用來從指定的目錄開始查詢檔案,他的速度雖比不上whereis命令,但沒有所有限制,而且功能要比whereis命令強。
?  [root@yanghsia root]#find -name student.txt
?  /tmp/student.txt                                (# 查詢結果)
●名稱:locate
功能:查詢檔案或目錄
   
    除find命令外,locate也是在系統中查詢檔案的常用方法。
    [root@yanghsia root]#locate student.txt           (# 查詢student.txt檔案)
    用locate命令查詢的檔案和find相同沒有所有限制,但執行速度卻比find要快不少,其主要原因在於,locate不是從磁碟中實時查詢檔案,而是到由updatedb命令產生的資訊庫中查詢相應的檔案和目錄,這樣一來速度當然了。
    [root@yanghsia root]#updatedb
    如果locate未找到某個檔案,而你又確信該檔案肯定存在,那一定是updatedb生成的資訊庫已過時了。此時你要做的就是以root身份登入,然後執行updatedb命令,重新建立整個系統所有檔案和目錄的資料庫,雖然這個過程可能會浪費一點時間,但以後再查詢檔案時就方便多了。
  
3. 磁碟管理命令
   
名稱:df
功能:顯示檔案系統的當前佔用情況
   
    df(disk filesystem)能用來獲得檔案系統當前佔用的磁碟空間大小,及剩餘的可用空間的大小。
?  []$df                                            (# 查詢檔案系統當前佔用的磁碟空間大小)
    filesystem     1K-blocks     Used    available    Use%    Mounted on
    /dev/hda2      13203660      1869264 10663684     15%     /
    none           30768         0       30768        0%      /dev/shm
    在df命令的輸出結果中,Filesystem列顯示各個檔案系統對應的硬碟分割槽名稱,1K-blocks列為每個分割槽佔用的磁碟空間大小(單位是1KB),Used列是已使用的磁碟空間的大小,Available列是目前剩餘的可用磁碟空間的大小,Use%列是各個分割槽磁碟空間的使用率,最後一列Mounted on則代表分割槽在整個Linux檔案系統中的載入位置。
      [root@yanghsia root]#df                              (# 檢視磁碟使用情況)
名稱:du
功能:顯示檔案或目錄佔用的磁碟空間大小
    du(disk usage)命令用來統計檔案或目錄佔用的磁碟空間大小。
?  [root@yanghsia root]#du -sm /bin/                (# 查詢/bin/目錄佔用的磁碟空間大小)
    7    /bin
    du命令的輸出結果顯示/bin/目錄共佔據7MB磁碟空間,如果不加“-s”引數則能顯示此目錄下每個檔案的大小。
●名稱:mount
功能:載入儲存裝置
    如果你是個資深的視窗系統使用者,肯定已習慣將光碟或軟盤插入驅動器中後,就能透過相應的磁碟(如 A:)來訪問這些儲存裝置上的資料了。但遺憾的是,在Linux中使用光碟和軟盤就沒有這麼簡單了。Linux採用的方式是,必須先將這些裝置對映到系統中的某個目錄之後,才能存取上面的資料。
    將軟盤和光碟對映到檔案系統指定目錄的過程稱為載入(mount),他是Linux中非常重要的一個概念。其實,載入就是將某個儲存介質(如軟盤或光碟)和檔案系統中的某個目錄(如/mnt/floppy/或/mnt/cdrom/)建立起聯絡,此後凡是對該目錄的操作,實際上就是讀寫此儲存介質上相應的資料。
    如果想在Linux中使用軟盤,首先將軟盤插入軟盤驅動器中,然後執行mount命令,將軟盤載入到檔案系統中:
    [root@yanghsia root]#mount /dev/fd0 /mnt/floppy/  (# 將軟盤載入至檔案系統的/mnt/floppy/目錄)
    同理,光碟的使用方法也是先載入後使用:
    [root@yanghsia root]#mount /dev/cdrom /mnt/cdrom/  (# 將光碟載入到檔案系統的/mnt/cdrom/目錄)
   
名稱:umount
功能:解除安裝儲存裝置
    對初學者來說,在Linux命令列方式下使用軟盤和光碟的確要比視窗系統麻煩許多,不僅需要在使用前先載入他們,使用完畢後還必須先解除安裝他們,然後才能將軟盤或光碟從驅動器中取出。特別是對光碟來說,如果不先將其解除安裝,那無論怎麼按光碟機上的退出按鈕,都無法於開啟光碟機的門,更別說取出光碟了,此時不要以為是自己的光碟機出問題。
    當軟盤載入後不再需要使用時,必須先執行umount命令,然後才能取出軟盤。
    [root@yanghsia root]#umount /mnt/floppy/         (# 將軟盤解除安裝,不再和目錄/mnt/floppy/相關聯)。
    光碟的解除安裝和軟盤類似。
    [root@yanghsia root]#umount /mnt/cdrom/         (# 將光碟解除安裝,不再和目錄/mnt/cdrom/相關聯)
    若當前正處於光碟載入的目錄(即/mnt/cdroml/),或有其他使用者正在使用該光碟,則無法成功地完成解除安裝。例如,在解除安裝儲存裝置時,Linux提示“device is busy”的錯誤資訊,則需用cd命令將工作目錄轉換到其他目錄,並需求其他使用者退出此目錄,然後才能解除安裝光碟。
    如果是在Red Hat Linux 9的桌面環境使用光碟機,那就不會有這些麻煩了。只要把光碟放進光碟機,系統將自動在桌面上出現一個光碟圖示,只要雙擊他開啟,就能像在視窗系統 98/2000/XP下相同來檢視光碟內容了。
4. 檔案處理命令
   
名稱:cat
功能:顯示檔案內容
 
    cat(concatenate)命令能用來顯示檔案的內容。
    [root@yanghsia root]#cat ~/.bashrc               (# 顯示使用者主目錄下隱藏檔案bashrc的內容)
    Cat命令還能用來將已有的多個檔案合併成一個檔案。
    [root@yanghsia root]#cat 1.txt 2.txt > 0.txt      (# 連線多個文字檔案)
    Linux系統中一個非常有趣的概念就是I/O重定向,能用輸出重定向符“>”將輸出內容寫入到一個指定的檔案中。通常命令的執行結果都顯示在螢幕上,但如果你想將結果記錄到一個檔案中,就能利用該輸出重定向的功能了。
   
●名稱:more
功能:分頁顯示檔案內容
   
    當檔案內容過長以至於整個螢幕都顯示不下時,用cat命令只能看到最後幾行,這時more命令可就大有處了,他能一頁一頁地檢視內容冗長的檔案內容。
    [root@yanghsia root]#more /etc/passwd             (# 分頁顯示/etc/passwd檔案的內容)
    當檔案內容超過一屏以至於顯示不下時,more命令將暫停顯示檔案中的其他內容,同時在螢幕的底部左側顯示“--more--”,提示更有未顯示完的內容,此時能按空格鍵來顯示下一屏內容,也能按Q鍵結束顯示。
●名稱:less
功能:分頁顯示檔案內容
   
    less命令的作用和more類似,都是用來瀏覽內容較多的檔案,唯一的不同在於less命令除了能按空格鍵顯示檔案內容外,還能利用上、下鍵來上下翻動顯示內容。而more只能向下顯示檔案內容,不能再回頭去檢視已出現過的內容。
    當檔案內容超過一屏時,less將暫停顯示檔案中的其他內容,同時在螢幕底部顯示提示符“:”,此時能用上、下鍵來瀏覽檔案內容,也能用空格鍵繼續顯示檔案中的其他內容,或按Q鍵退出。
●名稱:grep
功能:查詢字串 (從檔案中匹配合適的字串)
    grep命令能在一個或多個檔案中查詢某個指定的字串,如果找到則顯示檔案中包含該字串的每一行。
?  [root@yanghsia root]#grep xxxy /etc/passwd           (# 從檔案/etc/passwd中查詢字串xxxy)
    xxxy:x:500:500:Xxxy Swau:/home/xxxy:/bin/bash       (# 查詢結果)
    grep還能和其他命令搭配起來使用。例如,用ps命令能列出系統中當前正在執行的所有程式資訊,但如果只對名為mount的程式感興趣,就能用grep命令將其“過濾”出來。
    [root@yanghsia root]#ps -aux | grep mount
    “管道”是Linux中另一個非常特別的概念,用符號“|”表示,其功能是將某個程式的輸出作為另一個程式的輸入。在上面的例子中,ps命令執行完畢後所有的輸出都將被作為輸入傳遞給grep命令。
    匹配字串在行首的b開頭的檔案或檔名並ls列出:
[root@yanghsia root]#ls | grep ^b     或
[root@yanghsia root]#ls | grep ‘^b’    或
[root@yanghsia root]#ls | grep ‘\ 匹配字串在行尾的t開頭的檔案或檔名並ls列出:
[root@yanghsia root]#ls | grep t$     或
[root@yanghsia root]#ls | grep ‘t$’    或
[root@yanghsia root]#ls | grep ‘t\>’

●名稱:vi
功能:編輯文字
   
    不管你使用的是哪種作業系統,總要使用文字編輯器編輯檔案,在Win下能使用記事本或UltraEdit,那麼在Linux下呢?一般有兩種選擇:emacs和vi,其中vi是所有和UNIX類似的系統都會提供的一個標準文字編輯器。對於初學者來說,emacs和vi掌控起來都不太容易,因為兩者的功能都非常強大,而且操作方式和自己以前已習慣的文字編輯器截然不同。但相對而言,vi還是更容易上手一些。
    在命令提示符後輸入vi及要編輯的檔名後,就能進入vi全屏編輯介面。
    [root@yanghsia root]#vi student.txt                 (# 編輯檔案student.txt)
    試著輸入字串“why”,沒有反應是吧?這是你還沒有了解他的“脾氣”。
    和你以前使用的普通文字編輯器不同,vi有三種操作狀態,分別是命令模式(command mode)、輸入模式(input mode)和末行模式(last line mode),理解vi的這三種模式是非常重要的。輸入模式的主要功能是文字錄入,這和常用的文字編輯器是一致的;命令模式的主要功能是移動滑鼠和編輯文字;末行模式的主要功能是查詢、替換、儲存及退出。
    vi啟動後預設進入命令模式。
    在命令模式下輸入i、a、o都能進入輸入模式。由命令模式轉換到輸入模式的三種方法是有細微差別的:按i鍵將從當前游標所在位置開始輸入,按a鍵將從當前游標所在位置的下一個字元開始輸入,按o鍵將新增一個新行,同時游標移到該行的第一個字元處開始輸入。回到命令模式則按Esc鍵。
    在命令模式下輸入“:”能進入末行模式。命令錯誤或按Esc鍵將回到命令模式。鍵入pi、q、wq將退出vi回到提示符下。
   在命令模式下輸入dd可以刪除當前行的內容;輸入10d刪除游標所在行的10行內容。
   例如:
$vi testfile(建立testfile檔案並進入編輯視窗)
   :w filename(輸入“w filename”,將文章存入指定的檔名filename)
   :wq(輸入“wq”,因為進入之時已經指定檔名testfile,所以會寫入testfile並離開vi)
   :q!(輸入“q!”,強制離開並放棄編輯的檔案)
如果沒有指定檔案,則可以用:wq filename儲存並直接退出編輯介面。
●5. 程式管理命令

名稱:ps
功能:檢視程式
   
    Linux一個非常突出的好處就是能同時高效地執行多個任務,為了更好地協調這些任務,Linux提出了程式的概念。什麼是程式呢?簡單地說就是系統中正在執行的各種工作,例如,在用文字編輯器修改一個檔案時,在Linux看來就是有一個程式正在執行。退出編輯器後,相應的程式也就結柬了。
    如果你對系統中正在執行的程式感興趣,能使用ps(process status)命令檢視。
    [root@yanghsia root]#ps aux                        (# 列出系統中當前所有的程式)
    ......
    xxxy  1234  1.0  2.2  4560  1392  pts/0  S  14:18  0:00  -bash
    root  1265  0.1  1.6  4092  1008  pts/0  S  14:18  0:00  su-
    root  1266  1.6  2.2  4568  1412  pts/0  S  14:19  0:00  -bash
    root  1308  0.0  1.1  2700   732  pts/0  R  14:20  0:00  ps -aux
    看到系統中當前所有正在執行的程式了吧。實際上ps就類似於視窗系統下的工作管理員。瞭解系統中正在執行的程式是管理員的一項必備基本功,如果你對系統的當前狀態一點也不清晰,估計在同駭客周旋時要吃大虧的。
   $ps -ef | more   (分頁顯示所有程式)
-e顯示所有程式 –f全格式

名稱:kill
功能:結束程式
   
    就像在視窗系統中能用工作管理員結束某個任務相同,在Linux中也同樣能在需要時結束當前正在執行的一些程式,方法是使用kill命令。
    [root@yanghsia root]#kill -9 1308                    (# 結束程式識別符號為1308的程式)
    在使用kill命令時,必須告訴系統究竟想要結束哪個程式。所有的程式在Linux中都有一個編號,稱為程式識別符號(PID),在用ps命令檢視程式時,輸出資訊中的第二個欄位就是PID。
    如果某個程式使用了kill命令仍不能結束他,試試用“-9”引數。

kill 使用說明:
1. kill [ -s signal | -p ] [ -a ] pid ...  
2. kill -l [ signal ] 
-s (signal) : 其中可用的訊號有 HUP (1), KILL (9), TERM (15), 分別代表著重跑, 砍掉, 結束; 詳細的訊號可以用 kill -l
-p : 印出 pid , 並不送出訊號
-l (signal) : 列出所有可用的訊號名稱
示例:
將 pid 為 323 的行程砍掉 (kill) :
1. kill -9 323 
將 pid 為 456 的行程重跑 (restart) :
1. kill -HUP 456

名稱:killall
功能:結束所有程式
    如果不知道PID但知道程式名稱,能使用killall命令殺死指定名稱的程式。例如,在用mount命令載入軟盤時產生了硬體錯誤,mount命令不斷地去讀寫磁碟,這時如果想結束該程式而又不知道其程式識別符號,就能用下面的方法。
    [root@yanghsia root]#killall -9 mount                 (# 結束名稱為mount的程式)
    如果系統中名稱相同的程式有多個時(比如同時有多個使用者在執行mount命令進行載入),該怎樣區分他們呢?
    以root身份執行killall,他會結束系統中每個使用者正在執行的同名程式,而如果是普通使用者,就只會影響屬於自己的程式,不會影響系統中的其他使用者。
   
名稱:top
功能:監視程式狀態
    對一個稱職的系統管理員來說,所有時候都能監視系統效能和程式狀態是非常重要的,在視窗系統中能使用工作管理員,而在Linux中則能使用top命令。
    [root@yanghsia root]#top                              (# 監視系統狀態)
●6. 軟體包管理命令
 
名稱:rpm
功能:RPM軟體包的管理
    RPM的全名是Red Hat Package Manager(Red Hat軟體包管理工具),由Red Hat公司研發的一個軟體包管理系統。雖然RPM這一檔案格式已打上了Red Hat的烙印,但其設計理念卻是開放的,並且目前已成為公認的行業標準了。
    使用RPM能非常輕鬆地實現軟體的安裝、查詢和解除安裝,你甚至會發現他比在視窗系統中安裝軟體還要簡單。
Red Hat公司一直鼓勵Linux軟體研發商以RPM方式來發布他們的軟體,標準的RPM軟體包都以 xxx-v-m.p.rpm命名,如tree-1.2-20.i386.rpm,他包含了軟體包的名稱(tree),主版本號(1.2),次版本號(20)及適用的硬體平臺(i386),但並非所有的RPM軟體包都按照這樣的格式來命名。
    目前RPM除了在Red Hat Linux中得到了廣泛應用外,其實還能在許多其他的Linux和Unix系統上執行。
    第一、軟體安裝
    在用RPM安裝軟體包時,軟體包內所有的檔案都將自動被複制到Linux系統中的正確位置上,無需你親自動手。
    [root@yanghsia RPMS]#rpm -ivh tree-1.2-20.i386.rpm    (# 安裝軟體包)
    第二、解除安裝軟體
    要解除安裝已安裝的RPM軟體包也非常簡單,使用“-e”引數就能了。
    [root@yanghsia root]#rpm -e tree-1.2-20.i386.rpm      (# 解除安裝軟體包)
    在解除安裝軟體包時,只要給出軟體包的名稱(如“tree”或“tree-1.2”)就能了,而不必象當初安裝軟體包時要用完整的檔名。
    第三、升級軟體
    Linux下軟體升級的速度比視窗系統下的軟體快多了,RPM將軟體的升級變得空非常簡單。
    [root@yanghsia RPMS]#rpm -Uvh tree-1.2-20.i386.rpm    (# 升級軟體包)
    在升級軟體包時,RPM將首先刪除系統中已有的舊版本,然後再安裝新版本。其實不管以前是否原來安裝過該軟體,都能用“rpm-Uvh”來進行安裝。
    第四、查詢軟體
    如果對某個軟體包的相關資訊感興趣,能使用RPM的查詢功能。例如,在使用gcc編譯源程式時,可能關心他當前的版本號,透過執行命令:
    [root@yanghsia root]#rpm -q gcc                       (# 查詢gcc軟體包)
    gcc-3.2-7                                             (# 查詢結果)
    螢幕上將顯示查詢到的軟體包的名稱和版本號。
    如果還不滿足,想知道tree軟體包中究竟包含哪些檔案,RPM依然能夠非常輕鬆地實現。
    [root@yanghsia root]#rpm -ql tree                     (# 查詢tree軟體包中的檔案)
    能夠知道系統中安裝的所有軟體包嗎?當然沒問題,對RPM來講簡直就是舉手之勞。
    [root@yanghsia root]#rpm -qa                          (# 查詢系統中安裝的所有軟體包)
   
●名稱:tar
功能:打包檔案_
    tar命令能將指定的檔案和目錄打包成一個檔案,這是個在Unix系統中非常早就被廣泛使用的一個檔案備份工具。在沒有光碟和燒錄機的年代,系統管理員通常都將資料備份到磁帶機上,由於磁帶只能順序讀寫,備份多個目錄和檔案是相當麻煩的,這時tar命令可就幫上大忙了。
    第一、打包和解包
    tar命令最常用的功能是打包和解包。
    [root@yanghsia root]#tar cvf backup.tar            (# 將當前目錄下所有檔案打包為backup.tar)
    需要時能用下面的命令將其解包:
    [root@yanghsia root]#tar xvf backup.tar            (# 將backup.tar檔案解包)
    第二、壓縮和解壓
    tar命令能將一個目錄下的所有檔案打包成一個檔案,但並不進行壓縮,也就是說,打包後的檔案所佔用的磁碟空間等於該目錄下所有檔案所佔磁碟空間的總和。如果磁碟空間不足或為了便於傳輸時,能在打包檔案時為tar命令指定相應的引數,告訴tar使用相應的壓縮工具進行壓縮。例如,執行命令:
    [root@yanghsia root]#tar czvf backup.tar.gz /tmp/(# 將整個/tmp/打包並且壓縮為backup.tar.gz)
    要解包經過壓縮的檔案,能使用下面的命令:
    [root@yanghsia root]#tar xzvf backup.tar.gz        (# 解包經過壓縮的backup.tar.gz檔案)
    tar本身並不具有壓縮和解壓縮的功能,透過為其加上引數“-z”,tar會使用gzip命令來對打包後的檔案進行壓縮和解壓縮。習慣上將壓縮後的打包檔案命名為xxx.tar.gz或xxx.tgz。
   
●7. 壓縮及解壓縮命令
   
名稱:gzip
功能:壓縮檔案
    gzip是Linux中最常用的壓縮工具,使用他能得到非常高的壓縮率,這也就是為什麼從FTP網站下載的檔案大多都是採用gzip壓縮的原因。雖然處理時間會比較長,但經gzip壓縮後的檔案大小將小非常多。下面的命令用來對檔案進行壓縮:
    [root@yanghsia root]#gzip data.txt                 (# 壓縮檔案data.txt)
    gzip只能用來對單個檔案進行壓縮,通常不能用來處理目錄,如果要將整個目錄壓縮成一個檔案,能將
gzip和tar結合起來使用:先用tar命令將其打包成一個檔案,然後再用gzip對打包後的檔案進行壓縮。
 
名稱:gunzip
功能:解壓縮檔案
    用gzip壓縮後的檔案能用gunzip進行解壓縮,但gunzip的功能並不僅限於此,還能用來解壓縮副檔名為gz、tgz、z和Z的檔案。
    [root@yanghsia root]#gunzip data.txt.tgz           (# 解壓縮data.txt.tgz檔案)
 
名稱:bzip2
功能:壓縮檔案
 
    bzip2也是Linux下的一個常用檔案壓縮命令,Linux核心原始碼在釋出時就是採用bzip2進行壓縮的。用bzip2能將一個檔案壓縮成.bz2格式。
    [root@yanghsia root]#bzip2 data.txt                (# 壓縮檔案data.txt)
   
名稱:bunzip2
功能:解壓縮檔案
   
    用bzip2壓縮後的檔案能用bunzip2進行解壓。
    [root@yanghsia root]#bunzip2 data.txt.bz2           (# 解壓縮檔案data.txt.bz2)
    目前經常會在網上碰到名為*tar.bz2的檔案,這些檔案都是用tar打包並用bzip2進行壓縮後的結果,在解壓縮這類檔案時能用下面的命令:
    [root@yanghsia root]#bunzip2 -c backup.tar.bz2 | tar xvf

其他命令:
   
建立使用者
useradd username 回車
passwd username 回車輸入密碼確認密碼

刪除使用者
userdel username 回車

切換使用者
su username 回車

列出資料夾下包含cron的檔案
[root@yanghsia root]#ls *cron*
或者[root@yanghsia root]#find -name “*cron*”

修改使用者密碼
[root@yanghsia root]#passwd

將螢幕顯示的內容記錄於文字中
點接收ASCII,如下圖所示。

選擇路徑即可。

Linux切換圖形化介面到命令列模式:
正常情況下在物理機器上 Ctrl+alt +F5
在虛擬機器裡vm上 同時按下Ctrl+alt 之後 按下空格鍵 再按 F1 或者 F5
Linux從命令列切換到圖形化介面
正常情況下在物理機器上 Ctrl+alt +F7
在虛擬機器裡vm上 同時按下Ctrl+alt 之後 按下空格鍵 再按 F7
linux開機命令列啟動
以管理員許可權編輯/etc/inittab

id:5:initdefault:
改為
id:3:initdefault:
就行了。
Linux開機進入命令列後切換至圖形化介面
[root@yanghsia root]#startx
顯示埠狀態
#netstat –natp
-a或--all   顯示所有連線中的Socket。
-n或--numeric   直接使用IP地址,而不透過域名伺服器。
-p或--programs   顯示正在使用Socket的程式識別碼和程式名稱。
-t或--tcp   顯示TCP傳輸協議的連線狀況。
Linux 修改系統時間
#date顯示當前時間 Fri Aug  3 14:15:16 CST 2007
我們一般使用“date -s”命令來修改系統時間。比如將系統時間設定成1996年6月10日的命令如下。 #date -s 06/10/96 將系統時間設定成下午1點12分0秒的命令如下。#date -s 13:12:00  
---- 注意,這裡說的是系統時間,是linux由作業系統維護的。
---- 在系統啟動時,Linux作業系統將時間從CMOS中讀到系統時間變數中,以後修改時間透過修改系統時間實現。為了保持系統時間與CMOS時間的一致性,Linux每隔一段時間會將系統時間寫入CMOS。由於該同步是每隔一段時間(大約是11分鐘)進行的,在我們執行date -s後,如果馬上重起機器,修改時間就有可能沒有被寫入CMOS,這就是問題的原因。如果要確保修改生效可以執行如下命令。  
---- #clock -w ---- 這個命令強制把系統時間寫入CMOS。    
ntp時間同步 linux系統下預設安裝了ntp服務,手動進行ntp同步如下   ntpd ...
配置linux作業系統ip方法
vi  /etc/sysconfig/network-scripts/ifcfg-ethx
 

配置完以後重啟動服務.,p地址就配置好了。其實前面3個的配置方法最終還是改變了/etc/sysconfig/network-scripts/ifcfg-ethx下的配置檔案罷了。

配置完後,執行service network restart重啟網路服務

遠端登入linux系統命令
[root@yanghsia root]ssh 172.16.9.109
遠端複製
[root@localhost ~]# scp test
password:
test                                                                                              100%   21     0.0KB/s   00:00
檢視主機名
[root@localhost ~]# hostname
localhost.localdomain

更改主機名
[root@localhost ~]# hostname hadoop2
localhost.localdomain
從windows下複製檔案到linux下
[root@localhost ~]# rz


修改linux環境變數(以設定java環境變數為例)
[root@localhost ~] vi /etc/profile
新增如下內容
export JAVA_HOME=/usr/local/jdk1.6.0_02
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

重新載入環境變數
[root@localhost ~]source /etc/profile
快速建立一個檔案
[root@localhost ~]touch filename
遠端複製172.16.9.109上的filename檔案到本機
[root@localhost ~]scp /usr/local/
Ls按時間升排序
[root@localhost ~]ls -lnt      按修改日期降序排列
[root@localhost ~]ls –lrt      按修改日期升序排列
檢視作業系統核心版本
[root@localhost ~]cat /proc/version
新增檔案可執行許可權
[root@localhost ~]chmod +x jdk-6u2-linux-i586.bin
執行可執行檔案
[root@localhost ~]
./表明可執行檔案在本地路徑,執行可執行檔案時,需指出其絕對路徑
檢視環境變數
[root@hadoop2 ~]# echo $JAVA_HOME
/usr/local/jdk1.6.0_02
啟動防火牆
[root@hadoop2 ~]# service iptables start
防火牆配置檔案
[root@hadoop2 ~]# vi /etc/sysconfig/iptables
查詢服務執行狀態
[root@hadoop2 ~]# service iptables status


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29065182/viewspace-1189162/,如需轉載,請註明出處,否則將追究法律責任。

相關文章