檔案屬性操作
1.獲取檔案屬性
stat/fstat/lstat函式
#include
#include
#include
int stat(const
char *file_name,struct stat *buf);
int fstat(int filedes,struct stat *buf);
int lstat(const
char *file_name,struct stat *buf);
struct stat ;
st_mode包含的檔案型別資訊,posix標準定義了一系列的巨集
s_islnk:判斷是否為符號鏈結。
s_isreg:判斷是否為一般檔案。
s_isdir:判斷是否為目錄檔案。
s_ischr:判斷是否為字元裝置檔案。
s_isblk:判斷是否為塊裝置檔案。
s_isfifo:判斷是否為先進先出fifo。
s_issock:判斷是否為socket。
設定檔案屬性
1.hmod/fchmod
2.chown/fchown/lchown
#include
#include
int chown(const
char *path,uid_t owner,gid_t group);\
int fchown(int fd,uid_t owner,gid_t group);
int lchown(const
char *path,uid_t owner,gid_t group);
chown會將引數path指定的檔案所有者id變更為引數owner代表的使用者id,而將該檔案所有者的組id變更為引數group組id。
目錄的建立與刪除
#include
#include \
int mkdir(const
char *pathname,mode_t mode);//建立
int rmdir(const
char *pathname);//刪除
獲得當前目錄
每個程序都有乙個當前目錄,此目錄是搜尋所有相對路徑名的起點。
getcwd函式
#include
char *getcwd(char *buf,size_t size);
getcwd會將當前的工作目錄絕對路徑複製到引數buf所指的記憶體空間,引數size為buf的空間大小。若工作目錄絕對路徑的字串長度超過引數size大小,返回值為null,errno值為erange。
設定工作目錄
chdir函式
#include
int chdir(const
char *path);
chdir用來將當前工作目錄改為由引數path指定的目錄。執行成功返回0,有錯誤發生返回-1。
獲取目錄資訊
1.opendir函式
#include
#include
dir ×opendir(const
char *name);
opendir用來開啟引數name指定的目錄,並返回dir*形態的目錄流。
2.readdir函式
#include
#include
struct dirent *readdir(dir *dir);
readdir用來從引數dir所指向的目錄中讀取出目錄項資訊,返回乙個struct dirent結構的指標。
struct dirent
3.closedir
#include
#include
int closedir(dir *dir);
closedir用來關閉引數dir指向的目錄,執行成功返回0,有錯誤回-1。
show_files.c
#include
#include
#include
#include
#include
int my_readir(const
char *path)
while((ptr = readdir(dir)) != null)
closedir(dir);
return0;}
int main(int argc , char **argv)
if(my_readir(argv[1])<0)
exit(1);
return
0;}
本程式可以將命令列的引數制定的目錄下的檔案顯示出來。
1.open(函式)
#include
#include
int open(const
char *pathname, int flags);
int open(const
char *pathname,int flags,mode_t mode);
2.close函式
#include
int close(int fd);
close函式只有乙個引數,此引數標示需要關閉的檔案的檔案描述符,該檔案描述符是由open函式或creat函式得到。當close呼叫成功時,返回值為0,發生錯誤返回-1,並設哦寧國置錯誤**。(注意,close函式呼叫成功並不保證資料能全部寫回硬碟)
2.檔案的讀寫
read函式
#include
ssize_t read(int fd ,void *buf,size_t count)
從檔案描述符fd所指向的檔案中讀取count個位元組的資料到buf所指向的快取中。若引數count為0,則read不會讀取資料,只返回0。
write函式
#include
ssize_t write(int fildes,off_t offset,int whence);
將buf所指向的緩衝區中的count個位元組資料寫入到由檔案描述符fd所指示的檔案中。呼叫成功,返回寫入位元組數,發生錯誤,返回-1。 linux之檔案操作
linux目錄圖 根目錄,一般根目錄下只存放目錄,不要存放檔案,etc bin dev lib sbin應該和根目錄放置在乙個分割槽中 bin usr bin 可執行二進位制檔案的目錄,如常用的命令ls tar mv cat等。boot 放置linux系統啟動時用到的一些檔案。boot vmlinu...
linux基礎之檔案操作
1 options f 強制 r 目錄遞迴 l 互動 2 舉例 cp hello.txt user root 將hello.txt檔案複製到 user root目錄下 mv hello.txt user root 將hello.txt檔案剪下到 user root目錄下 rm hello.txt 刪...
linux命令之檔案操作
檔案操作 檔案建立或者檢視 cat 由第一行開始顯示檔案內容 tac 從最後一行開始顯示,可以看出tac是cat的倒寫 nl 顯示的時候順便輸出行號 more 一頁一頁地顯示檔案內容 less 與more相似,但是比more更好的是,它可以往前翻頁 head 只看頭幾行 tail 只看結尾幾行 od...