導航:首頁 > 程序命令 > mkswap命令作用

mkswap命令作用

發布時間:2023-03-07 19:52:41

linux文件系統操作命令

Linux文件系統操作命令大全

Linux命令有很多,那麼Linux文件系統操作命令又有哪些呢?下面我為你介紹!

文件系統操作命令:

1. cat:可以顯示文件的內容(經常和more搭配使用),或將多個文件合並成一個文件。

2. chgrp:用來改變文件或目錄所屬的用戶組,命令的參數以空格分開的要改變屬組的文件列表,文件名支持通配符,如果用戶不是該文件的所有者,則不能改變該文件的所屬組。

3. chmod:用於改變文件或目錄的訪問許可權,該命令有兩種用法:一種是使用圖形化的方法,另一種是數字設置法。

4. chown:用來將指定用戶或組為特定的所有者。用戶可以設置為用戶名或用戶ID,組可以是組名或組ID。特定的文件是以空格分開的可以改變許可權的文件列表,文件名支持通配符。

5. clear:用來清除終端屏幕。

6. cmp:用來比較兩個文件的大小。

7. cp:()可以將文件或目錄復制到其他目錄中,就如同Dos下的命令一樣,功能非常強大。在使用cp命令時,只需要指定源文件名或目標目錄即可。

8. cut:用來移除文件的部分內容。

9. diff:用來找出兩個文件的不同之處。

10. : 用來顯示磁碟的剩餘空間的大小。

11. file:用來顯示文件的類型。

12. find:用來在目錄中搜索文件,並執行指定的操作。

13. head:只查看文件的頭幾行內容,而不必瀏覽整個文件。

14. ln:可以在文件之間創建鏈接,實際上是給某個文件指定一個訪問它的別名。

15. less:用法與more類似,可以查看超過一屏的文件內容,不同的是less除了可以按空格鍵向下顯示文件外,還可以利用方向鍵來滾動顯示文件,要結束瀏覽,只要在less的提示符“:”後按Q即可。

16. locate:可用於查找文件,且比find命令的搜索速度快。

17. ls(list):用來顯示當前目錄中的文件和子目錄列表。

18. mkdir(make directory):建立子目錄。

19. more:用於顯示內容超過一屏的文件,為了避免文件內容顯示瞬間就消失,可以使用more命令讓文件顯示滿一屏時暫停,在按下任意鍵的時候繼續顯示下一屏的內容。

20. rmkdir(remove directory):用來刪除“空”的子目錄或無用的目錄文件。

21. mv(move):可以將文件以及目錄移到其他位置,或更改文件以及目錄的名稱。

22. pico:可指定文本的編輯方式。

23. pwd(print working directory):可顯示用戶當前所在的目錄。

24. rm:用來刪除系統中過時或無用的文件,可以刪除目錄中的文件或目錄本身,對於鏈接文件,原有文件保持不變。

25. sort:將文本文件自動分類。

26. stat:用於顯示文件或文件系統的狀態。

27. Strings:顯示文件中要列印的字元串。

28. tail:輸出文件的結尾。

29. touch:改變文件的時間戳。

30. umask:用於啟動bash shell。

31. uniq:移除已分類文件中的重復文本行。

32. vi:啟動vi文本編輯器。

33. wc:顯示文件中位元組、片語合文本行的數目。

34. whereis:查找特定目錄下的原始程序,二進製程序或用戶手冊等文件的位置。

35. man:如果用戶對某個命令想了解更詳細的話,可使用此命令。

36. dd:復制一個文件。

37. df:查看一個文件系統的磁碟空間使用情況。

38. edquoat:設置用戶與用戶組的磁碟空間限制,即Windows系統中的配額。

39. fdformat:格式化軟盤。

40. fdisk:執行Linux下的`磁碟分區。

41. mkfs:建立一個Linux文件系統。

42. mkswap:創建一個Linux交換分區。

43. mount:掛載一個文件系統。

44. quota:限制和顯示用戶可用的磁碟空間。

45. swapon,swapoff:啟用或取消設備和文件的交換頁。

46. quotaon,quotaoff:啟用或取消quota限制。

47. umount:取消文件系統的裝備。

系統管理命令

1. finger:查詢用戶信息,也能查看默認的用戶環境。

2. ftp:標準的文件傳輸協議的用戶介面,是在網路上傳輸文件最簡單有效的方法。

3. host:用於DNS查詢。

4. hostname:用於顯示或設置系統的主機名。

5. ifconfig:用於配置網卡介面。(可以使用down或up參數來禁用或啟用某個網卡介面)

6. mail:發送和接收郵件。

7. netstat:顯示網路連接、路由表和網路介面信息,用戶可以知道目前那些網路連接正在運行。

8. ping:此命令用於測試本計算機和網路上其它的計算機是否相連。

9. rlogin:遠程登陸命令,該命令與telnet命令很相似,允許用戶啟動遠程系統的交互會話。

10. rcp:rcp(remote file )命令是遠程文件復制命令,該命令用於在計算機之間復制文件,有兩中格式,一種格式用於文件動文件的復制,另一種用於把文件或目錄復制到其他文件目錄中。

11. route:此命令用於顯示或設置IP路由表。

12. tcpmp:此命令用於測試網路的通信量。

13. talk:此命令可用於事項網路用戶的適時交談,但是必須將雙方系統的信息加入各自的/etc/hosts文件中,以相互識別。

14. telnet:此命令用於通過網路登陸遠程計算機,如同操作本地計算機一樣。

15. wall:wall(write all)命令可以用於發送消息給登陸本機的用戶。在發送消息時,可直接輸入要發送的消息,也可以把文件當成消息發送。

16. wget:此命令用於Linux環境下從Internet上下載文件,支持http和ftp協議,支持代理伺服器和斷點連續傳功能,能夠遞歸遠程主機上的目錄,查找合乎要求的的文件並下載到本地硬碟上。Wget命令可以在後台運行,截獲並忽略hantfup信號,因此用戶退出登陸後,仍可繼續運行。

17. &,bg:&,bg命令是後台執行命令,有時候用戶執行的程序可能要話很多時間,如果放在前台執行,可能無法繼續其他操作,最好將他放在後台執行。

18. fg:fg命令是前台執行命令,如果用戶有程序在後台運行,可以通過fg命令將程序從後台移到前台執行。

19. jobs:此命令用於顯示正在後台執行的任務清單。Bg,fg,jobs命令都屬於bash命令,

20. kill:此命令用於終止一個程序,例如:#[root@rathat9 root]kill 3793

21. ps:此命令用於顯示程序的狀態。

22. top:此命令用於顯示當前CPU進程。

23. at batch atp atrm:這些命令用於排序,檢查或刪除後台運行的任務。

Linux與用戶有關的命令:

1. passwd命令:更改用戶口令。

格式:passwd [用戶名]

2. su命令:可以讓一個普通用戶擁有超級用戶或其他用戶的許可權,也可以讓超級擁護以普通用戶的身份做一些事情。

格式:su[選項][?][使用者賬號]

說明:若沒有指定的使用者賬號,則系統預設值為超級用戶root。該命令中個選項的含義分別為:

-c:執行一個命令後就結束。

-:加了這個減號的目的是使環境變數和欲轉換的用戶相同。

-m:保留環境變數不變。

Linux系統管理命令:

1. wall命令:對全部以登陸的用戶發送信息。

2. write命令:向系統中某一用戶發送信息。

格式:write 用戶賬號 [終端名稱]

3. mesg命令:設定是否允許其他用戶用write命令給自己發送信息。

如果允許輸入命令:mesg y

如果不允許輸入命令:mesg n

4. sync命令:在關閉Linux系統是使用的。Sync是強制把內存中的數據寫回硬碟,以免數據丟失。

5. shutdown命令:可以安全的關閉或重啟Linux它在系統關閉之前給系統上的所有登陸用戶提示一條警告信息。

格式:shutdown [選項][時間][警告信息]

命令中選項的含義:

-k:並不真正關機,而只是發出警告信息給所有用戶。

-r:關機後立即重新啟動。

-h:關機後不重新啟動。

-f快速關機,重新啟動時跳過fsck。

-n:快速關機,不經過init程序。

-c:取消一個已經運行的shutdown。

6. free命令:查看當前系統內存的使用情況,它顯示系統中剩餘及已用的物理內存和交換內存,以及共享內存和被核心使用的緩沖區。

格式:free [-b | -k |-m]

命令中各個選項的含義:

-b:以位元組為單位顯示。

-k:以K位元組為單位顯示。

-m:以兆位元組為單位顯示。

7. uptime命令:顯示系統已經運行了多長時間,它依次顯示下列信息:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鍾、5分鍾和15分鍾內的平均負載。

8. df命令:檢查文件系統的磁碟空間佔用情況。

格式:df [選項]

說明:df命令可顯示所有文件系統對I節點和磁碟塊的使用情況。

命令中各個選項的含義:

-a:顯示所有文件系統的磁碟使用情況,包括0塊(block)的文件系統。

-k:以k位元組為單位顯示。

-i:顯示i節點信息,而不是磁碟塊。

-t:顯示各指定類型的文件系統的磁碟空間使用情況。

-x:列出不是某一指定類型文件系統的磁碟空間使用情況。

-T:顯示文件系統類型。

9. 命令:顯示磁碟空間的使用情況。統計目錄(或文件)所佔磁碟的大小。

格式: [選項] [Names…]

說明:該命令逐級進入指定目錄的每一個子目錄並顯示該目錄佔用文件系統數據塊(1024位元組)的情況。若沒有給出Names,則對當前目錄進行統計。

命令中各個選項的含義:

-s:對每個Names參數只給出佔用的數據塊總數。

-a:遞歸的顯示指定目錄中各文件及子孫目錄中個文件佔用的數據塊數。若既不指定-s,也不指定-a,則顯示Names中的每一個目錄及其中的各子目錄所佔的磁碟塊數。

-b:以位元組為單位列出磁碟空間使用情況(系統預設以k位元組為單位)。

-k:以1024位元組為單位列出磁碟空間的使用情況。

-c:最後再加上一個總計(系統預設設置)。

-l:計算所有的文件大小,對硬鏈接文件,則計算多次。

-x:跳過在不同文件系統上的目錄不予統計。

10. dd命令:把指定的輸入文件拷貝到指定的輸出文件中,並且在拷貝過程中可以進行格式轉換。

格式:dd [選項]

命令中各個選項的含義:

if = 輸入文件(或設備名稱)。

of = 輸出文件(或設備名稱)。

ibs = bytes 一次讀取bytes位元組,及讀入緩沖區的位元組數。

skip = blocks 跳過讀入緩沖區開頭的ibs*blocks塊。

obs = bytes 一次寫入bytes位元組,及寫入緩沖區的位元組數。

bs = bytes 同時設置讀/寫緩沖區的位元組數(等於設置ibs和obs).

cbs = byte 一次轉換bytes位元組。

count = blocks 只拷貝輸入的block塊。

conv = ASCⅡ 把EBCDIC碼轉換為ASCⅡ。

conv = ebcdic 把ASCⅡ碼轉換為EBCDIC碼。

conv = ibm ibm把ASCⅡ碼轉換為alternate EBCDIC碼。

conv = block 把變動位轉換成固定字元。

conv = ublock 把固定位轉換成變動位。

conv = ucase 把字母由小寫轉換為大寫。

conv = lcase 把字母由大寫轉換為小寫。

conv = notrunc 不截短輸出文件。

conv = swab 交換每一對輸入位元組。

conv = noerror 出錯是不停止處理。

conv = sync 把每個輸入記錄的大小都調到ibs的大小(用NUL填充)。

11. fdformat命令:低級格式化軟盤。

格式:format [-n] device

說明:-n 軟盤格式化後不作檢驗。

12. echo命令:在顯示器上顯示一段文字,一般起到一個提示作用。

格式:echo [-n] 字元串

13. cal命令:顯示某年某月的日歷。

格式:cal [選項] [月 [年]]

命令中各個選項的含義:

-j:顯示出給定月中的每一天是一年中的第幾天(從1月1日算起)。

-y:顯示出整年的日歷。

14. date命令:顯示和設置系統日期和時間。

格式:date [選項] 顯示時間格式 (以 + 開頭,後面接格式)

date [選項] 設置時間格式

命令中各個選項的含義:

15. clear命令:清除屏幕上的信息。

Vi的基本命令:

1. 移動游標:

Ctrl + b:上滾一屏

Ctrl + f:下滾一屏

Ctrl + d:下滾半屏

Ctrl + u:上滾半屏

G: 移到文件最後

W:移到下個字的開頭

B:跳至上個字的開頭

2. 刪除

x:刪除當前游標所在後面一個字元

#x:刪除當前游標所在後面#個字元。例如,5x表示刪除5個字元。

dd:刪除當前游標所在行

#dd:刪除當前游標所在後面#行。例如,5dd表示刪除字游標算起的5行。

:l,#d:例如,:1,12d表示刪除自行1至行12的文字

X:刪當前游標的左字元

D:刪至行尾

3. 更改

cw:更改游標處的字到此單字的字尾處

c#w:例如,c3w表示更改3個字

cc:修改行

c:替換到行尾

4. 取代

r:取代游標處的字元

R:取代字元直到按ESC為止

5. 復制

yw:拷貝游標處的字到字尾只緩沖區

P:把緩沖區的資料貼上來

yy:拷貝游標所在之行至緩沖區

#yy:例如:5yy,拷貝游標所在之處以下5行至緩沖區

Linux文件的復制,刪除和移動命令

1.cp命令:該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的COPY命令一樣,功能十分強大。

語法:cp[選項]源文件或目錄,目標文件或目錄

說明該命令把指定的源文件復制到目標文件或把多個源文件復制到目標目錄中。

該命令的各項選項含義如下:

-a:該選項通常在拷貝目錄是使用。他保留鏈接,文件屬性,並遞歸地拷貝目錄,其作用等於dpr選項的組合。

-d:拷貝是保留鏈接

-f:刪除已經存在的目標文件而不提示。

-I:和 f選項相反,在覆蓋目標文件之前將給出提示要求擁護確認。回答y時目標文件將被覆蓋,是互動式拷貝。

-p:此時cp除復制源文件的內容外,還將把其修改時間和反問許可權也復制到新文件中。

-r;若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。

-L:不作拷貝,只是鏈接文件。

需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名已存在,用cp 命令拷貝文件後,這個文件酒會被新源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用I選項。

2.mv命令:用戶可以使用mv命令來為文件或目錄改名或將文件由一個目錄移入另一個目錄中。該命令如同MS-DOS下的ren 和 move 的組合。

語法:mv[選項]源文件或目錄 目標文件或目錄。

說明:視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),他將所給的源文件或目錄重命名為給頂的目標文件名。當第二個參數是已存在的目錄名稱時,源文件或目錄參加參數可以有很多個,mv命令將個參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。

命令中各選項的含義為:

-I:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答y或n,這樣可以避免誤覆蓋文件。

-f:禁止交互操作。在mv操作要覆蓋某已有的目標文件是不給任何指示,指定此選項後,I選項將不再起作用。

如果所給目標文件(不是目錄)已存在,此時該文件的內容將後備新文件覆蓋,為防止用戶用mv命令破壞另一個文件,使用mv命令移動文件時,最好使用I選項。

3.rm命令:用戶可以用rm命令刪除不需要的文件。該命令的功能問刪除一個目錄中的一個或多個文件或目錄,他也可以將某個目錄及其下的所有文件及子目錄均刪除。對於鏈接文件,只是斷開了鏈接,源文件保持不變。

Rm命令的一般形式為:

Rm [選項]文件……

如果沒有使用-r選項,則rm不會刪除目錄。

該命令的各選項含義如下:

-f:忽略不存在的文件,從不給出提示。

-r:指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。

-I:進行互動式刪除。

使用rm命令要小心。因為一旦文件被刪除,他是不能被恢復的。為了防止這種情況的發生可以使用I選項倆逐個確認要刪除的文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件則不會刪除。

Linux目錄的創建與刪除命令:

1. mkdir命令

功能:創建一個目錄(類似MS-DOS下的md命令)。

語法:mkdir[選項]dir-name

說明:該命令創建由dir-name命名的目錄。要求創建目錄的用戶在當前目錄中(dir-name的父目錄中)具有寫許可權,並且dirname不能是當前目錄中已有的目錄或文件名稱。

命令中個選項的含義為:

-m:對新建目錄設置存取許可權。也可以用chmod命令設置。

-p:可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。

2. rmdir命令

功能:刪除空目錄。

語法:rmdir[選項]dir-name。/

說明:dir-name表示目錄名。該命令從一個目錄中刪除一個或多個子目錄項。需要特別注意的是,一個目錄被刪除之前必須是空的。Rm-r dir 命令可代替rndir,但是有危險性。刪除某目錄時也必須具有對父目錄的、寫許可權。

命令中個選項的含義為:

-p遞歸刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。如果整個路徑被刪除或者由於某種原因保留部分路徑,則系統在標准輸出上顯示相應的信息。

3. cd命令

功能:改變工作目錄。

語法:cd[directory]

說明:該命令將當前目錄改變至directory所指定的目錄。若沒有指定directory,則回到用戶的主目錄。為了改變到指定目錄,用戶必須擁有對指定目錄的執行和讀許可權。

該命令可以使用通配符(如”*,_”這樣的通配符號)。

4. pwd命令

在Linux層次結構中,用戶可以在被授權的任意目錄下利用mkdir命令創建新目錄,也可以利用cd命令從一個目錄轉換到另一個目錄。然而,沒有提示符來告知用戶目前處於哪一個目錄中。想要知道當前所處的目錄,可以用pwd命令,該命令顯示整個路徑名。

語法:pwd

說明:此命令顯示出當前工作目錄的絕對路徑。

5. ls命令

ls是list的簡寫,其功能為列出目錄的內容。這是擁護最常用的一個命令之一,因為用戶需要不時地查看某個目錄的內容,該命令類似於DOS下的dir命令

語法:ls[選項][目錄或是文件]

對於每個目錄,該命令將列出其中的所有子目錄與文件。對於每個文件,ls將輸出其文件名以及所要求的其他信息。默認情況下,輸出條目按字母順序排序。但未給出目錄名或是文件名時,就顯示當前目錄的信息。

命令中各個選項的含義:

-a:顯示指定目錄下所有子目錄與文件,包括隱藏文件。

-A:顯示指定目錄下所有子目錄與文件,包括隱藏文件。但不列出“.”和“..”.

-b:對文件名中的不可顯示字元用把禁止

linux中所有設備都是以文件的形式顯示

linux下文件的後綴名無實際意義

命令

pwd 顯示路徑

man +命令 列出操作說明

ls -l/-help列出 文件目錄

cd / 目錄做實驗

安裝步驟 configure make make install?

rm -r dl 遞歸刪除目錄

rm -rf 刪除所有目錄

rm -f 加文件名 刪除文件

rmdir +文件地址 刪除文件夾所有和rm -rf功能差不多

touch 加名字 創建新文件

cp 復制 mv 移動 rm 刪除

vi 文本編輯器 輸入a將從命令格式變成輸入格式

head tail 查看前面和後面

find 加位置 加文件名 查找

echo $PATH 查詢路徑

useradd 加名字 添加用戶

userdel 加名字 刪除用戶

su 加用戶名 切換用戶

chmod +x/-x 加文件名 修改文件許可權

chmod 755 加文件名 改變許可權在安裝程序時

grep 加文本字元 加在那個文件 查找字元存在那行

fdisk -l 查看磁碟信息

命令1|命令2|命令三... 管道

ps -ef查看進程

ifconfig linux查看ip

重定向

linux和其它機器之間共享文件vsftp Windows和linux傳輸文件15-17

putty遠程登錄軟體ssh

gzip 壓縮解壓縮 -d解壓 21

service iptables off防火牆關閉

tar -xvf 第二層解壓縮

.tar

解包:tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(註:tar是打包,不是壓縮!)

———————————————

.gz

解壓1:gunzip FileName.gz

解壓2:gzip -d FileName.gz

壓縮:gzip FileName

.tar.gz 和 .tgz

解壓:tar zxvf FileName.tar.gz ./DirName

壓縮:tar zcvf FileName.tar.gz DirName

.tar.bz2

解壓:tar xjf FileName.tar.bz2 ./DirName

壓縮:tar cjf FileName.tar.bz2 DirName

rpm -ivh 加.rpm文件 安裝

安裝sudo apt-get install 軟體名

;

㈡ linux中查看物理內存和配置空間的命令是什麼

linux中查看物理內存的命令是:dmidecode -t memory | grep Size。(如果沒有安裝dmidecode 需要先執行yum -y install dmidecode)

物理內存是沒辦法配置的,只能配置虛擬內存,在Linux系統即Swap分區,查看Swap分區的命令是:free -k 或者 free -m。m代表以MB為單位,k代表以KB為單位。


(2)mkswap命令作用擴展閱讀

dmidecode命令介紹

使用方法:

dmidecode [OPTIONS]

參數介紹:

-d, --dev-mem FILE 從設備文件讀取內存(默認: /dev/mem)

-h, --help顯示此幫助文本並退出。

-q, --quiet 減少詳細輸出。

-t, --type TYPE 僅顯示給定類型的條目。

-V, --version 查看版本號。

㈢ Linux中shell命令相關問題求助大佬

Linux Shell常用shell命令
一、文件、目錄操作命令
1、ls命令
功能:顯示文件和目錄的信息
ls以默認方式顯示當前目錄文件列表
ls -a 顯示所有文件包括隱藏文件
ls -l 顯示文件屬性,包括大小,日期,符號連接,是否可讀寫及是否可執行
ls -lh 顯示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)
ls -lt 顯示文件,按照修改時間排序
2、cd命令
功能:改名目錄
cd dir切換到當前目錄下的dir目錄
cd /切換到根目錄
cd ..切換到到上一級目錄
cd ../..切換到上二級目錄
cd ~切換到用戶目錄,比如是root用戶,則切換到/root下
根目錄與家目錄的區別:
根目錄是系統的一級文件結構,家目錄只是非root用戶控制目錄。相當於windows我的文檔,非root用戶只能完會控制家目錄的文件,不能控制根目錄下其它的文件。
根目錄是設備的最頂層目錄,用 / 表示
家目錄是每個用戶登錄系統後所在的目錄,通常在 /home 下,以用戶名作為目錄,可以用 ~ 表示。
cd / 進入根目錄
cd ~/ 進入家目錄
當然,也可以用 /home/someone 進入someone的家目錄

3、cp命令
功能:文件
cp source target將文件source復制為target
cp /root /source .將/root下的文件source復制到當前目錄
eg:cp /home/open_038_dev/external_files/test/test.sh .
cp –av soure_dir target_dir將整個目錄復制,兩目錄完全一樣
4、rm命令
功能:刪除文件或目錄
rm file刪除某一個文件
rm -f file 刪除時候不進行提示。可以於r參數配合使用
rm -rf dir刪除當前目錄下叫dir的整個目錄
5、mv命令
功能:將文件移動走,或者改名,在uinx下面沒有改名的命令,如果想改名,可以使用該命令
mv source target將文件source更名為target
命令參數:
-b :若需覆蓋文件,則覆蓋前先行備份。
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標文件已經存在,且 source 比較新,才會更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,該選項適用於移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在後。
實例一:文件改名
命令:
mv test.log test1.txt
實例二:移動文件
命令:
mv test1.txt test3

將文件log1.txt,log2.txt,log3.txt移動到目錄test3中。
mv log1.txt log2.txt log3.txt test3
將文件log1.txt log2.txt log3.txt異動到/opt/soft/test/test4目錄下
mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
移動當前文件夾下的所有文件到上一級目錄
mv * ../
6、diff
功能:比較文件內容
diff dir1 dir2比較目錄1與目錄2的文件列表是否相同,但不比較文件的實際內容,不同則列出
diff file1 file2比較文件1與文件2的內容是否相同,如果是文本格式的文件,則將不相同的內容顯示,如果是二進制代碼則只表示兩個文件是不同的
comm file1 file2比較文件,顯示兩個文件不相同的內容
7、ln命令
功能:建立鏈接。windows的快捷方式就是根據鏈接的原理來做的
ln source_path target_path 硬連接
ln -s source_path target_path 軟連接
ln是linux中又一個非常重要命令,它的功能是為某一個文件在另外一個位置建立一個同不的鏈接,這個命令最常用的參數是-s,具體用法是:ln –s 源文件 目標文件。
當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然後在 其它的目錄下用ln命令鏈接(link)它就可以,不必重復的佔用磁碟空間。例如:ln –s /bin/less /usr/local/bin/less
http://www.cnblogs.com/joeblackzqq/archive/2011/03/20/1989625.html
二、查看文件內容命令
1、cat命令
顯示文件的內容,和DOS的type相同
cat file
2、more命令
功能:分頁顯示命令
morefile
more命令也可以通過管道符(|)與其他的命令一起使用,例如:
ps ux|more
ls|more
3、tail 命令
功能:顯示文件的最後幾行
tail -n 100 aaa.txt 顯示文件aaa.txt文件的最後100行
4、vi命令
vi file編輯文件file
vi 原基本使用及命令:
輸入命令的方式為先按[ESC]鍵,然後輸入:w(寫入文件),:w!(不詢問方式寫入文件),:wq保存並退出,:q退出,q!不保存退出
5、touch命令
功能:創建一個空文件
touch aaa.txt 創建一個空文件,文件名為aaa.txt
三、基本系統命令
1、man命令
功能:查看某個命令的幫助,如果你不知道某個命令的用法不懂,可以問他,他知道就回告訴你
例如:
man ls 顯示ls命令的幫助內容
2、w命令
功能:顯示登錄用戶的詳細信息
例如:
Sarge:~# w
22:06:51 up 43 min, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
zhoulj pts/0 10.140.0.109 21:24 0.00s 0.85s 0.09s sshd: zhoulj [priv]
3、who命令
功能:顯示登錄用戶
例如:
Sarge:~# who
zhoulj pts/0 Mar 13 21:24 (10.140.0.109)
4、last命令
功能:查看最近那些用戶登錄系統
例如:
Sarge:~# last
zhoulj pts/0 10.140.0.109 Mon Mar 13 21:24 still logged in
reboot system boot 2.6.8-2-386 Mon Mar 13 21:23 (00:43)
zhoulj pts/0 10.140.0.105 Sun Mar 12 22:51 - down (00:00)
zhoulj pts/0 10.140.0.105 Sun Mar 12 22:51 - 22:51 (00:00)
root tty1 Sun Mar 12 22:50 - down (00:01)
root tty1 Sun Mar 12 22:46 - 22:48 (00:02)
root tty1 Sun Mar 12 22:43 - 22:46 (00:02)
reboot system boot 2.6.8-2-386 Mon Mar 13 06:34 (-7:-41)
wtmp begins Mon Mar 13 06:34:11 2006
5、date命令
功能:系統日期設定
date顯示當前日期時間
date -s 20:30:30設置系統時間為20:30:30
date -s 2002-3-5設置系統時期為2003-3-5
date -s "060520 06:00:00"設置系統時期為2006年5月20日6點整。
6、clock命令
功能:時鍾設置
clock –r對系統Bios中讀取時間參數
clock –w將系統時間(如由date設置的時間)寫入Bios
7、uname命令
功能:查看系統版本
uname -R顯示操作系統內核的version
例如:
Sarge:~# uname -a
Linux Sarge 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux
8、關閉和重新啟動系統命令
reboot 重新啟動計算機
shutdown -r now 重新啟動計算機,停止服務後重新啟動計算機
shutdown -h now 關閉計算機,停止服務後再關閉系統
halt 關閉計算機
一般用shutdown -r now,在重啟系統是,關閉相關服務,shutdown -h now也是如此。
9、su命令
功能:切換用戶
su - 切換到root用戶
su - zhoulj 切換到zhoulj用戶,
注意:- ,他很關鍵,使用-,將使用用戶的環境變數
http://man.linuxde.net/su
四、監視系統狀態命令
1、top命令
功能:查看系統cpu、內存等使用情況
2、free命令
功能:查看內存和swap分區使用情況
例如:
Sarge:~# free -tm
total used free shared buffers cached
Mem: 187 42 145 0 6 16
-/+ buffers/cache: 19 167
Swap: 243 0 243
Total: 430 42 388
3、uptime
功能:現在的時間 ,系統開機運轉到現在經過的時間,連線的使用者數量,最近一分鍾,五分鍾和十五分鍾的系統負載
例如:
Sarge:~# uptime
21:54:46 up 31 min, 1 user, load average: 0.00, 0.00, 0.00
4、vmstat命令
功能:監視虛擬內存使用情況
例如:
# vmstat
procs memory swap io system cpu
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 0 63704 8100 32272 0 0 8 3 103 17 0 1 98 1
5、ps命令
功能:顯示進程信息
ps ux 顯示當前用戶的進程
ps uxwww 顯示當前用戶的進程的詳細信息
ps aux 顯示所有用戶的進程
ps ef 顯示系統所有進程信息
6、kill命令
功能:幹掉某個進程,進程號可以通過ps命令得到
kill -9 1001將進程編號為1001的程序幹掉
kill all -9 apache將所有名字為apapche的程序殺死,kill不是萬能的,對僵死的程序則無效。
五、磁碟操作命令
1、df命令
功能:檢查文件系統的磁碟空間佔用情況。可以利用該命令來獲取硬碟被佔用了多少空間,目前還剩下多少空間等信息。
參數 功能
-a 列出全部目錄
-Ta 列出全部目錄,並且顯示文件類型
-B 顯示塊信息
-i 以i節點列出全部目錄
-h 按照日常習慣顯示(如:1K、100M、20G)
-x [filesystype] 不顯示[filesystype]
例如:
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext3 265M 64M 187M 26% /
tmpfs tmpfs 94M 0 94M 0% /dev/shm
/dev/sda6 ext3 714M 8.1M 667M 2% /home
/dev/sda8 ext3 956M 215M 691M 24% /usr
/dev/sda7 ext3 714M 57M 619M 9% /var
2、命令
功能:檢測一個目錄和(遞歸地)所有它的子目錄中的文件佔用的磁碟空間。
參數 功能
-s [dirName] 顯示目錄佔用總空間
-sk [dirName] 顯示目錄佔用總空間,以k為單位
-sb [dirName] 顯示目錄佔用總空間,以b為單位
-sm [dirName] 顯示目錄佔用總空間,以m為單位
-sc [dirName] 顯示目錄佔用總空間,加上目錄統計
-sh [dirName] 只統計目錄大小
例如:
# -sh /etc
1.3M /etc
3、mount命令
功能:使用mount命令就可在Linux中掛載各種文件系統。
格式:mount -t 設備名 掛載點
(1)、mount /dev/sda1 /mnt/filetest
mount -t vfat /dev/hda /mnt/fatfile
mount -t ntfs /dev/hda /mnt/ntfsfile
mount -t iso9660 /dev/cdrom /mnt/cdrom
mount -o 設備名 掛載點
(2)、使用usb設備
modprobe usb-storage
mkdir /mnt/usb
mount -t auto /dev/sdx1 /mnt/usb
umount /mnt/usb
4、mkswap命令
功能:使用mkswap命令可以創建swap空間,如:
debian:~# mkswap -c /dev/hda4
debian:~# swapon /dev/hda4 #啟用新創建的swap空間,停用可使用swapoff命令
5、fdisk命令
功能:對磁碟進行分區
fdisk /dev/xxx 格式化xxx設備(xxx是指磁碟驅動器的名字,例如hdb,sdc)
fdisk -l 顯示磁碟的分區表
6、mkfs命令
功能:格式化文件系統,可以指定文件系統的類型,如ext2、ext3、fat、ntfs等
格式1:mkfs.ext3 options /dev/xxx
格式2:mkfs -t ext2 options /dev/xxx
參數 功能
-b 塊大小
-i 節點大寫
-m 預留管理空間大小
例如:
debian:~#mkfs.ext3 /dev/sdb1
7、e2fsck命令
功能:磁碟檢測
e2fsck /dev/hda1檢查/dev/hda1是否有文件系統錯誤,提示修復方式
e2fsck -p /dev/hda1檢查/dev/hda1是否有錯誤,如果有則自動修復
e2fsck -y /dev/hda1檢查錯誤,所有提問均於yes方式執行
e2fsck -c /dev/hda1檢查磁碟是否有壞區
8、tune2fs命令
功能:調整ext2/ext3文件的參數
參數 功能
-l 查看文件系統信息
-c 設置強制自檢的掛載次數
-i 設置強制自檢的間隔時間,單位天
-m 保留塊的百分比
-j 將ext2文件系統轉換成ext3格式
# tune2fs -l /dev/sda1
9、dd命令
功能:功能:把指定的輸入文件拷貝到指定的輸出文件中,並且在拷貝過程中可以進行格式轉換。
跟DOS下的disk命令的作用類似。
dd if=/dev/fd0 of=floppy.img將軟盤的內容復製成一個鏡像
dd if=floppy.img of=/dev/fd0將一個鏡像的內容復制到軟盤,做驅動盤的時候經常用。
六、用戶和組相關命令
1、groupadd命令
功能:添加組
groupadd test1 添加test1組
groupadd -g 1111 test2 添加test2組,組id為1111
2、useradd命令
功能:添加用戶
useradd user1 添加用戶user1,home為/home/user1,組為user1
useradd -g test1 -m -d /home/test1 test1 添加用戶test1,home為/home/test1,組為test1
user list顯示已登陸的用戶列表
3、passwd命令
功能:更改用戶密碼
passwd user1修改用戶user1的密碼
passwd -d root將root用戶的密碼刪除
4、userdel命令
功能:刪除用戶
userdel user1刪除user1用戶
5、chown命令
功能:改變文件或目錄的所有者
chown user1 /dir將/dir目錄設置為user1所有
chown -R user1.user1 /dir將/dir目錄下所有文件和目錄,設置為user1所有,組為user1。-R遞歸到下面的每個文件和目錄
6、chgrp命令
功能:改變文件或目錄的所有組
chgrp user1 /dir將/dir目錄設置為user1所有
7、chmod命令
功能:改變用戶的許可權
chmod a+x file將file文件設置為可執行,腳本類文件一定要這樣設置一個,否則得用bash file才能執行
chmod 666 file將文件file設置為可讀寫
chmod 750 file 將文件file設置為,所有者為完全許可權,同組可以讀和執行,其他無許可權
8、id命令
功能:顯示用戶的信息,包括uid、gid等
# id zhoulj
uid=500(zhoulj) gid=500(zhoulj) groups=500(zhoulj)
9、finger命令
功能:顯示用的信息
注意:debian下沒有該命令。
# finger zhoulj
Login: zhoulj Name:
Directory: /home/zhoulj Shell: /bin/bash
On since Sun May 21 07:59 (CST) on pts/0 from 192.168.1.4
No mail.
No Plan.
七、壓縮命令
1、gzip格式命令
功能:壓縮文件,gz格式的
注意:生成的文件會把源文件覆蓋
gzip -v 壓縮文件,並且顯示進度
-d 解壓縮
gunzip -f 解壓縮
例如:
# gzip a.sh
#ll
-rwxr-xr-x 1 root root 71 12月 18 21:08 a.sh.gz
# gzip -d a.sh.gz
#ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a.sh
2、zip格式命令
功能:壓縮和解壓縮zip命令
zip
unzip
例如:
將/home/Blinux/html/這個目錄下所有文件和文件夾打包為當前目錄下的html.zip:
zip -q -r html.zip /home/Blinux/html
(-q:不顯示指令執行過程 -r:遞歸處理,將指定目錄下的所有文件和子目錄一並處理)
# zip a.sh.zip a.sh
adding: a.sh (stored 0%)
# ll
-rw-r--r-- 1 root root 188 5月 21 10:37 a.sh.zip
# unzip a.sh.zip
Archive: a.sh.zip
replace a.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: a1.sh
extracting: a1.sh
# ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a1.sh
3、bzip2根式命令
功能:bzip2格式壓縮命令,
注意:生成的文件會把源文件覆蓋
bzip2
bunzip2
例如:
# bzip2 a.sh
# ll
-rwxr-xr-x 1 root root 85 12月 18 21:08 a.sh.bz2
# bunzip2 a.sh.bz2
# ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a.sh
4、tar命令
功能:歸檔、壓縮等,比較重要,會經常使用。
-cvf 壓縮文件或目錄
-xvf 解壓縮文件或目錄
-zcvf 壓縮文件或,格式tar.gz
-zxvf 解壓縮文件或,格式tar.gz
-zcvf 壓縮文件或,格式tgz
-zxvf 解壓縮文件或,格式tgz
舉例:
# tar cvf abc.tar *.sh
# tar xvf abc.tar
# tar czvf abc.tar.gz *.sh
# ll
-rw-r--r-- 1 root root 20480 5月 21 10:50 abc.tar
-rw-r--r-- 1 root root 1223 5月 21 10:53 abc.tar.gz
# tar xzvf abc.tar.gz

八、網路相關命令
1、ifconfig命令
功能:顯示修改網卡的信息
ifconfig 顯示網路信息
ifconfig eth0 顯示eth0網路信息
修改網路信息:
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 設置網卡1的地址192.168.1.1,掩碼為255.255.255.0
ifconfig eth0:1 192.168.1.2 捆綁網卡1的第二個地址為192.168.1.2
ifconfig eth0:x 192.168.1.n 捆綁網卡1的第n個地址為192.168.1.n
例如:
# ifconfig eth0:1 192.168.1.11
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24
inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4220 errors:0 dropped:0 overruns:0 frame:0
TX packets:3586 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:342493 (334.4 Kb) TX bytes:469020 (458.0 Kb)
Interrupt:9 Base address:0x1400
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24
inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:9 Base address:0x1400
2、route命令
功能:顯示當前路由設置情況
route 顯示當前路由設置情況,比較慢一般不用。
route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加靜態路由
route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加靜態路由
route add default gw 192.168.1.1 metric1 設置192.168.1.1為默認的路由
route del default 將默認的路由刪除
舉例:
# route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.0.0 192.168.1.254 255.255.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
# route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
3、netstat命令
功能:顯示網路狀態
netstat -an 查看網路埠信息
netstat -nr 查看路由表信息,比route快多了,
4、啟動網路的命令
redhat族的命令:
/etc/init.d/network
debian命令:
/etc/init.d/networking
例如:
/etc/init.d/network stop 停止網路,
/etc/init.d/network start 啟動網路,
5、手工修改網路配置
(1)、debian系統
配置文件位置為:/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0 eth1
iface eth0 inet static
address 10.4.5.6
netmask 255.255.255.0
network 10.4.5.0
broadcast 10.4.5.255
iface eth1 inet static
address 219.25.5.60
netmask 255.255.255.192
network 219.25.5.0
broadcast 219.25.5.63
gateway 219.25.5.30
修改後保存配置後,運行
/etc/init.d/networking restart
網路配置就改變了
(2)、redhat系統
配置文件位置為:/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.5
NETMASK=255.255.255.0
NETWORK=192.168.1.0
GATEWAY=192.168.1.254
ONBOOT=yes
TYPE=Ethernet
修改後保存配置後,運行
/etc/init.d/network restart
或者
service network restart
網路配置就改變了。
默認DNS的文件的位置為:/etc/resolv.conf
#cat /etc/resolv.conf
search test.com.cn
nameserver 192.168.1.11
6、網路排錯
(1)、ping命令
功能:不說了,不知道就用干這行了。
ping
(2)、traceroute命令
功能:路由跟蹤
traceroute
traceroute 207.68.173.7
(3)、nslookup命令
功能:域名解析排錯
例如:
$ nslookup
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
>
Server: 192.168.1.11
Address: 192.168.1.11#53
Non-authoritative answer:
Name:
Address: 202.118.66.66
> server 202.118.66.6
Default server: 202.118.66.6
Address: 202.118.66.6#53
>
Server: 202.118.66.6
Address: 202.118.66.6#53
Non-authoritative answer: canonical name =
.
Name:
Address: 202.108.22.5
九、其他命令
1、ssh命令
功能:遠程登陸到其他UNIX主機
ssh -l user1 192.168.1.2 使用用戶名user1登陸到192.168.1.2
ssh
使用用戶名user1登陸到192.168.1.2
2、scp命令
功能:安全
例如:
scp abc.tar.gz
:~ 將本地的abc.tar.gz 復制到 192.168.1.5的user1用戶的根(/home/user1)下。
3、telnet命令
功能:登陸到遠程主機
例如:
telnet 192.168.1.5
————————————————
版權聲明:本文為CSDN博主「Sunshine~L&H」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/LH0912666/article/details/87897629

㈣ linux設置開啟swap交換分區基本命令(虛擬內存)

linux設置開啟swap交換分區基本命令(虛擬內存)

在Linux系統下,我們要怎麼開啟swap交換分區,基本設置命令是什麼呢?下面為大家帶來最基本的配置命令,希望對大家有所幫助!

1.驗證不存在交換分區free-m

輸出如下:

Mem:99594747046142

-/+buffers/cache:758236

Swap:000

如果swap選項total是0則表示沒有交換分區,開始下一步

2.創建swap分區

使用dd命令選擇swap分區目錄以及大小,在此我們給他放到根目錄,創建的.是2G的虛擬內存,可以根據自己需要選擇大小。ddif=/dev/zeroof=/swapfilecount=2048bs=1M

接下來驗證根目錄是否存在swapfilels/|grepswapfile

不出意外的話你將會看到swapfile

3.激活swap分區

交換分區不會自動激活,你需要告訴伺服器如何格式化文件,使它作為一個有效的交換分區。

出於安全考慮,交交換區許可權設置成600

chmod600/swapfile

使用mkswap命令來設置交換文件:mkswap/swapfile

4.開啟swap分區swapon/swapfile

再次使用free-m查看內存使用情況,輸出如下:

Mem:184017548616231519

-/+buffers/cache:2101630

Swap:204702047

5.設置允許開機啟用swap分區sudovi/etc/fstab

在後面加上/swapfilenoneswapsw00

;

㈤ Linux的內存管理機制是什麼樣的

,程序是直接運行在物理內存上的。換句話說,就是程序在運行的過程中訪問的都是物理地址。如果這個系統只運行一個程序

㈥ Linux系統中進行磁碟管理的常用命令有哪些

Linux磁碟與文件系統管理命令

fdisk:磁碟分區工具

partprobe:更新內核的硬碟分區表信息

tune2fs:調整ext2/ext3/ext4文件系統參數

parted:磁碟分區工具

mkfs:創建Linux文件系統

mpe2fs:導出ext2/ext3/ext4文件系統信息

resize2fs:調整ext2/ext3/ext4文件系統大小

fsck:檢查並修復Linux文件系統

dd:轉換或復制文件

mount:掛載文件系統

umount:卸載文件系統

df:報告文件系統磁碟空間的使用情況

mkswap:創建交換分區

swapon:激活交換分區

swapoff:關閉交換分區

sync:刷新文件系統緩沖區

㈦ linux內存管理的特點

什麼是虛擬內存?
Linux支持虛擬內存(virtual memory),虛擬內存是指使用磁碟當作RAM的擴展,這樣可用的內存的大小就相應地增大了。內核會將暫時不用的內存塊的內容寫到硬碟上,這樣一來,這塊內存就可用於其它目的。當需要用到原始的內容時,它們被重新讀入內存。這些操作對用戶來說是完全透明的;Linux下運行的程序只是看到有大量的內存可供使用而並沒有注意到時不時它們的一部分是駐留在硬碟上的。當然,讀寫硬碟要比直接使用真實內存慢得多(要慢數千倍),所以程序就不會象一直在內存中運行的那樣快。用作虛擬內存的硬碟部分被稱為交換空間(swap space)。
Linux能夠使用文件系統中的一個常規文件或一個獨立的分區作為交換空間。交換分區要快一些,但是很容易改變交換文件的大小(也就無需重分區整個硬碟,並且可以從臨時分區中安裝任何東西)。當你知道你需要多大的交換空間時,你應該使用交換分區,但是如果你不能確定的話,你可以首先使用一個交換文件,然後使用一陣子系統,你就可以感覺到要有多大的交換空間,此時,當你能夠確信它的大小時就創建一個交換分區。
你應該知道,Linux允許同時使用幾個交換分區以及/或者交換文件。這意味著如果你只是偶爾地另外需要一個交換空間時,你可以在當時設置一個額外的交換文件,而不是一直分配這個交換空間。
操作系統術語注釋:計算機科學常常將交換[swapping](將整個進程寫到交換空間)與頁面調度[paging](在某個時刻,僅僅固定大小的幾千位元組寫到交換空間內)加以區別。頁面調度通常更有效,這也是Linux的做法,但是傳統的Linux術語卻指的是交換。
創建交換空間
一個交換文件是一個普通的文件;對內核來說一點也不特殊。對內核有關系的是它不能有孔,並且它是用mkswap來准備的。而且,它必須駐留在一個本地硬碟上,它不能由於實現的原因而駐留在一個通過NFS載入的文件系統中。
關於孔是重要的。交換文件保留了磁碟空間,以至於內核能夠快速地交換出頁面而無需做分配磁碟扇區給文件時所要做的一些事。內核僅僅是使用早已分配給交換文件的任何扇區而已。因為文件中的一個孔意味著沒有磁碟扇區分配(給該文件的孔的相應部分),對內核來說就不能使用這類有孔的文件。
創建無孔的交換文件的一個好方法是通過下列命令:
$ dd if=/dev/zero of=/extra-swap bs=1024 count=1024 \

上面/extra-swap是交換文件的名字,大小由count=後面的數值給出。大小最好是4的倍數,因為內核寫出的內存頁面(memory pages)大小是4千位元組。如果大小不是4的倍數,最後幾千位元組就用不上了。
一個交換分區也並沒有什麼特別的。你可以象創建其它分區一樣地創建它;唯一的區別在於它是作為一個原始的分區使用的,也即,它不包括任何的文件系統。將交換分區標記為類型82(Linux交換分區)是個好主意;這將使得分區的列表更清楚,盡管對內核來說並不是一定要這樣的。
在創建了一個交換文件或一個交換分區以後,你必須在它的開頭部分寫上一個簽名;這個簽名中包括了一些由內核使用的管理信息。這是用\cmd{mkswap}命令來做到的,用法如下:
$ mkswap /extra-swap 1024
Setting up swapspace, size = 1044480 bytes

請注意此時交換空間還沒有被使用:它已存在,但內核還沒有用它作為虛擬內存。你必須非常小心地使用mkswap,因為它不檢查這個文件或分區是否已被別人使用。你可以非常容易地使用mkswap來覆蓋重要的文件以及分區!幸運的是,僅僅在安裝系統時,你才需要使用mkswap。
Linux內存管理程序限制每個交換空間最大約為127MB(由於各種技術上的原因,實際的限制大小為(4096-10) * 8 * 4096 = 133890048$ 位元組,或127.6875兆位元組)。然而,你可以同時使用多至16個交換空間,總容量幾乎達2GB。
交換空間的使用
一個已初始化的交換空間是使用命令swapon投入正式使用的。該命令告訴內核這個交換空間可以被使用了。到交換空間的路徑是作為參數給出的,所以,開始在一個臨時交換文件上使用交換的命令如下:
$ swapon /extra-swap

通過把交換空間列入/etc/fstab文件中就能被自動地使用了。
/dev/hda8 none swap sw 0 0

/swapfile none swap sw 0 0

啟動描述文件會執行命令swapon –a,這個命令會啟動列於/etc/fstab中的所有交換空間。因此,swapon命令通常僅用於需要有外加的交換空間時。
你可以用free命令監視交換空間的使用情況。它將給出已使用了多少的交換空間。
total used free shared buffers
Swap: 32452 6684 25768

輸出的第一行(Mem:)顯示出物理內存的使用情況。總和(total)列中並沒有顯示出被內核使用的內存,它通常將近一兆位元組。已用列(used column)顯示出已用內存的總和(第二行沒有把緩沖算進來)。空閑列(free column)顯示了所有未被使用的空閑內存。共享列(shared column)顯示出了被幾個進程共享的內存的大小;共享的內存越多,情況就越好。緩存列(buffer column)顯示出了當前磁碟緩存的大小。已緩沖列(cached column)顯示出了已使用的緩存的大小。
最後一行(Swap:)顯示出了與交換空間相應的信息。如果這一行的數值都是零,表示你的交換空間沒有被擊活。
也可通過用top命令來獲得同樣的信息,或者使用proc文件系統中的文件/proc/meminfo 。通常要取得指定交換空間的使用情況是困難的。
可以使用命令swapoff來移去一個交換空間。通常沒有必要這樣做,但臨時交換空間除外。一般,在交換空間中的頁面首先被換入內存;如果此時沒有足夠的物理內存來容納它們又將被交換出來(到其他的交換空間中)。如果沒有足夠的虛擬內存來容納所有這些頁面,Linux就會波動而不正常;但經過一段較長的時間Linux會恢復,但此時系統已不可用了。在移去一個交換空間之前,你應該檢查(例如,用free)是否有足夠的空閑內存。
任何由swapon –a而自動被使用的所有交換空間都能夠用swapoff –a命令移去;該命令參考/etc/fstab文件來確定移去什麼。任何手工設置使用的交換空間將始終可以被使用。
有時,盡管有許多的空閑內存,仍然會有許多的交換空間正被使用。這是有可能發生的,例如如果在某一時刻有進行交換的必要,但後來一個佔用很多物理內存的大進程結束並釋放內存時。被交換出的數據並不會自動地交換進內存,除非有這個需要時。此時物理內存會在一段時間內保持空閑狀態。對此並沒有什麼可擔心的,但是知道了是怎麼一回事我們也就放心了。
許多操作系統使用了虛擬內存的方法。因為它們僅在運行時才需要交換空間,以即決不會在同一時間使用交換空間,因此,除了當前正在運行的操作系統的交換空間,其它的就是一種浪費。所以讓它們共享一個交換空間將會更有效率。這是可能的,但需要有一定的了解。在HOWTO技巧文檔中含有如何實現這種做法的一些建議。
有些人會對你說需要用物理內存的兩倍容量來分配交換空間,但這是不對的。下面是合適的做法:
。估計你的總內存需求。這是某一時刻你所需要的最大的內存容量,也就是在同一時刻你想運行的所有程序所需內存的總和。通過同時運行所有的程序你可以做到這一點。
例如,如果你要運行X,你將給它分配大約8MB內存,gcc需要幾兆位元組(有些文件要求異呼尋常的大量的內存量,多至幾十兆位元組,但通常約4兆位元組應該夠了),等等。內核本身要用大約1兆位元組、普通的shell以及其它一些工具可能需要幾百千位元組(就說總和要1兆位元組吧)。並不需要進行精確的計算,粗率的估計也就足夠了,但你必須考慮到最壞的情況。
注意,如果會有幾個人同時使用這個系統,他們都將消耗內存。然而,如果兩個人同時運行一個程序,內存消耗的總量並不是翻倍,因為代碼頁以及共享的庫只存在一份。
Free以及ps命令對估計所需的內存容量是很有幫助的。
對第一步中的估計放寬一些。這是因為對程序在內存中佔用多少的估計通常是不準的,因為你很可能忘掉幾個你要運行的程序,以及,確信你還要有一些多餘的空間用於以防萬一。這需幾兆位元組就夠了。(多分配總比少分配交換空間要好,但並不需要過分這樣以至於使用整個硬碟,因為不用的交換空間是浪費的空間;參見後面的有關增加交換空間。)同樣,因為處理數值更好做,你可以將容量值加大到整數兆位元組。
基於上面的計算,你就知道了你將需要總和為多少的內存。所以,為了分配交換空間,你僅需從所需總內存量中減去實際物理內存的容量,你就知道了你需要多少的交換空間。(在某些UNIX版本中,你還需要為物理內存的映像分配空間,所以第二步中算出的總量正是你所需要的交換空間的容量,而無需再做上述中的減法運算了。)
如果你計算出的交換空間容量遠遠大於你的物理內存(大於兩倍以上),你通常需要再買些內存來,否則的話,系統的性能將非常低。
有幾個交換空間是個好主意,即使計算指出你一個都不需要。Linux系統常常動不動就使用交換空間,以保持盡可能多的空閑物理內存。即使並沒有什麼事情需要內存,Linux也會交換出暫時不用的內存頁面。這可以避免等待交換所需的時間:當磁碟閑著,就可以提前做好交換。
可以將交換空間分散在幾個硬碟之上。針對相關磁碟的速度以及對磁碟的訪問模式,這樣做可以提高性能。你可能想實驗幾個方案,但是你要認識到這些實驗常常是非常困難的。不要相信其中一個方案比另一個好的說法,因為並不總是這樣的。

高速緩沖
與訪問(真正的)的內存相比,磁碟[3]的讀寫是很慢的。另外,在相應較短的時間內多次讀磁碟同樣的部分也是常有的事。例如,某人也許首先閱讀了一段e-mail消息,然後為了答復又將這段消息讀入編輯器中,然後又在將這個消息拷貝到文件夾中時,使得郵件程序又一次讀入它。或者考慮一下在一個有著許多用戶的系統中ls命令會被使用多少次。通過將信息從磁碟上僅讀入一次並將其存於內存中,除了第一次讀以外,可以加快所有其它讀的速度。這叫作磁碟緩沖(disk buffering),被用作此目的的內存稱為高速緩沖(buffer cache)。
不幸的是,由於內存是一種有限而又不充足的資源,高速緩沖不可能做的很大(它不可能包容要用到的所有數據)。當緩沖充滿了數據時,其中最長時間不用的數據將被舍棄以騰出內存空間用於新的數據。
對寫磁碟操作來說磁碟緩沖技術同樣有效。一方面,被寫入磁碟的數據常常會很快地又被讀出(例如,原代碼文件被保存到一個文件中,又被編譯器讀入),所以將要被寫的數據放入緩沖中是個好主意。另一方面,通過將數據放入緩沖中,而不是將其立刻寫入磁碟,程序可以加快運行的速度。以後,寫的操作可以在後台完成,而不會拖延程序的執行。
大多數操作系統都有高速緩沖(盡管可能稱呼不同),但是並不是都遵守上面的原理。有些是直接寫(write-through):數據將被立刻寫入磁碟(當然,數據也被放入緩存中)。如果寫操作是在以後做的,那麼該緩存被稱為後台寫(write-back)。後台寫比直接寫更有效,但也容易出錯:如果機器崩潰,或者突然掉電,或者是軟盤在緩沖中等待寫的數據被寫入軟盤之前被從驅動器中取走,緩沖中改變過的數據就被丟失了。如果仍未被寫入的數據含有重要的薄記信息,這甚至可能意味著文件系統(如果有的話)已不完整。
由於上述原因,在使用適當的關閉過程之前,絕對不要關掉電源(見第六章),不要在卸載(如果已被載入)之前將軟盤從驅動器中取出來,也不要在任何正在使用軟盤的程序指示出完成了軟盤操作並且軟盤燈熄滅之前將軟盤取出來。sync命令傾空(flushes)緩沖,也即,強迫所有未被寫的數據寫入磁碟,可用以確定所有的寫操作都已完成。在傳統的UNIX系統中,有一個叫做update的程序運行於後台,每隔30秒做一次sync操作,因此通常無需手工使用sync命令了。Linux另外有一個後台程序,bdflush,這個程序執行更頻繁的但不是全面的同步操作,以避免有時sync的大量磁碟I/O操作所帶來的磁碟的突然凍結。
在Linux中,bdflush是由update啟動的。通常沒有理由來擔心此事,但如果由於某些原因bdflush進程死掉了,內核會對此作出警告,此時你就要手工地啟動它了(/sbin/update)。
緩存(cache)實際並不是緩沖文件的,而是緩沖塊的,塊是磁碟I/O操作的最小單元(在Linux中,它們通常是1KB)。這樣,目錄、超級塊、其它文件系統的薄記數據以及非文件系統的磁碟數據都可以被緩沖了。
緩沖的效力主要是由它的大小決定的。緩沖大小太小的話等於沒用:它只能容納一點數據,因此在被重用時,所有緩沖的數據都將被傾空。實際的大小依賴於數據讀寫的頻次、相同數據被訪問的頻率。只有用實驗的方法才能知道。
如果緩存有固定的大小,那麼緩存太大了也不好,因為這會使得空閑的內存太小而導致進行交換操作(這同樣是慢的)。為了最有效地使用實際內存,Linux自動地使用所有空閑的內存作為高速緩沖,當程序需要更多的內存時,它也會自動地減小緩沖的大小。
在Linux中,你不需要為使用緩沖做任何事情,它是完全自動處理的。除了上面所提到的有關按照適當的步驟來關機和取出軟盤,你不用擔心它。

閱讀全文

與mkswap命令作用相關的資料

熱點內容
比澤爾壓縮機型號規則 瀏覽:83
華興數控切斷編程 瀏覽:786
西安離心壓縮機 瀏覽:542
程序員需要優盤嗎 瀏覽:876
西藏掌上社保app在哪裡下載 瀏覽:597
怎麼讓伺服器固定 瀏覽:59
計數器定時器編程 瀏覽:11
程序員網上投資平台 瀏覽:875
用shell編程計算1加到100 瀏覽:231
外包公司的程序員一天寫多少代碼 瀏覽:530
蘋果手機主屏幕app如何移動 瀏覽:567
伺服器怎麼連接遠程密碼 瀏覽:431
linux娛樂命令 瀏覽:368
單片機數碼管循環顯示9到0 瀏覽:494
程序員懟代碼思路 瀏覽:327
新能源碼磚機產品介紹 瀏覽:37
模擬器共享里的文件夾名稱 瀏覽:840
easypanel控制面板源碼下載 瀏覽:532
相冊里怎麼查加密的照片 瀏覽:217
javaurl文件下載 瀏覽:473