[Linux] 系統基本指令
基本指令
本篇部落格主要講解具體的指令與操作含義:
開啟CentOS 7
作業系統,右鍵點選 “開啟終端” ,進入終端.
進入終端後,在螢幕上出現這麼一段字元,我們就可以在這裡輸入指令進行操作了,這段字元具體講解如下:
- 使用者名稱: 使用者設定的使用者名稱
- 分隔符: 單純的分隔一下使用者名稱和主機名~
- 主機名: 如果不設定,預設就是
localhost
. - 當前目錄: 表示當前
home
目錄 - 提示符: 表示使用者現在處於輸入情景,可以開始輸入了(可以變為
#
代表root使用者身份) - 游標: 這個黑條狀游標會閃爍,表示使用者現在可以用鍵盤進行指令輸入
以下開始講解具體指令
ls
羅列
是list
的縮寫,具體羅列出當前目錄中中包含的檔案
這裡的藍色檔案為目錄檔案,顯然 目錄中既可包含檔案,也可以包含目錄.
ll
也是羅列
來自縮寫:list -l
.
那麼這個-l
是什麼?-l
是一個命令列引數 ,類似於cmd命令
中關機命令shutdown -s -t
中的-s/-t
,為了使這一句指令的作用區間更加詳細
通過結果的分析可以直觀的看到,ll
比ls
表示的資訊更加全面.
詳細資訊有很多,但最核心的就是第一列的許可權,即圖中的drwxr-xr-x
具體舉例解釋其中的一段資訊:
- 檔案型別: 這裡的
d
- 使用者許可權: 這裡有三組各個表示:
r
讀許可權 (read)
w
寫許可權 (write)
x
:可執行許可權
第一組rwx
使用者對應當前檔案的(users)擁有者/建立者許可權
第一組rwx
使用者對應當前檔案的(group)擁有者的使用者組的許可權
第一組rwx
使用者對應(others)其他使用者的許可權
root使用者可以給予三個使用者這三個許可權,也可以收回,許可權可以影響使用者的操作結果,之後具體解釋
3. 檔案佔存大小: 它的單位是Byte
4. 最後修改時間: 無論什麼操作,執行後都會改變檔案的最後操作時間
cd
切換目錄
來自縮寫:change directoy.
可以改變使用者所處的當前目錄,對不同目錄具體操作.
cd ..
切換回上級目錄
切換目錄到當前目錄的上一級目錄cd /
切換到根目錄
相當於Windows
中的此電腦.- 切換到當前使用者的
home
目錄cd ~
cd home
cd + 回車
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
cp a.txt b.txt
由a.txt
在當前目錄拷貝一份b.txt
檔案cp a.txt a/
在a
目錄下拷貝一份a.txt
檔案
注意:cp
的物件是檔案,如果想針對目錄操作應該如何輸入指令?
指令為: cp -r a b
即為針對a
目錄拷貝一份b
目錄
-
date
顯示日期/計算時間戳
date -d + 時間戳
就可以計算其對應的日期了
-
chmod
修改許可權
來自縮寫:change mode
我們就用ls
指令來演示:
-
首先查詢到
ls
指令位於的目錄
這裡需要使用whereis
指令,找到目標的位置
-
拷貝一份
ls
到當前目錄下,通過ll
指令檢視一下是否拷貝成功
我們發現,目錄中已經有了一個帶有綠色(可執行許可權)的ls
通過相對路徑執行一下當前目錄下的ls
我們發現執行結果都是黑色的,
而直接使用ls
使用的是路徑use/bin/ls
的系統中的ls
功能,所以二者本質上是兩個不同的檔案,所以執行的結果不相同. -
接下來可以修改許可權了
第一步我們先檢視一下當前目錄下的ls
有什麼許可權.
第二步我們取消了ls
的可執行操作x
如果
chmod
指令 直接使用-x
/-r
/-w
, 則它的物件是全部的三個使用者
最後我們再次ll
檢視,可以明確的看到當前目錄的ls
已經沒有執行許可權了,首部的x
全部都取消掉了,說明三個之中任何一個使用者都對他沒有執行許可權了
一個檔案能否被執行有兩個充要條件:
- 具有可執行許可權
- 檔案是一個可執行檔案
- 如果只想給一個使用者授權或者回收許可權,就要在指令中加上約束:
-
chmod o+x ls
(o
代表others,
其他使用者)
圖中可以清晰地看到 當前目錄中的ls
對於其他使用者的可執行許可權已經加上了 -
chmod g+x ls
(g
代表group
,所有者的使用者組)
-
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
指令的學習絕對不是靠背的,而是靠練的
熟能生巧,而不是死記硬背!