for CoderToHelpU

for CoderToHelpU

Write a C program, myls.c, to list files in a given directory. myls takes one optional command line argument specifying the directory path (either absolute or relative path). If the argument is absent, files in current directory will be listed. Typical output should look like:

 

Case 1: directory argument absent

Case 2: directory argument present

 

$ myls

  myfile1

  myfile2

  myfile3

  myls

 

$ myls .

  myfile1

  myfile2

  myfile3

  myls

 

 

Remarks:

1.        display file names in separate lines, one file each line.

2.        exclude current directory entry (.) and parent directory entry (..)

3.        error handling. Whenever a system call fails, exit program and display an error message by using perror.

 

 

 

 

 

 

 

l  Bonus: 

 

Extend myls.c to myll.c to display more detailed information about the files listed:

 

1.        Modification time (2%). Hint: ctime() function covert time_t to string. consult time.h functions (Chapter 26.3 at Dr. King’s book).

2.        File size (1%).

3.        User name (1%). Hint: getpwuid()takes the uid variable in struct stat and return struct passwd which contains user name variable. Detail/example at: http://pubs.opengroup.org/onlinepubs/009695399/functions/getpwuid.html

http://pubs.opengroup.org/onlinepubs/000095399/basedefs/pwd.h.html

remember to include required header files to use these functions.

4.        Group name (1%). Hint: getgrgid()takes the gid variable in struct stat and return struct group which contains group name variable. Detail/example at:

http://pubs.opengroup.org/onlinepubs/009695399/functions/getgrgid.html

http://pubs.opengroup.org/onlinepubs/009695399/basedefs/grp.h.html

 

For more details about the struct stat definition, http://linux.die.net/man/2/stat.

 

Typical output looks like:

$ myll .

  myfile1          myname           mygroup          32        Apr  3 01:12

  myfile2          myname           mygroup          408      Apr  5 11:01

  myfile3          myname           mygroup          12        Apr  3 23:10

  myll               myname           mygroup          98        Apr  8 01:12

 

"Order a similar paper and get 15% discount on your first order with us
Use the following coupon
"FIRST15"

Order Now