歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

菜鳥學堂:新手應該掌握的Linux命令

  很多新手在剛開始接觸Linux時,往往由於面臨的命令太多而無從下手。下面我將向大家介紹一些作為新手應該掌握的命令,這些命令是日常使用Linux時經常會用到的。它們主要功能是實現對文件和目錄的操作。當然,Linux發展到今天,很多功能已經可以在可視化的界面中來完成。不過在很多情況下,有些命令還是非常有用的,它可以提高效率,並且可以加深對Linux系統的了解。    本文主要介紹在Linux下如何創建目錄、以不同的方式進行顯示,以及如何拷貝和移動目錄。    文件和目錄的處理  文件和目錄的處理是任何操作系統命令中最基本的內容,也是使用電腦最常用到的功能。為了簡單起見,我只介紹其可以實現的基本功能,讀者可以在掌握這些基本用法之後再對其它用法進行深入研究。    mkdir 創建一個目錄。這個命令的基本格式是“mkdir 目錄名稱”。比如,可以使用命令“mkdir mydir”在當前目錄下創建一個名為mydir的目錄。在進行目錄創建時,可以設置目錄的權限。此時使用的參數是“-m”,假設要讓創建的mydir讓所有人都有rwx(即讀、寫、執行的權限),那麼可以使用以下命令:    $ mkdir -m 777 mydir    這時如果使用帶參數-l的ls命令顯示(稍後我將介紹),就會發現mydir目錄的權限情況。如下所示:    $ ls -ltotal 209......drwxrwxrwx  2 root   root     4096 2月 16 21:37 mydir......    ls 列出目錄內容。如果不帶任何參數,ls會顯示出當前目錄下的所有文件(除了隱藏文件)、符號鏈接和子目錄。不同的文件類型、目錄和鏈接會使用不同的顏色來表示。比如,一般文件是紅色的,可執行文件是紅色的,壓縮文件是暗紅色的,圖像文件是粉紅色的,目錄是藍色的,符號鏈接是加粗的黑色。    這個命令有很多參數,比如:“l”、“a”、“F”,命令格式可以是ls -l、ls -a和ls -F,也可以將它們結合成ls -laF。ls -l會使用詳細的格式列表將權限標示、硬鏈接數目、所有者與組名稱、文件或目錄大小及改動時間一並列出。如下所示是在我的機器的根目錄下使用ls -alF的顯示情況:    $ ls -laFtotal 233drwxr-xr-x  22 root   root     4096 2月 16 21:37 ./drwxr-xr-x  22 root   root     4096 2月 16 21:37 ../-rw-r--r--  1 root   root      0 2月 16 21:22 .autofsckdrwxr-xr-x  2 root   root     4096 1月 4 18:39 bin/......    cd 可以實現不同目錄之間的切換,但前提是使用該命令的用戶必須有足夠的權限對相應目錄進行操作。下面的命令將從當前目錄切換至mydir目錄:    $ cd /mydir    如果不給命令加任何參數,那麼就會從當前目錄切換至用戶專屬目錄。比如如果是root用戶,那麼執行完cd命令後,當前目錄就是/root,如下所示:    [root@linuxserver /]# cd[root@linuxserver root]#    cp 用於復制文件或目錄。其基本語法是:“cp 源文件或者目錄 目標文件或者目錄”。例如同時指定兩個以上的文件或目錄,且最後的目的地是一個已經存在的目錄,則它會把前面所指定的所有文件或目錄復制到該目錄中。若同時指定多個文件或目錄,而最後的目的地並非是一個已存在的目錄,則會出現錯誤信息。這一命令中最常用的參數是-R,該參數會對指定目錄下的所有文件及子目錄一起進行復制。    mv 移動或者更改現有的文件或者目錄。其基本語法是:“mv 源文件或者 目標文件或目錄”。這個命令和cp命令類似,不同的是當文件出現在目標位置時,源文件就會被刪除。    rm 刪除文件或者目錄。其基本語法是:“rm 源文件或者目錄”。該命令和DOS裡的del命令類似,所不同的是在Linux下刪除的文件不能進行恢復操作(這是基於安全性的考慮)。這也就意味著在Linux中沒有undelete、unrm或者與之類似的命令。因此,在使用該命令時必須要非常小心。該命令有一個和cp命令類似的-R(或者-r)參數,使用它可以對指定目錄的所有文件和子目錄一起進行處理。否在,在不加任何參數所情況下,rm命令只會刪除文件。比如命令“#rm -r *”將會刪除當前目錄中所有的文件和子目錄。     rmdir 用於刪除目錄。其基本語法是:“rmdir 目錄”。需要說明的是,該命令只能刪除空目錄,如果目錄為非空,則會出現錯誤信息。    ln -s 創建一個符號鏈接。創建符號鏈接是一個非常實用的功能。假設你有一些目錄或者文件需要頻繁使用,但由於Linux的文件和目錄結構的原因,它們都不在主目錄之下。比如,Apache Web服務器位於系統的/usr/local/httpd/htdocs。並且,你並不想每次都要從主目錄進入這樣一個長的路徑之中(在實際中,這個路徑也非常不容易記憶)。為了解決這個問題,可以在主目錄中創建一個符號鏈接(也稱之為軟鏈接),這樣在需要進入該目錄時,只需進入這個鏈接即可。比如,為了能夠使主目錄下的webroot訪問Web服務器(/usr/local/httpd/htdocs)的文檔,在主目錄下可以使用以下命令:    $ln -s /usr/local/httpd/htdocs webroot    這時如果浏覽主目錄,就會發現一個類似以下內容的欄目:    lrwxrwxrwx 1 User Gruppe 35 Jul 16 14:48 webroot →/usr/local/httpd/htdocs/    這時如果使用命令cd webroot進入目錄,就會發現你的位置在/usr/local/httpd/htdocs/。    需要指出的是,如果不加任何參數,ln表示的是產生硬鏈接,這時就要求源文件或源目錄必須已經存在。不過這一功能並不常用。    工作站和服務器或服務器之間進行拷貝  scp 安全拷貝。在Linux下有一些命令可以實現安全拷貝,主要用於不同的計算機之間拷貝重要的數據。這在服務器領域尤為有用,特別是當所訪問的服務器是連接在Internet之上,並且可能遭受來自多方攻擊的情況下。一般情況下,在訪問這些服務器時,人們通常采用某一FTP協議。因為SCP具有相當的安全性,因此在更新自己的主頁時,可以使用SCP來代替FTP。現在假設名字為Bob,要訪問一個名為www.bobman.de的服務器,想把本地機上/home/webpages/pictures目錄下的所有文件拷貝至Web服務器上的/htdocs/bobby/images之下。為了做到這一點,先在本地機上切換目錄:    $ cd ~/webpages/pictures    然後輸入:    $ scp ./* [email protected]:/htdocs/bobby/images    上面的./*指的是當前目錄下的所有文件,*是Linux下的通配符,相當於DOS下的*.*。此外,SCP還可以在同一台計算機的不同用戶間進行文件拷貝。    所有者和權限  chown 變更文件、目錄的所有者或所屬組。在Unix系統家族中,文件或目錄權限的控制以所有者及所屬組來管理。你可以使用chown指令去變更文件與目錄的所有者或所屬組。需要注意的是,要執行該命令,必須要以root身份登錄。該命令的語法非常簡單,並且,當要對某一目錄下的所有文件和子目錄進行處理時,使用的仍然是-R參數。假設在/usr/local/目錄下創建了一個數據文件,並且想以普通用戶的身份使用它而不是root身份。然而,由於是以root身份創建的文件,所以以普通用戶的身份對該文件只有讀的權限,因為該文件屬於root和root組成員。如果要把該文件的所有者更改為屬於user組的zhang,那麼可以使用以下的命令:    $chown zhang.user /usr/local/myfile    如果要更改tmp目錄下所有文件和子目錄的所有者及所屬組,可以使用以下命令:    $chown -R zhang.user tmp    chmod 可以變更文件或目錄的權限。在Linux中,文件或目錄權限的控制分別以讀取、寫入、執行三種一般權限來區分,另有三種特殊權限可供運用,再搭配所有者與所屬組來管理每個文件及目錄的權限范圍。該命令的設置方式有文字和數字兩種。需要注意的是,符號鏈接的權限無法變更,如果對符號鏈接修改權限,其改變會作用在被鏈接的原始文件。    和上述介紹的命令相比,這個命令要復雜得多。但是,對於Linux來說它卻非常重要。由於該命令涉及內容較多,限於篇幅此處就不詳細介紹,僅舉數例讓初學者有一直觀的了解,詳情請查閱相關資料。    把文件myfile讀取和寫入的權限向所有用戶開放(使用字符方式):    $chmod ugo=rw myfile    取消組成員執行myfile的權限:    $chmod g-x myfile    增加所屬組執行myfile文件的權限:    $chmod g+x myfile    中止任務  在使用Windows的時候,大家一定遇到過類似於這樣的問題:一個程序崩潰並且處於死鎖的狀態。在Linux中,這種情況也會發生。不過和Windows不同的是,在Linux中遇到這種情況時一般不用重新啟動計算機,只需要中止(或者說是關閉)這個有問題的程序即可。有兩個命令可以處理這種情況,它們是killall和kill。    killall 當處於X-Window界面時,所有的程序(除了崩潰的程序之外)一般都已經正常啟動了。這就是說,可以打開一個控制台窗口,在那裡中止有問題的程序。比如,如果Netscape程序出現了鎖死的情況,可以使用以下命令來中止所有包含有Netscape的程序:    $killall netscape    kill 與和killall所實現的功能相同,不同之處是該命令使用的是程序的編號,即PID(進程標識符)。這個編號可以通過ps命令來查看,比如要想查看Netscape進程的編號可以顯示出所有進程,然後逐個查找,當然最好的辦法是使用grep進行過濾,完整的命令如下:    $ps wuxwww grep netscape    這時得到的結果可能如下所示:  hansi 11779 0.0 5.1 22284 13120 ? S 11:58 0:01 /opt/netscape/netscape




Copyright © Linux教程網 All Rights Reserved