栗子:设计一个程序,应用system函数列出当前目录下的文件信息,以及系统“/dev/sda1”和“/dev/lp0”的文件信息。
程序:
Linux文件I/O操作之文件类型
运行结果
Linux文件I/O操作之文件类型
各种文件类型的含义:

命令 作用
普通文件 权限的十个字符中的第一位是“-”的文件
目录文件 权限的十个字符中的第一位是“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来确定的执行情况

相关文章:

  • 2021-12-21
  • 2021-04-15
  • 2022-12-23
  • 2022-03-06
  • 2021-10-09
  • 2021-05-09
  • 2021-08-06
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-24
  • 2022-12-23
  • 2021-07-25
  • 2022-01-07
  • 2022-12-23
  • 2021-04-02
相关资源
相似解决方案