1. 程式人生 > >windows系統文件和linux系統文件

windows系統文件和linux系統文件

cpuinfo 系統管 fstab windows cdr linux下 沒有盤符 mda src

windows系統文件和linux系統文件

1、單用戶操作系統和多用戶操作系統

  • 單用戶操作系統:指一臺計算機在同一時間 只能由一個用戶 使用,一個用戶獨自享用系統的全部硬件和軟件資源
    • Windows XP 之前的版本都是單用戶操作系統
  • 多用戶操作系統:指一臺計算機在同一時間可以由 多個用戶 使用,多個用戶共同享用系統的全部硬件和軟件資源
    • UnixLinux 的設計初衷就是多用戶操作系統

2、windows和linux文件系統區別

2.1 windows下的文件系統

在windows下我們打開我的電腦就會看到一個個的驅動器盤符:
技術分享圖片
每個驅動器都有自己的目錄結構,這樣形成了多個樹並列的情形,如圖所示:
技術分享圖片


Windows主要目錄的含義如下:

  • Program Files(x86): Program Files (x86)存放了一些32位的系統文件。它和正常的Program Files以及Windows文件夾一樣,都屬於系統文件夾,請勿隨意改動。
64位Windows中提供了一種技術,Windows on Windows 64(即WoW64)。它可以使32位的應用程序正常地運行在64位的Windows中,這樣用戶在從32位到64位過渡的過程中,不會感受到很大的不便。為了能讓32位的程序正常運行,64位的Windows中自帶了一大部分的32位的系統文件,當32位程序運行的時候,系統會給它[虛擬出一個32位的環境],這樣32位程序會以為自己運行在32位Windows中。
  • Program Files: 存放一些64位的系統文件;
Windows的系統文件主要是存放在%SystemDrive%\Program Files和%Windir%\System32中(即通常的C:\Program Files和C:\Windows\System32)。64位系統中,這兩個文件夾存放的是64位的系統文件,為了存放32位的同名系統文件,64位系統中有另外兩個文件夾與之對應,%SystemDrive%\Program Files (86)和%Windir%\SysWoW64(即通常的C:\Program Files (86)和C:\Windows\SysWoW64)。
當32位程序需要訪問Program Files或者System32中的文件時,系統會自動轉向到Program Files (x86)或者SysWoW64中,這樣32位的程序就可以正常的在64位Windows中運行了。
  • Program Files、 Program Files (x86)和Windows文件夾通常都存在於同一個盤(分區)中,如果某個盤下面只有Program Files而沒有Windows的話,則它不是系統文件夾,刪除後不影響系統運行,當然有可能會影響某些軟件。
    此時我的硬盤中占比:
    Program Files(x86): 9.59GB(59265個文件,17622個文件夾)
    Program Files: 3.05GB(8832個文件,1873個文件夾)
    Windows: 21GB(97538個文件,23643個文件夾)
    user: 17.4GB(48835個文件,11200個文件夾)
    ProgramData: 6.15GB(33041個文件,4007個文件夾)
    Windows.old: 18.3GB(109392個文件,27525個文件夾)

2.2 Linux下的文件系統

在 Linux 下,我們是看不到這些驅動器盤符,我們看到的是文件夾(目錄):
技術分享圖片

Ubantu沒有盤符這個概念,只有一個根目錄/,所有文件都在它下面:
技術分享圖片

  • ubantu下的用戶目錄
    • 位於/home/user,稱之為用戶工作目錄或家目錄,表示方式:

/home/user

Linux主要目錄的含義如下:

  • /:根目錄,一般根目錄下只存放目錄,在 linux 下有且只有一個根目錄,所有的東西都是從這裏開始,當在終端裏輸入 /home,其實是在告訴電腦,先從 /(根目錄)開始,再進入到 home 目錄;
  • /bin、/usr/bin:可執行二進制文件的目錄,如常用的命令 ls、tar、mv、cat 等;
  • /boot:放置 linux 系統啟動時用到的一些文件,如 linux 的內核文件:/boot/vmlinuz,系統引導管理器:/boot/grub;
  • /dev:存放linux系統下的設備文件,訪問該目錄下某個文件,相當於訪問某個設備,常用的是掛載光驅mount /dev/cdrom /mnt;
  • /etc:系統配置文件存放的目錄,不建議在此目錄下存放可執行文件,重要的配置文件有
/etc/inittab
/etc/fstab
/etc/init.d
/etc/X11
/etc/sysconfig
/etc/xinetd.d
  • /home:系統默認的用戶家目錄,新增用戶賬號時,用戶的家目錄都存放在此目錄下
    • ~ 表示當前用戶的家目錄
    • ~edu 表示用戶 edu 的家目錄
  • /lib、/usr/lib、/usr/local/lib:系統使用的函數庫的目錄,程序在執行過程中,需要調用一些額外的參數時需要函數庫的協助;
  • /lost+fount:系統異常產生錯誤時,會將一些遺失的片段放置於此目錄下;
  • /mnt、/media: 光盤默認掛載點,通常光盤掛載於 /mnt/cdrom 下,也不一定,可以選擇任意位置進行掛載;
  • /opt: 給主機額外安裝軟件所擺放的目錄
  • /proc: 此目錄的數據都在內存中,如系統核心,外部設備,網絡狀態,由於數據都存放於內存中,所以不占用磁盤空間,比較重要的文件有:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等
  • /root: 系統管理員root的家目錄
  • /sbin、/usr/sbin、/usr/local/sbin: 放置系統管理員使用的可執行命令,如 fdisk、shutdown、mount 等。與 /bin 不同的是,這幾個目錄是給系統管理員 root 使用的命令,一般用戶只能”查看”而不能設置和使用;
  • /tmp: 一般用戶或正在執行的程序臨時存放文件的目錄,任何人都可以訪問,重要數據不可放置在此目錄下;
  • /srv: 服務啟動之後需要訪問的數據目錄,如 www 服務需要訪問的網頁數據存放在 /srv/www 內
  • /usr:應用程序存放目錄
/usr/bin:存放應用程序
/usr/share:存放共享數據
/usr/lib:存放不能直接運行的,卻是許多程序運行所必需的一些函數庫文件
/usr/local:存放軟件升級包
/usr/share/doc:系統說明文件存放目錄
  • /var: 放置系統執行過程中經常變化的文件
/var/log:隨時更改的日誌文件
/var/spool/mail:郵件存放的目錄
/var/run:程序或服務啟動後,其 PID 存放在該目錄下

兩個文件系統的區別:

1、文件名長度方面,NTFS和ext4相同,最大都是255個字符,但路徑長度ext4沒有限制,NTFS內核限制是路徑長度不宜超過65536個Unicode字符,但受到應用API限制,最長是255(可以繞過這個限制)

2、NTFS最大文件是16EB,最大分區是16EB,ext4最大文件是16TB,最大分區是1EB。

3、二者支持的時間戳都一樣,都支持記錄創建時間、訪問時間、修改時間。ext4部分支持ECC,而NTFS不支持,另外兩者記錄時間的精度不同,ext4的精度是1納秒,NTFS精度是100納秒。

4、ext4支持塊級的日誌,但默認關閉,NTFS不支持,但考慮到NTFS其實是把所有內容(包括元數據)都認為是文件(ext4則區分文件和元數據),所以NTFS沒有必要做塊級的日誌。

5、ext4不支持文件文件快照,NTFS支持,另外NTFS支持文件修改日誌。

6、NTFS原生支持數據加密,ext4需要在格式化時指定是否支持數據加密,格式化以後無法修改。

7、ext4似乎不支持Copy On Write,但從ext4的邏輯上看,不支持Copy On Write也可以理解,因為有日誌。NTFS支持。

8、NTFS在Windows Server版本上支持消除重復數據的功能(類似於網盤的秒傳)

9、ext4和NTFS都支持稀疏文件,其中NTFS還支持塊的再分配(把未完全使用的一個塊拆成多個塊再分配),ext4支持異步分配(Allocate on flush,這個該怎麽翻譯最合適?),可以減少碎片。

windows系統文件和linux系統文件