UNIX環境高階程式設計筆記(5) stat檔案型別

2021-10-22 20:46:39 字數 1627 閱讀 7077

目錄

文章目錄

前言一、stat函式

二、stat結構體

三、檔案型別

四、**

1.對每個命令列引數列印檔案型別

本章主要介紹檔案型別和struct stat結構體

#include

int stat(const char *restrict pathname,struct stat *restrict buf);

int fstat(int fd,struct stat *buf);

int lstat(const char *restrict pathname,struct stat *restrict buf);

int fstatat(int fd, const char *restrict pathname,struct stat * restrict buf,int flag);

struct stat{

mode_t                            st_mode;

ino_t                                st_ino;

dev_t                               st_dev;

dev_t                               st_rdev;

nlink_t                             st_nlink;

uid_t                                st_uid;

gid_t                                st_gid;

off_t                                 st_size;

struct timespec                st_atime;

struct timespec                st_mtime;

struct timespec                 st_ctime;

blksize_t                           st_blksize;

blkcnt_t                            st_blocks;

(1)普通檔案  (2)目錄檔案   (3)塊特殊檔案     (4)字元特殊檔案    (5)fifo    (6)套接字    (7)符號鍊錶

檔案型別包括在stat結構體st_mode成員中,通過下面的巨集判斷檔案的型別

s_isreg()   普通檔案

s_isdir()     目錄檔案

s_ischr()    字元檔案

s_isblk()     塊檔案

s_isfifo()    管道

s_islnk()      字元鏈結

s_issock()   套接字

**如下(示例):

void unix_4_3_stat(int num, char *name)

{    int i;

struct stat buf;

char *ptr;

for(i=1;i

本章主要介紹檔案型別的判斷方式並提供參考例程。

《unix環境高階程式設計》筆記2

第四章 檔案和目錄 本章將描述檔案系統特徵和檔案性質 1 stat fstat和lstat函式 原型 include int stat const char restrict pathname,struct stat restrict buf int fstat int filedes,struct...

UNIX環境高階程式設計學習筆記

include include include include int main int argc,char argv err sys can t open s argv 1 while dirp readdir dp null printf s n dirp d name closedir dp ...

unix環境高階程式設計

unix 日曆時間 自1970 年1 月1 日00 00 00 以來的國際標準時間 utc 程序時間 cpu 時間 時鐘時間 程序執行時間的總量。使用者cpu 時間 執行使用者指令時間量。系統cpu 時間 執行核心所經歷時間。命令 time 第三章至第七章 原子操作 任何乙個要求多於1 個函式呼叫的...