日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 命令集合

發(fā)布時間:2024/1/17 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 命令集合 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【1】shell命令

參考1:《 每天一個Linux命令目錄?》

參考2:《 Linux命令大全?》

參考3:《 Linux命令手冊 》

【2】linux常用命令

(1)ls命令(list)。打印出當前目錄的清單。linux下最常用的命令。

(2)cd命令(change directory)。切換工作目錄。可以說是Linux中最基本的命令語句,其他的命令語句要進行操作,都建立在使用cd命令上的。

(3)pwd命令(print working directory)。查看當前工作目錄的完整路徑。簡單說,每當你在終端進行操作時,你都會有一個當前工作目錄。

(4)mkdir命令(make directory)。創(chuàng)建指定名稱的目錄。要求創(chuàng)建目錄的用戶在當前目錄中具有寫權(quán)限,并且指定的目錄名不能是當前目錄中已有的目錄。

(5)rm命令(remove)。刪除一個目錄中的一個或多個文件或目錄。它也可以將某個目錄及其下的所有文件及子目錄均刪除。對于鏈接文件,只是刪除了鏈接,原有文件均保持不變。

(6)rmdir命令(remove directory)。刪除空目錄,一個目錄被刪除之前必須是空的。

(7)mv命令(move)。用來移動文件或者將文件改名。

(8)cp命令(copy)。用來復制文件或者目錄,是Linux系統(tǒng)中最常用的命令之一。

(9)touch命令不常用,一般在使用make的時候可能會用到,用來修改文件時間戳,或者新建一個不存在的文件。

(10)cat命令(concatenate)。

  cat命令主要有三大功能:

  1. 一次顯示整個文件: cat filename

  2. 從鍵盤創(chuàng)建一個文件: cat > filename 只能創(chuàng)建新文件,不能編輯已有文件。

  3. 將幾個文件合并為一個文件: cat file1 file2 > file

(11)nl命令(number of lines)。在linux系統(tǒng)中用來計算文件中行號。nl 可以將輸出的文件內(nèi)容自動的加上行號!其默認的結(jié)果與 cat -n 有點不太一樣, nl可以將行號做比較多的顯示設(shè)計,包括位數(shù)與是否自動補齊0等等的功能。

(12)more命令,功能類似cat,cat命令是整個文件的內(nèi)容從上到下顯示在屏幕上。 more會以一頁一頁的顯示,方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按b鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能。more命令從前向后讀取文件,因此在啟動時就加載整個文件。

(13)less工具也是對文件或其它輸出進行分頁顯示的工具,linux正統(tǒng)查看文件內(nèi)容的工具,功能極其強大。less的用法比起more更加的有彈性。在more的時候,我們并沒有辦法向前面翻,只能往后面看,但若使用了less時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往后翻看文件,更容易用來查看一個文件的內(nèi)容!除此之外,在less里頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜。

(14)head與tail命令就像它的名字一樣的淺顯易懂,它是用來顯示開頭或結(jié)尾某個數(shù)量的文字區(qū)塊,head 用來顯示檔案的開頭至標準輸出中,而 tail 想當然就是看檔案的結(jié)尾。

(15)tail命令從指定點開始將文件寫到標準輸出。使用tail命令的-f選項可以方便的查閱正在改變的日志文件,tail -f filename會把filename里最尾部的內(nèi)容顯示在屏幕上,并且不斷刷新,使你看到最新的文件內(nèi)容。

(16)which命令會在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的位置,并且返回第一個搜索結(jié)果。

(17)whereis命令是定位可執(zhí)行文件、源代碼文件、幫助文件在文件系統(tǒng)中的位置。這些文件的屬性應屬于原始代碼,二進制文件,或是幫助文件。whereis程序還具有搜索源代碼、指定備用搜索路徑和搜索不尋常項的能力。

(18)locate命令可以在搜尋數(shù)據(jù)庫時更快速的找到目標,數(shù)據(jù)庫由updatedb程序來更新,updatedb是由cron daemon周期性建立的。

locate命令在搜尋數(shù)據(jù)庫時比由整個由硬盤資料來搜尋資料來得快,但較差勁的是locate所找到的檔案若是最近才建立或剛更名的,可能會找不到。

在內(nèi)定值中,updatedb每天會跑一次,可以由修改crontab來更新設(shè)定值。(etc/crontab)

locate指令和find找尋檔案的功能類似,但locate是透過update程序?qū)⒂脖P中的所有檔案和目錄資料先建立一個索引數(shù)據(jù)庫,

在執(zhí)行l(wèi)oacte時直接找該索引,查詢速度會較快,索引數(shù)據(jù)庫一般是由操作系統(tǒng)管理,但也可以直接下達update強迫系統(tǒng)立即修改索引數(shù)據(jù)庫。

locate命令用來查找文件或目錄。locate命令要比find -name快得多,原因在于它不搜索具體目錄,而是搜索一個數(shù)據(jù)庫/var/lib/mlocate/mlocate.db。這個數(shù)據(jù)庫中含有本地所有文件信息。

Linux系統(tǒng)自動創(chuàng)建這個數(shù)據(jù)庫,并且每天自動更新一次,因此,我們在用whereis和locate 查找文件時,有時會找到已經(jīng)被刪除的數(shù)據(jù),或者剛剛建立文件,卻無法查找到,原因就是因為數(shù)據(jù)

庫文件沒有被更新。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新數(shù)據(jù)庫。整個locate工作其實是由四部分組成的:

  • /usr/bin/updatedb?? 主要用來更新數(shù)據(jù)庫,通過crontab自動完成的

  • /usr/bin/locate??? 查詢文件位置

  • /etc/updatedb.conf?? updatedb的配置文件

  • /var/lib/mlocate/mlocate.db? 存放文件信息的文件

(19)Linux下find命令在目錄結(jié)構(gòu)中搜索文件,并執(zhí)行指定的操作。Linux下find命令提供了相當多的查找條件,功能很強大。由于find具有強大的功能,所以它的選項也很多,其中大部分選項都值得我們花時間來了解一下。即使系統(tǒng)中含有網(wǎng)絡(luò)文件系統(tǒng)( NFS),find命令在該文件系統(tǒng)中同樣有效,只你具有相應的權(quán)限。在運行一個非常消耗資源的find命令時,很多人都傾向于把它放在后臺執(zhí)行,因為遍歷一個大的文件系統(tǒng)可能會花費很長的時間(這里是指30G字節(jié)以上的文件系統(tǒng))。

(20)umount命令(Unmount),卸載。

(21)su命令(swith user)切換用戶,切換到root用戶。

(22)killall命令(kill processes by name)用于殺死指定名字的進程。

(23)kill命令用來終止指定的進程(terminate a process)的運行,是Linux下進程管理的常用命令。

(24)cmp命令(compare)比較二進制文件。diff命令比較文本文件。

(25)zipinfo命令用于列出壓縮文件信息。執(zhí)行zipinfo指令可得知zip壓縮文件的詳細信息。

(26)echo命令的功能是在顯示器上顯示一段文字,一般起到一個提示的作用。

(27)clear命令用于清除屏幕。kill命令用于殺死進程。

(28)tar命令用來壓縮和解壓文件。tar本身不具有壓縮功能。調(diào)用壓縮功能實現(xiàn)的。

(29)gzip是個使用廣泛的壓縮程序,文件經(jīng)它壓縮過后,其名稱后面會多出".gz"的擴展名。

(30)chmod命令(change mode)用于改變linux系統(tǒng)文件或目錄的訪問權(quán)限。

(31)chgrp命令(change group)可采用群組名稱或群組識別碼的方式改變文件或目錄的所屬群組。使用權(quán)限是超級用戶。

(32)chown命令(change owner)通過chown改變文件的擁有者和群組。在更改文件的所有者或所屬群組時,可以使用用戶名稱和用戶識別碼設(shè)置。普通用戶不能將自己的文件改變成其他的擁有者。其操作權(quán)限一般為管理員。

(33)top命令顯示當前系統(tǒng)正在執(zhí)行的進程的相關(guān)信息,包括進程ID、內(nèi)存占用率、CPU占用率等

(34)free命令顯示系統(tǒng)使用和空閑的內(nèi)存情況,包括物理內(nèi)存、交互區(qū)內(nèi)存(swap)和內(nèi)核緩沖區(qū)內(nèi)存。共享內(nèi)存將被忽略

(35)vmstat命令是Virtual Meomory Statistics(虛擬內(nèi)存統(tǒng)計)。對操作系統(tǒng)的虛擬內(nèi)存、進程、CPU活動進行監(jiān)控。對系統(tǒng)的整體情況進行統(tǒng)計,不足之處是無法對某個進程進行深入分析。vmstat工具提供了一種低開銷的系統(tǒng)性能觀察方式。因為 vmstat 本身就是低開銷工具,在非常高負荷的服務(wù)器上,你需要查看并監(jiān)控系統(tǒng)的健康情況,在控制窗口還是能夠使用vmstat 輸出結(jié)果。在學習vmstat命令前,我們先了解一下Linux系統(tǒng)中關(guān)于物理內(nèi)存和虛擬內(nèi)存相關(guān)信息。

物理內(nèi)存和虛擬內(nèi)存區(qū)別:

我們知道,直接從物理內(nèi)存讀寫數(shù)據(jù)要比從硬盤讀寫數(shù)據(jù)要快的多,因此,我們希望所有數(shù)據(jù)的讀取和寫入都在內(nèi)存完成,而內(nèi)存是有限的,這樣就引出了物理內(nèi)存與虛擬內(nèi)存的概念。

物理內(nèi)存就是系統(tǒng)硬件提供的內(nèi)存大小,是真正的內(nèi)存,相對于物理內(nèi)存,在linux下還有一個虛擬內(nèi)存的概念,虛擬內(nèi)存就是為了滿足物理內(nèi)存的不足而提出的策略,它是利用磁盤空間虛擬出的一塊邏輯內(nèi)存,用作虛擬內(nèi)存的磁盤空間被稱為交換空間(Swap Space)。

作為物理內(nèi)存的擴展,linux會在物理內(nèi)存不足時,使用交換分區(qū)的虛擬內(nèi)存,更詳細的說,就是內(nèi)核會將暫時不用的內(nèi)存塊信息寫到交換空間,這樣以來,物理內(nèi)存得到了釋放,這塊內(nèi)存就可以用于其它目的,當需要用到原始的內(nèi)容時,這些信息會被重新從交換空間讀入物理內(nèi)存。

linux的內(nèi)存管理采取的是分頁存取機制,為了保證物理內(nèi)存能得到充分的利用,內(nèi)核會在適當?shù)臅r候?qū)⑽锢韮?nèi)存中不經(jīng)常使用的數(shù)據(jù)塊自動交換到虛擬內(nèi)存中,而將經(jīng)常使用的信息保留到物理內(nèi)存。

要深入了解linux內(nèi)存運行機制,需要知道下面提到的幾個方面:

首先,Linux系統(tǒng)會不時的進行頁面交換操作,以保持盡可能多的空閑物理內(nèi)存,即使并沒有什么事情需要內(nèi)存,Linux也會交換出暫時不用的內(nèi)存頁面。這可以避免等待交換所需的時間。

其次,linux進行頁面交換是有條件的,不是所有頁面在不用時都交換到虛擬內(nèi)存,linux內(nèi)核根據(jù)”最近最經(jīng)常使用“算法,僅僅將一些不經(jīng)常使用的頁面文件交換到虛擬內(nèi)存,有時我們會看到這么一個現(xiàn)象:linux物理內(nèi)存還有很多,但是交換空間也使用了很多。其實,這并不奇怪,例如,一個占用很大內(nèi)存的進程運行時,需要耗費很多內(nèi)存資源,此時就會有一些不常用頁面文件被交換到虛擬內(nèi)存中,但后來這個占用很多內(nèi)存資源的進程結(jié)束并釋放了很多內(nèi)存時,剛才被交換出去的頁面文件并不會自動的交換進物理內(nèi)存,除非有這個必要,那么此刻系統(tǒng)物理內(nèi)存就會空閑很多,同時交換空間也在被使用,就出現(xiàn)了剛才所說的現(xiàn)象了。關(guān)于這點,不用擔心什么,只要知道是怎么一回事就可以了。

最后,交換空間的頁面在使用時會首先被交換到物理內(nèi)存,如果此時沒有足夠的物理內(nèi)存來容納這些頁面,它們又會被馬上交換出去,如此以來,虛擬內(nèi)存中可能沒有足夠空間來存儲這些交換頁面,最終會導致linux出現(xiàn)假死機、服務(wù)異常等問題,linux雖然可以在一段時間內(nèi)自行恢復,但是恢復后的系統(tǒng)已經(jīng)基本不可用了。

因此,合理規(guī)劃和設(shè)計linux內(nèi)存的使用,是非常重要的。

虛擬內(nèi)存原理:

在系統(tǒng)中運行的每個進程都需要使用到內(nèi)存,但不是每個進程都需要每時每刻使用系統(tǒng)分配的內(nèi)存空間。當系統(tǒng)運行所需內(nèi)存超過實際的物理內(nèi)存,內(nèi)核會釋放某些進程所占用但未使用的部分或所有物理內(nèi)存,將這部分資料存儲在磁盤上直到進程下一次調(diào)用,并將釋放出的內(nèi)存提供給有需要的進程使用。

在Linux內(nèi)存管理中,主要是通過“調(diào)頁Paging”和“交換Swapping”來完成上述的內(nèi)存調(diào)度。調(diào)頁算法是將內(nèi)存中最近不常使用的頁面換到磁盤上,把活動頁面保留在內(nèi)存中供進程使用。交換技術(shù)是將整個進程,而不是部分頁面,全部交換到磁盤上。

分頁(Page)寫入磁盤的過程被稱作Page-Out,分頁(Page)從磁盤重新回到內(nèi)存的過程被稱作Page-In。當內(nèi)核需要一個分頁時,但發(fā)現(xiàn)此分頁不在物理內(nèi)存中(因為已經(jīng)被Page-Out了),此時就發(fā)生了分頁錯誤(Page Fault)。

當系統(tǒng)內(nèi)核發(fā)現(xiàn)可運行內(nèi)存變少時,就會通過Page-Out來釋放一部分物理內(nèi)存。經(jīng)管Page-Out不是經(jīng)常發(fā)生,但是如果Page-out頻繁不斷的發(fā)生,直到當內(nèi)核管理分頁的時間超過運行程式的時間時,系統(tǒng)效能會急劇下降。這時的系統(tǒng)已經(jīng)運行非常慢或進入暫停狀態(tài),這種狀態(tài)亦被稱作thrashing(顛簸)。

(36)通過iostat方便查看CPU、網(wǎng)卡、tty設(shè)備、磁盤、CD-ROM 等等設(shè)備的活動情況, 負載信息。

(37)lsof(list open files)是一個列出當前系統(tǒng)打開文件的工具。在linux環(huán)境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規(guī)數(shù)據(jù),還可以訪問網(wǎng)絡(luò)連接和硬件。所以如傳輸控制協(xié)議 (TCP) 和用戶數(shù)據(jù)報協(xié)議 (UDP) 套接字等,系統(tǒng)在后臺都為該應用程序分配了一個文件描述符,無論這個文件的本質(zhì)如何,該文件描述符為應用程序與基礎(chǔ)操作系統(tǒng)之間的交互提供了通用接口。因為應用程序打開文件的描述符列表提供了大量關(guān)于這個應用程序本身的信息,因此通過lsof工具能夠查看這個列表對系統(tǒng)監(jiān)測以及排錯將是很有幫助的。

(38)ifconfig 命令用來查看和配置網(wǎng)絡(luò)設(shè)備。當網(wǎng)絡(luò)環(huán)境發(fā)生改變時可通過此命令對網(wǎng)絡(luò)進行相應的配置。許多windows非常熟悉ipconfig命令行工具,它被用來獲取網(wǎng)絡(luò)接口配置信息并對此進行修改。Linux系統(tǒng)擁有一個類似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登錄或使用sudo以便在Linux機器上使用ifconfig工具。依賴于ifconfig命令中使用一些選項屬性,ifconfig工具不僅可以被用來簡單地獲取網(wǎng)絡(luò)接口配置信息,還可以修改這些配置。

(39)Route命令是用于操作基于內(nèi)核ip路由表,它的主要作用是創(chuàng)建一個靜態(tài)路由讓指定一個主機或者一個網(wǎng)絡(luò)通過一個網(wǎng)絡(luò)接口,如eth0。當使用"add"或者"del"參數(shù)時,路由表被修改,如果沒有參數(shù),則顯示路由表當前的內(nèi)容。Linux系統(tǒng)的route命令用于顯示和操作IP路由表(show / manipulate the IP routing table)。要實現(xiàn)兩個不同的子網(wǎng)之間的通信,需要一臺連接兩個網(wǎng)絡(luò)的路由器,或者同時位于兩個網(wǎng)絡(luò)的網(wǎng)關(guān)來實現(xiàn)。在Linux系統(tǒng)中,設(shè)置路由通常是為了解決以下問題:該Linux系統(tǒng)在一個局域網(wǎng)中,局域網(wǎng)中有一個網(wǎng)關(guān),能夠讓機器訪問Internet,那么就需要將這臺機器的IP地址設(shè)置為Linux機器的默認路由。要注意的是,直接在命令行下執(zhí)行route命令來添加路由,不會永久保存,當網(wǎng)卡重啟或者機器重啟之后,該路由就失效了;可以在/etc/rc.local中添加route命令來保證該路由設(shè)置永久有效。

(40)Linux系統(tǒng)的ping命令是常用的網(wǎng)絡(luò)命令,它通常用來測試與目標主機的連通性,我們經(jīng)常會說“ping一下某機器,看是不是開著”、不能打開網(wǎng)頁時會說“你先ping網(wǎng)關(guān)地址192.168.1.1試試”。它通過發(fā)送ICMP ECHO_REQUEST數(shù)據(jù)包到網(wǎng)絡(luò)主機(send ICMP ECHO_REQUEST to network hosts),并顯示響應情況,這樣我們就可以根據(jù)它輸出的信息來確定目標主機是否可訪問(但這不是絕對的)。有些服務(wù)器為了防止通過ping探測到,通過防火墻設(shè)置了禁止ping或者在內(nèi)核參數(shù)中禁止ping,這樣就不能通過ping確定該主機是否還處于開啟狀態(tài)。

linux下的ping和windows下的ping稍有區(qū)別,linux下ping不會自動終止,需要按ctrl+c終止或者用參數(shù)-c指定要求完成的回應次數(shù)。

(41)traceroute指令讓你追蹤網(wǎng)絡(luò)數(shù)據(jù)包的路由途徑,預設(shè)數(shù)據(jù)包大小是40Bytes,用戶可另行設(shè)置。

(42)netstat用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計數(shù)據(jù),一般用于檢驗本機各端口的網(wǎng)絡(luò)連接情況。netstat命令用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計數(shù)據(jù),一般用于檢驗本機各端口的網(wǎng)絡(luò)連接情況。netstat是在內(nèi)核中訪問網(wǎng)絡(luò)及相關(guān)信息的程序,它能提供TCP連接,TCP和UDP監(jiān)聽,進程內(nèi)存管理的相關(guān)報告。

如果你的計算機有時候接收到的數(shù)據(jù)報導致出錯數(shù)據(jù)或故障,你不必感到奇怪,TCP/IP可以容許這些類型的錯誤,并能夠自動重發(fā)數(shù)據(jù)報。但如果累計的出錯情況數(shù)目占到所接收的IP數(shù)據(jù)報相當大的百分比,或者它的數(shù)目正迅速增加,那么你就應該使用netstat查一查為什么會出現(xiàn)這些情況了。

(43)ss(Socket Statistics的縮寫)命令可以用來獲取 socket統(tǒng)計信息,此命令輸出的結(jié)果類似于 netstat輸出的內(nèi)容,但它能顯示更多更詳細的 TCP連接狀態(tài)的信息,且比 netstat 更快速高效。它使用了 TCP協(xié)議棧中 tcp_diag(是一個用于分析統(tǒng)計的模塊),能直接從獲得第一手內(nèi)核信息,這就使得 ss命令快捷高效。在沒有 tcp_diag,ss也可以正常運行。ss是Socket Statistics的縮寫。顧名思義,ss命令可以用來獲取socket統(tǒng)計信息,它可以顯示和netstat類似的內(nèi)容。但ss的優(yōu)勢在于它能夠顯示更多更詳細的有關(guān)TCP和連接狀態(tài)的信息,而且比netstat更快速更高效。

當服務(wù)器的socket連接數(shù)量變得非常大時,無論是使用netstat命令還是直接cat /proc/net/tcp,執(zhí)行速度都會很慢。可能你不會有切身的感受,但請相信我,當服務(wù)器維持的連接達到上萬個的時候,使用netstat等于浪費 生命,而用ss才是節(jié)省時間。

天下武功唯快不破。ss快的秘訣在于,它利用到了TCP協(xié)議棧中tcp_diag。tcp_diag是一個用于分析統(tǒng)計的模塊,可以獲得Linux 內(nèi)核中第一手的信息,這就確保了ss的快捷高效。當然,如果你的系統(tǒng)中沒有tcp_diag,ss也可以正常運行,只是效率會變得稍慢。(但仍然比 netstat要快。)

(44)執(zhí)行telnet指令開啟終端機階段作業(yè),并登入遠端主機。telnet命令通常用來遠程登錄。telnet程序是基于TELNET協(xié)議的遠程登錄客戶端程序。Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠程登陸服務(wù)的標準協(xié)議和主要方式。它為用戶提供了在本地計算機上完成遠程主機工作的 能力。在終端使用者的電腦上使用telnet程序,用它連接到服務(wù)器。終端使用者可以在telnet程序中輸入命令,這些命令會在服務(wù)器上運行,就像直接在服務(wù)器的控制臺上輸入一樣。可以在本地就能控制服務(wù)器。要開始一個 telnet會話,必須輸入用戶名和密碼來登錄服務(wù)器。Telnet是常用的遠程控制Web服務(wù)器的方法。

  但是,telnet因為采用明文傳送報文,安全性不好,很多Linux服務(wù)器都不開放telnet服務(wù),而改用更安全的ssh方式了。但仍然有很多別的系統(tǒng)可能采用了telnet方式來提供遠程登錄,因此弄清楚telnet客戶端的使用方式仍是很有必要的。

telnet命令還可做別的用途,比如確定遠程服務(wù)的狀態(tài),比如確定遠程服務(wù)器的某個端口是否能訪問。

(45)rcp命令用在遠端復制文件或目錄,如同時指定兩個以上的文件或目錄,且最后的目的地是一個已經(jīng)存在的目錄,則它會把前面指定的所有文件或目錄復制到該目錄中。rcp代表“remote file copy”(遠程文件拷貝)。該命令用于在計算機之間拷貝文件。rcp命令有兩種格式。第一種格式用于文件到文件的拷貝;第二種格式用于把文件或目錄拷貝到另一個目錄中。

(46)scp是 secure copy的縮寫, scp是linux系統(tǒng)下基于ssh登陸進行安全的遠程文件拷貝命令。linux的scp命令可以在linux服務(wù)器之間復制文件和目錄。scp是secure copy的簡寫,用于在Linux下進行遠程拷貝文件的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務(wù)器,而且scp傳輸是加密的。可能會稍微影響一下速度。當你服務(wù)器硬盤變?yōu)橹蛔x read only system時,用scp可以幫你把文件移出來。另外,scp還非常不占資源,不會提高多少系統(tǒng)負荷,在這一點上,rsync就遠遠不及它了。雖然 rsync比scp會快一點,但當小文件眾多的情況下,rsync會導致硬盤I/O非常高,而scp基本不影響系統(tǒng)正常使用。

(47)ln命令(Link files)。Linux文件系統(tǒng)中,有所謂的鏈接(link),我們可以將其視為檔案的別名,而鏈接又可分為兩種 : 硬鏈接(hard link)與軟鏈接(symbolic link),硬鏈接的意思是一個檔案可以有多個名稱,而軟鏈接的方式則是產(chǎn)生一個特殊的檔案,該檔案的內(nèi)容是指向另一個檔案的位置。硬鏈接是存在同一個文件系統(tǒng)中,而軟鏈接卻可以跨越不同的文件系統(tǒng)。ln是linux中又一個非常重要命令,它的功能是為某一個文件在另外一個位置建立一個同步的鏈接.當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然后在 其它的目錄下用ln命令鏈接(link)它就可以,不必重復的占用磁盤空間。

軟鏈接:

1. 軟鏈接,以路徑的形式存在。類似于Windows操作系統(tǒng)中的快捷方式

2. 軟鏈接可以 跨文件系統(tǒng) ,硬鏈接不可以

3. 軟鏈接可以對一個不存在的文件名進行鏈接

4. 軟鏈接可以對目錄進行鏈接

硬鏈接:

1. 硬鏈接,以文件副本的形式存在。但不占用實際空間。

2. 不允許給目錄創(chuàng)建硬鏈接

3.硬鏈接只有在同一個文件系統(tǒng)中才能創(chuàng)建

(48)diff命令(difference)能比較單個文件或者目錄內(nèi)容。如果指定比較的是文件,則只有當輸入為文本文件時才有效。以逐行的方式,比較文本文件的異同處。如果指定比較的是目錄的的時候,diff 命令會比較兩個目錄下名字相同的文本文件。列出不同的二進制文件、公共子目錄和只在一個目錄出現(xiàn)的文件。diff 命令是 linux上非常重要的工具,用于比較文件的內(nèi)容,特別是比較兩個版本不同的文件以找到改動的地方。diff在命令行中打印每一個行的改動。最新版本的diff還支持二進制文件。diff程序的輸出被稱為補丁 (patch),因為Linux系統(tǒng)中還有一個patch程序,可以根據(jù)diff的輸出將a.c的文件內(nèi)容更新為b.c。diff是svn、cvs、git等版本控制工具不可或缺的一部分。

(49)date 可以用來顯示或設(shè)定系統(tǒng)的日期與時間。在linux環(huán)境中,不管是編程還是其他維護,時間是必不可少的,也經(jīng)常會用到時間的運算,熟練運用date命令來表示自己想要表示的時間,肯定可以給自己的工作帶來諸多方便。

(50)cal命令可以用來顯示公歷(陽歷)日歷。公歷是現(xiàn)在國際通用的歷法,又稱格列歷,通稱陽歷。“陽歷”又名“太陽歷”,系以地球繞行太陽一周為一年,為西方各國所通用,故又名“西歷”。用于查看日歷等時間信息,如只有一個參數(shù),則表示年份(1-9999),如有兩個參數(shù),則表示月份和年份

(51)grep命令(Global Regular Expression Print,正則表達式搜索文本)Linux系統(tǒng)中g(shù)rep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權(quán)限是所有用戶。

grep的工作方式是這樣的,它在一個或多個文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板后的所有字符串被看作文件名。搜索的結(jié)果被送到標準輸出,不影響原文件內(nèi)容。

grep可用于shell腳本,因為grep通過返回一個狀態(tài)值來說明搜索的狀態(tài),如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。我們利用這些返回值就可進行一些自動化的文本處理工作。用于過濾/搜索的特定字符。可使用正則表達式能多種命令配合使用,使用上十分靈活。

(52)wc命令(word count)。inux系統(tǒng)中的wc(Word Count)命令的功能為統(tǒng)計指定文件中的字節(jié)數(shù)、字數(shù)、行數(shù),并將統(tǒng)計結(jié)果顯示輸出。統(tǒng)計指定文件中的字節(jié)數(shù)、字數(shù)、行數(shù),并將統(tǒng)計結(jié)果顯示輸出。該命令統(tǒng)計指定文件中的字節(jié)數(shù)、字數(shù)、行數(shù)。如果沒有給出文件名,則從標準輸入讀取。wc同時也給出所指定文件的總統(tǒng)計數(shù)。

(53)ps命令(process status)。Linux中的ps命令是Process Status的縮寫。ps命令用來列出系統(tǒng)中當前運行的那些進程。ps命令列出的是當前那些進程的快照,就是執(zhí)行ps命令的那個時刻的那些進程,如果想要動態(tài)的顯示進程信息,就可以使用top命令。

要對進程進行監(jiān)測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而 ps 命令就是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和運行的狀態(tài)、進程是否結(jié)束、進程有沒有僵死、哪些進程占用了過多的資源等等。總之大部分信息都是可以通過執(zhí)行該命令得到的。

  ps命令(process status)為我們提供了進程的一次性的查看,它所提供的查看結(jié)果并不動態(tài)連續(xù)的。如果想對進程時間監(jiān)控,應該用 top 工具。

  linux上進程有5種狀態(tài):

  1. 運行(正在運行或在運行隊列中等待)

  2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)

  3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發(fā)生)

  4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調(diào)用wait4()系統(tǒng)調(diào)用后釋放)

  5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行運行)

(54)watch是一個非常實用的命令,基本所有的Linux發(fā)行版都帶有這個小工具,如同名字一樣,watch可以幫你監(jiān)測一個命令的運行結(jié)果,省得你一遍遍的手動運行。在Linux下,watch是周期性的執(zhí)行下個程序,并全屏顯示執(zhí)行結(jié)果。你可以拿他來監(jiān)測你想要的一切命令的結(jié)果變化,比如 tail 一個 log 文件,ls 監(jiān)測某個文件的大小變化,看你的想象力了!可以將命令的輸出結(jié)果輸出到標準輸出設(shè)備,多用于周期性執(zhí)行命令/定時執(zhí)行命令

(55)at命令是針對僅運行一次的任務(wù),在一個指定的時間執(zhí)行一個指定任務(wù),只能執(zhí)行一次。

(56)crontab命令。循環(huán)運行的例行性計劃任務(wù),linux系統(tǒng)則是由 cron (crond) 這個系統(tǒng)服務(wù)來控制的。Linux 系統(tǒng)上面原本就有非常多的計劃性工作,因此這個系統(tǒng)服務(wù)是默認啟動的。另外, 由于使用者自己也可以設(shè)置計劃任務(wù),所以, Linux 系統(tǒng)也提供了使用者控制計劃任務(wù)的命令 :crontab 命令。crond是linux下用來周期性的執(zhí)行某種任務(wù)或等待處理某些事件的一個守護進程,與windows下的計劃任務(wù)類似,當安裝完成操作系統(tǒng)后,默認會安裝此服務(wù)工具,并且會自動啟動crond進程,crond進程每分鐘會定期檢查是否有要執(zhí)行的任務(wù),如果有要執(zhí)行的任務(wù),則自動執(zhí)行該任務(wù)。

Linux下的任務(wù)調(diào)度分為兩類,系統(tǒng)任務(wù)調(diào)度和用戶任務(wù)調(diào)度。

系統(tǒng)任務(wù)調(diào)度:系統(tǒng)周期性所要執(zhí)行的工作,比如寫緩存數(shù)據(jù)到硬盤、日志清理等。

用戶任務(wù)調(diào)度:用戶定期要執(zhí)行的工作,比如用戶數(shù)據(jù)備份、定時郵件提醒等。用戶可以使用 crontab 工具來定制自己的計劃任務(wù)。所有用戶定義的crontab 文件都被保存在 /var/spool/cron目錄中。其文件名與用戶名一致。

(57)du命令(disk usage)。du命令顯示每個文件和目錄的磁盤使用空間。

(58)df命令(disk free)。用來檢查linux服務(wù)器的文件系統(tǒng)的磁盤空間占用情況。可以利用該命令來獲取硬盤被占用了多少空間,目前還剩下多少空間等信息。

(59)sudo命令(superuser do)。以系統(tǒng)管理者的身份執(zhí)行指令,也就是說,經(jīng)由sudo所執(zhí)行的指令就好像是root親自執(zhí)行。

(60)ssh和telnet差不多, 都是遠程登錄的客戶端, 只不過ssh更安全(加密方式), telnet是明文傳輸。

?

Good? Good? Study,? Day? Day? Up.

順序?? 選擇?? 循環(huán)?? 總結(jié)

轉(zhuǎn)載于:https://www.cnblogs.com/Braveliu/p/6376918.html

總結(jié)

以上是生活随笔為你收集整理的Linux 命令集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。