1. 程式人生 > 其它 >1.2 Linux基本命令

1.2 Linux基本命令

1.2 Linux基本命令

—切皆命令 —切皆檔案

注意:命令與命令直接要用空格隔開

shell命令:用來代替滑鼠和鍵盤來控制linux 比如我們可以開啟 刪除檔案 查詢 關機

絕對路徑與相對路徑

我們知道Linux的目錄結構為樹狀結構,最頂級的目錄為根目錄 /。

其他目錄通過掛載可以將它們新增到樹中,通過解除掛載可以移除它們。

絕對路徑:

路徑的寫法,由根目錄 / 寫起,例如: /usr/share/doc 這個目錄。

相對路徑:

路徑的寫法,不是由 / 寫起,例如由 /usr/share/doc 要到 /usr/share/man 底下時,可以寫成: cd ../man 這就是相對路徑的寫法啦!

 

目錄的常用命令

很多的指令其實都可以組合使用

  • ls: 列出目錄 (最常用)

  • cd:切換目錄

  • pwd:顯示目前的目錄

  • mkdir:建立一個新的目錄

  • rmdir:刪除一個空的目錄

  • cp: 複製檔案或目錄

  • rm: 移除檔案或目錄

  • clear:清理螢幕

  • mv: 移動檔案與目錄,或修改檔案與目錄的名稱

你可以使用 man [命令] 來檢視各個命令的使用文件,如 :man cp。

man shell:幫助手冊

ls 列出目錄

-a 檢視全部包(包括隱藏檔案)括以“.”開頭的隱藏檔案(常用)

-l 顯示檔案的詳細資訊(不含隱藏)(常用)

可組合使用為# ls -al將目錄下的所有檔案列出來(含屬性與隱藏檔)

-A 檢視全部(包括隱藏檔案)但不包括以“.”開頭的隱藏檔案

-c 按檔案的修改時間進行排序

-C 分成多列顯示各行

 

cd 切換目錄

cd是Change Directory的縮寫,這是用來變換工作目錄的命令。

 # 切換到使用者目錄下
 [root@kuangshen /]# cd home
 
 # 使用 mkdir 命令建立 kuangstudy 目錄
 [root@kuangshen home]# mkdir kuangstudy
 
 # 回到上一級
 [root@kuangshen kuangstudy]# cd ..
 
 # 回到根目錄
 [root@kuangshen kuangstudy]# cd /
 
 # 表示回到自己的家目錄,亦即是 /root 這個目錄
 [root@kuangshen kuangstudy]# cd ~
 
 #用相對路徑進入
 [root@kuangshen kuangstudy]# cd../bin
 
 #用絕對路徑進入
 [root@kuangshen kuangstudy]# cd/目錄名/目錄名/……

 

pwd顯示目前所在的目錄位置

pwd 是 Print Working Directory 的縮寫,也就是顯示目前所在目錄的命令。

選項與引數: -P :顯示出確實的路徑,而非使用連結 (link) 路徑。

 # 單純顯示出目前的工作目錄
 [root@kuangshen ~]# pwd
 /root
 
 # 如果是連結,要顯示真實地址,可以使用 -P引數
 [root@kuangshen /]# cd bin
 [root@kuangshen bin]# pwd -P
 /usr/bin

 

mkdir 建立目錄

-p :幫助你直接將所需要的目錄(包含上一級目錄)遞迴建立起來!

-m :配置檔案的許可權喔!直接配置,不需要看預設許可權 (umask) 的臉色~

 # 建立一個 test 資料夾
 [root@kuangshen home]# mkdir test
 
 # 建立多層級目錄
 [root@kuangshen home]# mkdir test1/test2/test3/test4
 mkdir: cannot create directory ‘test1/test2/test3/test4’:
 No such file or directory # <== 沒辦法直接建立此目錄啊!
 
 # 加了這個 -p 的選項,可以自行幫你建立多層目錄!
 [root@kuangshen home]# mkdir -p test1/test2/test3/test4

 

rmdir 刪除空的目錄

-p :無視是否為空目錄,直接一起刪除

 # 可直接刪除掉,沒問題
 [root@kuangshen home]# rmdir test
 
 # 因為尚有內容,所以無法刪除!
 [root@kuangshen home]# rmdir test1
 rmdir: failed to remove ‘test1’: Directory not empty
 
 # 利用 -p 這個選項,立刻就可以將 test1/test2/test3/test4 依次刪除。
 [root@kuangshen home]# rmdir -p test1/test2/test3/test4

 

cp 複製檔案或目錄

-a:相當於 -pdr 的意思,至於 pdr 請參考下列說明;(常用)

-p:連同檔案的屬性一起復制過去,而非使用預設屬性(備份常用);

-d:若來源檔為連結檔的屬性(link file),則複製連結檔屬性而非檔案本身;

-r:遞迴持續複製,用於目錄的複製行為;(常用)

-f:為強制(force)的意思,若目標檔案已經存在且無法開啟,則移除後再嘗試一次;

-i:若目標檔(destination)已經存在時,在覆蓋時會先詢問動作的進行(常用)

-l:進行硬式連結(hard link)的連結檔建立,而非複製檔案本身。

-s:複製成為符號連結檔 (symbolic link),亦即『捷徑』檔案;

-u:若 destination 比 source 舊才升級 destination !

 # 複製 root目錄下的install.sh 到 home目錄下
 [root@kuangshen home]# cp /root/install.sh /home
 
 # 再次複製,加上-i引數,增加覆蓋詢問?
 [root@kuangshen home]# cp -i /root/install.sh /home
 cp: overwrite ‘/home/install.sh’? y # n不覆蓋,y為覆蓋

 

rm 移除檔案或目錄(這是一個非常危險的指令)

-f :就是 force 的意思,忽略不存在的檔案,不會出現警告資訊; (也就是強制刪除)

-i :互動模式,在刪除前會詢問使用者是否動作

-r :遞迴刪除啊!最常用在目錄的刪除了!這是非常危險的選項!!!

 rm -rf / # 可以聯合使用為
 # 儘量不要在伺服器上使用 rm -rf /(一旦使用,系統中的所有檔案就被刪除了,刪庫跑路就是這麼操作的)
 # 將剛剛在 cp 的例項中建立的 install.sh刪除掉!
 [root@kuangshen home]# rm -i install.sh
 rm: remove regular file ‘install.sh’? y
 
 # 如果加上 -i 的選項就會主動詢問,避免你刪除到錯誤的檔名!

 

mv 移動檔案與目錄,或修改名稱

語法:

 mv 被移動目錄名 移動到目錄名

-f :force 強制的意思,如果目標檔案已經存在,不會詢問而直接覆蓋;

-i :若目標檔案 (destination) 已經存在時,就會詢問是否覆蓋!

-u :若目標檔案已經存在,且 source 比較新,才會升級 (update)

 # 複製一個檔案到當前目錄
 [root@kuangshen home]# cp /root/install.sh /home
 
 # 建立一個資料夾 test
 [root@kuangshen home]# mkdir test
 
 # 將複製過來的檔案移動到我們建立的目錄,並檢視
 [root@kuangshen home]# mv install.sh test
 [root@kuangshen home]# ls
 test
 [root@kuangshen home]# cd test
 [root@kuangshen test]# ls
 install.sh
 # 將資料夾重新命名,然後再次檢視!
 [root@kuangshen test]# cd ..
 [root@kuangshen home]# mv test mvtest
 [root@kuangshen home]# ls
 mvtest