日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux C获取文件属性

發布時間:2023/12/9 linux 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux C获取文件属性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

From: http://www.tianya360.com/html/xitonganzhuang/caozuoxitong/2010/0524/924.html

Linux下如何在C下面判斷一個文件是不是連接?   

判斷上面生成的軟連接文件link,執行后,程序卻說是目錄,不知道是為什么?源代碼如下:(文件名:mstat.c)
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>

int main(int argc, char **argv)
{
struct stat buf;
mode_t mode;
char type[80];
int fd;

if(argc != 2)
{
puts("USAGE: mstat {file}");
exit(EXIT_FAILURE);
}

if((fd = open(argv[1], O_RDONLY)) < 0)
{
perror("open");
exit(EXIT_FAILURE);
}

if((fstat(fd, &buf)) < 0)
{
perror("fstat");
exit(EXIT_FAILURE);
}

mode = buf.st_mode;
printf(" FILE: %s\n", argv[1]);
printf(" INODE: %ld\n", buf.st_ino);
printf(" DEVICE: %d,%d\n", major(buf.st_dev), minor(buf.st_dev));
printf(" SMODE: %#o\n", mode);
printf(" MODE: %#o\n", mode & ~(S_IFMT));
printf(" LINKS: %d\n", buf.st_nlink);
printf(" UID: %d\n", buf.st_uid);
printf(" GID: %d\n", buf.st_gid);

if(S_ISLNK(mode))
strcpy(type, "Symbolic line");
else if(S_ISREG(mode))
strcpy(type, "Regular file");
else if(S_ISDIR(mode))
strcpy(type, "Directory");
else if(S_ISCHR(mode))
strcpy(type, "Character device");
else if(S_ISBLK(mode))
strcpy(type, "Block device");
else if(S_ISFIFO(mode))
strcpy(type, "FIFO");
else if(S_ISSOCK(mode))
strcpy(type, "Socket");
else
strcpy(type, "Unknown type");

printf(" TYPE: %s\n", type);
printf(" SIZE: %d\n", buf.st_size);
printf("BLK SIZE: %ld\n", buf.st_blksize);
printf(" BLOCKS: %d\n", (int)buf.st_blocks);
printf("ACCESSED: %s", ctime(&buf.st_atime));
printf("MODIFIED: %s", ctime(&buf.st_mtime));
printf(" CHANGED: %s", ctime(&buf.st_ctime));

// close the file
if(close(fd) < 0)
{
perror("close");
exit(EXIT_FAILURE);
}
exit(EXIT_SUCCESS);
}

執行makd mstat生成執行文件mstat,然后執行./mstat link, 執行后提示link是一個目錄,請大家試試,并幫我找找是什么原因。謝謝!

========================================================
如果在SCO上,使用lstat
man stat/lstat/fstat

if((fstat(fd, &buf)) < 0) --> if( (lstat(argv[0],&buf)) <0 )

stat系列調用的法則具體要看你的系統使用手冊(man)Top

============================================================

[root@localhost other]# ./mstat link
FILE: link
INODE: 260649
DEVICE: 3,2
SMODE: 0100644
MODE: 0644
LINKS: 1
UID: 0
GID: 0
TYPE: Regular file
SIZE: 98
BLK SIZE: 4096
BLOCKS: 8
ACCESSED: Wed Jul 2 05:10:20 2003
MODIFIED: Wed Jul 2 05:09:49 2003
CHANGED: Wed Jul 2 05:09:49 2003
[root@localhost other]#

=============================================================

lstat(由文件描述詞取得文件狀態)
相關函數 stat,fstat,chmod,chown,readlink,utime
表頭文件 #include<sys/stat.h>
#include<unistd.h>
定義函數 int lstat (const char * file_name.struct stat * buf);
函數說明 lstat()與stat()作用完全相同,都是取得參數file_name所指的文件狀態,其差別在于,當文件為符號連接時,lstat()會返回該link本身的狀態。詳細內容請參考stat()。
返回值 執行成功則返回0,失敗返回-1,錯誤代碼存于errno。
范例 參考stat()。


總結

以上是生活随笔為你收集整理的Linux C获取文件属性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www.男人天堂.com | 欧美成人女星 | 天天操天天干天天操 | 五月激情天 | 日韩黄色av | 男人的天堂黄色 | 久久久精品免费看 | 成人网免费看 | 五月亚洲婷婷 | 男女视频在线免费观看 | 男女污网站| 国产视色 | 射进来av影视网 | 亚洲黄色免费视频 | 69久久久| 国产处女 | 久久99久久久久久 | 欧美激情成人网 | 国产人妻一区二区三区四区五区六 | 五月天狠狠干 | 三级小说视频 | 最近中文字幕在线观看 | 男女调教视频 | 男生草女生视频 | 久久在线看 | 草草在线观看视频 | 海量av资源 | 欧美精品一区二区三区在线播放 | 91大神福利视频 | 亚洲天堂免费在线 | 欧美一区二区三区久久精品 | 日本妇乱大交xxxxx | 国产在线观看免费高清 | 色图综合| 国产三级在线免费观看 | 91久色| 精品国产一区二区三区在线 | 波多野结衣视频免费在线观看 | 天堂中文av在线 | 少妇日b| 国产精品99视频 | 久久久久久久久久久影视 | 国产剧情av在线播放 | 成人xxx视频 | 欧美丰满艳妇bbwbbw | 黄色小视频免费网站 | 巨胸喷奶水www久久久免费动漫 | 国产主播自拍av | 交专区videossex另类 | 久久涩涩 | 日韩国产欧美视频 | 欧美久久久一区二区三区 | 免费看美女被靠到爽的视频 | 精品一区三区 | 国产精品一区二区三区四区在线观看 | 久久久久久无码午夜精品直播 | 中文天堂在线播放 | 国产91av在线| 亚欧视频在线观看 | 色伊人影院 | 杨幂一区二区国产精品 | 99久久99| 黄网站色视频 | 中文字幕日韩经典 | 少妇中文字幕 | 一级黄色性生活片 | 欧美三级一区 | 日本成人小视频 | 亚洲精品国产精品乱码 | 人妖粗暴刺激videos呻吟 | 国产欧美久久久久 | 亚洲精品香蕉 | 九九午夜| 国产视频日韩 | 最新视频 - 8mav| 亚洲天堂偷拍 | www.黄色大片 | 久操热线 | 91免费看片| 欧美成人小视频 | 色婷婷久久久 | 毛茸茸多毛bbb毛多视频 | 日本黄网在线观看 | 亚色一区| 天天艹天天操 | 涩涩网站视频 | 欧美激情在线 | 三年大片在线观看 | 久久久久久久久久久久久女过产乱 | 日韩不卡av| 亚洲色图校园春色 | 色资源av | 国产不雅视频 | 四虎新网址| 在线观看国产精品视频 | 伊人久久大香线蕉综合75 | 久久久久国产一区二区 | 2014亚洲天堂| 久久免费视频1 |