1. 程式人生 > >[Linux] 系統基本指令

[Linux] 系統基本指令

基本指令

本篇部落格主要講解具體的指令與操作含義:

開啟CentOS 7作業系統,右鍵點選 “開啟終端” ,進入終端.
在這裡插入圖片描述

進入終端後,在螢幕上出現這麼一段字元,我們就可以在這裡輸入指令進行操作了,這段字元具體講解如下:

  1. 使用者名稱: 使用者設定的使用者名稱
  2. 分隔符: 單純的分隔一下使用者名稱和主機名~
  3. 主機名: 如果不設定,預設就是localhost.
  4. 當前目錄: 表示當前home目錄
  5. 提示符: 表示使用者現在處於輸入情景,可以開始輸入了(可以變為#代表root使用者身份)
  6. 游標: 這個黑條狀游標會閃爍,表示使用者現在可以用鍵盤進行指令輸入

以下開始講解具體指令

  • ls 羅列
    list的縮寫,具體羅列出當前目錄中中包含的檔案
    在這裡插入圖片描述

這裡的藍色檔案為目錄檔案,顯然 目錄中既可包含檔案,也可以包含目錄.

  • ll 也是羅列
    來自縮寫: list -l.
    那麼這個-l是什麼? -l是一個命令列引數 ,類似於cmd命令中關機命令shutdown -s -t中的-s/-t,為了使這一句指令的作用區間更加詳細
    在這裡插入圖片描述

通過結果的分析可以直觀的看到,llls表示的資訊更加全面.
詳細資訊有很多,但最核心的就是第一列的許可權,即圖中的drwxr-xr-x
具體舉例解釋其中的一段資訊:
在這裡插入圖片描述

  1. 檔案型別: 這裡的d
    意為目錄檔案,表示它是一個目錄,裡面可以存放更多的二級檔案與目錄.
  2. 使用者許可權: 這裡有三組各個表示:
    r讀許可權 (read)
    w寫許可權 (write)
    x:可執行許可權

第一組rwx使用者對應當前檔案的(users)擁有者/建立者許可權
第一組rwx使用者對應當前檔案的(group)擁有者的使用者組的許可權
第一組rwx使用者對應(others)其他使用者的許可權

root使用者可以給予三個使用者這三個許可權,也可以收回,許可權可以影響使用者的操作結果,之後具體解釋
3. 檔案佔存大小: 它的單位是Byte
4. 最後修改時間: 無論什麼操作,執行後都會改變檔案的最後操作時間

  • cd 切換目錄
    來自縮寫:change directoy.
    可以改變使用者所處的當前目錄,對不同目錄具體操作.
  1. cd .. 切換回上級目錄
    切換目錄到當前目錄的上一級目錄
  2. cd / 切換到根目錄
    相當於Windows中的此電腦.
  3. 切換到當前使用者的home目錄
    1. cd ~
    2. cd home
    3. cd + 回車
  4. cd - 回到上層目錄
    返回剛才的目錄,這個操作是可逆的,可以互相來回切換.

這裡既然說到了 根目錄 ,就要提及Linux的目錄的樹形結構
在這裡插入圖片描述
Windows中為:
在這裡插入圖片描述

  • Ctrl + insert 複製

  • shift + insert 貼上
    (這兩句指令有的電腦需要配合fn一起使用)

  • Ctrl + c 取消當前指令
    而不是Windows中的 複製 指令,在Linux環境下要辨析這一點

  • Ctrl + l清屏
    如果介面過於繁雜,使用者希望可以清理使得介面整潔一些,可以使用這個指令

  • touch 建立一個"空檔案"(在此目錄下)
    在這裡插入圖片描述
    這時我們發現系統並沒有像Windows一樣給我們一個成功或者失敗的反饋,但無傷大雅,因為在Linux環境下
    no news is good news.
    沒有訊息就是最好的訊息,說明這時候a.txt檔案已經建立完畢了.我們ll展示一下檔案屬性:
    在這裡插入圖片描述
    這裡-rw-rw-rw-中首部的-表示普通檔案,與前面的d的目錄檔案同類型.

  • cat 顯示檔案具體內容
    在這裡插入圖片描述
    我們發現同樣是像touch一樣沒有給出反饋,但二者意義不同
    cat反饋為空,意為:空檔案,裡面並沒有實質內容.
    那麼想檢視到具體內容應處於什麼情況下呢?引出我們下一句指令

  • echo 顯示內容,列印一個字串
    先直接在home目錄下echo一個字串:
    在這裡插入圖片描述
    結果很明顯,它如我們所料列印了具體內容,那希望列印檔案中的內容應該如何實現?
    在這裡插入圖片描述
    注:
    1." " 中為希望寫入的字串.
    2.> 意為重定向,即將echo + 內容重定向在a.txt中,得以在a.txt中顯示
    3.後面的 a.txt 為重定向的目標
    這三個元素與echo指令相結合,就構成了把內容"寫入"檔案的操作.

  • rm 刪除檔案
    來自縮寫:remove
    它的內涵是物理刪除.
    1.rm -r遞迴式刪除目錄
    2.rm -i確認是否刪除
    提示詢問是否刪除時,輸入y表示確認刪除,非y表示否定,不刪除檔案
    當刪除目錄時,首先會詢問使用者是否進入二級目錄,所以我麼可以知道作業系統刪除文件時是先進入目錄,在逐步刪除目錄中檔案的.

  • mkdir 建立目錄
    來自縮寫:make directory
    如果需要建立多級目錄時使用:mkdir -p

例如: mkdir -p a/b/c/d

  • pwd檢視當前目錄對應的絕對路徑
    來自縮寫:Print Working Directory
    即從根目錄輸出至目前目錄的路徑

相對路徑: 一個路徑以.或者..開頭
絕對路徑: 一個路徑以/開頭

如果必須在絕對路徑與相對路徑做一個抉擇,那麼首選相對路徑

因為同樣一句指令如果需要在其他終端上執行,那麼相對路徑就不用考慮使用者電腦中是否有同名的上級目錄,可以直接從當前目錄進行操作,簡單快捷.

  • su 切換到管理員(root)使用者

切換root使用者需要知道root使用者的密碼

切換成功提示符就會從$變為#
在這裡插入圖片描述
注:
切換到root使用者進行操作很危險!!!

因為一不小心就會刪除掉系統檔案或者其他影響系統運作的操作,例如刪除了根目錄或者系統檔案,甚者可能直接導致系統無法再次執行,諸多功能無法使用等等,所以在root使用者下一定要謹慎操作!

  • mv 重新命名/移動檔案
    來自縮寫:move
    在這裡插入圖片描述
  • man 檢視使用者手冊
    區段1:使用者指令
    區段2:系統呼叫
    區段3:程式庫呼叫

例如:
man printf:預設區段1 對應其中使用者指令printf
man 3 printf:指區段3 程式庫中C語言中的printf
二者是不同的用法與含義

  • cp 複製/拷貝一份檔案
    來自縮寫:copy
  1. cp a.txt b.txta.txt在當前目錄拷貝一份b.txt檔案
  2. cp a.txt a/a目錄下拷貝一份a.txt檔案

注意:cp的物件是檔案,如果想針對目錄操作應該如何輸入指令?
指令為: cp -r a b
即為針對a目錄拷貝一份b目錄

  • date 顯示日期/計算時間戳
    date -d + 時間戳就可以計算其對應的日期了
    在這裡插入圖片描述

  • chmod 修改許可權
    來自縮寫:change mode

我們就用ls指令來演示:

  1. 首先查詢到ls指令位於的目錄
    這裡需要使用whereis指令,找到目標的位置
    在這裡插入圖片描述

  2. 拷貝一份ls到當前目錄下,通過ll指令檢視一下是否拷貝成功
    在這裡插入圖片描述
    在這裡插入圖片描述
    我們發現,目錄中已經有了一個帶有綠色(可執行許可權)的ls
    通過相對路徑執行一下當前目錄下的ls
    在這裡插入圖片描述
    我們發現執行結果都是黑色的,
    而直接使用ls使用的是路徑use/bin/ls的系統中的ls功能,所以二者本質上是兩個不同的檔案,所以執行的結果不相同.

  3. 接下來可以修改許可權了
    在這裡插入圖片描述

第一步我們先檢視一下當前目錄下的ls有什麼許可權.
第二步我們取消了ls可執行操作x

如果chmod指令 直接使用 -x/-r/-w , 則它的物件是全部的三個使用者

最後我們再次ll檢視,可以明確的看到當前目錄的ls已經沒有執行許可權了,首部的x全部都取消掉了,說明三個之中任何一個使用者都對他沒有執行許可權了

一個檔案能否被執行有兩個充要條件:

  1. 具有可執行許可權
  2. 檔案是一個可執行檔案
  • 如果只想給一個使用者授權或者回收許可權,就要在指令中加上約束:
  1. chmod o+x ls (o代表others,其他使用者)
    在這裡插入圖片描述
    圖中可以清晰地看到 當前目錄中的ls對於其他使用者的可執行許可權已經加上了

  2. chmod g+x ls (g代表group,所有者的使用者組)
    在這裡插入圖片描述

  3. chmod u+x ls (u代表users,所有者)
    在這裡插入圖片描述

除了chmod o/u/g + r/w/x這樣的授權/收權操作,Linux還有一種抽象的修改許可權的方法,僅供知曉

  • 許可權在作業系統中以3個八進位制數來表示的
    一個八進位制數相當於三個二進位制數,所以:
    < chmod 777 ls相當於給所有三個使用者全部授權 >
    在這裡插入圖片描述
    在這裡插入圖片描述
    舉一反三,同樣可以對不同使用者的不同許可權進行修改,這裡就不一一演示了.

  • 檔案:
    1.檔案沒有許可權,不能cat
    2.檔案沒有許可權,不能通過echo指令配合重定向進行修改
    3.檔案沒有執行許可權,不能執行

  • 目錄
    1.目錄沒有許可權,不能ls檢視目錄中包含什麼檔案或者目錄
    2.目錄沒有許可權,不能向目錄中新增/刪除檔案
    3.目錄沒有執行許可權,不能通過cd切換至該目錄下

  • file 檢視檔案格式

  • history 檢視輸入指令的歷史

這裡常見豐富的指令與快捷鍵就介紹差不多了,其他還有很多不常用但是很高效的指令大家有興趣可以瞭解一下
但是linux指令的學習絕對不是靠的,而是靠
熟能生巧,而不是死記硬背!