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