常用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
