|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' x d' Y% a% @8 ^' Y( T. t- _Linux下C语言实现ls -l功能 ) N2 ?& D, j1 [' c( v* E
; O9 d2 Z3 e. I. y' E' K! y& [) M
# M; y- s! Y* Y9 ^! S# I: E- c( ^
& ]! L" h7 h1 P3 _6 W# x7 c) D2 O/ W! H3 ~
需求:用ls -l显示文件夹下所有的文件及属性 " w6 e( {$ _( r4 p( d2 D
) P/ p; \- d. n+ y1 z8 @8 P. A) a
分析:1 用ls显示文件夹下的所有文件,首先用opendir打开文件夹,再用readdir读取文件夹里面的文件,最后closedir关闭文件夹。
7 k# g1 u2 K) Q: M! s2 ?5 ^" I% u( O) M' z
8 B: c, q# a' ]2 e
2 用ls-l比较复杂,打印出来的内容包括:(文件属性+文件名)由以下几部分构成——文件的类型(d——目录文件 -——文本文件...)文件的可执行权限 所属组的权限,其它组的权限 硬链接数 文件拥有者文件 拥有者组 文件大小 时间 文件名
6 D/ w+ [6 b$ ]$ W* G
. k3 R3 O: F. n
4 C; G2 n2 q( I p8 s6 y! _% J 9 G% r/ G' ]# A3 ?, t8 J {
解决方案:
9 A7 [7 w) |. c6 X8 ?* T6 J ^+ \) [& Z3 y0 W3 m0 Z
) [, C9 f' ]5 ^( c
: }& q. I/ D1 O9 q. K
: `& H: L0 z8 S" J$ M) g) U4 l3 J
$ D9 n! L2 z7 x1 F
4 F4 H/ |* i' K$ J1 Y* H H0 V
6 d; ]- ~6 A" v6 A, J. \( A
4 a# b2 }3 I( c
+ F1 J8 \( k3 y, P: G P, w1 n6 g |
|