Linux文件I/O操作之文件类型

栗子:设计一个程序,应用system函数列出当前目录下的文件信息,以及系统“/dev/sda1”和“/dev/lp0”的文件信息。
程序:
在这里插入图片描述
运行结果
在这里插入图片描述
各种文件类型的含义:

命令 作用
普通文件 权限的十个字符中的第一位是“-”的文件
目录文件 权限的十个字符中的第一位是“d”的文件
硬链接文件 除了显示的文件数量,其他都和某个普通文件一模一样的文件
软件链接文件 权限的十个字符中的第一位是“l”的文件
块设备文件 权限的十个字符中的第一位是“b”的文件
socket文件 权限的十个字符中的第一位是“s”的文件
字符设备文件 权限的十个字符中的第一位是“c”的文件
管道文件 权限的十个字符中的第一位是“p”的文件
setUid可执行文件 权限的十个字符中的第四位是“s”的文件
setGid可执行文件 权限的十个字符中的第七位是“s”的文件
setUid加setGid文件 权限的十个字符中的第四位和第七位是“l”的文件

system函数简介

所需头文件 #include<stdlib.h>
函数功能 在进程中开始另一个进程
函数原型 int system(const char *string)
函数传入值 系统变量
函数返回值 执行成功则返回执行Shell命令后的返回值;调用/bin/sh失败后返回127;其他原因失败则返回-1;参数string为空(NULL),则返回非零值
备注 system()调用fork()产生子进程,子进程调用/bin/sh -c string来执行参数,string字符串所代表的命令,此命令执行完后随即返回原调用的进程。如果调用成功,返回Shell命令后的返回值可能也是127,因此,最好能检差errno来确定的执行情况

点击链接加入群聊【程序员技术交流群】:添加链接描述

发布了84 篇原创文章 · 获赞 24 · 访问量 4343

猜你喜欢

转载自blog.csdn.net/qq_41827511/article/details/102765798
今日推荐