linux目錄結構:
根目錄"/"
/bin 可執行檔案目錄
/boot 核心引導檔案:vmlinuz,initrd.img等
/dev 裝置檔案儲存目錄,應用程式對這些檔案讀寫和控制可訪問實際裝置
/etc 系統配置和一些伺服器配置檔案的位置,如帳號及密碼配置檔案。
/home 普通使用者目錄
/lib 庫檔案目錄
/lost+found ext2,ext3檔案系統中當系統意外崩潰或意外關機時產生的檔案碎片位置
/mnt 存放掛載的儲存裝置目錄,如cdrom,/etc/fstab中有相關定義
/opt 某些軟體包被安裝在這裡,使用者自己編譯的軟體包也可安裝在此。
/root linux超級許可權使用者root的home目錄
/sbin 存放可執行檔案,大多為系統管理命令,是root使用者可執行命令存放地,它與/usr/sbin , usr/local/sbin相似。
/tmp 使用者運程程式產生的臨時檔案存放處
/usr 系統存放程式的目錄,如命令,幫助文件,linux發行版提供的軟體包大多被安裝在這裡。
/var 此目錄內容經常變動,如/var/log用來儲存系統日誌。
/sys 核心所支援的sysfs檔案系統被對映在此。匯流排,驅動和裝置都可在sysfs檔案系統中找到對應節點,當核心檢測到新裝置,核心會在 sysfs檔案系統中為該新裝置生成一項新的記錄。
/initrd 若啟動時使用了initrd映像作為臨時根檔案系統,則在執行完其上的/linuxrc掛接真正的根檔案系統後,原來初始ram檔案系統被對映到此。
linux中虛擬檔案系統、磁碟檔案及一般裝置檔案與裝置驅動關係.
應用程式->vfs->(特殊檔案|磁碟檔案|裝置檔案)
磁碟檔案->磁碟驅動->磁碟
裝置檔案->其他裝置驅動->其他裝置
對於塊儲存裝置,ext2,fat,jffs2等會實現針對vfs的file_operations成員函式,裝置驅動層將看不到file_operations的存在,裝置驅動重要的結構體 file,inode.
struct file f_u;
struct path f_path;
#define f_dentry f_path.dentry
#define f_vfsmnt f_path.mnt
const struct file_operations *f_op;
atomic_long_t f_count;
unsigned int f_flags;
fmode_t f_mode;
loff_t f_pos;
struct fown_struct f_owner;
const struct cred *f_cred;
struct file_ra_state f_ra;
u64 f_version;
#ifdef config_security
void *f_security;
#endif
/* needed for tty driver, and maybe others */
void *private_data;
__u32 i_generation;
#ifdef config_dnotify
unsigned long i_dnotify_mask; /* directory notify events */
struct dnotify_struct *i_dnotify; /* for directory notifications */
#endif
#ifdef config_inotify
struct list_head inotify_watches; /* watches on this inode */
struct mutex inotify_mutex; /* protects the watches list */
#endif
unsigned long i_state;
unsigned long dirtied_when; /* jiffies of first dirtying */
unsigned int i_flags;
atomic_t i_writecount;
#ifdef config_security
void *i_security;
#endif
void *i_private; /* fs or device private pointer */
};
linux 檔案系統 Linux 檔案系統結構介紹
ubuntu 像所有類unix系統一樣 在分層樹中組織檔案,其中的關係就像父母和孩子一樣。目錄可以包含其他目錄以及常規檔案,它們是樹的 葉子 樹的任何元素都可以通過路徑名引用 絕對路徑以字元 標識根目錄,其中包含所有其他目錄和檔案 開頭,然後列出必須遍歷以到達該元素的每個子目錄,每個子目錄用 符號分...
Linux檔案系統
之前對磁碟分割槽已經有了詳細的描述,這篇主要介紹檔案系統 linux的檔案系統是出了名的 下面就 大概介紹下 可以把檔案系統大概分成 superblock inodeblock datablock 三部分 superblock superblock記錄檔案系統的基本資訊比如每塊資料塊的大小,空閒磁碟...
Linux 檔案系統
一 作業系統通過檔案系統進行管理檔案及資料,磁碟或者分割槽需要建立檔案系統之後才能夠為作業系統使用,建立檔案系統的過程又稱之為格式化。1,沒有檔案系統的裝置又稱之為裸 raw 裝置 2,常見的檔案系統有fat32 ntfs ext2 ext3 ext4 xfs hfs等 3,檔案系統之間的區別 是否...