【Linux基礎】常用Linux命令: cd, cp, ls, mkdir, mv, rm, su, uname

wuliytTaotao發表於2018-08-03

常用Linux命令:cd, cp, ls, mkdir, mv, rm, su, uname

 

cd命令:切換當前工作目錄至 dirName(目錄引數)

其中 dirName 可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home 目錄 (也就是剛 login 時所在的目錄)。

另外,"~" 也表示為 home 目錄的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。

cd [dirName]

引數:

  • dirName:要切換的目標目錄。

例項:

  跳到 /usr/bin/ :

cd /usr/bin

  跳到自己的 home 目錄:

cd ~

  跳到目前目錄的上上兩層:

cd ../..

 

 

cp命令:複製檔案或目錄

cp [options] source dest

引數說明:

  • -a:此選項通常在複製目錄時使用,它保留連結、檔案屬性,並複製目錄下的所有內容。其作用等於dpR引數組合。
  • -d:複製時保留連結。這裡所說的連結相當於Windows系統中的快捷方式。
  • -f:覆蓋已經存在的目標檔案而不給出提示。
  • -i:與-f選項相反,在覆蓋目標檔案之前給出提示,要求使用者確認是否覆蓋,回答"y"時目標檔案將被覆蓋。
  • -p:除複製檔案的內容外,還把修改時間和訪問許可權也複製到新檔案中。
  • -r:若給出的原始檔是一個目錄檔案,此時將複製該目錄下所有的子目錄和檔案。
  • -l:不復制檔案,只是生成連結檔案

例項:

  使用指令"cp"將當前目錄"test/"下的所有檔案複製到新目錄"newtest"下,輸入如下命令:

cp –r test/ newtest

 

 

ls命令:列出目前工作目錄所含的檔案和子目錄

 ls [-alrtAFR] [name]

引數 :

  • -a 顯示所有檔案及目錄 (ls內定將檔名或目錄名稱開頭為"."的視為隱藏檔,不會列出)
  • -l 除檔名稱外,亦將檔案型態、許可權、擁有者、檔案大小等資訊詳細列出
  • -r 將檔案以相反次序顯示(原定依英文字母次序)
  • -t 將檔案依建立時間之先後次序列出
  • -A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
  • -F 在列出的檔名稱後加一符號;例如可執行檔則加 "*", 目錄則加 "/"
  • -R 若目錄下有檔案,則以下之檔案亦皆依序列出

例項:

  列出根目錄(/)下的所有目錄:

ls /

  將 /bin 目錄以下所有目錄及檔案詳細資料列出 :

ls -lR /bin

 

 

mkdir命令:建立資料夾

mkdir [-p] dirName

引數說明:

  • -p 確保目錄名稱存在,不存在的就建一個。

例項:

  在工作目錄下,建立一個名為 taotao 的子目錄 :

mkdir taotao

  在工作目錄下的 taotao 目錄中,建立一個名為 data 的子目錄。若 taotao 目錄原本不存在,則建立一個。(注:本例若不加 -p,且原本 taotao 目錄不存在,則產生錯誤。)

mkdir -p taotao/data

 

 

mv命令:用來為檔案或目錄改名、或將檔案或目錄移入其它位置

mv [options] source dest
mv [options] source directory

引數說明:

  • -i: 若指定目錄已有同名檔案,則先詢問是否覆蓋舊檔案;
  • -f: 在mv操作要覆蓋某已有的目標檔案時不給任何指示;

  mv引數設定與執行結果

命令格式 執行結果
mv 檔名 檔名 將原始檔改為目標檔名
mv 檔名 目錄名 將檔案移動到目標目錄
mv 目錄名 目錄名

目標目錄已存在,將源目錄移動到目標目錄;

目標目錄不存在則改名

mv 目錄名 檔名 出錯

例項:

  將檔案 taotao.txt 更名為 wulitaotao.txt : 

mv taotao.txt wulitaotao.txt

  將info目錄放入logs目錄中。注意,如果logs目錄不存在,則該命令將info改名為logs。

mv info/ logs

  再如將/usr/student下的所有檔案和目錄移到當前目錄下,命令列為:

mv /usr/student/*  .

 

 

rm命令:刪除一個檔案或者目錄

rm [options] name

引數:

  • -i 刪除前逐一詢問確認。
  • -f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。
  • -r 將目錄及以下之檔案亦逐一刪除。

例項:

  刪除檔案可以直接使用rm命令,若刪除目錄則必須配合選項"-r",例如:

# rm  test.txt 
rm:是否刪除 一般檔案 "test.txt"? y  
# rm  homework  
rm: 無法刪除目錄"homework": 是一個目錄  
# rm  -r  homework  
rm:是否刪除 目錄 "homework"? y 

  刪除當前目錄下的所有檔案及目錄,命令列為:

rm  -r  * 

 

 

su命令:用於變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼

su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

引數說明:

  • -f 或 --fast 不必讀啟動檔(如 csh.cshrc 等),僅用於 csh 或 tcsh
  • -m -p 或 --preserve-environment 執行 su 時不改變環境變數
  • -c command 或 --command=command 變更為帳號為 USER 的使用者並執行指令(command)後再變回原來使用者
  • -s shell 或 --shell=shell 指定要執行的 shell (bash csh tcsh 等),預設值為 /etc/passwd 內的該使用者(USER) shell
  • --help 顯示說明檔案
  • --version 顯示版本資訊
  • - -l 或 --login 這個引數加了之後,就好像是重新 login 為該使用者一樣,大部份環境變數(HOME SHELL USER等等)都是以該使用者(USER)為主,並且工作目錄也會改變,如果沒有指定 USER ,內定是 root
  • USER 欲變更的使用者帳號
  • ARG 傳入新的 shell 引數

例項:

  變更帳號為 root 並在執行 ls 指令後退出變回原使用者

su -c ls root

  變更帳號為 root 並傳入 -f 引數給新執行的 shell

su root -f

  變更帳號為 clsung 並改變工作目錄至 clsung 的家目錄(home dir)

su - clsung

  切換使用者

hnlinux@w3cschool.cc:~$ whoami //顯示當前使用者
hnlinux
hnlinux@w3cschool.cc:~$ pwd //顯示當前目錄
/home/hnlinux
hnlinux@w3cschool.cc:~$ su root //切換到root使用者
密碼: 
root@w3cschool.cc:/home/hnlinux# whoami 
root
root@w3cschool.cc:/home/hnlinux# pwd
/home/hnlinux

  切換使用者,改變環境變數

hnlinux@w3cschool.cc:~$ whoami //顯示當前使用者
hnlinux
hnlinux@w3cschool.cc:~$ pwd //顯示當前目錄
/home/hnlinux
hnlinux@w3cschool.cc:~$ su - root //切換到root使用者
密碼: 
root@w3cschool.cc:/home/hnlinux# whoami 
root
root@w3cschool.cc:/home/hnlinux# pwd //顯示當前目錄
/root

 

 

uname命令:用於顯示系統資訊

uname [-amnrsv][--help][--version]

引數說明:

  • -a或--all  顯示全部的資訊。
  • -m或--machine  顯示電腦型別。
  • -n或-nodename  顯示在網路上的主機名稱。
  • -r或--release  顯示作業系統的發行編號。
  • -s或--sysname  顯示作業系統名稱。
  • -v  顯示作業系統的版本。
  • --help  顯示幫助。
  • --version  顯示版本資訊。

例項:

  顯示系統資訊:

# uname -a
Linux snail-hnlinux 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010 i686 GNU/Linux

  顯示計算機型別:

# uname -m
i686

  顯示計算機名:

# uname -n
snail-hnlinux

  顯示作業系統發行編號:

# uname -r
2.6.32-21-generic

  顯示作業系統名稱:

# uname -s
Linux

  顯示系統時間:

# uname -v
#32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2014

 

 

 

References

菜鳥教程:Linux命令大全 

 

相關文章