国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

Linux新手學(xué)堂 Linux系統(tǒng)下文件的操作集錦

2024-08-28 00:05:19
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
1.文件的創(chuàng)建和讀寫(xiě)
我假設(shè)你已經(jīng)知道了標(biāo)準(zhǔn)級(jí)的文件操作的各個(gè)函數(shù)(fopen,fread,fwrite等等)。當(dāng)然如果你不清楚的話也不要著急。我們討論的系統(tǒng)級(jí)的文件操作實(shí)際上是為標(biāo)準(zhǔn)級(jí)文件操作服務(wù)的。
當(dāng)我們需要打開(kāi)一個(gè)文件進(jìn)行讀寫(xiě)操作的時(shí)候,我們可以使用系統(tǒng)調(diào)用函數(shù)open。使用完成以后我們調(diào)用另外一個(gè)close函數(shù)進(jìn)行關(guān)閉操作。
#include
#include
#include
#include
int open(const char *pathname,int flags);
int open(const char *pathname,int flags,mode_t mode);
int close(int fd);
open函數(shù)有兩個(gè)形式。其中pathname是我們要打開(kāi)的文件名(包含路徑名稱,缺省是認(rèn)為在當(dāng)前路徑下面)。flags可以去下面的一個(gè)值或者是幾個(gè)值的組合。
O_RDONLY:以只讀的方式打開(kāi)文件。
O_WRONLY:以只寫(xiě)的方式打開(kāi)文件。
O_RDWR:以讀寫(xiě)的方式打開(kāi)文件。
O_APPEND:以追加的方式打開(kāi)文件。
O_CREAT:創(chuàng)建一個(gè)文件。
O_EXEC:如果使用了O_CREAT而且文件已經(jīng)存在,就會(huì)發(fā)生一個(gè)錯(cuò)誤。
O_NOBLOCK:以非阻塞的方式打開(kāi)一個(gè)文件。
O_TRUNC:如果文件已經(jīng)存在,則刪除文件的內(nèi)容。
前面三個(gè)標(biāo)志只能使用任意的一個(gè)。如果使用了O_CREATE標(biāo)志,那么我們要使用open的第二種形式。還要指定mode標(biāo)志,用來(lái)表示文件的訪問(wèn)權(quán)限。mode可以是以下情況的組合。
-----------------------------------------------------------------
S_IRUSR 用戶可以讀 S_IWUSR 用戶可以寫(xiě)
S_IXUSR 用戶可以執(zhí)行 S_IRWXU 用戶可以讀寫(xiě)執(zhí)行
-----------------------------------------------------------------
S_IRGRP 組可以讀 S_IWGRP 組可以寫(xiě)
S_IXGRP 組可以執(zhí)行 S_IRWXG 組可以讀寫(xiě)執(zhí)行
-----------------------------------------------------------------
S_IROTH 其他人可以讀 S_IWOTH 其他人可以寫(xiě)
S_IXOTH 其他人可以執(zhí)行 S_IRWXO 其他人可以讀寫(xiě)執(zhí)行
-----------------------------------------------------------------
S_ISUID 設(shè)置用戶執(zhí)行ID S_ISGID 設(shè)置組的執(zhí)行ID
-----------------------------------------------------------------
我們也可以用數(shù)字來(lái)代表各個(gè)位的標(biāo)志。Linux總共用5個(gè)數(shù)字來(lái)表示文件的各種權(quán)限。
00000。第一位表示設(shè)置用戶ID。第二位表示設(shè)置組ID,第三位表示用戶自己的權(quán)限位,第四位表示組的權(quán)限,最后一位表示其他人的權(quán)限。
每個(gè)數(shù)字可以取1(執(zhí)行權(quán)限),2(寫(xiě)權(quán)限),4(讀權(quán)限),0(什么也沒(méi)有)或者是這幾個(gè)值的和。
比如我們要?jiǎng)?chuàng)建一個(gè)用戶讀寫(xiě)執(zhí)行,組沒(méi)有權(quán)限,其他人讀執(zhí)行的文件。設(shè)置用戶ID位那么我們可以使用的模式是--1(設(shè)置用戶ID)0(組沒(méi)有設(shè)置)7(1+2+4)0(沒(méi)有權(quán)限,使用缺省)5(1+4)即10705:
open("temp",O_CREAT,10705);
如果我們打開(kāi)文件成功,open會(huì)返回一個(gè)文件描述符。我們以后對(duì)文件的所有操作就可以對(duì)這個(gè)文件描述符進(jìn)行操作了。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 厦门市| 文昌市| 邢台县| 松阳县| 菏泽市| 济宁市| 漳平市| 亳州市| 凌源市| 郁南县| 神木县| 曲阜市| 雷州市| 湘阴县| 新化县| 陆良县| 修武县| 亳州市| 丰原市| 大荔县| 广昌县| 灵石县| 桐乡市| 乌苏市| 中阳县| 武宁县| 永昌县| 朔州市| 上思县| 萨嘎县| 杭锦后旗| 北碚区| 手游| 桂阳县| 射阳县| 南投县| 广水市| 荃湾区| 文化| 抚州市| 秭归县|