找回密码
 注册
关于网站域名变更的通知
查看: 242|回复: 1
打印 上一主题 下一主题

Linux C高级编程 Linux C语言实现ls -l(下)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-12 13:32 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
4.文件所有者和文件所有者组:通过stat结构体的注释信息可以看出,stat只能获取文件的uid和gid并不是uid gid对应的用户或组的名称。* U( o9 s3 P2 x& b; V

. @4 u+ p. C: p1 n* K

# F# @/ ?4 t. j& u, Juid找到对应的用户名是可以通过getpwuid这个系统调用获取,这个系统调用接受一个uid返回一个passwd的结构体,这个结构体成员如下:
' l  B% w" Q% f% j. F( S, h
; a& _+ z' ]0 S! W7 p' U7 x- P

, S" h& U: j0 R$ @0 j" X
  • char *pw_name;//User’s login name.
  • uid_t pw_uid; //umerical user ID.
  • gid_t pw_gid; //Numerical group ID.
  • char *pw_dir;//Initial working directory.
  • char *pw_shell;//Program to use as shell.<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>' j" m" l- @7 i. J$ G; X, a' f8 N- V! D
+ g+ ?/ U5 P2 S5 l0 d3 z/ C" u
3 |& I" B+ R3 U7 m: H* {7 }

6 h* R4 `" J6 h+ s
( E) Y1 G4 K5 a5 D* P) `; x
# e7 x: K, `; {  R* ]
gid对应的组名同样可以找到一个系统调用来获取,通过man我发现可以通过getgrgid()系统调用传入一个gid
* P) V5 U" U( u6 j3 S
# e  h6 s# x. P
4 m" V! k- ^3 ^- T/ b
游客,如果您要查看本帖隐藏内容请回复

0 l( [& B, g+ G$ m
# L8 t: P5 A5 K# V
4 n3 ], I, _% x9 G

) G, X. O& j8 C0 L% g# f1 J- F" x- H6 Z( {2 D
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:20 , Processed in 0.171875 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表