導航:首頁 > 源碼編譯 > linux文件系統編譯修改

linux文件系統編譯修改

發布時間:2023-01-31 12:42:32

❶ 如何重新編譯linux內核

因為一般電腦安裝的系統都是Windows,而整個編譯過程都需要在Linux環境下實現,所以最好是在虛擬機里安裝Linux系統來完成這一過程。我使用的虛擬機是VMware-workstation-full-v7.1.4。
然後,我們需要下載一個較高版本的Linux系統的鏡像文件,安裝在虛擬機上,作為編譯環境。我使用的是ubuntu-11.04-desktop-i386。之所以選擇較高版本,是因為它的界面比較方便用戶操作。
然後下載一個Linux內核源代碼文件,將它保存到虛擬機上新安裝的系統中去。並解壓到/usr/src目錄。我使用的是linux-2.6.36,下載低版本的原因是,小巧輕便,易於編譯。
解壓命令如下:
bzip2
-d
linux-2.6.36.tar.bz2
tar
-xvf
linux-2.6.36.ta
修改/usr/src/linux-2.6.36/kernel/sys.c文件,在文件末尾增加一個系統調用函數。自行編寫一個簡單的程序即可,只為測試用。
修改/usr/src/linux-2.6.36/arch/x86/kernel/syscall_table_32.S,為新添加的程序配置系統調用號。
在/usr/src/linux-2.6.36/arch/x86/include/asm/unistd_32.h中配置系統調用表。
下面就是最重要的內核編譯與安裝:
首先配置編譯信息,使其生成適合當前機器的Makefile,輸入make
oldconf
ig。
接著還要輸入make
menuconfig,在字元界面下進行必要的細微的修改。
然後要經過四步編譯過程(直接輸入命令即可):
(1)make
bzImage
將內核編譯為壓縮映像,存儲在源碼根目錄下的「System.map」文件中。
(2)make
moles
編譯各個模塊。
(3)sudo
make
moles_install
安裝模塊
(4)sudo
make
install
安裝內核
第(2)(3)步等待時間較長,可能需要數個小時,請耐心等待。
無報錯的話重啟進入GRUB界面,就可以看到新編譯的內核了。
按回車鍵進入我們編譯的目標內核中,用關鍵詞搜索查看新增加的系統調用「my
call」是否已在內核中:
編寫測試程序,調用新添加的系統調用:
測試成功,說明系統調用添加成功,進而說明內核編譯成功!
以上的辦法你可以試一下,希望對你有所幫助。

❷ Linux用戶程序如何編譯到文件系統里去。

這個就類似於自己製作Linux發行版的rootfs了。不同系統不同環境製作方法是不同的。比如我有塊板子我是用yocto自己生成rootfs的,隨意加入任何東西,當然不只是簡單改makefile。

最省事的方法是把已經做好的rootfs解包出來,把文件復制進去,然後再打包就完事了。

❸ linux 文件系統 內核編譯

1、第一條命令沒問題;
2、第二條命令:
#mkfs.ext2 myfs
myfs is not a block special device.
無路如何也要繼續?(y,n)
這時要輸入y
3、第三條命令,linux kernel不支持myext2文件系統。我猜你是想要在紅帽或ubuntu上mount一個ext2文件系統的loop設備,但是想使用myext2的文件系統驅動,對吧。我沒有這么做過,猜不出你的myext2摘出來之後是什麼樣子的。我以前試過在linux安裝新的文件系統支持,比如fuse系統,源碼編譯通過後會生成一個.ko的模塊文件,使用insmod命令將其加入內核,才能獲得內核對該文件系統的支持。我想你可能也應該這樣做,你應該需要生成一個類似myext2.ko的模塊,然後將其insmod到內核中去。

❹ 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系統中如何修改及設置文件系統的許可權及安全

1、文件夾中所有文件的許可權設置:
chmod -R 777 文件夾名字
2、文件的許可權 chmod 777 文件名
3、查看文件以及文件的許可權:
進入文件夾
cd /home/xxx/文檔
進入當前文件夾的子目錄:
cd ./文件夾名字
查看文件夾中所有文件名字:
ls -a 所有文件都會展示,包含隱藏文件

❻ 如何製作 linux 文件系統

一、什麼是文件系統 (Filesystem)
文件系統是包括在一個磁碟(包括光碟、軟盤、閃盤及其它存儲設備)或分區的目錄結構;一個可應用的磁碟設備可以包含一個或多個文件系統;如果您想進入一個文件系統,首先您要做的是掛載(mount)文件系統;為了掛載(mount)文件系統,您必須指定一個掛載點。

二、主要嵌入式採用的文件系統
Linux 中,rootfs 是必不可少的。PC 上主要實現有 ramdisk 和直接掛載 HD(Harddisk,硬碟) 上的根文件系統;嵌入式中一般不從 HD 啟動,而是從 Flash 啟動,最簡單的方法是將 rootfs load 到 RAM 的 RAMDisk,稍復雜的就是 直接從Flash 讀取的 Cramfs,更復雜的是在 Flash 上分區,並構建 JFFS2 等文件系統。
RAMDisk 將製作好的 rootfs 壓縮後寫入 Flash,啟動的時候由 Bootloader load 到RAM,解壓縮,然後掛載到 /.這種方法操作簡單,但是在 RAM 中的文件系統不是壓縮的,因此需要佔用許多嵌入式系統中稀有資源 RAM.

ramdisk 就是用內存空間來模擬出硬碟分區,ramdisk通常使用磁碟文件系統的壓縮存放在flash中,在系統初始化時,解壓縮到SDRAM並掛載根文件系統, 在linux系統中,ramdisk有二種,一種就是可以格式化並載入,在linux內核2.0/2.2就已經支持,其不足之處是大小固定;另一種是 2.4的內核才支持,通過,ramfs來實現,他不能被格式化,但用起來方便,其大小隨所需要的空間增加或減少,是目前linux常用的ramdisk技術。

initrd 是 RAMDisk 的格式,kernel 2.4 之前都是 image-initrd,Kernel 2.5 引入了 cpio-initrd,大大簡化了 Linux 的啟動過程,附合 Linux 的基本哲學:Keep it simple, stupid(KISS)。 不過cpio-initrd 作為新的格式,還沒有經過廣泛測試,嵌入式 Linux 中主要採用的還是 image-initrd.
Cramfs 是 Linus 寫的很簡單的文件系統,有很好的壓縮綠,也可以直接從 Flash 上運行,不須 load 到 RAM 中,因此節約了 RAM.但是 Cramfs 是只讀的,對於需要運行時修改的目錄(如: /etc, /var, /tmp)多有不便,因此,一般將這些目錄做成ramfs 等可寫的 fs.
SquashFS 是對 Cramfs 的增強。突破了 Cramfs 的一些限制,在 Flash 和 RAM 的使用量方面也具有優勢。不過,據開發者介紹,在性能上可能不如 Cramfs.這也是一種新方法,在嵌入式系統採用之前,需要經過更多的測試

三、建一個包含所有文件的目錄
1、建一個目錄rootfs 用來裝文件系統
2、mkdir bin dev etc lib proc sbin tmp usr var
3、ln -fs bin/busybox linuxrc(使用busybox)
4、到系統 /dev 把所有的device打一個包,拷貝到 dev下面(最省事的做法);或者使用mknod來自己建所需要的device,我自己用的如下:
crw-rw-rw- 1 root root 5, 1 2006-02-24 13:12 console crw-rw-rw- 1 root root 5, 64 2006-02-24 13:12 cua0 crw-rw-rw- 1 root root 63, 0 2006-02-24 13:12 dk0 crw-rw-rw- 1 root root 63, 1 2006-02-24 13:12 dk1 drwxr-xr-x 2 root root 4096 2006-02-24 13:12 flash brw-rw-rw- 1 root root 3, 0 2006-02-24 13:12 hda crw-rw-rw- 1 root root 36, 10 2006-02-24 13:12 ipsec crw-rw-rw- 1 root root 241, 0 2006-02-24 13:12 ixNpe crw-rw-rw- 1 root root 1, 2 2006-02-24 13:12 kmem crw-rw-rw- 1 root root 126, 0 2006-02-24 13:12 ledman lrwxrwxrwx 1 root root 16 2007-09-19 14:08 log -> /tmp/var/log/log crw-rw-rw- 1 root root 1, 1 2006-02-24 13:12 mem crw-rw-rw- 1 root root 90, 0 2006-02-24 13:12 mtd0 brw-rw-rw- 1 root root 31, 0 2006-02-24 13:12 mtdblock0 brw-rw-rw- 1 root root 31, 1 2006-02-24 13:12 mtdblock1 brw-rw-rw- 1 root root 31, 2 2006-02-24 13:12 mtdblock2 brw-rw-rw- 1 root root 31, 3 2006-02-24 13:12 mtdblock3 brw-rw-rw- 1 root root 31, 4 2006-02-24 13:12 mtdblock4 brw-rw-rw- 1 root root 31, 5 2006-02-24 13:12 mtdblock5 brw-rw-rw- 1 root root 31, 6 2006-02-24 13:12 mtdblock6 crw-rw-rw- 1 root root 90, 1 2006-02-24 13:12 mtdr0 crw-rw-rw- 1 root root 1, 3 2006-02-24 13:12 null crw-rw-rw- 1 root root 108, 0 2006-02-24 13:12 ppp crw-r——r—— 1 root root 5, 2 2006-03-29 15:56 ptmx drwxr-xr-x 2 root root 4096 2006-03-29 15:56 pts crw-rw-rw- 1 root root 2, 0 2006-02-24 13:12 ptyp0 brw-rw-rw- 1 root root 1, 0 2006-02-24 13:12 ram0 crw-rw-rw- 1 root root 1, 8 2006-02-24 13:12 random crw-rw-rw- 1 root root 5, 0 2006-02-24 13:12 tty crw-rw-rw- 1 root root 4, 0 2006-02-24 13:12 tty0 crw-rw-rw- 1 root root 3, 0 2006-02-24 13:12 ttyp0 crw-rw-rw- 1 root root 4, 64 2006-02-24 13:12 ttyS0 crw-rw-rw- 1 root root 1, 9 2006-02-24 13:12 urandom crw-rw-rw- 1 root root 1, 5 2006-02-24 13:12 zero舉例: mknod console c 5 1 這樣 crw-rw-rw- 1 root root 5, 1 2006-02-24 13:12 console
5、將編譯好的busybox拷貝到/bin下面,除了busybox外,所有其他的命令都是他的link
ash chgrp clear dd echo fgrep gzip ip ls modprobe mv ping pwd sed stty tar true zcat busybox chmod cp df egrep grep hostname kill mkdir more netstat ping2file rm sh sync tftp umount cat chown date dmesg false gunzip ifconfig ln mknod mount pidof ps rmdir sleep sysinfo touch uname
所有的命令你可以在busybox下面用make menuconfig來增減
6、同樣/sbin下面也是busybox的link
halt ifconfig init insmod klogd losetup lsmod mkswap modprobe reboot rmmod route swapoff swapon
[NextPage]
7、同樣/usr/bin下面也是busybox的link
basename dirname env free id logger reset tail tr tty uptime which xargs
awk cut expr head killall mkfifo sort test traceroute uniq wc whoami yes
上面幾乎是最全的link,各個看官可以酌情刪減,不過link也不佔什麼空間!
8、同樣/usr/sbin下面放著所有編譯完的可執行文件,具體就不多說了
9、非常重要之/lib,務必重視
找到你編譯環境的target目錄,把需要的lib文件先用strip壓縮(非target目錄下的,而已編譯環境提供的strip),先把最基本的libc, ld等等,必須同樣做跟target/lib裡面一樣的link.
然後根據特定的應用加相應的lib,不要把不用的加進去,lib比較占空間。

10、在/etc下面加上需要的配置文件,最最重要的是rcS
#!/bin/sh export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/sbin/scripts UTC=yes mount -n -t proc proc /proc mount -n -t ramfs ramfs /tmp mount -n -t devpts devpts /dev/pts # build var directories /bin/mkdir -m 0777 /tmp/var /bin/mkdir -m 0777 /var/lock /bin/mkdir -m 0777 /var/log /bin/mkdir -m 0777 /var/run /bin/mkdir -m 0777 /var/tmp #/bin/mkdir -m 0777 /tmp/etc #/bin/cp -a /usr/etc//etc #/bin/cp -a /usr/dev//dev/ # loads the NPE ethernet moles into the kernel. insmod /lib/moles/2.6.13.2/intel/ixp400.ko # Firmware code for NPE Engine. cat /etc/IxNpeMicrocode.dat > /dev/ixNpe insmod /lib/moles/2.6.13.2/intel/ixp400_eth.ko netdev_max_backlog=500 insmod /lib/moles/led.ko insmod /lib/moles/push_button.ko下面的具體應用沒有再舉例加上了,這個是系統init必須的。
其他的情況類似如此了,下面裡面給了一個lunksys的GPL項目的target.

四、生成一個ramdisk
#!/bin/sh MODULE_NAME=ramdisk RAMPATH=`pwd` TMPPATH=${RAMPATH}/tmp SOURCE=${RAMPATH}/……/target if [ ! -d ${TMPPATH} ] then mkdir ${TMPPATH} fi if [ `whoami` != 'root' ] then { echo "You should run the shell as root, Please rerun as a root." echo "Aborting." exit 1 } fi # Clear in tmp path rm -rf ${TMPPATH}/tmpmnt rm -rf ${TMPPATH}/ramrootfs mkdir ${TMPPATH}/tmpmnt # Clear the old ramdisk rm -f ${RAMPATH}/$MODULE_NAME # Make a temp file which size is suitable dd if=/dev/zero of=${TMPPATH}/ramrootfs bs=1k count=6144 # Create a ext2 filesystem mke2fs -F -m 0 -i 2000 ${TMPPATH}/ramrootfs # Mount it to tmpmnt/ mount -o loop -t ext2 ${TMPPATH}/ramrootfs ${TMPPATH}/tmpmnt # Copy everything from kernel to this. cd ${TMPPATH}/tmpmnt echo ${SOURCE} cp -av ${SOURCE}/. cd ${TMPPATH} # Unmount it the ext2 filesystem umount ${TMPPATH}/tmpmnt cat ${TMPPATH}/ramrootfs | gzip -9 > /${RAMPATH}/ramdisk echo Copying ramdisk image to ${RAMPATH} sync這里給出一個自動生成腳本!

五、生成一個cramfs
找到cramfs的toolchain./mkcramfs -r $(FS1_DIR) $(FS_NAME)。1
六、生成一個mksquashfs
找到squashfs的toolchain./mksquashfs $(FS_DIR) $(FS_NAME) -noappend -be -lzma -no-fragments -noI
做文件系統最困難和最可能出問題的地方是在/lib庫和/dev方面,請大家多注意這兩方面。

❼ linux如何編譯安裝新內核支持NTFS文件系統(

第一步: 對硬體進行設置,使其滿足要求並下載內核:

1. 新添加一塊20G的硬碟及修改內存:

❽ 在編譯內核時修改linux文件系統出現這樣的情況,不能保存,怎麼破

這個是linux的保護機制,一般配置文件會自動產生一個.old文件。
因為文件非常重要,所以linux的保護機制提示需要備份一個,配置出錯也能恢復。
每次操作一些文件的時候不妨 cp /xx/yyyy/aa.bbb /xx/yyyy/aa.bbb.old 後再進行操作。
這樣出錯了也能自己手動恢復回來,應該養成這樣一個良好的習慣。
編輯的話覺得vi用不慣可以用nano。gedit編輯好像會出問題,以前我配置網卡IP的時候nano,vi寫出來沒問題,gedit寫出來就有問題。這個我也就不懂了

❾ 關於linux下ext3文件系統名稱修改的問題。

先用ext3文件系統格式化,再用新的名稱去掛載!

❿ linux內核編譯和根文件系統製作過程

內核編譯:
make menuconfig配置相應的平台,然後保存退出直接make命令就可以編譯了。

文件系統製作:
一般都用busybox開源軟體來做,下載,解壓,然後make menuconfig配置你想要的屬性,然後保存退出,make就可以了,然後make install就會在目錄下看到__install的目錄就是你要的根文件系統目錄了。

閱讀全文

與linux文件系統編譯修改相關的資料

熱點內容
掃描版pdf轉文字版 瀏覽:532
單片機專用寄存器 瀏覽:495
學習python的手冊 瀏覽:676
vue編譯成js文件 瀏覽:90
給單片機供電的電池 瀏覽:341
什麼app是分享教育的 瀏覽:898
可視化編程java 瀏覽:83
人工智慧溫控器演算法 瀏覽:376
大號文件夾多少錢一個 瀏覽:572
pdf閱讀器打開文件 瀏覽:98
winrar解壓日文文件 瀏覽:38
什麼app可以看廣東珠江電視台 瀏覽:75
linux移動文件位置 瀏覽:144
循環碼與卷積碼編譯原理 瀏覽:807
進化演算法和啟發式演算法的區別 瀏覽:602
android組件是什麼 瀏覽:973
安卓手機微信怎麼同步信息 瀏覽:182
小人pdf 瀏覽:806
我的世界伺服器怎麼造好看的建築 瀏覽:307
兄弟連培訓php多少錢 瀏覽:250