/*
Program:To write a C program to simulate the unix ls -l command.
*/
#include
#include
#include
#include
#include
main(int argc,char *v[])
{
DIR *dp;
struct dirent *p;
struct stat buf;
if(argc!=2)
{
printf("\n Insufficient args:");
return;
}
dp=opendir(".");
if(dp==NULL)
{
printf("Directory opening problem");
return;
}
while((p=readdir(dp))!=NULL)
{
if(stat(p->d_name(&buf))<0 br=""> {
printf("\nStat error");
exit(0);
}
if(S_ISREG(buf.st_mode))
printf("_");
if(S_ISDIR(buf.st_mode))
printf("d");
if(S_ISCHR(buf.st_mode))
printf("c");
if(S_ISBLK(buf.st_mode))
printf("b");
if(S_ISFIFO(buf.st_mode))
printf("p");
if(S_ISLNK(buf.st_mode))
printf("l");
if(S_ISSOCK(buf.st_mode))
printf("s");
if(S_IRUSR & buf.st_mode)
printf("r");
else
printf("-");
if(S_IWUSR & buf.st_mode)
printf("w");
else
printf("-");
if(S_IXUSR & buf.st_mode)
printf("x");
else
printf("-");
if(S_IRGRP & buf.st_mode)
printf("x");
else
printf("-");
if(S_IWGRP & buf.st_mode)
printf("w");
else
printf("-");
if(S_IXGRP & buf.st_mode)
printf("x");
else
printf("-");
if(S_IROTH & buf.st_mode)
printf("r");
else
printf("-");
if(S_IWOTH & buf.st_mode)
printf("w");
else
printf("-");
if(S_IXOTH & buf.st_mode)
printf("x");
else
printf("-");
printf("%d",buf.st_nlink);
printf("%d",buf.st_uid);
printf("%d",buf.st_gid);
printf("%d",buf.st_size);
printf("%ld",buf.st_ctime);
printf("%s\n",p->d_name);
}
}
/*-------------------------------INPUT/OUTPUT---------------------------
-bash-3.2$ cc mylsll.c -o mylsll
-bash-3.2$ ./mylsll
total 640
-rw-r--r-- 1 09121f0078 09121f0001 3 Sep 27 15:57 3q
-rwxr-xr-x 1 09121f0078 09121f0001 7331 Dec 7 16:15 a.out
-rw-r--r-- 1 09121f0078 09121f0001 285 Sep 27 14:19 arth.sh
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 1 15:37 c
-rw-r--r-- 1 09121f0078 09121f0001 88 Sep 27 15:57 char
-rwxr-xr-x 1 09121f0078 09121f0001 7479 Nov 27 08:45 copy
-rw-r--r-- 1 09121f0078 09121f0001 385 Nov 27 08:50 copy.c
-rw-r--r-- 1 09121f0078 09121f0001 309 Dec 7 16:28 countawk.sh
-rw-r--r-- 1 09121f0078 09121f0001 209 Dec 7 15:46 count.sh
----r-x--T 1 09121f0078 09121f0001 27 Nov 27 15:39 cp.c
-rwxr-xr-x 1 09121f0078 09121f0001 192 Nov 1 15:06 delete.sh
-rw-r--r-- 1 09121f0078 09121f0001 231 Oct 11 16:41 directory.sh
-rw-r--r-- 1 09121f0078 09121f0001 231 Nov 1 16:04 display.sh
-rw-r--r-- 1 09121f0078 09121f0001 43 Dec 6 15:44 ex1.sh
-rw-r--r-- 1 09121f0078 09121f0001 14 Nov 1 16:30 ex1.txt
-rw-r--r-- 1 09121f0078 09121f0001 23 Nov 1 16:31 ex2.txt
-rw-r--r-- 1 09121f0078 09121f0001 63 Oct 11 14:34 example1.txt
-rw-r--r-- 1 09121f0078 09121f0001 57 Oct 11 14:29 example.txt
-rw-r--r-- 1 09121f0078 09121f0001 25 Dec 6 15:16 ex.sh
-rw-r--r-- 1 09121f0078 09121f0001 40 Dec 7 16:31 f1.c
--wxr-x--T 1 09121f0078 09121f0001 27 Nov 27 15:35 f3.c
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 27 16:07 f4.c
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 27 16:07 f5.c
-rw-r--r-- 1 09121f0078 09121f0001 146 Dec 7 16:36 factorial.ch
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 27 15:53 factorial.sh
-rw-r--r-- 1 09121f0078 09121f0001 24 Dec 6 16:13 ff
-rw-r--r-- 1 09121f0078 09121f0001 323 Dec 7 15:06 fib.sh
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 27 16:19 file1.c
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 27 16:19 file2.c
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 27 16:19 file3.c
-rw-r--r-- 1 09121f0078 09121f0001 27 Dec 7 15:05 helloworld.c
-rwxr-xr-x 1 09121f0078 09121f0001 7368 Dec 6 16:32 inode
-rw-r--r-- 1 09121f0078 09121f0001 391 Dec 7 15:34 inode.c
-rw-r--r-- 1 09121f0078 09121f0001 391 Dec 6 14:58 inodes.c
-rw-r--r-- 1 09121f0078 09121f0001 292 Dec 7 15:20 line.sh
drwxr-xr-x 2 09121f0078 09121f0001 4096 Nov 1 16:23 linux
-rw-r--r-- 1 09121f0078 09121f0001 211 Nov 1 16:26 listdir.sh
-rw-r--r-- 1 09121f0078 09121f0001 0 Dec 9 08:25 lsll.c
drwxr-xr-x 2 09121f0078 09121f0001 4096 Nov 27 16:22 lunix
-rw-r--r-- 1 09121f0078 09121f0001 3 Sep 27 15:58 man
-rw-r--r-- 1 09121f0078 09121f0001 3 Sep 27 15:59 man.sh
-rw-r--r-- 1 09121f0078 09121f0001 78 Nov 1 15:10 mansoor.txt
-rw-r--r-- 1 09121f0078 09121f0001 4466 Dec 7 15:26 middle.sh
-rwxr-xr-x 1 09121f0078 09121f0001 7580 Nov 25 10:40 mycat
-rwxr-xr-x 1 09121f0078 09121f0001 7300 Nov 27 08:25 mycat1
-rw-r--r-- 1 09121f0078 09121f0001 300 Dec 7 15:27 mycat1.c
-rw-r--r-- 1 09121f0078 09121f0001 327 Nov 27 08:24 mycat.c
-rwxr-xr-x 1 09121f0078 09121f0001 7408 Nov 27 15:39 mycp
-rw-r--r-- 1 09121f0078 09121f0001 471 Nov 27 15:42 mycp.c
-rwxr-xr-x 1 09121f0078 09121f0001 7176 Dec 6 15:29 myls
-rw-r--r-- 1 09121f0078 09121f0001 287 Dec 6 15:29 myls.c
-rw-r--r-- 1 09121f0078 09121f0001 2699 Dec 7 15:01 mylsl.c
-rw-r--r-- 1 09121f0078 09121f0001 1678 Dec 9 08:28 mylsll.c
-rwxr-xr-x 1 09121f0078 09121f0001 7680 Nov 27 15:52 mymv
-rw-r--r-- 1 09121f0078 09121f0001 483 Dec 6 16:22 mymv.c
-rwxr-xr-x 1 09121f0078 09121f0001 8045 Dec 7 14:06 mypipe
-rw-r--r-- 1 09121f0078 09121f0001 748 Dec 7 16:24 mypipe.c
-rwxrwxrwx 1 09121f0078 09121f0001 86 Sep 27 14:44 number.sh
-rw-r--r-- 1 09121f0078 09121f0001 348 Dec 7 16:15 orphan.c
-rw-r--r-- 1 09121f0078 09121f0001 239 Nov 25 08:49 pc.c
-rwxrwxrwx 1 09121f0078 09121f0001 513 Dec 7 14:58 permission.sh
-rw-r--r-- 1 09121f0078 09121f0001 0 Sep 27 16:18 range.af
-rwxr-xr-x 1 09121f0078 09121f0001 148 Oct 11 14:26 range.sh
-rw-r--r-- 1 09121f0078 09121f0001 0 Dec 7 16:11 receiver.c
-rwxr-xr-x 1 09121f0078 09121f0001 7187 Dec 6 16:28 reciever
-rw-r--r-- 1 09121f0078 09121f0001 301 Dec 7 16:14 reciever.c
-rwxr-xr-x 1 09121f0078 09121f0001 7555 Dec 6 16:21 redirect1
-rw-r--r-- 1 09121f0078 09121f0001 387 Dec 7 15:58 redirect1.c
-rw-r--r-- 1 09121f0078 09121f0001 585 Dec 7 16:30 redirect.c
-rw-r--r-- 1 09121f0078 09121f0001 155 Sep 27 14:19 sample.sh
-rwxr-xr-x 1 09121f0078 09121f0001 20 Sep 27 14:19 sam.sh
-rwxr-xr-x 1 09121f0078 09121f0001 7681 Dec 6 16:28 sender
-rw-r--r-- 1 09121f0078 09121f0001 433 Dec 7 16:38 sender.c
-rw-r--r-- 1 09121f0078 09121f0001 25 Dec 6 16:43 sor
-rwxrwxrwx 1 09121f0078 09121f0001 569 Oct 11 13:57 switch.sh
drwxr-xr-x 2 09121f0078 09121f0001 4096 Nov 27 16:07 unix
-rw-r--r-- 1 09121f0078 09121f0001 154 Dec 7 15:22 vowelawk.sh
-rw-r--r-- 1 09121f0078 09121f0001 0 Sep 15 15:53 witch.h
-rw-r--r-- 1 09121f0078 09121f0001 349 Nov 25 08:27 zombie.c
-------------------------------------------------------------------*/
0>
Program:To write a C program to simulate the unix ls -l command.
*/
#include
#include
#include
#include
#include
main(int argc,char *v[])
{
DIR *dp;
struct dirent *p;
struct stat buf;
if(argc!=2)
{
printf("\n Insufficient args:");
return;
}
dp=opendir(".");
if(dp==NULL)
{
printf("Directory opening problem");
return;
}
while((p=readdir(dp))!=NULL)
{
if(stat(p->d_name(&buf))<0 br=""> {
printf("\nStat error");
exit(0);
}
if(S_ISREG(buf.st_mode))
printf("_");
if(S_ISDIR(buf.st_mode))
printf("d");
if(S_ISCHR(buf.st_mode))
printf("c");
if(S_ISBLK(buf.st_mode))
printf("b");
if(S_ISFIFO(buf.st_mode))
printf("p");
if(S_ISLNK(buf.st_mode))
printf("l");
if(S_ISSOCK(buf.st_mode))
printf("s");
if(S_IRUSR & buf.st_mode)
printf("r");
else
printf("-");
if(S_IWUSR & buf.st_mode)
printf("w");
else
printf("-");
if(S_IXUSR & buf.st_mode)
printf("x");
else
printf("-");
if(S_IRGRP & buf.st_mode)
printf("x");
else
printf("-");
if(S_IWGRP & buf.st_mode)
printf("w");
else
printf("-");
if(S_IXGRP & buf.st_mode)
printf("x");
else
printf("-");
if(S_IROTH & buf.st_mode)
printf("r");
else
printf("-");
if(S_IWOTH & buf.st_mode)
printf("w");
else
printf("-");
if(S_IXOTH & buf.st_mode)
printf("x");
else
printf("-");
printf("%d",buf.st_nlink);
printf("%d",buf.st_uid);
printf("%d",buf.st_gid);
printf("%d",buf.st_size);
printf("%ld",buf.st_ctime);
printf("%s\n",p->d_name);
}
}
/*-------------------------------INPUT/OUTPUT---------------------------
-bash-3.2$ cc mylsll.c -o mylsll
-bash-3.2$ ./mylsll
total 640
-rw-r--r-- 1 09121f0078 09121f0001 3 Sep 27 15:57 3q
-rwxr-xr-x 1 09121f0078 09121f0001 7331 Dec 7 16:15 a.out
-rw-r--r-- 1 09121f0078 09121f0001 285 Sep 27 14:19 arth.sh
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 1 15:37 c
-rw-r--r-- 1 09121f0078 09121f0001 88 Sep 27 15:57 char
-rwxr-xr-x 1 09121f0078 09121f0001 7479 Nov 27 08:45 copy
-rw-r--r-- 1 09121f0078 09121f0001 385 Nov 27 08:50 copy.c
-rw-r--r-- 1 09121f0078 09121f0001 309 Dec 7 16:28 countawk.sh
-rw-r--r-- 1 09121f0078 09121f0001 209 Dec 7 15:46 count.sh
----r-x--T 1 09121f0078 09121f0001 27 Nov 27 15:39 cp.c
-rwxr-xr-x 1 09121f0078 09121f0001 192 Nov 1 15:06 delete.sh
-rw-r--r-- 1 09121f0078 09121f0001 231 Oct 11 16:41 directory.sh
-rw-r--r-- 1 09121f0078 09121f0001 231 Nov 1 16:04 display.sh
-rw-r--r-- 1 09121f0078 09121f0001 43 Dec 6 15:44 ex1.sh
-rw-r--r-- 1 09121f0078 09121f0001 14 Nov 1 16:30 ex1.txt
-rw-r--r-- 1 09121f0078 09121f0001 23 Nov 1 16:31 ex2.txt
-rw-r--r-- 1 09121f0078 09121f0001 63 Oct 11 14:34 example1.txt
-rw-r--r-- 1 09121f0078 09121f0001 57 Oct 11 14:29 example.txt
-rw-r--r-- 1 09121f0078 09121f0001 25 Dec 6 15:16 ex.sh
-rw-r--r-- 1 09121f0078 09121f0001 40 Dec 7 16:31 f1.c
--wxr-x--T 1 09121f0078 09121f0001 27 Nov 27 15:35 f3.c
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 27 16:07 f4.c
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 27 16:07 f5.c
-rw-r--r-- 1 09121f0078 09121f0001 146 Dec 7 16:36 factorial.ch
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 27 15:53 factorial.sh
-rw-r--r-- 1 09121f0078 09121f0001 24 Dec 6 16:13 ff
-rw-r--r-- 1 09121f0078 09121f0001 323 Dec 7 15:06 fib.sh
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 27 16:19 file1.c
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 27 16:19 file2.c
-rw-r--r-- 1 09121f0078 09121f0001 0 Nov 27 16:19 file3.c
-rw-r--r-- 1 09121f0078 09121f0001 27 Dec 7 15:05 helloworld.c
-rwxr-xr-x 1 09121f0078 09121f0001 7368 Dec 6 16:32 inode
-rw-r--r-- 1 09121f0078 09121f0001 391 Dec 7 15:34 inode.c
-rw-r--r-- 1 09121f0078 09121f0001 391 Dec 6 14:58 inodes.c
-rw-r--r-- 1 09121f0078 09121f0001 292 Dec 7 15:20 line.sh
drwxr-xr-x 2 09121f0078 09121f0001 4096 Nov 1 16:23 linux
-rw-r--r-- 1 09121f0078 09121f0001 211 Nov 1 16:26 listdir.sh
-rw-r--r-- 1 09121f0078 09121f0001 0 Dec 9 08:25 lsll.c
drwxr-xr-x 2 09121f0078 09121f0001 4096 Nov 27 16:22 lunix
-rw-r--r-- 1 09121f0078 09121f0001 3 Sep 27 15:58 man
-rw-r--r-- 1 09121f0078 09121f0001 3 Sep 27 15:59 man.sh
-rw-r--r-- 1 09121f0078 09121f0001 78 Nov 1 15:10 mansoor.txt
-rw-r--r-- 1 09121f0078 09121f0001 4466 Dec 7 15:26 middle.sh
-rwxr-xr-x 1 09121f0078 09121f0001 7580 Nov 25 10:40 mycat
-rwxr-xr-x 1 09121f0078 09121f0001 7300 Nov 27 08:25 mycat1
-rw-r--r-- 1 09121f0078 09121f0001 300 Dec 7 15:27 mycat1.c
-rw-r--r-- 1 09121f0078 09121f0001 327 Nov 27 08:24 mycat.c
-rwxr-xr-x 1 09121f0078 09121f0001 7408 Nov 27 15:39 mycp
-rw-r--r-- 1 09121f0078 09121f0001 471 Nov 27 15:42 mycp.c
-rwxr-xr-x 1 09121f0078 09121f0001 7176 Dec 6 15:29 myls
-rw-r--r-- 1 09121f0078 09121f0001 287 Dec 6 15:29 myls.c
-rw-r--r-- 1 09121f0078 09121f0001 2699 Dec 7 15:01 mylsl.c
-rw-r--r-- 1 09121f0078 09121f0001 1678 Dec 9 08:28 mylsll.c
-rwxr-xr-x 1 09121f0078 09121f0001 7680 Nov 27 15:52 mymv
-rw-r--r-- 1 09121f0078 09121f0001 483 Dec 6 16:22 mymv.c
-rwxr-xr-x 1 09121f0078 09121f0001 8045 Dec 7 14:06 mypipe
-rw-r--r-- 1 09121f0078 09121f0001 748 Dec 7 16:24 mypipe.c
-rwxrwxrwx 1 09121f0078 09121f0001 86 Sep 27 14:44 number.sh
-rw-r--r-- 1 09121f0078 09121f0001 348 Dec 7 16:15 orphan.c
-rw-r--r-- 1 09121f0078 09121f0001 239 Nov 25 08:49 pc.c
-rwxrwxrwx 1 09121f0078 09121f0001 513 Dec 7 14:58 permission.sh
-rw-r--r-- 1 09121f0078 09121f0001 0 Sep 27 16:18 range.af
-rwxr-xr-x 1 09121f0078 09121f0001 148 Oct 11 14:26 range.sh
-rw-r--r-- 1 09121f0078 09121f0001 0 Dec 7 16:11 receiver.c
-rwxr-xr-x 1 09121f0078 09121f0001 7187 Dec 6 16:28 reciever
-rw-r--r-- 1 09121f0078 09121f0001 301 Dec 7 16:14 reciever.c
-rwxr-xr-x 1 09121f0078 09121f0001 7555 Dec 6 16:21 redirect1
-rw-r--r-- 1 09121f0078 09121f0001 387 Dec 7 15:58 redirect1.c
-rw-r--r-- 1 09121f0078 09121f0001 585 Dec 7 16:30 redirect.c
-rw-r--r-- 1 09121f0078 09121f0001 155 Sep 27 14:19 sample.sh
-rwxr-xr-x 1 09121f0078 09121f0001 20 Sep 27 14:19 sam.sh
-rwxr-xr-x 1 09121f0078 09121f0001 7681 Dec 6 16:28 sender
-rw-r--r-- 1 09121f0078 09121f0001 433 Dec 7 16:38 sender.c
-rw-r--r-- 1 09121f0078 09121f0001 25 Dec 6 16:43 sor
-rwxrwxrwx 1 09121f0078 09121f0001 569 Oct 11 13:57 switch.sh
drwxr-xr-x 2 09121f0078 09121f0001 4096 Nov 27 16:07 unix
-rw-r--r-- 1 09121f0078 09121f0001 154 Dec 7 15:22 vowelawk.sh
-rw-r--r-- 1 09121f0078 09121f0001 0 Sep 15 15:53 witch.h
-rw-r--r-- 1 09121f0078 09121f0001 349 Nov 25 08:27 zombie.c
-------------------------------------------------------------------*/
0>
No comments:
Post a Comment