1. 程式人生 > >【Linux】必會! 常用又簡單的10個命令

【Linux】必會! 常用又簡單的10個命令

目錄

一、cp 複製檔案或目錄

二、mv 為檔案/目錄改名、或移動檔案/目錄的位置

三、rm 刪除一個檔案或目錄

四、ls 顯示指定目錄下的內容

五、touch 建立檔案和修改檔案或目錄的時間屬性

六、mkdir 建立目錄

七、su 與 su - 與sudo 切換使用者身份

八、alias 設定指令的別名

九、kill 刪除執行中的程式

十、其它命令--clear、who


一、cp 複製檔案或目錄

把一個、或多個原始檔、或源目錄複製到指定的檔案或目錄中

1、語法:cp [options] source dest

2、常用引數說明:

-f:覆蓋已經存在的目標檔案而不給出提示。

-i:與-f 選項相反,在覆蓋目標檔案之前給出提示,要求使用者確認是否覆蓋,回答"y"時目標檔案將被覆蓋。

-r,-R:若給出的原始檔是一個目錄檔案,此時將複製該目錄下所有的子目錄和檔案。

3、例項

(1)檔案a.txt------->b.txt(不存在的):

cp a.txt b.txt

結果是新建b.txt檔案,並把a.txt的內容複製到b.txt中。

(2)檔案a.txt------->b.txt(存在的):

cp a.txt b.txt

結果是用a.txt的內容覆蓋b.txt原有的內容。

但是,中間會提示:cp: overwrite ‘b.txt’? y

為什麼會提示呢?因為linux系統預設對cp命令做了別名alias cp='cp =i',若不想使用別名可使用\cp a.txt b.txt

(3)檔案a.txt------>目錄cptest:

cp a.txt cptest/

結果是在cptest目錄下建立同名同內容的a.txt。

(4)複製檔案a.txt,b.txt,c.txt到目錄cptest中:

cp a.txt b.txt c.txt cptest

結果是把a b c檔案同時複製到cptest目錄下。

注意:cp多個檔案時,檔案中間只能有一個空格!且目標必須存在且必須是目錄,其它均出錯!

(5)目錄dir1-------->目錄dir2

cp -r dir1 dir2

注意:複製目錄時,必須使用引數"-r"或者"-R"

(6)複製多個目錄dir1,dir2,dir3到dir4

cp -r dir1 dir2 dir3 dir4

注意:複製多目錄時,目標目錄必須存在,否則複製失敗!

(7)將當前目錄"test/"下的所有檔案複製到新目錄"newtest"下:

$ cp –r test/ newtest

 

二、mv 為檔案/目錄改名、或移動檔案/目錄的位置

mv [options] source dest

-i: 若指定目錄已有同名檔案,則先詢問是否覆蓋舊檔案;

-f: 要覆蓋某已有的目標檔案時不給任何指示,直接覆蓋。

命令格式

執行結果

mv 檔名 檔名

檔案改名,將原始檔名改為目標檔名

mv 檔名 目錄名

檔案移動,將檔案移動到目標目錄

mv 目錄名 目錄名

對目錄改名or移動;

目標目錄已存在,將移動到目標目錄;不存在則改名

mv 目錄名 檔名

出錯

 

 

 

 

 

 

三、rm 刪除一個檔案或目錄

-i 刪除前逐一詢問確認。

-f 強制刪除;即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。

-r 將目錄及以下之檔案亦逐一刪除,若刪除目錄則必須加-r

檔案一旦通過rm命令刪除,則無法恢復,所以必須格外小心地使用該命令!

 

四、ls 顯示指定目錄下的內容

ls 預設只顯示當前目錄下的所有檔案或目錄的名稱

ls -l 在linux中預設被設定為別名 ll,除檔名稱外,也列出檔案型別、許可權、大小等詳細資訊

ls -t 按檔案建立時間先後次序列出,新檔案在前

ls -a 把隱藏檔案和目錄也顯示出來

ls -R 把目錄下的子目錄中的檔案或子子目錄內容全部都顯示出來

 

五、touch 建立檔案和修改檔案或目錄的時間屬性

1、語法:touch [options] filename

2、touch filename 當檔案filename不存在時,會建立一個空白檔案

3、touch file1/dir1 當檔案或目錄存在時,修改它們的時間屬性為當前系統時間

     (可通過ll 命令來檢視檔案/目錄的時間屬性)

4、也可以帶引數,修改檔案或目錄的最近訪問時間、修改時間等等

 

六、mkdir 建立目錄

1、命令格式:mkdir 【選項】【檔名】

2、命令引數

  使用幫助命令:man mkdir或mkdir -help

  -m --mode=模式,設定許可權<模式> (類似 chmod)

  -p --parents 遞迴建立目錄

  -v, --verbose 每次建立新目錄都顯示資訊

3、命令例項

建立一個空目錄abc:mkdir abc

遞迴建立多個目錄:mkdir -p test/test1/test2

建立目錄時顯示日誌資訊:mkdir -v test3

建立許可權為777的目錄:mkdir -m 777 hao

 

七、su 與 su - 與sudo 切換使用者身份

用於變更為其它使用者的身份,除 root 外,需要鍵入該使用者的密碼。

1、su app

從當前使用者切換到app使用者,但是還在當前使用者的目錄下,即沒有改變使用者的環境。

2、su - root

從當前使用者切換到root使用者,並且轉到root使用者的家目錄下,即改變到了root使用者的環境。

3、sudo 執行命令

   管理員授權一些普通使用者去執行一些root執行的操作,而不需要知道root密碼。

   sudo vim /etc/group,在該檔案的 sudo 組中加入新的授權使用者,多個使用者間使用逗號分隔,從而使新使用者具有sudo許可權。

    在 /etc/sudoers 檔案中配置安全策略(授權使用者可以做什麼,不可以做什麼),在配置行中新增NOPASSWD,去掉密碼驗證: ALL=(ALL) NOPASSWD: ALL

 

八、alias 設定指令的別名

alias [別名]=[指令名稱]

alias 別名:顯示出別名代表的指令

alias 若不加任何引數,則列出目前所有的別名設定。

若要每次登入是即自動設好別名,可在.profile或.cshrc中設定指令的別名

 

unalias命令用於刪除別名

unalias [-a][別名]

unalias 別名----刪除指定別名

unalias -a 刪除全部別名,慎用!

 

九、kill 刪除執行中的程式

1、殺死指定pid的程序

kill 12345

2、強制殺死程序

kill -KILL 12345

3、徹底殺死程序

kill -9 12345

 

十、其它命令--clear、who

1、clear:清除螢幕,沒有引數

2、who:顯示系統中有哪些使用者正在上面,不帶引數即可;

               who -H 顯示出各列的標題資訊。