最全linux命令
cd命令:
cd dirName --- dirName指切換的目錄目標
cd /usr/bin --- 跳到usr/bin的目錄下
cd~ --- 跳到自己的home目錄下
cd .. --- 返回上級目錄 cd ../.. 返回上上級
pwd命令:可以得到您目前所有工作目錄的絕對路勁名稱
ls命令:
ls --- 列出根目錄下的所有目錄
ls -a --- 顯示所有檔案及目錄(包括.開頭的隱藏檔案也會列出)
ll命令:和ls差不多
cp命令:主要用於複製檔案或目錄。
語法:cp 引數source dest
- -a:此選項通常在複製目錄時使用,它保留連結、檔案屬性,並複製目錄下的所有內容。其作用等於dpR引數組合。
- -d:複製時保留連結。這裡所說的連結相當於Windows系統中的快捷方式。
- -f:覆蓋已經存在的目標檔案而不給出提示。
- -i:與-f選項相反,在覆蓋目標檔案之前給出提示,要求使用者確認是否覆蓋,回答"y"時目標檔案將被覆蓋。
- -p:除複製檔案的內容外,還把修改時間和訪問許可權也複製到新檔案中。
- -r:若給出的原始檔是一個目錄檔案,此時將複製該目錄下所有的子目錄和檔案。
- -l:不復制檔案,只是生成連結檔案。
eg:$ cp –r test/ newtest ---將當前目錄test/下的所有檔案複製到新目錄newtest下
mv命令:用來為檔案或目錄改名、或將檔案或目錄移入其它位置
語法:mv [options] source dest
mv [options] source... directory
引數說明:
-
- -b: 當目標檔案或目錄存在時,在執行覆蓋前,會為其建立一個備份。
- -i: 如果指定移動的源目錄或檔案與目標的目錄或檔案同名,則會先詢問是否覆蓋舊檔案,輸入 y 表示直接覆蓋,輸入 n 表示取消該操作。
- -f: 如果指定移動的源目錄或檔案與目標的目錄或檔案同名,不會詢問,直接覆蓋舊檔案。
- -n: 不要覆蓋任何已存在的檔案或目錄。
- -u:當原始檔比目標檔案新或者目標檔案不存在時,才執行移動操作。
命令格式 | 執行結果 |
---|---|
mv source_file(檔案) dest_file(檔案)
|
將原始檔名 source_file 改為目標檔名 dest_file |
mv source_file(檔案) dest_directory(目錄)
|
將檔案 source_file 移動到目標目錄 dest_directory 中 |
mv source_directory(目錄) dest_directory(目錄)
|
目錄名 dest_directory 已存在,將 source_directory 移動到目錄名 dest_directory 中;目錄名 dest_directory 不存在則 source_directory 改名為目錄名 dest_directory |
mv source_directory(目錄) dest_file(檔案)
|
出錯 |
more命令:
more 命令類似 cat ,不過會以一頁一頁的形式顯示,更方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明檔案,請按 h 。
more -s testfile ---逐頁顯示 testfile 文件內容,如有連續兩行以上空白行則以一行空白行顯示。
more +20 testfile ---從第 20 行開始顯示 testfile 之文件內容。
less命令:與 more 類似,但使用 less 可以隨意瀏覽檔案,而 more 僅能向前移動,卻不能向後移動,而且 less 在檢視之前不會載入整個檔案。
less log2013.log --- 檢視檔案
less log2013.log log2014.log ---瀏覽多個檔案
head命令:可用於檢視檔案的開頭部分的內容,有一個常用的引數-n用於顯示行數,預設為 10,即顯示 10 行的內容。
head [引數] [檔案]
引數:
- -q 隱藏檔名
- -v 顯示檔名
- -c<數目> 顯示的位元組數。
- -n<行數> 顯示的行數。
例項
要顯示 runoob_notes.log 檔案的開頭 10 行,請輸入以下命令:
head runoob_notes.log
顯示 notes.log 檔案的開頭 5 行,請輸入以下命令:
head -n 5 runoob_notes.log
顯示檔案前 20 個位元組:
head -c 20 runoob_notes.log
tail命令:命令可用於檢視檔案的內容,有一個常用的引數-f常用於查閱正在改變的日誌檔案。
tail -f filename會把 filename 檔案裡的最尾部的內容顯示在螢幕上,並且不斷重新整理,只要 filename 更新就可以看到最新的檔案內容。
命令格式:
tail [引數] [檔案]
例項
要顯示 notes.log 檔案的最後 10 行,請輸入以下命令:
tail notes.log
要跟蹤名為 notes.log 的檔案的增長情況,請輸入以下命令:
tail -f notes.log
此命令顯示 notes.log 檔案的最後 10 行。當將某些行新增至 notes.log 檔案時,tail 命令會繼續顯示這些行。 顯示一直繼續,直到您按下(Ctrl-C)組合鍵停止顯示。
顯示檔案 notes.log 的內容,從第 20 行至檔案末尾:
tail -n +20 notes.log
顯示檔案 notes.log 的最後 10 個字元:
tail -c 10 notes.log
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 *
檔案一旦通過rm命令刪除,則無法恢復,所以必須格外小心地使用該命令。
date命令:可以用來顯示或設定系統的日期與時間,在顯示方面,使用者可以設定欲顯示的格式,格式設定為一個加號後接數個標記,其中可用的標記列表如下:
例項
顯示當前時間
# date
三 5月 12 14:08:12 CST 2010
# date '+%c'
2010年05月12日 星期三 14時09分02秒
# date '+%D' //顯示完整的時間
05/12/10
# date '+%x' //顯示數字日期,年份兩位數表示
2010年05月12日
# date '+%T' //顯示日期,年份用四位數表示
14:09:31
# date '+%X' //顯示24小時的格式
14時09分39秒
rz命令:使用ZMODEM協議,將本地檔案批量上傳到遠端Linux/Unix伺服器,注意不能上傳資料夾。
rz [選項]
選項說明:
-+, --append:將檔案內容追加到已存在的同名檔案
-a,--ascii:以文字方式傳輸
-b, --binary:以二進位制方式傳輸,推薦使用
--delay-startup N:等待N秒
-e, --escape:對所有控制字元轉義,建議使用
-E, --rename:已存在同名檔案則重新命名新上傳的檔案,以點和數字作為字尾
-p, --protect:對ZMODEM協議有效,如果目標檔案已存在則跳過 -
q, --quiet:安靜執行,不輸出提示資訊
-v, --verbose:輸出傳輸過程中的提示資訊
-y, --overwrite:存在同名檔案則替換
-X, --xmodem:使用XMODEM協議
--ymodem:使用YMODEM協議
-Z, --zmodem:使用ZMODEM協議
--version:顯示版本資訊
--h, --help:顯示幫助資訊
sz命令:通過ZMODEM協議,可將多個檔案從遠端伺服器下載到本地。注意不能下載資料夾,如果下載資料夾,請先打包再下載
格式:
rz [選項] [filelist]
命令選項基本與rz相同,請參考上文rz的命令選項或者sz的manual,或者執行命令sz -h檢視。
常用示例
1 下載多個檔案
sz file1 file2 file3
Linux 不能使用rz/sz 命令?
有的機器可能不能使用 rz/sz 命令,這個時候我們就需要安裝 lrzsz
執行以下命令:
yum install lrzsz -y
tar命令:是用來建立,還原備份檔案的工具程式,它可以加入,解開備份檔案內的檔案。
壓縮檔案 非打包
# touch a.c
# tar -czvf test.tar.gz a.c //壓縮 a.c檔案為test.tar.gz
a.c
列出壓縮檔案內容
# tar -tzvf test.tar.gz
-rw-r--r-- root/root 0 2010-05-24 16:51:59 a.c
解壓檔案
# tar -xzvf test.tar.gz
a.c
zip命令:用於壓縮檔案。
引數:
- -b<工作目錄> 指定暫時存放檔案的目錄。
- -d 從壓縮檔案內刪除指定的檔案。
- -D 壓縮檔案內不建立目錄名稱。
- -f 更新現有的檔案。
- -F 嘗試修復已損壞的壓縮檔案。
- -g 將檔案壓縮後附加在既有的壓縮檔案之後,而非另行建立新的壓縮檔案。
- -J 刪除壓縮檔案前面不必要的資料。
- -m 將檔案壓縮並加入壓縮檔案後,刪除原始檔案,即把檔案移到壓縮檔案中。
- -n<字尾字串> 不壓縮具有特定字尾字串的檔案。
- -o 以壓縮檔案內擁有最新更改時間的檔案為準,將壓縮檔案的更改時間設成和該檔案相同。
- -q 不顯示指令執行過程。
- -r 遞迴處理,將指定目錄下的所有檔案和子目錄一併處理。
- -S 包含系統和隱藏檔案。
- -u 與 -f 引數類似,但是除了更新現有的檔案外,也會將壓縮檔案中的其他檔案解壓縮到目錄中。
- -z 替壓縮檔案加上註釋。
例項
將 /home/html/ 這個目錄下所有檔案和資料夾打包為當前目錄下的 html.zip:
zip -q -r html.zip /home/html
如果在我們在 /home/html 目錄下,可以執行以下命令:
zip -q -r html.zip *
從壓縮檔案 cp.zip 中刪除檔案 a.c
zip -dv cp.zip a.c
unzip命令:用於解壓縮zip檔案
引數:
- -c 將解壓縮的結果顯示到螢幕上,並對字元做適當的轉換。
- -f 更新現有的檔案。
- -l 顯示壓縮檔案內所包含的檔案。
- -p 與-c引數類似,會將解壓縮的結果顯示到螢幕上,但不會執行任何的轉換。
- -t 檢查壓縮檔案是否正確。
- -u 與-f引數類似,但是除了更新現有的檔案外,也會將壓縮檔案中的其他檔案解壓縮到目錄中。
- -v 執行是時顯示詳細的資訊。
- -z 僅顯示壓縮檔案的備註文字。
- -a 對文字檔案進行必要的字元轉換。
- -b 不要對文字檔案進行字元轉換。
- -C 壓縮檔案中的檔名稱區分大小寫。
- -j 不處理壓縮檔案中原有的目錄路徑。
- -L 將壓縮檔案中的全部檔名改為小寫。
- -M 將輸出結果送到more程式處理。
- -n 解壓縮時不要覆蓋原有的檔案。
- -o 不必先詢問使用者,unzip執行後覆蓋原有檔案。
- -P<密碼> 使用zip的密碼選項。
- -q 執行時不顯示任何資訊。
- -s 將檔名中的空白字元轉換為底線字元。
- -V 保留VMS的檔案版本資訊。
- -X 解壓縮時同時回存檔案原來的UID/GID。
- [.zip檔案] 指定.zip壓縮檔案。
- [檔案] 指定要處理.zip壓縮檔案中的哪些檔案。
- -d<目錄> 指定檔案解壓縮後所要儲存的目錄。
- -x<檔案> 指定不要處理.zip壓縮檔案中的哪些檔案。
- -Z unzip -Z等於執行zipinfo指令。
例項
檢視壓縮檔案中包含的檔案:
# unzip -l abc.zip
Archive: abc.zip
Length Date Time Name
-------- ---- ---- ----
94618 05-21-10 20:44 a11.jpg
202001 05-21-10 20:44 a22.jpg
16 05-22-10 15:01 11.txt
46468 05-23-10 10:30 w456.JPG
140085 03-14-10 21:49 my.asp
-------- -------
483188 5 files
-v 引數用於檢視壓縮檔案目錄資訊,但是不解壓該檔案。
# unzip -v abc.zip
Archive: abc.zip
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
94618 Defl:N 93353 1% 05-21-10 20:44 9e661437 a11.jpg
202001 Defl:N 201833 0% 05-21-10 20:44 1da462eb a22.jpg
16 Stored 16 0% 05-22-10 15:01 ae8a9910 ? +-|¥+-? (11).txt
46468 Defl:N 39997 14% 05-23-10 10:30 962861f2 w456.JPG
140085 Defl:N 36765 74% 03-14-10 21:49 836fcc3f my.asp
-------- ------- --- -------
483188 371964 23% 5 files
ps命令:命令用於顯示當前程序的狀態,類似於 windows 的工作管理員。
語法
ps [options] [--help]
引數:
- ps 的引數非常多, 在此僅列出幾個常用的引數並大略介紹含義
- -A 列出所有的程序
- -w 顯示加寬可以顯示較多的資訊
- -au 顯示較詳細的資訊
- -aux 顯示所有包含其他使用者的行程
- au(x) 輸出格式 :
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- USER: 行程擁有者
- PID: pid
- %CPU: 佔用的 CPU 使用率
- %MEM: 佔用的記憶體使用率
- VSZ: 佔用的虛擬記憶體大小
- RSS: 佔用的記憶體大小
- TTY: 終端的次要裝置號碼 (minor device number of tty)
- STAT: 該行程的狀態:
- D: 無法中斷的休眠狀態 (通常 IO 的程序)
- R: 正在執行中
- S: 靜止狀態
- T: 暫停執行
- Z: 不存在但暫時無法消除
- W: 沒有足夠的記憶體分頁可分配
- <: 高優先序的行程
- N: 低優先序的行程
- L: 有記憶體分頁分配並鎖在記憶體內 (實時系統或捱A I/O)
- START: 行程開始時間
- TIME: 執行的時間
- COMMAND:所執行的指令
例項
# ps -A 顯示程序資訊
PID TTY TIME CMD
1 ? 00:00:02 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
6 ? 00:00:00 events/0
7 ? 00:00:00 cpuset
8 ? 00:00:00 khelper
9 ? 00:00:00 netns
10 ? 00:00:00 async/mgr
11 ? 00:00:00 pm
12 ? 00:00:00 sync_supers
13 ? 00:00:00 bdi-default
14 ? 00:00:00 kintegrityd/0
15 ? 00:00:02 kblockd/0
16 ? 00:00:00 kacpid
17 ? 00:00:00 kacpi_notify
18 ? 00:00:00 kacpi_hotplug
19 ? 00:00:27 ata/0
……省略部分結果
30749 pts/0 00:00:15 gedit
30886 ? 00:01:10 qtcreator.bin
30894 ?