亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統(tǒng) > Unix > 正文

Unix文件系統(tǒng)和pwd命令實現(xiàn)詳解

2024-09-08 18:01:00
字體:
供稿:網(wǎng)友
今天小編要為大家?guī)淼氖荱nix文件系統(tǒng)和pwd命令實現(xiàn)詳解,希望對大家會有幫助,有需要的朋友一起去看看吧
 
 
1. 對于用戶來講Unix系統(tǒng)中硬盤上的文件組成一棵目錄樹。每個目錄能包含文件和其他子目錄。
 
目錄樹的深度幾乎沒有限制,當然如果你所創(chuàng)建的目錄樹太深,系統(tǒng)就會提醒超過范圍,并停止執(zhí)行,以下腳本經(jīng)測試有效
 
while true
 
do
 
mkdir deep_well
 
cd deep_well
 
done
 
我運行了幾秒后,中斷系統(tǒng)提示超過目錄樹范圍。
 
2. 一個磁盤可以劃分為N多扇區(qū),每個扇區(qū)有512字節(jié) 。扇區(qū)是磁盤上的基本存儲單元,我們可以將每個扇區(qū)進行編號,這樣磁盤就變?yōu)?br /> 
一系列編了號的塊的組合。
 
3. 磁盤塊上存儲文件時,按照一定的規(guī)律。
 
每個文件系統(tǒng)分為3部分:超級塊,i-節(jié)點表,數(shù)據(jù)區(qū) 。
 
超級塊 :存放文件系統(tǒng)本身的信息,比如記錄了每個區(qū)域的大小,或未被使用的磁盤塊的信息。(不同版本稍有差別)
 
i-節(jié)點表 :每個文件都有其屬性,大小,最近修改時間等等,這些被存儲在ino_t 的結(jié)構(gòu)體中,所有的i-節(jié)點都有一樣的大小,i-節(jié)點表就是這樣一些節(jié)點的列表。
 
(表中的每個i-節(jié)點都通過位置來標志,例如標志為2的i-節(jié)點位于文件系統(tǒng)i-節(jié)點表中的第3個位置 )
 
數(shù)據(jù)塊 :存放文件內(nèi)容,因為塊的大小一定,所以有時一個文件會分布在多個磁盤上。
 
4. 創(chuàng)建一個文件的4個步驟:
 
存儲屬性:內(nèi)核先找到一個空的i-節(jié)點,把文件的屬性信息填入其中;
 
存儲數(shù)據(jù):從磁盤上找出空閑塊,把文件數(shù)據(jù)復制進去;
 
記錄分配情況:內(nèi)核在i-節(jié)點的磁盤分布區(qū)記錄了剛剛的磁盤編號
 
添加文件名到目錄:將(i-節(jié)點號,文件名)添加到目錄。
 
5. cat,more等一些命令的實現(xiàn)思想:
 
cat name
 
在目錄中尋找文件名,
 
定位到相應文件名的i-節(jié)點號;
 
根據(jù)i-節(jié)點號里面獲得文件屬性,查看權(quán)限,若權(quán)限不夠則open()函數(shù)返回1,打開失敗,停止;
 
根據(jù)i-節(jié)點里面磁盤位置訪問文件位置的數(shù)據(jù)塊
 
一遍遍調(diào)用read讀取數(shù)據(jù)(可以存放到緩沖區(qū))
 
6. 大文件的存儲
 
如果一個文件需要14個編號的磁盤塊來存儲,但是i-節(jié)點值包含13個項的分配鏈表,這時候,我們可以將前10個放到i-節(jié)點里,其他4個放到一個數(shù)據(jù)塊里面,在i-節(jié)點的第
 
11位寫上指向存那4個編號的塊。則我們實際用了10+4+1個數(shù)據(jù)塊,那個多出來的叫:間接塊 。
 
同理,間接塊飽和時,我們可以設置二級間接塊,,,
 
7. 文件在目錄中的含義
 
目錄包含(i-節(jié)點號,文件名)的入口,即目錄包含的是文件的引用,每個應用稱為鏈接。
 
8. 目錄包含子目錄的含義
 
目錄包含指向子目錄i-節(jié)點的鏈接。
 
9. 目錄有個父目錄的含義:
 
目錄包含..的鏈接,即指向父目錄。
 
10. 文件沒有名字只有i-節(jié)點號,但是鏈接可以有名字 ,一個文件可以有多個鏈接(他們的名字也可以不同,但是他們指向一個文件,對他們的操作就是對源文件的操作)
 
11. Unix系統(tǒng)可以包含多個文件系統(tǒng),每個文件系統(tǒng)都是一棵獨立的樹,都有根目錄,但是系統(tǒng)可以將他們整合成一棵大樹,即一個樹的根裝載到另一個數(shù)的某個節(jié)點上。mount
 
12 符號鏈接通過文件名引用文件,可以跨越文件系統(tǒng),也可以指向目錄。相當于windows中快捷方式。
 
硬鏈接是將目錄鏈接到樹的指針,同時也是將文件名和文件本身鏈接起來的指針。通過對i-節(jié)點號引用文件。
 
13 .與目錄樹相關(guān)的命令和系統(tǒng)調(diào)用
 
命令 mkdir
 
實現(xiàn) 頭文件 #include <sys/stat.h> #include <sys/types.h>
 
函數(shù)原型 int res=mkdir (char *path,mode_t mode);
 
命令 rmdir 刪除一個目錄,這個目錄必須是空的
 
實現(xiàn) 頭文件#include <unistd.h>
 
函數(shù)原型int res=rmdir (const char* path);
 
命令 rm 減少相應i-節(jié)點連接數(shù),若此時節(jié)點書減為0,就釋放數(shù)據(jù)塊和節(jié)點。不能用來刪除目錄
 
實現(xiàn) 頭文件#include <unistd.h>
 
函數(shù)原型int res=unlink (const char *path);
 
命令 ln 不能用來生成目錄的鏈接。
 
實現(xiàn) 頭文件#include <unistd.h>
 
函數(shù)原型 int res=link (const char *old,const char *new);
 
命令 mv 刪除原來的目錄,復制到新的里面
 
實現(xiàn) 頭文件#include <unistd.h>
 
函數(shù)原型int res=rename (const char* from,const char *to);
 
原理:復制鏈接到新的名字/位置再刪除原來的鏈接
 
if(link("x","z")!=-1)
 
unlink("x");
 
命令 cd 對進程有影響,對目錄本身沒有影響
 
實現(xiàn) 頭文件 #include <unistd.h>
 
函數(shù)原型 int res=chdir (const char *path);
 
14. pwd 命令的實現(xiàn)
 
#include <stdio.h>
 
#include <sys/types.h>
 
#include <sys/stat.h>
 
#include <dirent.h>
 
#include <string.h>
 
#include <unistd.h>
 
ino_t get_inode(char *);//get the inode number
 
void printpathto(ino_t);
 
void inum_to_name(ino_t,char *,int);//get the node name by its inode number
 
int main()
 
{
 
printpathto(get_inode("."));
 
putchar('/n');
 
return 0;
 
}
 
void printpathto(ino_t this_inode)
 
{
 
ino_t my_inode;
 
char its_name[BUFSIZ];
 
if(get_inode("..")!=this_inode)
 
{
 
chdir(".."); //up one dir
 
inum_to_name(this_inode,its_name,BUFSIZ); //get its name
 
my_inode=get_inode(".");
 
printpathto(my_inode); //itorater
 
printf("/%s",its_name);
 
}
 
}
 
void inum_to_name(ino_t inode_to_find,char *namebuf,int buflen)
 
{
 
DIR *dir_ptr; //the directory
 
struct dirent *direntp; //each entry
 
dir_ptr=opendir(".");
 
if(dir_ptr==NULL)
 
{
 
perror(".");
 
return;
 
}
 
while((direntp=readdir(dir_ptr))!=NULL)
 
{
 
if(direntp->d_ino==inode_to_find)
 
{
 
strncpy(namebuf,direntp->d_name,buflen);
 
namebuf[buflen-1]='/0';
 
closedir(dir_ptr);
 
return;
 
}
 
}
 
fprintf(stderr,"error looking for inum %d/n",(int)inode_to_find);
 
return;
 
}
 
ino_t get_inode(char *fname)
 
{
 
struct stat info;
 
if(stat(fname,&info)==-1)
 
{
 
fprintf(stderr,"Can not stat");
 
perror(fname);
 
return 1;
 
}
 
return info.st_ino;
 
}
 
運行結(jié)果:
 
caoli@caoli-laptop:~/workspace/test$ ./pwd1
 
/home/caoli/workspace/test
 
caoli@caoli-laptop:~/workspace/test$

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧美videossex另类| 涩涩漫画在线观看| 精品日韩视频| 久久99国产精品免费| 久久网站免费观看| 小早川怜子一区二区的演员表| 九九热只有精品| 国产又黄又粗又猛又爽的| 国产99视频在线观看| 秋霞午夜av一区二区三区| 国产精品1234区| 亚洲欧美精品中文字幕在线| 精品国内亚洲2022精品成人| 少妇精品久久久久久久久久| 性农村xxxxx小树林| 日韩高清av| 天天操天天摸天天舔| 国产97免费视| 欧美mv日韩mv国产网站| 成人精品视频久久久久| 一区二区不卡在线视频 午夜欧美不卡在| 日韩av影视综合网| 欧美人与z0zoxxxx特| 风流老熟女一区二区三区| 污视频在线免费观看一区二区三区| 日韩人妻无码精品久久久不卡| 久久久久久无码精品人妻一区二区| 香港成人在线视频| 成人污污视频在线观看| 亚洲成人久久电影| 在线观看成人黄色| 日韩三级视频在线观看| 91极品视频在线| 亚洲黄色高清| 中文字幕有码视频| 欧美亚洲免费| 国产精品一区视频| 97超碰在线播放| 国产精品人妻一区二区三区| 精品人人视频| 五月天婷婷丁香网| 国产精品高潮呻吟久久| 欧美午夜电影一区| 懂色aⅴ精品一区二区三区蜜月| 色狠狠av一区二区三区| av一区观看| 国产乱淫av麻豆国产免费| a级黄色片免费看| 另类视频一区二区三区| 欧美日韩成人黄色| 国产精品视频久| 国产z一区二区三区| 欧美白人做受xxxx视频| 一区二区三区欧美成人| 在线视频在线视频7m国产| 国产区二区三区| 熟女av一区二区| 日产精品高清视频免费| 日韩三级成人av网| 亚洲黄色免费三级| 亚洲h精品动漫在线观看| 国外男同性恋在线看| www.成人精品免费网站青椒| 国产精品久久免费| 成人6969www免费视频| 性做久久久久久久免费看| 一区二区三区四区免费| 97国产一区二区精品久久呦| 精品视频一区二区在线观看| 四季久久免费一区二区三区四区| www.偷拍.com| 成人网av.com/| 久久手机精品视频| 麻豆传媒视频在线观看| 欧美三日本三级少妇99| 久久成人在线观看| 欧美激情a在线| 国产在线视频不卡| 91成人短视频在线观看| 91精品国产入口在线| 最新中文字幕在线观看视频| 野花国产精品入口| 久久久久.com| 精品免费国产一区二区三区四区| 欧美午夜精品一区二区三区| 日本黄色三级大片| 2022国产精品| 91视频免费进入| 欧美在线观看一二区| 国产传媒欧美日韩| 欧美特黄一区| 激情综合在线观看| 久久精品国产亚洲7777| 正在播放国产对白害羞| 日本精品600av| 中文字幕日韩精品一区| 国产九九精品视频| 美女大黄三级视频在线观看| 国产又粗又猛又色| 国产欧美一区二区三区在线看蜜臀| 亚洲大奶少妇| 日韩欧美一区二区不卡| 国产精品久久久久久久久免费樱桃| 日韩在线播放一区二区| 亚洲成年人电影| 美女网站久久| 亚洲精品久久久久久下一站| 久久在线免费| 台湾佬成人中文网222vvv| 一区二区在线| 很黄很污的视频网站| 在线观看中文字幕亚洲| 成都免费高清电影| 激情视频亚洲| 天干夜天天夜天干天ww| 国产三区在线播放| 日韩电影免费网站| 欧美日韩国产在线播放网站| 亚洲精品国产精品国产自| 久久国产精品色| 女女百合国产免费网站| 久久综合狠狠综合久久综青草| 在线区一区二视频| 成人18在线| 欧洲国产精品| 午夜精品电影在线观看| 欧美经典影片视频网站| 亚洲一区999| 国产一区二区三区视频| 国产a∨精品一区二区三区不卡| 日韩电影一区二区三区四区| 99综合精品久久| 欧美日韩国产麻豆| 国产精品综合一区二区三区| 欧美区亚洲区| 91亚洲免费视频| 美女午夜精品| 亚洲视频www| jk破处视频在线| 在线播放日本| 翔田千里在线视频| 亚洲东热激情| 国产精品视频中文字幕| 国产3级在线观看| 亚洲午夜精品一区二区三区| 国产欧美日韩在线观看视频| 蜜桃色永久入口| 国产一卡2卡3卡四卡网站| 日本欧美色综合网站免费| 91亚洲精品一区二区| 精品久久久久久久久中文字幕| 日本激情五月| 亚洲综合一区二区| 欧美理论在线观看| 欧美激情视频一区二区三区在线播放| 一区二区三区免费高清视频| 另类高清dbsm日本tvav| 久久久av免费| 国产又爽又黄ai换脸| 蜜桃特黄a∨片免费观看| 最近最新mv在线观看免费高清| 国产精品白丝av嫩草影院| 午夜xxxxx| 色综合视频一区中文字幕| 桥本有菜亚洲精品av在线| 久久久久久久成人| 欧美五级在线观看视频播放| 亚洲少妇最新在线视频| 五月婷婷狠狠干| 亚洲激情成人在线| 久久久亚洲综合网站| 国产乱淫av片| 夜色资源网av在先锋网站观看| 成人免费a视频| 国产免费一区二区三区四区| 国产精品久久77777| 国产精品无码免费专区午夜| 成人免费观看49www在线观看| 久久密一区二区三区| 亚洲视频综合| japanesexxxxfree在线观看| 姬川优奈av一区二区在线电影| 日韩黄色片在线| 欧美日韩免费网站| 日韩高清有码在线| 国产v日产∨综合v精品视频| 色综合欧美在线视频区| 成人国产视频在线观看| 天天av天天翘天天综合网色鬼国产| 亚洲精品中文字| 亚洲精品视频啊美女在线直播| 日韩av三区| 成人做爽爽免费视频| 最新国产麻豆精品| 91电影在线观看| 丁香激情五月婷婷| www.九九热.com| 欧美大片免费看| 日本小视频网站| 日韩av在线播放中文字幕| mm131丰满少妇人体欣赏图| jizz性欧美| 亚洲黄色一区二区三区| 亚洲狠狠婷婷综合久久久| 国产字幕视频一区二区| 日韩成人在线一区| 波多野结衣a v在线| 欧美www视频| 一区二区三区电影| 里番全彩acg☆无翼乌全彩3d| 久久久综合香蕉尹人综合网| 亚洲va国产日韩欧美精品色婷婷| 中文文字幕文字幕高清| 一道本在线视频| 日韩视频在线观看一区二区三区| 天堂电影院在线| 欧美在线观看视频一区二区三区| 91动漫在线看| 黄色网址在线免费播放| 最新日韩在线视频| 好看的中文字幕在线播放| 日韩av久操| 综合一区二区三区| 岛国影视在线观看| 一本色道久久综合亚洲精品酒店| 黄网在线免费| 人人妻人人做人人爽| 国产精品国产三级国产aⅴ| 亚洲最新色图| 天天操夜夜添| 中文字幕1区2区| 91成人免费看| 看电视剧不卡顿的网站| 色网在线观看| 竹菊久久久久久久| 中文字幕亚洲一区二区三区| 亚洲欧美国产一区二区三区| 丁香花在线电影| www.亚洲免费| 国产a视频精品免费观看| 日本黄色片免费观看| 日韩欧美高清一区二区三区| 午夜视频你懂的| 久久久噜噜噜www成人网| 亚洲视频久久久| 一本到高清视频免费精品| 夜夜操免费视频| 欧美与欧洲交xxxx免费观看| 欧美在线va视频| 欧美精品亚洲精品日韩精品| 成人小视频免费看| 中文字幕一区二区三区视频| 一本一本大道香蕉久在线精品| 99精品美女视频在线观看热舞| www久久日com| 欧美色视频在线观看| 日本欧美一区二区三区乱码| 日韩精品视频一区二区| 国产福利在线播放麻豆| 久久久久久久久久久久久久久久久久| 丰满大乳国产精品| 五月天亚洲综合| 翔田千里在线视频| h小视频在线观看网| 亚洲欧美日韩小说| 亚洲女人天堂av| 日韩精品一区二区三区四区五区| 自拍一级黄色片| 国产男女av| 日本欧美一区二区三区不卡视频| 不卡视频一区二区三区| 欧洲美女网站| 欧美日韩亚洲天堂| 欧美精品日韩三级| 欧美一级做a| 精品亚洲国产视频| 精品成人av一区| 牛牛精品视频在线| 欧美另类变人与禽xxxxx| 91色中文字幕| 污污视频网站免费观看| 亚洲视频狠狠| 激情五月激情综合| 欧美不卡三区| 男人的天堂在线播放| 欧美日韩三区四区| 国产在线播放91| 免费看三级黄色片| 午夜精品久久久久久久久久蜜桃| 久久免费的精品国产v∧| 精品视频在线免费观看| 91香蕉亚洲精品| 久久mv成人精品亚洲动漫| 欧美精品制服第一页| 2021中文字幕在线| 亚洲av无码一区二区三区dv| 国产又粗又猛又爽又黄91精品| 日本在线电影一区二区三区| 亚洲视频资源在线| 国产一区二区在线看| 亚洲夜夜综合| 奇米影视在线99精品| 伊人一区二区三区久久精品| av成人免费在线| 欧美丰满熟妇bbbbbb百度| 欧美激情视频三区| 色老汉av一区二区三区| 久久99青青| 国产99久久久国产精品成人免费| 国产区在线看| a天堂视频在线观看| 亚洲国产成人无码av在线| 日韩一二三四区| 成人看片毛片免费播放器| 四虎成人精品在永久在线观看| 青青草97国产精品免费观看| 欧美做爰爽爽爽爽爽爽| 精品乱码一区内射人妻无码| 可以在线看黄的网站| 99人久久精品视频最新地址| 欧美一卡2卡3卡4卡| 国产剧情在线观看一区二区| 国产日韩亚洲精品| 91国产精品视频在线观看| 中文字幕永久在线视频| 久草资源在线| 超碰av在线免费观看| 国产伦精品一区二区三区妓女|