『壹』 linux lsof命令詳解
lsof(list open files)是一個列出當前系統打開文件的工具。在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問網路連接和硬體。所以如傳輸控制協議 (TCP) 和用戶數據報協議 (UDP) 套接字等,系統在後台都為該應用程序分配了一個文件描述符,無論這個文件的本質如何,該文件描述符為應用程序與基礎操作系統之間的交互提供了通用介面。因為應用程序打開文件的描述符列表提供了大量關於這個應用程序本身的信息,因此通過lsof工具能夠查看這個列表對系統監測以及排錯將是很有幫助的。
在終端下輸入lsof即可顯示系統打開的文件,因為 lsof 需要訪問核心內存和各種文件,所以必須以 root 用戶的身份運行它才能夠充分地發揮其功能。
直接輸入lsof部分輸出為:
每行顯示一個打開的文件,若不指定條件默認將顯示所有進程打開的所有文件。
lsof輸出各列信息的意義如下:
COMMAND:進程的名稱 PID:進程標識符
USER:進程所有者
FD:文件描述符,應用程序通過文件描述符識別該文件。如cwd、txt等 TYPE:文件類型,如孫培晌DIR、REG等
DEVICE:指定磁碟的名稱
SIZE:文件的大小
NODE:索引節點中大(文件在磁碟上的標識)
NAME:打開文件的確切名稱
FD 列中的文件描述符cwd 值表示應用程序的當前工作目錄,這是該應用程序啟動的目錄,除非它本身對這個目錄進行更改,txt 類型的文件是程序代碼,如應用程序二進制文件本身或共享庫,如上列表中顯示的 /sbin/init 程序。
其次數值表示應用程序的文件描述符,這是打開該文件時返回的一個整數。如上的最後一行文件/dev/initctl,其文件描述符為 10。u 表示該文件被打開並處於讀取/寫入模式,而不是只讀 或只寫 (w) 模式。同時還有大寫 的W 表示該應用程序具有對整個文件的寫鎖。該文件描述符用於確保每次只能打開一個應用程序實例。初始打開每個應用程序時,都具有三個文件描述符,從 0 到 2,分別表示標准輸入、輸出和錯誤流。所以大多數應用程序所打開的文件的 FD 都是從 3 開始。
與 FD 列相比,Type 列則比較直觀。文件和則鋒目錄分別稱為 REG 和 DIR。而CHR 和 BLK,分別表示字元和塊設備;或者 UNIX、FIFO 和 IPv4,分別表示 UNIX 域套接字、先進先出 (FIFO) 隊列和網際協議 (IP) 套接字。
lsof語法格式是: lsof [options] filename
查找誰在使用文件系統
在卸載文件系統時,如果該文件系統中有任何打開的文件,操作通常將會失敗。那麼通過lsof可以找出那些進程在使用當前要卸載的文件系統,如下: # lsof /GTES11/ COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME bash 4208 root cwd DIR 3,1 4096 2 /GTES11/ vim 4230 root cwd DIR 3,1 4096 2 /GTES11/ 在這個示例中,用戶root正在其/GTES11目錄中進行一些操作。一個 bash是實例正在運行,並且它當前的目錄為/GTES11,另一個則顯示的是vim正在編輯/GTES11下的文件。要成功地卸載/GTES11,應該在通知用戶以確保情況正常之後,中止這些進程。 這個示例說明了應用程序的當前工作目錄非常重要,因為它仍保持著文件資源,並且可以防止文件系統被卸載。這就是為什麼大部分守護進程(後台進程)將它們的目錄更改為根目錄、或服務特定的目錄(如 sendmail 示例中的 /var/spool/mqueue)的原因,以避免該守護進程阻止卸載不相關的文件系統。
恢復刪除的文件
當Linux計算機受到入侵時,常見的情況是日誌文件被刪除,以掩蓋攻擊者的蹤跡。管理錯誤也可能導致意外刪除重要的文件,比如在清理舊日誌時,意外地刪除了資料庫的活動事務日誌。有時可以通過lsof來恢復這些文件。 當進程打開了某個文件時,只要該進程保持打開該文件,即使將其刪除,它依然存在於磁碟中。這意味著,進程並不知道文件已經被刪除,它仍然可以向打開該文件時提供給它的文件描述符進行讀取和寫入。除了該進程之外,這個文件是不可見的,因為已經刪除了其相應的目錄索引節點。 在/proc 目錄下,其中包含了反映內核和進程樹的各種文件。/proc目錄掛載的是在內存中所映射的一塊區域,所以這些文件和目錄並不存在於磁碟中,因此當我們對這些文件進行讀取和寫入時,實際上是在從內存中獲取相關信息。大多數與 lsof 相關的信息都存儲於以進程的 PID 命名的目錄中,即 /proc/1234 中包含的是 PID 為 1234 的進程的信息。每個進程目錄中存在著各種文件,它們可以使得應用程序簡單地了解進程的內存空間、文件描述符列表、指向磁碟上的文件的符號鏈接和其他系統信息。lsof 程序使用該信息和其他關於內核內部狀態的信息來產生其輸出。所以lsof 可以顯示進程的文件描述符和相關的文件名等信息。也就是我們通過訪問進程的文件描述符可以找到該文件的相關信息。 當系統中的某個文件被意外地刪除了,只要這個時候系統中還有進程正在訪問該文件,那麼我們就可以通過lsof從/proc目錄下恢復該文件的內容。 假如由於誤操作將/var/log/messages文件刪除掉了,那麼這時要將/var/log/messages文件恢復的方法如下: 首先使用lsof來查看當前是否有進程打開/var/logmessages文件,如下: # lsof |grep /var/log/messages syslogd 1283 root 2w REG 3,3 5381017 1773647 /var/log/messages (deleted) 從上面的信息可以看到 PID 1283(syslogd)打開文件的文件描述符為 2。同時還可以看到/var/log/messages已經標記被刪除了。因此我們可以在 /proc/1283/fd/2 (fd下的每個以數字命名的文件表示進程對應的文件描述符)中查看相應的信息,如下: # head -n 10 /proc/1283/fd/2 Aug 4 13:50:15 holmes86 syslogd 1.4.1: restart. Aug 4 13:50:15 holmes86 kernel: klogd 1.4.1, log source = /proc/kmsg started. Aug 4 13:50:15 holmes86 kernel: Linux version 2.6.22.1-8 ([email protected]) (gcc version 4.2.0) #1 SMP Wed Jul 18 11:18:32 EDT 2007 Aug 4 13:50:15 holmes86 kernel: BIOS-provided physical RAM map: Aug 4 13:50:15 holmes86 kernel: BIOS-e820: 0000000000000000 - 000000000009f000 (usable) Aug 4 13:50:15 holmes86 kernel: BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved) Aug 4 13:50:15 holmes86 kernel: BIOS-e820: 0000000000100000 - 000000001f7d3800 (usable) Aug 4 13:50:15 holmes86 kernel: BIOS-e820: 000000001f7d3800 - 0000000020000000 (reserved) Aug 4 13:50:15 holmes86 kernel: BIOS-e820: 00000000e0000000 - 00000000f0007000 (reserved) Aug 4 13:50:15 holmes86 kernel: BIOS-e820: 00000000f0008000 - 00000000f000c000 (reserved) 從上面的信息可以看出,查看 /proc/8663/fd/15 就可以得到所要恢復的數據。如果可以通過文件描述符查看相應的數據,那麼就可以使用 I/O 重定向將其復制到文件中,如: cat /proc/1283/fd/2 > /var/log/messages 對於許多應用程序,尤其是日誌文件和資料庫,這種恢復刪除文件的方法非常有用。
可以列出被 進程 所 打開 的 文件 的信息。被打開的文件可以是
1.普通的文件,2.目錄 3.網路文件系統的文件,4.字元設備文件 5.(函數)共享庫 6.管道,命名管道 7.符號鏈接
8.底層的socket字流,網路socket, unix 域名socket
9.在 linux 裡面,大部分的東西都是被當做文件的…..還有其他很多
怎樣使用lsof
這里主要用案例的形式來介紹lsof 命令的 使用
1.列出所有打開的文件:
lsof
備注: 如果不加任何參數,就會打開所有被打開的文件,建議加上一下參數來具體定位
2. 查看 誰正在使用某個文件
lsof /filepath/file
3.遞歸查看某個目錄的文件信息
lsof +D /filepath/filepath2/
備注: 使用了+D,對應目錄下的所有子目錄和文件都會被列出
4. 比使用+D選項,遍歷查看某個目錄的所有文件信息 的方法
lsof | grep 『/filepath/filepath2/』
5. 列出某個用戶打開的文件信息
lsof -u username
備注: -u 選項,u其實是user的縮寫
6. 列出某個程序所打開的文件信息
lsof -c mysql
備注: -c 選項將會列出所有以mysql開頭的程序的文件,其實你也可以寫成 lsof | grep mysql, 但是第一種方法明顯比第二種方法要少打幾個字元了
7. 列出多個程序多打開的文件信息
lsof -c mysql -c apache
8. 列出某個用戶以及某個程序所打開的文件信息
lsof -u test -c mysql
9. 列出除了某個用戶外的被打開的文件信息
lsof -u ^root
備註:^這個符號在用戶名之前,將會把是root用戶打開的進程不讓顯示
10. 通過某個進程號顯示該進行打開的文件
lsof -p 1
11. 列出多個進程號對應的文件信息
lsof -p 123,456,789
12. 列出除了某個進程號,其他進程號所打開的文件信息
lsof -p ^1
13 . 列出所有的網路連接
lsof -i
14. 列出所有tcp 網路連接信息
lsof -i tcp
15. 列出所有udp網路連接信息
lsof -i udp
16. 列出誰在使用某個埠
lsof -i :3306
17. 列出誰在使用某個特定的udp埠
lsof -i udp:55
特定的tcp埠
lsof -i tcp:80
18. 列出某個用戶的所有活躍的網路埠
lsof -a -u test -i
19. 列出所有網路文件系統
lsof -N
20.域名socket文件
lsof -u
21.某個用戶組所打開的文件信息
lsof -g 5555
22. 根據文件描述列出對應的文件信息
lsof -d description(like 2)
23. 根據文件描述范圍列出文件信息
lsof -d 2-3
實用命令
『貳』 linux涓璯rep鍛戒護鐨勪嬌鐢
1銆乴inux緋葷粺涓璯rep鍛戒護鏄涓縐嶅己澶х殑鏂囨湰鎼滅儲宸ュ叿錛屽畠鑳戒嬌鐢ㄦe垯琛ㄨ揪寮忔悳緔㈡枃鏈錛屽苟鎶婂尮閰嶇殑琛屾墦鍗板嚭鏉ャ倈rep鍏ㄧО鏄疓lobal Regular Expression Print錛岃〃紺哄叏灞姝e垯琛ㄨ揪寮忕増鏈錛屽畠鐨勪嬌鐢ㄦ潈闄愭槸鎵鏈夌敤鎴楓
2銆佹牸寮
grep[options]
3銆佷富瑕佸弬鏁
[options]涓昏佸弬鏁幫細
錛峜錛氬彧杈撳嚭鍖歸厤琛岀殑璁℃暟銆
錛岻錛氫笉鍖哄垎澶у皬鍐(鍙閫傜敤浜庡崟瀛楃)銆
錛峢錛氭煡璇㈠氭枃浠舵椂涓嶆樉紺烘枃浠跺悕銆
錛峫錛氭煡璇㈠氭枃浠舵椂鍙杈撳嚭鍖呭惈鍖歸厤瀛楃︾殑鏂囦歡鍚嶃
錛峮錛氭樉紺哄尮閰嶈屽強琛屽彿銆
錛峴錛氫笉鏄劇ず涓嶅瓨鍦ㄦ垨鏃犲尮閰嶆枃鏈鐨勯敊璇淇℃伅銆
錛峷錛氭樉紺轟笉鍖呭惈鍖歸厤鏂囨湰鐨勬墍鏈夎屻
pattern姝e垯琛ㄨ揪寮忎富瑕佸弬鏁幫細
\錛氬拷鐣ユe垯琛ㄨ揪寮忎腑鐗規畩瀛楃︾殑鍘熸湁鍚涔夈
^錛氬尮閰嶆e垯琛ㄨ揪寮忕殑寮濮嬭屻
$: 鍖歸厤姝e垯琛ㄨ揪寮忕殑緇撴潫琛屻
\<錛氫粠鍖歸厤姝e垯琛ㄨ揪寮忕殑琛屽紑濮嬨
\>錛氬埌鍖歸厤姝e垯琛ㄨ揪寮忕殑琛岀粨鏉熴
[ ]錛氬崟涓瀛楃︼紝濡俒A]鍗矨絎﹀悎瑕佹眰銆
[ - ]錛氳寖鍥達紝濡俒A-Z]錛屽嵆A銆丅銆丆涓鐩村埌Z閮界﹀悎瑕佹眰銆
銆傦細鎵鏈夌殑鍗曚釜瀛楃︺
* 錛氭湁瀛楃︼紝闀垮害鍙浠ヤ負0銆
4銆乬rep鍛戒護浣跨敤綆鍗曞疄渚嬶細
$ grep 鈥榯est鈥檇*
鏄劇ず鎵鏈変互d寮澶寸殑鏂囦歡涓鍖呭惈test鐨勮屻
$ grep 鈥榯est鈥檃a bb cc
鏄劇ず鍦╝a錛宐b錛宑c鏂囦歡涓鍖歸厤test鐨勮屻
$ grep鈥榌a-z]\{5\}鈥 aa
鏄劇ず鎵鏈夊寘鍚姣忎釜瀛楃︿覆鑷沖皯鏈5涓榪炵畫灝忓啓瀛楃︾殑瀛楃︿覆鐨勮屻
『叄』 Linux必須學會的60個命令:文件處理1
Linux系統信息存放在文件里,文件與普通的公務文件類似。每個文件都有自己的褲悔名字、內容、存放地址及其它一些管理信息,如文件的用戶、文戚純姿件的大小等。文件可以是一封信、一個通訊錄,或者是程序的源語句、程序的數據,甚至可以包括可執行的程序和其它非正文內容。Linux文件系統具有良好的結構,系統提供了很多文件處理程序。這里主要介紹常用的文件處理命令。
file 1.作用file通過探測文件內容判斷文件類型,使用許可權是所有用戶。
2.格式file [options]文件名3.[options]主要參數-v:在標准輸出後顯示版本信息,並且退出。
-z:探測壓縮過的文件類型。
-L:允許符合連接。
-f name:從文件namefile中讀取要分析的文件名列表。
4.簡單說明使用file命令可以知道某個文件究竟是二進制(ELF格式)的可執行文件,還是Shell Script文件,或者是其它的什麼格式。file能識別的文件類型有目錄、Shell腳本、英文文本、二進制可執行文件、C語言源文件、文本文件、DOS的可執行文件。
5.應用實例如果我們看到一個沒有後綴的文件grap,可以使用下面命令:
$ file grap grap:English text 此時系統顯示這是一個英文文本文件。需要說明的是,file命令不能探測包括圖形、音頻、視頻等多媒體文件類型。
mkdir 1.作用mkdir命令的作用是建立名稱為dirname的子目錄,與MS DOS下的md命令類似,它的使用許可權是所有用戶。
2.格式mkdir [options]目錄名3.[options]主要參數-m,--mode=模式:設定許可權<模式>,與chmod類似。
-p,--parents:需要時創建上層目錄;如果目錄早已存在,則不當作錯誤。
-v,--verbose:每次創建新目錄都顯示信息。
--version:顯示版本信息後離開。
4.應用實例在進行目錄創建時可以設置目錄的許可權,此時使用的參數是「-m」。假設要創建的目錄名是「tsk」,讓所有用戶都有rwx(即讀、寫、執行的許可權),那麼可以使用以下命令:
$ mkdir-m 777 tsk grep 1.作用grep命令可以指定文件中搜索特定的內容,並將含有這些內容的行標准輸出。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用許可權是所有用戶。
2.格式grep [options] 3.主要參數[options]主要參數:
-c:只輸出匹配行的計數。
-I:不區分大小寫(只適用於單字元)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字元的文件名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無高絕匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達式主要參數:
:忽略正則表達式中特殊字元的原有含義。
^:匹配正則表達式的開始行。
$:匹配正則表達式的結束行。
<:從匹配正則表達式的行開始。
>:到匹配正則表達式的行結束。
[ ]:單個字元,如[A]即A符合要求。
[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求。
。:所有的單個字元。
*:有字元,長度可以為0。
正則表達式是Linux/Unix系統中非常重要的概念。正則表達式(也稱為「regex」或「regexp」)是一個可以描述一類字元串的模式(Pattern)。如果一個字元串可以用某個正則表達式來描述,我們就說這個字元和該正則表達式匹配(Match)。這和DOS中用戶可以使用通配符「*」代表任意字元類似。在Linux系統上,正則表達式通常被用來查找文本的模式,以及對文本執行「搜索-替換」操作和其它功能。4.應用實例查詢DNS服務是日常工作之一,這意味著要維護覆蓋不同網路的大量IP地址。有時IP地址會超過2000個。如果要查看nnn.nnn網路地址,但是卻忘了第二部分中的其餘部分,只知到有兩個句點,例如nnn nn..。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]{3 }.[0-0{3}。含義是任意數字出現3次,後跟句點,接著是任意數字出現3次,後跟句點。
$grep '[0-9 ]{3 }.[0-0{3}' ipfile 補充說明,grep家族還包括fgrep和egrep。fgrep是fix grep,允許查找字元串而不是一個模式;egrep是擴展grep,支持基本及擴展的正則表達式,但不支持q模式范圍的應用及與之相對應的一些更加規范的模式。
dd 1.作用dd命令用來復制文件,並根據參數將數據轉換和格式化。
2.格式dd [options] 3.[opitions]主要參數bs=位元組:強迫ibs=<位元組>及obs=<位元組>。
cbs=位元組:每次轉換指定的<位元組>。
conv=關鍵字:根據以逗號分隔的關鍵字表示的方式來轉換文件。
count=塊數目:只復制指定<塊數目>的輸入數據。
ibs=位元組:每次讀取指定的<位元組>。
if=文件:讀取<文件>內容,而非標准輸入的數據。
obs=位元組:每次寫入指定的<位元組>。
of=文件:將數據寫入<文件>,而不在標准輸出顯示。
seek=塊數目:先略過以obs為單位的指定<塊數目>的輸出數據。
skip=塊數目:先略過以ibs為單位的指定<塊數目>的輸入數據。
4.應用實例
dd命令常常用來製作Linux啟動盤。先找一個可引導內核,令它的根設備指向正確的根分區,然後使用dd命令將其寫入軟盤:
$ rdev vmlinuz /dev/hda $dd if=vmlinuz of=/dev/fd0
上面代碼說明,使用rdev命令將可引導內核vmlinuz中的根設備指向/dev/hda,請把「hda」換成自己的根分區,接下來用dd命令將該內核寫入軟盤。
find 1.作用find命令的作用是在目錄中搜索文件,它的使用許可權是所有用戶。
2.格式find [path][options][expression] path指定目錄路徑,系統從這里開始沿著目錄樹向下查找文件。它是一個路徑列表,相互用空格分離,如果不寫path,那麼默認為當前目錄。
3.主要參數[options]參數:
-depth:使用深度級別的查找過程方式,在某層指定目錄中優先查找文件內容。
-maxdepth levels:表示至多查找到開始目錄的第level層子目錄。level是一個非負數,如果level是0的話表示僅在當前目錄中查找。
-mindepth levels:表示至少查找到開始目錄的第level層子目錄。
-mount:不在其它文件系統(如Msdos、Vfat等)的目錄和文件中查找。
-version:列印版本。
[expression]是匹配表達式,是find命令接受的表達式,find命令的所有操作都是針對表達式的。它的參數非常多,這里只介紹一些常用的參數。
—name:支持統配符*和?。
-atime n:搜索在過去n天讀取過的文件。
-ctime n:搜索在過去n天修改過的文件。
-group grpoupname:搜索所有組為grpoupname的文件。
-user用戶名:搜索所有文件屬主為用戶名(ID或名稱)的文件。
-size n:搜索文件大小是n個block的文件。
-print:輸出搜索結果,並且列印。
4.應用技巧find命令查找文件的幾種方法:
(1)根據文件名查找例如,我們想要查找一個文件名是lilo.conf的文件,可以使用如下命令:
find /-name lilo.conf find命令後的「/」表示搜索整個硬碟。
(2)快速查找文件根據文件名查找文件會遇到一個實際問題,就是要花費相當長的一段時間,特別是大型Linux文件系統和大容量硬碟文件放在很深的子目錄中時。如果我們知道了這個文件存放在某個目錄中,那麼只要在這個目錄中往下尋找就能節省很多時間。比如smb.conf文件,從它的文件後綴「.conf」可以判斷這是一個配置文件,那麼它應該在/etc目錄內,此時可以使用下面命令:
find /etc-name smb.conf 這樣,使用「快速查找文件」方式可以縮短時間。
(3)根據部分文件名查找方法有時我們知道只某個文件包含有abvd這4個字,那麼要查找系統中所有包含有這4個字元的文件可以輸入下面命令:
find /-name '*abvd*'
輸入這個命令以後,Linux系統會將在/目錄中查找所有的包含有abvd這4個字元的文件(其中*是通配符),比如abvdrmyz等符合條件的文件都能顯示出來。
(4)使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如,我們想在/etc目錄中查找大於500000位元組,並且在24小時內修改的某個文件,則可以使用-and (與)把兩個查找參數鏈接起來組合成一個混合的查找方式。
find /etc -size +500000c -and -mtime +1
mv 1.作用mv命令用來為文件或目錄改名,或者將文件由一個目錄移入另一個目錄中,它的使用許可權是所有用戶。該命令如同DOS命令中的ren和move的組合。
2.格式mv[options]源文件或目錄目標文件或目錄3.[options]主要參數-i:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答「y」或「n」,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。mv操作要覆蓋某個已有的目標文件時不給任何指示,指定此參數後i參數將不再起作用。
4.應用實例(1)將/usr/cbu中的所有文件移到當前目錄(用「.」表示)中:
$ mv /usr/cbu/ * . (2)將文件cjh.txt重命名為wjz.txt:
$ mv cjh.txt wjz.txtls 1.作用ls命令用於顯示目錄內容,類似DOS下的dir命令,它的使用許可權是所有用戶。
2.格式ls [options][filename] 3.options主要參數-a,--all:不隱藏任何以「.」字元開始的項目。
-A,--almost-all:列出除了「.」及「..」以外的任何項目。
-b,--escape:以八進制溢出序列表示不可列印的字元。
--block-size=大小:塊以指定<大小>的位元組為單位。-B,--ignore-backups:不列出任何以~字元結束的項目。
-f:不進行排序,-aU參數生效,-lst參數失效。
-F,--classify:加上文件類型的指示符號(*/=@|其中一個)。
-g:like-l, but do not list owner。
-G,--no-group:inhibit display of group information。
-i,--inode:列出每個文件的inode號。
-I,--ignore=樣式:不印出任何符合Shell萬用字元<樣式>的項目。
-k:即--block-size=1K。
-l:使用較長格式列出信息。
-L,--dereference:當顯示符號鏈接的文件信息時,顯示符號鏈接所指示的對象,而並非符號鏈接本身的信息。
-m:所有項目以逗號分隔,並填滿整行行寬。
-n,--numeric-uid-gid:類似-l,但列出UID及GID號。
-N,--literal:列出未經處理的項目名稱,例如不特別處理控制字元。
-p,--file-type:加上文件類型的指示符號(/=@|其中一個)。
-Q,--quote-name:將項目名稱括上雙引號。
-r,--reverse:依相反次序排列。
-R,--recursive:同時列出所有子目錄層。
-s,--size:以塊大小為序。
diff 1.作用diff命令用於兩個文件之間的比較,並指出兩者的不同,它的使用許可權是所有用戶。
『肆』 linux的常用命令及技巧
一。 通用命令:
1. date :print or set the system date and time2. stty -a: 可以查看或者列印控制字元(Ctrl-C, Ctrl-D, Ctrl-Z等)3. passwd: print or set the system date and time (用passwd -h查看)4. logout, login: 登錄shell的登錄和注銷命令5. pwd: print or set the system date and time6. more, less, head tail: 顯示或部分顯示文件內容.7. lp/lpstat/cancel, lpr/lpq/lprm: 列印文件.8. 更改文件許可權: chmod u+x...9. 刪除非空目錄:rm -fr dir10.拷貝目錄: cp -R dir11. fg jobid :可以將一個後台進程放到前台。Ctrl-z 可以將前台進程掛起(suspend), 然後可以用bg jobid 讓其到後台運行。job & 可以直接讓job直接在後台運行。12. kill 的作用: send a signal to a process. eg: kill -9 發送的是SIG_KILL信號。。。 具體發送什麼信號 可以通過 man kill 查看。13. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session顯示的sessionid, tpgid顯示前台進程組id, comm顯示命令名稱。)二 .ubuntu常用命令:
1. dpkg: package manager for Debian* 安裝: dpkg -i package* 卸載: dpkg -r package* 卸載並刪除配置文件: dpkg -P |--purge package* 如果安裝一個包時。說依賴某些庫。 可以先 apt-get install somelib...* 查看軟體包安裝內容 :dpkg -L package* 查看文件由哪個軟體包提供: dpkg -S filename* 另外 dpkg還有 dselect和aptitude 兩個frontend.2. apt* 安裝: apt-get install packs* apt-get update : 更新源* apt-get upgrade: 升級系統。* apt-get dist-upgrade: 智能升級。安裝新軟體包,刪除廢棄的軟體包* apt-get -f install : -f == --fix broken 修復依賴* apt-get autoremove: 自動刪除無用的軟體* apt-get remove packages :刪除軟體* apt-get remove package --purge 刪除包並清除配置文件* 清除所以刪除包的殘余配置文件: dpkg -l |grep ^rc|awk '{print $2}' |tr [/n] [ ]|sudo xargs dpkg -P* 安裝軟體時候包的臨時存放目錄 : /var/cache/apt/archives* 清除該目錄: apt-get clean* 清除該目錄的舊版本的軟體緩存: apt-get autoclean* 查詢軟體some的依賴包: apt-cache depends some* 查詢軟體some被哪些包依賴: apt-get rdepends some* 搜索軟體: apt-cache search name|regexp* 查看軟體包的作用:apt-cache show package* 查看一個軟體的編譯依賴庫: apt-cache showsrc packagename|grep Build-Depends* 下載軟體的源代碼 : apt-get source packagename (注: sources.list 中應該有 deb-src 源)* 安裝軟體包源碼的同時, 安裝其編譯環境 :apt-get build-dep packagename (有deb-src源)* 如何將本地光碟加入安裝源列表: apt-cdrom add3. 系統命令:* 查看內核版本: uname -a* 查看ubuntu 版本: cat /etc/issue* 查看網卡狀態 : ethtool eth0* 查看內存,cpu的信息: cat /proc/meminfo ; cat /proc/cpuinfo(/proc下面的有很多系統信息)* 列印文件系統空間使用情況: df -h* 查看硬碟分區情況: fdisk -l* 產看文件大小: -h filename;* 查看目錄大小: -hs dirname ; -h dirname是查看目錄下所有文件的大小* 查看內存的使用: free -m|-g|-k* 查看進程: ps -e 或ps -aux -->顯示用戶* 殺掉進程: kill pid* 強制殺掉: killall -9 processname4. 網路相關: * 配置 ADSL: sudo pppoeconf* ADSL手工撥號: sudo pon dsl-provider* 激活 ADSL : sudo /etc/ppp/pppoe_on_boot* 斷開 ADSL: sudo poff* 根據IP查網卡地址: arping IP地址* 產看本地網路信息(包括ip等): ifconfig | ifconfig eth0* 查看路由信息: netstat -r* 關閉網卡: sudo ifconfig eth0 down* 啟用網卡: sudo ifconfig eth0 up* 添加一個服務: sudo update-rc.d 服務名 defaults 99* 刪除一個服務: sudo update-rc.d 服務名 remove* 臨時重啟一個服務: /etc/init.d/服務名 restart* 臨時關閉一個服務: /etc/init.d/服務名 stop* 臨時啟動一個服務: /etc/init.d/服務名 start* 控制台下顯示中文: sudo apt-get install zhcon* 查找某個文件: whereis filename 或 find 目錄 -name 文件名*通過ssh傳輸文件scp -rp /path/filename username@remoteIP:/path #將本地文件拷貝到伺服器上scp -rp username@remoteIP:/path/filename /path #將遠程文件從伺服器下載到本地5. 壓縮:*解壓縮 a.tar.gz: tar zxvf a.tar.gz*解壓縮 a.tar.bz2: tar jxvf a.tar.bz2*壓縮aaa bbb目錄為xxx.tar.gz: tar zcvf xxx.tar.gz aaa bbb*壓縮aaa bbb目錄為xxx.tar.bz2: tar jcvf xxx.tar.bz2 aaa bbb
6. Nautilus:特殊 URI 地址* computer:/// - 全部掛載的設備和網路* network:/// - 瀏覽可用的網路* burn:/// - 一個刻錄 CDs/DVDs 的數據虛擬目錄* smb:/// - 可用的 windows/samba 網路資源* x-nautilus-desktop:/// - 桌面項目和圖標* file:/// - 本地文件* trash:/// - 本地回收站目錄* ftp:// - FTP 文件夾* ssh:// - SSH 文件夾* fonts:/// - 字體文件夾,可將字體文件拖到此處以完成安裝* themes:/// - 系統主題文件夾* 顯示隱藏文件: Ctrl+h* 顯示地址欄: Ctrl+l* 查看已安裝字體: 在nautilus的地址欄里輸入」fonts:///「,就可以查看本機所有的fonts
7.補充部分:
* 查看本地所有的tpc,udp監聽埠: netstat -tupln (t=tcp, u=udp, p=program, l=listen, n=numric)* 通過man搜說相關命令: man -k keyword . eg: man -k user* 或者用 apropos* 統計文件所佔用的實際磁碟空間: ( - estimate file space usage)* 統計文件中的字元,位元組數: wc -c/-l/-w (wc - print the number of newlines, words, and bytes in files)* 查看文件的內容: od -x/-c/.... (od - mp files in octal and other formats)我認為od最有用的就是文件的位元組流了: od -t x1 filename查看文件的 Ascii 碼形式: od -t c filename (其中統計信息最左邊的是: 位元組數)* 查找命令所在文件的位置: which od 輸出: /usr/bin/od查看該文件由哪個包提供: dpkg -S /usr/bin/od 輸出: coreutils: /usr/bin/od再查看coreutils包的全部內容就知道了linux的核心命令: dpkg -L coreutils然後 info coreutils 哈哈,認真學吧, 滿世界都是命令!* 可以用man 命令產看某個命令的所有section 的解釋: man -a tty然後用q,和next 轉換到下一個section的解釋* bash 的好用的快捷鍵:ctrl+a:游標移到行首。ctrl+b:游標左移一個字母ctrl+c:殺死當前進程。ctrl+d:退出當前 Shell。ctrl+e:游標移到行尾。ctrl+h:刪除游標前一個字元,同 backspace 鍵相同。ctrl+k:清除游標後至行尾的內容。ctrl+l:清屏,相當於clear。ctrl+r:搜索之前打過的命令。會有一個提示,根據你輸入的關鍵字進行搜索bash的historyctrl+u: 清除游標前至行首間的所有內容。ctrl+w: 移除游標前的一個單詞ctrl+t: 交換游標位置前的兩個字元ctrl+y: 粘貼或者恢復上次的刪除ctrl+d: 刪除游標所在字母;注意和backspace以及ctrl+h的區別,這2個是刪除游標前的字元ctrl+f: 游標右移ctrl+z : 把當前進程轉到後台運行,使用』 fg 『命令恢復。比如top -d1 然後ctrl+z ,到後台,然後fg,重新恢復* 快速粘貼:先在一個地方選中文字,在欲粘貼的地方按滑鼠 中鍵 即可。* 等效中鍵:a 、按下滑輪等效於中鍵。b、同時按下滑鼠 左右鍵,等效於中鍵。* 快速重啟X服務: 同時按下: Alt + Ctrl + Backspace 三個鍵。* 打開運行窗口: 同時按下 Alt + F2 鍵。* 戴屏: a、全屏:直接按下 PrtScr 鍵。b、當前窗口:同時按下 Alt + PrtScr 鍵。c、延時戴屏:在 終端 或 運行窗口中輸入命令: gnome-screenshot --delay 3 ,將延時 3 秒後戴屏。* 直接將 文件管理器 中的文件拖到 GNOME終端 中就可以在終端中得到完整的路徑名。 8.ulimitulimit:顯示(或設置)用戶可以使用的資源的限制(limit),這限制分為軟限制(當前限制)和硬限制(上限),其中硬限制是軟限制的上限值,應用程序在運行過程中使用的系統資源不超過相應的軟限制,任何的超越都導致進程的終止。ulimited 不限制用戶可以使用的資源,但本設置對可打開的最大文件數(max open files)和可同時運行的最大進程數(max user processes)無效-a 列出所有當前資源極限-c 設置core文件的最大值.單位:blocks-d 設置一個進程的數據段的最大值.單位:kbytes-f Shell 創建文件的文件大小的最大值,單位:blocks-h 指定設置某個給定資源的硬極限。如果用戶擁有 root 用戶許可權,可以增大硬極限。任何用戶均可減少硬極限-l 可以鎖住的物理內存的最大值-m 可以使用的常駐內存的最大值,單位:kbytes-n 每個進程可以同時打開的最大文件數-p 設置管道的最大值,單位為block,1block=512bytes-s 指定堆棧的最大值:單位:kbytes-S 指定為給定的資源設置軟極限。軟極限可增大到硬極限的值。如果 -H 和 -S 標志均未指定,極限適用於以上二者-t 指定每個進程所使用的秒數,單位:seconds-u 可以運行的最大並發進程數-v Shell可使用的最大的虛擬內存,單位:kbyteseg: ulimit -c 1000(可以先通過ulimit -c 查看原來的值)
『伍』 Linux鍛戒護-鏂囦歡綆$悊鍛戒護
linux緋葷粺鍥犲叾浼樼鐨勭ǔ瀹氭у拰瀹夊叏鎬э紝琚瓚婃潵瓚婂氱殑浼佷笟鏈嶅姟鍣ㄥ簲鐢ㄣ傞殢涔嬭屾潵鐨勮秺鏉ヨ秺澶氱殑浜哄︿範浣跨敤linux錛岃屽仛涓簂inux緋葷粺鐨勫熀紜linux鍛戒護鏇存槸蹇呭︽棤鐤戠殑錛屽皬緙栦粖澶╄窡澶у跺垎浜涓綃囧皬緙栫簿蹇冪紪杈戠殑鏂囩珷鈥渓inux鍛戒護-鏂囦歡綆$悊鍛戒護鈥濓紝甯屾湜鑳藉府鍒板ぇ閮ㄥ垎鐨刲inux鍒濆﹁呫
cat 鍔熻兘錛氭湁浠庣佺洏鍒涘緩鏂囦歡鐨勫姛鑳斤紙浣嗕笉鍏峰囩紪杈戝姛鑳斤級錛屼絾涓昏佸姛鑳借繕鏄2涓鎴栬呬互涓婃枃浠剁殑鍚堝苟銆 甯擱厤鍚堜嬌鐢ㄥ弬鏁幫細 -n 鎴--number 鐢1 寮濮嬪規墍鏈夎緭鍑虹殑琛屾暟緙栧彿銆 -b 鎴--number-nonblank 鍜-n 鐩鎬技錛屽彧涓嶈繃瀵逛簬絀虹櫧琛屼笉緙栧彿銆 浣跨敤鏂規硶錛 Cat 鈥搉 diannaob1diannaob2,鎶奷iannaob1閲岀殑鍐呭瑰姞涓婅屽彿浠ュ悗騫跺叆diannaob2銆 Cat 鈥揵 diannaob1 diannaob2diannaob3,瀵筪iannaob1鍜宒iannaob2閲岀殑鍐呭瑰姞涓婅屽彿錛堢┖鐧借屼笉鍔狅級騫跺叆diannaob3銆
chattr 鍔熻兘錛氱粰鎸囧畾鏂囦歡娣誨姞錛屽幓鎺夛紝璧嬩簣灞炴с 甯擱厤鍚堜嬌鐢ㄥ弬鏁幫細 -R 閫掑綊澶勭悊錛屽皢鎸囧畾鐩褰曚笅鐨勬墍鏈夋枃浠跺強瀛愮洰褰曚竴騫跺勭悊銆 -v鐗堟湰緙栧彿 璁劇疆鏂囦歡鎴栫洰褰曠増鏈銆 -V 鏄劇ず鎸囦護鎵ц岃繃紼嬨 +灞炴 寮鍚鏂囦歡鎴栫洰褰曠殑璇ラ」灞炴с -灞炴 鍏抽棴鏂囦歡鎴栫洰褰曠殑璇ラ」灞炴с =灞炴 鎸囧畾鏂囦歡鎴栫洰褰曠殑璇ラ」灞炴с a錛氳╂枃浠舵垨鐩褰曚粎渚涢檮鍔犵敤閫斻 b錛氫笉鏇存柊鏂囦歡鎴栫洰褰曠殑鏈鍚庡瓨鍙栨椂闂淬 c錛氬皢鏂囦歡鎴栫洰褰曞帇緙╁悗瀛樻斁銆 d錛氬皢鏂囦歡鎴栫洰褰曟帓闄ゅ湪鍊懼掓搷浣滀箣澶栥 i錛氫笉寰椾換鎰忔洿鍔ㄦ枃浠舵垨鐩褰曘 s錛氫繚瀵嗘у垹闄ゆ枃浠舵垨鐩褰曘 S錛氬嵆鏃舵洿鏂版枃浠舵垨鐩褰曘 u錛氶勯槻浠ュ栧垹闄ゃ 浣跨敤鏂規硶錛 姣斿俤iannaob1榪欎釜鏂囦歡涓轟簡鏂瑰紡琚鍏朵粬linux鐢ㄦ埛鍒犻櫎錛屽彲浠ョ粰鍏舵坊鍔犻勯槻浠ュ栧垹闄ゅ睘鎬с Chattr +u diannaob1
chgrp 鍔熻兘錛氭洿鏀圭洰褰曟垨鑰呮枃浠舵墍灞炵殑緹ょ粍銆 浣跨敤鏂規硶錛 姣斿傛妸diannaob1鏂囦歡縐誨姩鍒癲iannaob緇勯噷錛欳hgrp diannaob diannaob1
cmp 鍔熻兘錛氱敤鏉ユ瘮杈冩枃浠朵箣闂寸殑涓嶅悓錛屽傛灉鐩稿悓涓嶈繑鍥炰換浣曚俊鎮錛屼笉鍚岀殑鍦版柟鍒楀嚭瀛楃﹀拰鍒楁暟緙栧彿銆 甯擱厤鍚堜嬌鐢ㄥ弬鏁幫細 -c鎴--print-chars 銆闄や簡鏍囨槑宸寮傚勭殑鍗佽繘鍒跺瓧鐮佷箣澶栵紝涓騫舵樉紺鴻ュ瓧絎︽墍瀵瑰簲瀛楃︺ -i瀛楃︽暟鐩鎴--ignore-initial=瀛楃︽暟鐩 銆鎸囧畾涓涓鏁扮洰銆 -l鎴--verbose 銆鏍囩ず鍑烘墍鏈変笉涓鏍風殑鍦版柟銆 -s鎴--quiet鎴--silent 銆涓嶆樉紺洪敊璇淇℃伅銆 -v鎴--version 銆鏄劇ず鐗堟湰淇℃伅銆 --help 銆鍦ㄧ嚎甯鍔┿ 浣跨敤鏂規硶錛 姣斿傛瘮杈冩枃浠禿iannaob1鍜宒iannaob2鏈変粈涔堝悓 Cmp diannaob1 diannaob2閰嶅悎浣跨敤鐨勫弬鏁板姞鍦╟mp鍜屾枃浠朵箣闂淬
file 鍔熻兘錛氳鯨璇嗘枃浠剁被鍨嬨 甯擱厤鍚堜嬌鐢ㄥ弬鏁幫細 -b 銆鍒楀嚭杈ㄨ瘑緇撴灉鏃訛紝涓嶆樉紺烘枃浠跺悕縐般 -c 銆璇︾粏鏄劇ず鎸囦護鎵ц岃繃紼嬶紝渚誇簬鎺掗敊鎴栧垎鏋愮▼搴忔墽琛岀殑鎯呭艦銆 -f鍚嶇О鏂囦歡 銆鎸囧畾鍚嶇О鏂囦歡錛屽叾鍐呭規湁涓涓鎴栧氫釜鏂囦歡鍚嶇О鍛㈡劅錛岃ゝile渚濆簭杈ㄨ瘑榪欎簺鏂囦歡錛屾牸寮忎負姣忓垪涓涓鏂囦歡鍚嶇О銆 -L 銆鐩存帴鏄劇ず絎﹀彿榪炴帴鎵鎸囧悜鐨勬枃浠剁殑綾誨埆銆 -m欖旀硶鏁板瓧鏂囦歡 銆鎸囧畾欖旀硶鏁板瓧鏂囦歡銆 -v 銆鏄劇ず鐗堟湰淇℃伅銆 -z 銆灝濊瘯鍘昏В璇誨帇緙╂枃浠剁殑鍐呭廣 浣跨敤鏂規硶錛 姣斿傝佽鯨鍒玠iannaob1鐨勬枃浠剁被鍨 File diannaob1 鏂囦歡浣嶇疆
find 鍔熻兘錛氭牴鎹鍚勭嶉渶奼傦紙鍚嶇О銆佺被鍒銆佹椂闂淬佸ぇ灝忋佹潈闄愮瓑錛夊湪鎸囧畾鐨勭洰褰曞唴瀵繪壘絎﹀悎瑕佹眰鐨勬枃浠躲 甯擱厤鍚堜嬌鐢ㄥ弬鏁幫細 -mount, -xdev : 鍙媯鏌ュ拰鎸囧畾鐩褰曞湪鍚屼竴涓妗f堢郴緇熶笅鐨勬。妗堬紝閬垮厤鍒楀嚭鍏跺畠妗f堢郴緇熶腑鐨勬。妗 -amin n : 鍦ㄨ繃鍘籲 鍒嗛挓鍐呰璇誨彇榪 -anewer file : 姣旀。妗坒ile 鏇存櫄琚璇誨彇榪囩殑妗f -atime n : 鍦ㄨ繃鍘籲 澶╄繃璇誨彇榪囩殑妗f -cmin n : 鍦ㄨ繃鍘籲 鍒嗛挓鍐呰淇鏀硅繃 -cnewer file :姣旀。妗坒ile 鏇存柊鐨勬。妗 -ctime n : 鍦ㄨ繃鍘籲 澶╄繃淇鏀硅繃鐨勬。妗 -empty : 絀虹殑妗f-gid n or -group name : gid 鏄痭 鎴栨槸group 鍚嶇О鏄痭ame -ipath p, -path p : 璺寰勫悕縐扮﹀悎p 鐨勬。妗堬紝ipath 浼氬拷鐣ュぇ灝忓啓 -name name, -iname name : 妗f堝悕縐扮﹀悎name 鐨勬。妗堛俰name 浼氬拷鐣ュぇ灝忓啓 -size n : 妗f堝ぇ灝忔槸n 鍗曚綅錛宐 浠h〃512 浣嶅厓緇勭殑鍖哄潡錛宑 琛ㄧず瀛楀厓鏁幫紝k 琛ㄧずkilo bytes錛寃 鏄浜屼釜浣嶅厓緇勩-type c : 妗f堢被鍨嬫槸c 鐨勬。妗堛 d: 鐩褰 c: 瀛楀瀷瑁呯疆妗f b: 鍖哄潡瑁呯疆妗f p: 鍏峰悕璐鍒 f: 涓鑸妗f l: 絎﹀彿榪炵粨 浣跨敤鏂規硶錛 灝嗙洰鍓嶇洰褰曞強鍏跺瓙鐩褰曚笅鎵鏈夊歡浼告。鍚嶆槸c 鐨勬。妗堝垪鍑烘潵銆 find . -name "*.c" 灝嗙洰鍓嶇洰褰曞叾鍏朵笅瀛愮洰褰曚腑鎵鏈変竴鑸妗f堝垪鍑 find . -ftype f 灝嗙洰鍓嶇洰褰曞強鍏跺瓙鐩褰曚笅鎵鏈夋渶榪20 鍒嗛挓鍐呮洿鏂拌繃鐨勬。妗堝垪鍑篺ind . -ctime -20
git 鍔熻兘錛氭枃瀛楁ā寮忎笅鐨勬枃浠剁$悊鍛橈紝榪涘叆涔嬪悗錛屽彲浠ヨ繘琛屽悇縐嶆枃浠剁殑鎿嶄綔銆 甯擱厤鍚堜嬌鐢ㄥ弬鏁幫細F1 錛氭墽琛宨nfo鎸囦護錛屾煡璇㈡寚浠ょ浉鍏充俊鎮錛屼細瑕佹眰鎮ㄨ緭鍏ユ叉煡璇㈢殑鍚嶇О銆 F2 錛氭墽琛宑at鎸囦護錛屽垪鍑烘枃浠跺唴瀹廣 F3 錛氭墽琛実itview鎸囦護錛岃傜湅鏂囦歡鍐呭廣 F4 錛氭墽琛寁i鎸囦護錛岀紪杈戞枃浠跺唴瀹廣 F5 錛氭墽琛宑p鎸囦護錛屽嶅埗鏂囦歡鎴栫洰褰曪紝浼氳佹眰鎮ㄨ緭鍏ョ洰鏍囨枃浠舵垨鐩褰曘 F6 錛氭墽琛宮v鎸囦護錛岀Щ鍔ㄦ枃浠舵垨鐩褰曪紝鎴栨槸鏇存敼鍏跺悕縐幫紝浼氳佹眰鎮ㄨ緭鍏ョ洰鏍囨枃浠舵垨鐩褰曘 F7 錛氭墽琛宮kdir鎸囦護錛屽緩絝嬬洰褰曘 F8 錛氭墽琛宺m鎸囦護錛屽垹闄ゆ枃浠舵垨鐩褰曘 F9 錛氭墽琛宮ake鎸囦護錛屾壒澶勭悊鎵ц屾寚浠ゆ垨緙栬瘧紼嬪簭鏃訛紝浼氳佹眰鎮ㄨ緭鍏ョ浉鍏沖懡浠ゃ F10 錛氱誨紑git鏂囦歡綆$悊鍛樸
cut 鍔熻兘錛氱敤浜庝粠鏂囦歡鎴栬呮爣鍑嗚緭鍏ヤ腑璇誨彇鍐呭瑰苟鎴鍙栨瘡涓琛岀殑鐗瑰畾閮ㄥ垎騫墮佸埌鏍囧噯杈撳嚭銆 閰嶅悎浣跨敤鍙傛暟錛 -b 瀛楄妭錛坆ytes錛 -c 瀛楃︼紙characters錛 -f 鍩燂紙fields錛 浣跨敤鏂規硶錛 濡傛棩鏈燂細dc oct 10 21:15:54 PDT 2012 Date |cut 鈥揵 1-4 杈撳嚭dc o錛岃〃紺哄彇鍓4涓瀛楄妭錛屽叾涓絀烘牸涔熺畻涓涓瀛楄妭銆 Date |cut 鈥揷 1-4 杈撳嚭dc o錛岀湅浼艱窡-b娌℃湁鍖哄埆錛屼絾鏄濡傛灉鏃ユ湡鎹㈡垚奼夊瓧灝辨湁鍖哄埆浜嗭紝鍥犱負涓涓奼夊瓧綆3涓瀛楄妭銆 澶氫釜瀹氫綅涔嬮棿鐢ㄩ楀彿闅斿紑錛 Date |cut 鈥揵 1-4,6 杈撳嚭鍓4涓瀛楄妭鍜岀6涓瀛楄妭錛歞c ot 鍒嗗壊鍩燂細 濡傦細 service1:pts/0:Oct 9 20:27: (211.95.114.235) service2:pts/1:Oct 9 21:06: (218.80.203.242) service3:pts/2:Oct 9 14:35: (218.80.203.242) service4:pts/3:Oct 9 21:07: (218.80.213.242) service5:pts/4:Oct 9 21:07: (218.80.213.242) service6:pts/5:Oct 9 21:45: (58.31.205.19) cut 鈥揹: -f1 f.txt 鎶奻.txt榪欎釜鏂囦歡鎸夛細鍒嗗壊鎴愬煙錛屽彇鍩1 杈撳嚭錛 service1 service2 service3 service4 service5 service6 linux瀛︿範錛氬噯淇″煿璁涓蹇冿紙training.zhunxin.net錛 2.in 鍔熻兘錛氬壋寤鴻繛鎺ワ紙綾諱技浜巜indow涓嬪壋寤鴻秴閾炬帴錛 浣跨敤鏂規硶錛 鎶婂皢鐩褰/usr/menggc/mub l涓嬬殑鏂囦歡m2.c閾炬帴鍒扮洰J/usr/1iu涓嬬殑鏂囦歡a2.c In /usr/menggc/mub l/m2.c J/usr/1iu/a2.c 鏈鏉J/usr/1iu鐩褰曚笅娌℃湁a2.c鏂囦歡錛屽綋閾炬帴鎴愬姛鏃跺氨浼氬嚭鐜癮2.c鏂囦歡銆 In 閫夐」婧愭枃浠剁洰鏍囨枃浠
less 鍔熻兘錛氭煡鐪嬫枃浠 浣跨敤鏂規硶錛 Less 鏂囦歡鍚 Less鐨勪綔鐢ㄥ拰more宸涓嶅氾紝涓嶅悓鐨勬槸less 鍏佽鎬嬌鐢ㄨ呭線鍥炲嵎鍔錛屾煡鐪嬪凡緇忕湅榪囩殑閮ㄥ垎銆
鍚嶇О錛歭ocate 浣跨敤鏉冮檺錛氭墍鏈変嬌鐢ㄨ 浣跨敤鏂瑰紡錛 locate [-q] [-d ] [--database=] locate [-r ] [--regexp=] locate [-qv] [-o ] [--output=] locate [-e ] [-f ] [-l ] [-c] [-U ] [-u] locate [-Vh] [--version] [--help] 璇存槑錛 locate 璁╀嬌鐢ㄨ呭彲浠ュ緢蹇閫熺殑鎼滃繪。妗堢郴緇熷唴鏄鍚︽湁鎸囧畾鐨勬。妗堛傚叾鏂規硶鏄鍏堝緩絝嬩竴涓鍖呮嫭緋葷粺鍐呮墍鏈夋。妗堝悕縐板強璺寰勭殑璧勬枡搴,涔嬪悗褰撳繪壘鏃跺氨鍙闇鏌ヨ㈣繖涓璧勬枡搴,鑰屼笉蹇呭疄闄呮繁鍏ユ。妗堢郴緇熶箣涓浜嗐傚湪涓鑸鐨刣istribution 涔嬩腑,璧勬枡搴撶殑寤虹珛閮借鏀懼湪contab 涓鑷鍔ㄦ墽琛屻 涓鑸浣跨敤鑰呭湪浣跨敤鏃跺彧瑕佺敤 # locate your_file_name 鐨勫瀷寮忓氨鍙浠ヤ簡銆傚弬鏁幫細 -u -U 寤虹珛璧勬枡搴,-u 浼氱敱鏍圭洰褰曞紑濮,-U 鍒欏彲浠ユ寚瀹氬紑濮嬬殑浣嶇疆銆 -e 灝嗘帓闄ゅ湪瀵繪壘鐨勮寖鍥翠箣澶栥 -l 濡傛灉鏄1錛庡垯鍚鍔ㄥ畨鍏ㄦā寮忋傚湪瀹夊叏妯″紡涓,浣跨敤鑰呬笉浼氱湅鍒版潈闄愭棤娉曠湅鍒扮殑妗f堛傝繖浼氬嬮熷害鍑忔參,鍥犱負locate 蹇呴』鑷沖疄闄呯殑妗f堢郴緇熶腑鍙栧緱妗f堢殑鏉冮檺璧勬枡銆 -f 灝嗙壒瀹氱殑妗f堢郴緇熸帓闄ゅ湪澶,渚嬪傛垜浠娌℃湁鍒扮悊瑕佹妸proc 妗f堢郴緇熶腑鐨勬。妗堟斁鍦ㄨ祫鏂欏簱涓銆 -q 瀹夐潤妯″紡,涓嶄細鏄劇ず浠諱綍閿欒璁鎮銆 -n 鑷沖氭樉紺轟釜杈撳嚭銆 -r 浣跨敤姝h勮繍綆楀紡鍋氬繪壘鐨勬潯浠躲 -o 鎸囧畾璧勬枡搴撳瓨鐨勫悕縐般 -d 鎸囧畾璧勬枡搴撶殑璺寰 -h 鏄劇ず杈呭姪璁鎮 -v 鏄劇ず鏇村氱殑璁鎮 -V 鏄劇ず紼嬪紡鐨勭増鏈璁鎮鑼冧緥錛 locate chdrv:瀵繪壘鎵鏈夊彨chdrv 鐨勬。妗 locate -n 100 a.out:瀵繪壘鎵鏈夊彨a.out 鐨勬。妗,浣嗘渶澶氬彧鏄劇ず100 涓 locate -u:寤虹珛璧勬枡搴
鍚嶇О錛歮ore 浣跨敤鏉冮檺錛氭墍鏈変嬌鐢ㄨ 浣跨敤鏂瑰紡錛歮ore [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..] 璇存槑錛氱被浼糲at ,涓嶈繃浼氫互涓欏典竴欏電殑鏄劇ず鏂逛究浣跨敤鑰呴愰〉闃呰,鑰屾渶鍩烘湰鐨勬寚浠ゅ氨鏄鎸夌┖鐧介敭錛坰pace錛夊氨寰涓嬩竴欏墊樉紺,鎸塨 閿灝變細寰鍥烇紙back錛変竴欏墊樉紺,鑰屼笖榪樻湁鎼滃誨瓧涓茬殑鍔熻兘錛堜笌vi 鐩鎬技錛,浣跨敤涓鐨勮存槑鏂囦歡,璇鋒寜h 銆 鍙傛暟錛 -num 涓嬈℃樉紺虹殑琛屾暟 -d 鎻愮ず浣跨敤鑰,鍦ㄧ敾闈涓嬫柟鏄劇ず[Press space to continue, q to quit.] ,濡傛灉浣跨敤鑰呮寜閿欓敭,鍒欎細鏄劇ず[Press h for instructions.] 鑰屼笉鏄鍝斿0 -l 鍙栨秷閬囪佺壒孌婂瓧鍏僞L錛堥佺焊瀛楀厓錛夋椂浼氭殏鍋滅殑鍔熻兘 -f 璁$畻琛屾暟鏃,浠ュ疄闄呬笂鐨勮屾暟,鑰岄潪鑷鍔ㄦ崲琛岃繃鍚庣殑琛屾暟錛堟湁浜涘崟琛屽瓧鏁板お闀跨殑浼氳鎵╁睍涓轟袱琛屾垨涓よ屼互涓婏級 -p 涓嶄互鍗峰姩鐨勬柟寮忔樉紺烘瘡涓欏,鑰屾槸鍏堟竻闄よ悿騫曞悗鍐嶆樉紺哄唴瀹 -c 璺-p 鐩鎬技,涓嶅悓鐨勬槸鍏堟樉紺哄唴瀹瑰啀娓呴櫎鍏朵粬鏃ц祫鏂 -s 褰撻亣鍒版湁榪炵畫涓よ屼互涓婄殑絀虹櫧琛,灝變唬鎹涓轟竴琛岀殑絀虹櫧琛 -u 涓嶆樉紺轟笅寮曞彿錛堟牴鎹鐜澧冨彉鏁癟ERM 鎸囧畾鐨則erminal 鑰屾湁鎵涓嶅悓錛 +/ 鍦ㄦ瘡涓妗f堟樉紺哄墠鎼滃昏ュ瓧涓詫紙pattern錛,鐒跺悗浠庤ュ瓧涓蹭箣鍚庡紑濮嬫樉紺 +num 浠庣琻um 琛屽紑濮嬫樉紺 fileNames 嬈叉樉紺哄唴瀹圭殑妗f,鍙涓哄嶆暟涓鏁 鑼冧緥錛 more -s testfile 閫愰〉鏄劇ずtestfile 涔嬫。妗堝唴瀹,濡傛湁榪炵畫涓よ屼互涓婄┖鐧借屽垯浠ヤ竴琛岀┖鐧借屾樉紺恆 more +20 testfile 浠庣20 琛屽紑濮嬫樉紺簍estfile 涔嬫。妗堝唴瀹廣
鍚嶇О錛歮v 浣跨敤鏉冮檺錛氭墍鏈変嬌鐢ㄨ 浣跨敤鏂瑰紡錛 mv [options] source dest mv [options] source... directory 璇存槑錛氬皢涓涓妗f堢Щ鑷沖彟涓妗f,鎴栧皢鏁頒釜妗f堢Щ鑷沖彟涓鐩褰曘 鍙傛暟錛-i 鑻ョ洰鐨勫湴宸叉湁鍚屽悕妗f,鍒欏厛璇㈤棶鏄鍚﹁嗙洊鏃ф。銆 鑼冧緥錛 灝嗘。妗坅aa 鏇村悕涓篵bb: mv aaa bbb 灝嗘墍鏈夌殑C璇璦紼嬪紡縐昏嚦Finished 瀛愮洰褰曚腑: mv -i *.c
鍚嶇О錛歳m 浣跨敤鏉冮檺錛氭墍鏈変嬌鐢ㄨ 浣跨敤鏂瑰紡錛歳m [options] name... 璇存槑錛氬垹闄ゆ。妗堝強鐩褰曘 鎶婅: -i 鍒犻櫎鍓嶉愪竴璇㈤棶紜璁ゃ -f 鍗充嬌鍘熸。妗堝睘鎬ц句負鍞璇,浜︾洿鎺ュ垹闄,鏃犻渶閫愪竴紜璁ゃ -r 灝嗙洰褰曞強浠ヤ笅涔嬫。妗堜害閫愪竴鍒犻櫎銆 鑼冧緥錛 鍒犻櫎鎵鏈塁璇璦紼嬪紡妗o紱鍒犻櫎鍓嶉愪竴璇㈤棶紜璁: rm -i *.c 灝咶inished 瀛愮洰褰曞強瀛愮洰褰曚腑鎵鏈夋。妗堝垹闄: rm -r Finished
鍚嶇О錛歴plit 浣跨敤鏉冮檺錛氭墍鏈変嬌鐢ㄨ 浣跨敤鏂瑰紡錛歴plit [OPTION] [INPUT [PREFIX]] 璇存槑錛氬皢涓涓妗f堝垎鍓叉垚鏁頒釜銆傝屼粠INPUT 鍒嗗壊杈撳嚭鎴愬滻瀹氬ぇ灝忕殑妗f,鍏舵。鍚嶄緷搴忎負PREFIXaa, PREFIXab...錛汸REFIX 棰勮懼間負`x銆傝嫢娌℃湁INPUT 妗f垨涓篳-,鍒欎粠鏍囧噯杈撳叆璇昏繘璧勬枡銆 鍖″厹: -b, --bytes=SIZE SIZE 鍊間負姣忎竴杈撳嚭妗f堢殑澶у皬,鍗曚綅涓篵yte銆 -C, --line-bytes=SIZE 姣忎竴杈撳嚭妗d腑,鍗曡岀殑鏈澶byte 鏁般 -l, --lines=NUMBER NUMBER 鍊間負姣忎竴杈撳嚭妗g殑鍒楁暟澶у皬銆 -NUMBER 涓-l NUMBER 鐩稿悓銆 --verbose 浜庢瘡涓杈撳嚭妗h寮鍚鍓,鍒楀嵃鍑轟睛閿欒祫璁鍒版爣鍑嗛敊璇杈撳嚭銆 --help 鏄劇ず杈呭姪璧勮鐒跺悗紱誨紑銆 --version 鍒楀嚭鐗堟湰璧勮鐒跺悗紱誨紑銆 SIZE 鍙鍔犲叆鍗曚綅: b 浠h〃512, k 浠h〃1K, m 浠h〃1 Meg銆 鑼冧緥錛 PostgresSQL 澶у瀷璧勬枡搴撳囦喚涓庡洖瀛橈細 鍥燩ostgres 鍏佽歌〃鏍煎ぇ榪囦綘緋葷粺妗f堢殑鏈澶у歸噺,鎵浠ヨ佸皢琛ㄦ牸mp 鍒板崟涓鐨勬。妗堝彲鑳戒細鏈夐棶棰,浣跨敤split榪涜屾。妗堝垎鍓層 % pg_mp dbname | split -b 1m - filename.mp. 閲嶆柊杞藉叆 % createdb dbname % cat filename.mp.* | pgsql dbname
鍚嶇О錛歵ouch 浣跨敤鏉冮檺錛氭墍鏈変嬌鐢ㄨ 浣跨敤鏂瑰紡錛 touch [-acfm] [-r reference-file] [--file=reference-file] [-t MMDDhhmm[[CC]YY][.ss]] [-d time] [--date=time] [--time={atime,access,use,mtime,modify}] [--no-create] [--help] [--version] file1 [file2 ...] 璇存槑錛 touch 鎸囦護鏀瑰彉妗f堢殑鏃墮棿璁板綍銆俵s -l 鍙浠ユ樉紺烘。妗堢殑鏃墮棿璁板綍銆 鍙傛暟錛 a 鏀瑰彉妗f堢殑璇誨彇鏃墮棿璁板綍銆 m 鏀瑰彉妗f堢殑淇鏀規椂闂磋板綍銆 c 鍋囧傜洰鐨勬。妗堜笉瀛樺湪,涓嶄細寤虹珛鏂扮殑妗f堛備笌--no-create 鐨勬晥鏋滀竴鏍楓 f 涓嶄嬌鐢,鏄涓轟簡涓庡叾浠杣nix 緋葷粺鐨勭浉瀹規ц屼繚鐣欍 r 浣跨敤鍙傝冩。鐨勬椂闂磋板綍,涓--file 鐨勬晥鏋滀竴鏍楓 d 璁懼畾鏃墮棿涓庢棩鏈,鍙浠ヤ嬌鐢ㄥ悇縐嶄笉鍚岀殑鏍煎紡銆 t 璁懼畾妗f堢殑鏃墮棿璁板綍,鏍煎紡涓巇ate 鎸囦護鐩稿悓銆 --no-create 涓嶄細寤虹珛鏂版。妗堛 --help 鍒楀嚭鎸囦護鏍煎紡銆 --version 鍒楀嚭鐗堟湰璁鎮銆 鑼冧緥錛 鏈綆鍗曠殑浣跨敤鏂瑰紡,灝嗘。妗堢殑鏃跺欒板綍鏀逛負鐜板湪鐨勬椂闂淬傝嫢妗f堜笉瀛樺湪,緋葷粺浼氬緩絝嬩竴涓鏂扮殑妗f堛 touch file touch file1 file2 灝唂ile 鐨勬椂闂磋板綍鏀逛負5 鏈6 鏃18 鐐3 鍒,鍏鍏冧袱鍗冨勾銆傛椂闂寸殑鏍煎紡鍙浠ュ弬鑰僤ate 鎸囦護,鑷沖皯闇杈撳叆MMDDHHmm ,灝辨槸鏈堟棩鏃朵笌鍒嗐 touch -c -t 05061803 file touch -c -t 050618032000 file 灝唂ile 鐨勬椂闂磋板綍鏀瑰彉鎴愪笌referencefile 涓鏍楓 touch -r referencefile file 灝唂ile 鐨勬椂闂磋板綍鏀規垚5 鏈6 鏃18 鐐3 鍒,鍏鍏冧袱鍗冨勾銆傛椂闂村彲浠ヤ嬌鐢╝m, pm 鎴栨槸24 灝忔椂鐨勬牸寮,鏃ユ湡鍙浠ヤ嬌鐢ㄥ叾浠栨牸寮忓6 May 2000 銆 touch -d "6:03pm" file touch -d "05/06/2000" file touch -d "6:03pm 05/06/2000" file
鍚嶇О錛歝p 浣跨敤鏉冮檺錛氭墍鏈変嬌鐢ㄨ 浣跨敤鏂瑰紡錛 cp [options] source dest cp [options] source... directory 璇存槑錛氬皢涓涓妗f堟嫹璐濊嚦鍙︿竴妗f,鎴栧皢鏁頒釜妗f堟嫹璐濊嚦鍙︿竴鐩褰曘 鎶婅: -a 灝藉彲鑳藉皢妗f堢姸鎬,鏉冮檺絳夎祫鏂欓兘鐓у師鐘朵簣浠ュ嶅埗銆 -r 鑻source 涓鍚鏈夌洰褰曞悕,鍒欏皢鐩褰曚笅涔嬫。妗堜害鐨嗕緷搴忔嫹璐濊嚦鐩鐨勫湴銆 -f 鑻ョ洰鐨勫湴宸茬粡鏈夌浉鍚屾。鍚嶇殑妗f堝瓨鍦,鍒欏湪澶嶅埗鍓嶅厛浜堜互鍒犻櫎鍐嶈屽嶅埗銆 鑼冧緥錛 灝嗘。妗坅aa 澶嶅埗(宸插瓨鍦),騫跺懡鍚嶄負bbb: cp aaa bbb 灝嗘墍鏈夌殑C璇璦紼嬪紡鎷瘋礉鑷矲inished 瀛愮洰褰曚腑: cp *.c Finished
鎸囦護鍚嶇О:ln 浣跨敤鏉冮檺:鎵鏈変嬌鐢ㄨ 浣跨敤鏂瑰紡:ln [options] source dist,鍏朵腑option 鐨勬牸寮忎負: [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--] 璇存槑:Linux/Unix 妗f堢郴緇熶腑,鏈夋墍璋撶殑榪炵粨(link),鎴戜滑鍙浠ュ皢鍏惰嗕負妗f堢殑鍒鍚,鑰岃繛緇撳張鍙鍒嗕負涓ょ:紜榪炵粨(hard link)涓庤蔣榪炵粨(symbolic link),紜榪炵粨鐨勬剰鎬濇槸涓涓妗f堝彲浠ユ湁澶氫釜鍚嶇О,鑰岃蔣榪炵粨鐨勬柟寮忓垯鏄浜х敓涓涓鐗規畩鐨勬。妗,璇ユ。妗堢殑鍐呭規槸鎸囧悜鍙︿竴涓妗f堢殑浣嶇疆銆傜‖榪炵粨鏄瀛樺湪鍚屼竴涓妗f堢郴緇熶腑,鑰岃蔣榪炵粨鍗村彲浠ヨ法瓚婁笉鍚岀殑妗f堢郴緇熴 ln source dist 鏄浜х敓涓涓榪炵粨(dist)鍒皊ource,鑷充簬浣跨敤紜榪炵粨鎴栬蔣閾劇粨鍒欑敱鍙傛暟鍐沖畾銆 涓嶈烘槸紜榪炵粨鎴栬蔣閾劇粨閮戒笉浼氬皢鍘熸湰鐨勬。妗堝嶅埗涓浠,鍙浼氬崰鐢ㄩ潪甯稿皯閲忕殑紓佺熺┖闂淬 -f:閾劇粨鏃跺厛灝嗕笌dist 鍚屾。鍚嶇殑妗f堝垹闄-d:鍏佽哥郴緇熺$悊鑰呯‖閾劇粨鑷宸辯殑鐩褰-i:鍦ㄥ垹闄や笌dist 鍚屾。鍚嶇殑妗f堟椂鍏堣繘琛岃㈤棶-n:鍦ㄨ繘琛岃蔣榪炵粨鏃,灝哾ist 瑙嗕負涓鑸鐨勬。妗-s:榪涜岃蔣閾劇粨(symbolic link)-v:鍦ㄨ繛緇撲箣鍓嶆樉紺哄叾妗e悕-b:灝嗗湪閾劇粨鏃朵細琚瑕嗗啓鎴栧垹闄ょ殑妗f堣繘琛屽囦喚-S SUFFIX:灝嗗囦喚鐨勬。妗堥兘鍔犱笂SUFFIX 鐨勫瓧灝-V METHOD:鎸囧畾澶囦喚鐨勬柟寮--help:鏄劇ず杈呭姪璇存槑--version:鏄劇ず鐗堟湰 鑼冧緥: 灝嗘。妗坹y 浜х敓涓涓猻ymbolic link:zz ln -s yy zz 灝嗘。妗坹y 浜х敓涓涓猦ard link:zz ln yy xx