【Linux】的常用命令詳解

1.什麼是Linux
Linux是由Linus Benedict Torvalds等衆多軟件高手共同開發的,是一種能運行於多種平臺(如PC及其兼容機、Alpha工作站、SUN Sparc工作站)、源代碼公開、免費、功能強大、遵守POSIX標準、與UNIX兼容的操作系統。它支持多用戶、多線程、多進程、實時性好、穩定。同時,它又具有良好的兼容性和可移植性,被廣泛應用在各種計算機平臺上。

2.Linux的組成
Linux操作系統主要分爲4部分:內核(kernel)、shell、文件結構和實用工具。

這裏寫圖片描述

內核:是系統的心臟,是運行程序和管理像磁盤和打印機等硬件設備的核心程序。
Shell:是系統的用戶界面,提供了用戶和內核進行交互操作的一種接口。它接收用戶輸入的命令並把它送入內核去執行,是一個命令解釋器。但它不僅是命令解釋器,而且還是高級編程語言,shell編程。
文件系統:文件系統是文件存放在磁盤等存儲設備上的組織方法,Linux支持多種文件系統,如ext3,ext2,NFS,SMB,iso9660等
應用程序:標準的Linux操作系統都會有一套應用程序例如X-Window,Open Office等

3.Linux的文件系統結構

  • /bin和/sbin
    使用和維護UNIX和Linux系統的大部分基本程序都包含在/bin和/sbin裏
    /bin目錄通常用來存放用戶最常用的基本程序,如: login ,Shells ,文件操作實用程序 , 系統實用程序 ,壓縮工具 。
    /sbin目錄通常存放基本的系統和系統維護程序,如: , fsck fdisk mkfs shutdown lilo init 。
    存放在這兩個目錄中的程序的主要區別是:/sbin中的程序只能由root(管理員)來執行.

  • /etc
    這個目錄一般用來存放程序所需的整個文件系統的配置文件,其中的一些重要文件如下:
    passwd shadow fstab hosts motd profile shells services lilo.conf

  • /lost+found
    這個目錄專門是用來放那些在系統非正常菪機後重新啓動系統時,不知道該往哪裏恢復的”流浪”文件的。
  • /boot
    這個目錄下面存放着和系統啓動有關係的各種文件,包括系統的引導程序和系統核心部分。
  • /root
    這是系統管理員(root)的主目錄。
  • /home
    系統中所有用戶的主目錄都存放在/home中,它包含實際用戶(人)的主目錄和其他用戶的主目錄.Linux同UNIX的不同之處是,Linux的root用戶的主目錄通常是在/root或/home/root,而UNIX通常是在/。
  • /mnt
    按照約定,像CD-ROM,軟盤,Zip盤,或者Jaz這樣的可以動介質都應該安裝在/mnt目錄下,/mnt目錄通常包含一些子目錄,每個子目錄是某種特定設備類型的一個安裝點。例如: /cdrom /floppy /zip /win …. 如果我們要使用這些特定設備,我們需要用mount命令從/dev目錄中將外部設備掛接過來。在這裏大家可能看到了有一個win的目錄,這是我的機子上面做的一個通向windows文件系統的掛接點,這樣我通過訪問這個目錄就可以訪問到我在windows下面的文件了。但如果你的windows文件系統是NTFS格式,那麼這個辦法就不行了。
  • /tmp和/var
    這兩個目錄用來存放臨時文件和經常變動的文件。
  • /dev
    這是一個非常重要的目錄,它存放着各種外部設備的鏡像文件,其中有一些內容我們是要牢牢記住的。例如第一個軟盤驅動器的名字是fd0;第一個硬盤的名字是hda,硬盤中的第一個分區是hda1,第二個分區是hda2;第一個光盤驅動器的名字是hdc;此外,還用modem和其他外設的名字,在這麼多的名字中,我們只需要記住最最常用的那幾個外設就可以了。
  • /usr
    按照約定,這個目錄用來存放與系統的用戶直接相關的程序或文件,這裏面有每一個系統用戶的主目錄,就是相對於他們的小型”/”。
  • /proc
    這個目錄下面的內容是當前在系統中運行的進程的虛擬鏡像,我們在這裏可以看到由當前運行的進程號組成的一些目錄,還有一個記錄當前內存內容的kernel文件。就個人經驗,我認爲這些目錄以及在它們下面應該存儲什麼內容,我們都應當很熟練的記下來,這對於我們進一步的使用系統是很有幫助的。

4.Linux的基本命令

  • 關機
 shutdown -h now (立刻關機)
 shutdown -h 5  (5分鐘後關閉)
 poweroff   (立刻關機)
  • 重啓
shutdown -r now (立刻重啓)
shutdown -r 5   (5分鐘重啓)
reboot  (立刻重啓)
  • 使用SSH遠程登錄
    ssh -l用戶名 -p端口 目標機器IP
  • 退出
    exit(退出當前登錄)
  • 使用幫助命令 –help
shutdown -help
ssh -help
ifconfig -help(查看網卡信息)
  • 使用man命令
    man shutdown

5.Linux的文件相關命令
瀏覽目錄命令( ls cd ll dir)、目錄操作(mkdir rmdir)、 瀏覽文件(cat more less tail)、 文件操作(rm cp mv tar)

  • cd(change directory)命令可以讓用戶切換目錄
    功能:改變工作目錄。
    語法:cd [directory]
    說明:該命令將當前目錄改變至directory所指定的目錄。若沒有指定directory, 則回到用戶的主目錄。爲了改變到指定目錄,用戶必須擁有對指定目錄的執行和讀權限,該命令可以使用通配符。
    這裏寫圖片描述

  • ls命令顯示文件或者目錄
    最常用的參數有三個: -a -l -F
    1)ls -a Linux上的文件以.開頭的文件被系統視爲隱藏文件,用ls -a顯示隱藏的文件名。
    2)ls -l(字母L的小寫) 長格式顯示文件內容,顯示更詳細的文件資料。
    drwxr-xr-x. 13 root root 4096 Jan 13 2017 usr 可讀(r),可寫(w),可執行(x)
    擁有者(user)本身的權限,中間三個小格是和使用者同一組的成員(group)的權限,最後三個小格是表示其它使用者(other)的權限
    drwxr-xr-x. 表示文件的屬性:第一個小格是特殊表示格,表示目錄或連結文件等等,d表示目錄,例如drwx——;l表示連結文件,如lrwxrwxrwx;以一橫”-“表示,則表示這是文件
    文件的權限位置排列順序是(以-rwxr-xr-x爲例):
    rwx(Owner)r-x(Group)r-x(Other) 使用者自己可讀,可寫,可執行;同一組的用戶可讀,不可寫,可執行;其它用戶可讀,不可寫,可執行

    13 表示文件個數。
    root 表示該文件或目錄的擁有者。
    root 表示所屬的組(group)
    4096 表示文件大
    Jan 13 2017 表示創建日期
    usr 表示文件名。

    3)ls -F(注意,是大寫的F)
    在文件的後面多添加表示文件類型的符號,例如*表示可執行,/表示目錄,@表示連結文件

  • mkdir命令用來創建一個目錄
    功能:創建一個目錄
    語法:mkdir [選項] dir-name
    說明:該命令創建由dir-name命名的目錄。要求創建目錄的用戶在當前目錄中(dir-name的父目錄中)具有寫權限,並且dirname不能是當前目錄中已有的目錄或 文件名稱。
    各選項的含義爲:
     - m 對新建目錄設置存取權限。也可以用chmod命令設置。
     - p 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在, 加上此選項後, 系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
    這裏寫圖片描述

  • rmdir命令刪除空目錄
    功能:刪除空目錄。
    語法:rmdir [選項] dir-name
    說明:dir-name表示目錄名。該命令從一個目錄中刪除一個或多個子目錄項。需要特別注意的是,一個目錄被刪除之前必須是空的。rm - r dir命令可代替rmdir,但是有危險性。刪除某目錄時也必須具有對父目錄的寫權限。
    各選項的含義爲:
      - p 遞歸刪除目錄dirname,當子目錄刪除後其父目錄爲空時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標準輸出上顯示相應的信息。
    這裏寫圖片描述

  • cat命令顯示或連結一般的ascii文本文件內容
    cat text 顯示text這個文件
    cat file1 file2 依順序顯示file1,file2的內容

    cat file1 file2>file3 把file1,file2的內容結合起來,再”重定向(>)”到file3文件中。
    “〉” 是往右重定向的意思,把左邊的結果當成是輸入,然後輸入到file3這個文件中,注意一點是file3是在重定向以前還未存在的文件,如果file3是已經存在的文件,
    那麼它本身的內容被覆蓋,而變成file1+file2的內容。

    cat >file1
    結果是會”空出一行空白行”,等待你輸入文字,輸入完畢後再按[Ctrl]+[c]或[Ctrl]+[d],就會結束編輯,併產生file1這個文件,而file1的內容就是你剛剛輸入的內容

    cat file1>>file2(推薦) 將file1的文件內容”附加”到file2的文件後面,而file2的內容依然存在

  • more命令一般用於要顯示的內容會超過一個畫面的長度的情況
    按空格鍵顯示下一個畫面, 按q鍵退出查看

  • less命令
    除了有more的功能以外,還可以用方向鍵往上或網下的滾動文件,所以你隨意瀏覽,閱讀文章時,less是個非常好的選擇。

  • tail命令
    在實際使用過程中使用非常多的一個命令,它的功能是:用於顯示文件後幾行的內容
    這裏寫圖片描述

  • rm命令刪除不需要的文件
    功能:刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下的所有文件及子目錄均刪除。對於鏈接文件,只是斷開了鏈接,原文件保持不變。
    語法:rm [選項] 文件… 如果沒有使用- r選項,則rm不會刪除目錄。
    各選項的含義爲:
      - f 忽略不存在的文件,從不給出提示,進行強制刪除
      - r 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除,功能上和rmdir相似
      - i 進行交互式刪除 , rm -i test 刪除一個名字爲test的一個文件
    注意:使用i選項來逐個確認要刪除的文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件則不會刪除。
    這裏寫圖片描述

  • cp命令
    功能:將給出的文件或目錄拷貝到另一文件或目錄中。
    語法: cp [選項] 源文件或目錄 目標文件或目錄
    說明:該命令把指定的源文件複製到目標文件或把多個源文件複製到目標目錄中。
    各選項含義如下:
      - a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,並遞歸地拷貝目錄,其作用等於dpR選項的組合。
      - d 拷貝時保留鏈接。
      - f 刪除已經存在的目標文件而不提示。
      - i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是交互式拷貝。
      - p 此時cp除複製源文件的內容外,還將把其修改時間和訪問權限也複製到新文件中。
      - r 若給出的源文件是一目錄文件,此時cp將遞歸複製該目錄下所有的子目錄和文件。此時目標文件必須爲一個目錄名。
      - l 不作拷貝,只是鏈接文件。
    注意:用戶在使用cp命令拷貝文件時,最好使用i選項(防止已存在的文件被覆蓋)。
    這裏寫圖片描述

  • mv命令
    功能:爲文件或目錄改名或將文件由一個目錄移入另一個目錄中
    語法:mv [選項] 源文件或目錄 目標文件或目錄
    說明:當第二個參數類型不同(目標文件/目標目錄),將文件重命名或將其移至一個新的目錄中。
    當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),它將所給的源文件或目錄重命名爲給定的目標文件名。
    當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。
    在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
      各選項的含義爲:
      - I 交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答y或n,這樣可以避免誤覆蓋文件。mv -i text
      - f 禁止交互操作。在mv操作要覆蓋某已有的目標文件時不給任何指示,指定此選項後,i選項將不再起作用。mv -f text
    注意:mv命令移動文件時,最好使用i選項(防止已存在的文件被覆蓋)。
    這裏寫圖片描述

  • tar命令
    tar命令位於/bin目錄下,它能夠將用戶所指定的文件或目錄打包成一個文件,但不做壓縮,這對於備份文件或將幾個文件組合成爲一個文件以便於網絡傳輸是非常有用的。一般Linux上常用的壓縮方式是選用tar將許多文件打包成一個文件,再以gzip壓縮命令壓縮成xxx.tar.gz(或稱爲xxx.tgz)的文件。
    常用參數:
      -c:創建一個新tar文件
      -v: 顯示運行過程的信息
      -f:指定文件名
      -z: 調用gzip壓縮命令進行壓縮
      -t: 查看壓縮文件的內容
      -x: 解開tar文件
    這裏寫圖片描述

  • gzip命令
    功能:一個對文件進行壓縮和解壓縮的命令,減少文件大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網絡傳輸文件時,可以減少傳輸的時間。
    語法:gzip [選項] 壓縮(解壓縮)的文件名
    各選項的含義:
      -c 將輸出寫到標準輸出上,並保留原有文件。
      -d 將壓縮文件解壓。
      -l 對每個壓縮文件,顯示下列字段:
      壓縮文件的大小
      未壓縮文件的大小
      壓縮比
      未壓縮文件的名字
      -r 遞歸式地查找指定目錄並壓縮其中的所有文件或者是解壓縮。
      -t 測試,檢查壓縮文件是否完整。
      -v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比。
      -num 用指定的數字num調整壓縮的速度,-1或–fast表示最快壓縮方法(低壓縮比),-9或–best表示最慢壓縮方法(高壓縮比)。系統缺省值爲6。

  • unzip命令
    功能:解擴展名爲.zip的壓縮文件。
    語法:unzip [選項] 壓縮文件名.zip
    各選項的含義分別爲:
      -x 文件列表解壓縮文件,但不包括指定的file文件。
      -v 查看壓縮文件目錄,但不解壓。
      -t 測試文件有無損壞,但不解壓。
      -d 目錄把壓縮文件解到指定目錄下。
      -z 只顯示壓縮文件的註解。
      -n 不覆蓋已經存在的文件。
      -o 覆蓋已存在的文件且不要求用戶確認。
      -j 不重建文檔的目錄結構,把所有文件解壓到同一目錄下。

  • grep命令查找符合條件的字符串
    用法:grep[選項]… PATTERN [FILE]…
    grep lang anaconda-ks.cfg 在文件中查找lang

  • 文件創建、編輯
    在linux下一般使用vi編輯器來編輯文件,vi既可以查看文件也可以編輯文件,三種模式:命令行、插入、底行模式。
    切換到命令行模式:Esc鍵
    切換到插入模式:按i、o、a鍵
    切換到底行模式:按:(冒號)
    這裏寫圖片描述

  • 其它一些常用的命令
    這裏寫圖片描述

6.組合命令

  • 重定向輸出>和>>
    >爲重定向輸出,>>爲重定向輸出,又追加功能
    cat /etc/passwd > a.txt 將輸出定向到a.txt中
    cat /etc/password >> a.txt 輸出並且追加
  • 管道 “|”,其作用是將一個命令的輸出用作另一個命令的輸入
    ls –help|more 分頁查詢幫助信息
    ps -ef|grep java 查詢名稱中包含java的進程

7.網絡通信命令

  • ifconfig顯示或設置網絡設備
    ifconfig 顯示網絡設備
    ifconfig eth0 up 啓用eth0網卡
    ifcongig eth0 down 停用eth0網卡
  • ping探測網絡是否通暢
  • netstat查看網絡端口
    netstat -an|grep 3306 查詢3306端口的佔有情況

8.系統管理命令

  • date顯示或設置系統時間
    date 顯示當前系統時間
    date -s “2018-02-10 12:00:00” 設置系統時間
  • df顯示磁盤系統
    df -h 友好顯示大小
  • free顯示內存狀態
    free -m 以mb單位顯示內存組昂頭
  • top顯示管理執行中的程序
  • ps正在運行的某個進程的狀態
    ps -ef 查看索引進程
    ps -ef|grep ssh 查找某一進程
  • kill殺掉某一進程
    kill 2868 殺掉2868編號的進程
    kill -9 2868 強制殺死進程
  • du顯示目錄或文件的大小
    du -h 顯示當前目錄的大小
  • who顯示當前登錄系統的用戶信息
  • hostname查看當前主機名
    修改:vi /etc/sysconfig/network
  • uname顯示系統信息
    uname -a 顯示本機詳細信息,依次爲:內核名稱,主機名、內核版本號、內核版本、內核編譯日期、硬件名、處理器類型、硬件平臺類型、操作系統名稱

9.多用戶
創建用戶、修改密碼、刪除

  • useradd添加一個用戶
    useradd test 添加test用戶
    useradd test -d/home/t1 指定用戶home目錄
  • passwd設置、修改密碼
    passwd test 爲test用戶設置密碼
  • userdel刪除一個用戶
    userdel -r test 刪除用戶以及home目錄

當在創建一個新用戶user時,若沒有指定它所屬於的組,就建立一個和該用戶同名的私有組,創建用戶時也可以指定所在組。

  • groupadd 創建組
    groupadd public 創建一個名爲public的組
    useradd zhang -g public 創建用戶指定組
  • groupdel刪除組,如果該組有用戶成員,必須先刪除用戶才能刪除組
    groupdel pulic
  • su命令切換用戶
    su zhang 切換到zhang用戶
    su - zhang 切換到zhang用戶,並且將環境也切換到zhang用戶的環境(推薦使用)

10.權限

這裏寫圖片描述

  • chmod 變更文件或目錄的權限
    chmod 755 text.txt
    chmod u=rwx,g=rx,o=rx text.txt
    chmod 000 text.txt /chmod 777 text.txt
  • chown變更文件或目錄的擁有者或所屬羣組
    chown zhang:public text.txt
    chown -r zhang:public dir

11.克隆虛擬機
網卡內容
這裏寫圖片描述
網卡配置文件所在:
/etc/sysconfig/network-scripts/ifcfg-eth*
圖形化配置網卡信息:setup
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章