When I first moved from miniComputers with proprietary operating systems to Unix systems I missed some of the tools with which I was familar. So I tried to replicate the tools for each Unix system I used.

 

ll.c

The first tool I missed a a directory listing tool which I have named ll (so as not to conflict with the Unix tool ld). This tool has anumber of options which may be used individually or combined with other options. ll displays the same information as the Unix ls command, but in a different format. The most significant format change is that names are sorted horizontally, rather than vertically.

   ll -help
   
   ll: filename(s) options
   
   Filename is a file or directory about which you are requesting information.
   
   Options are:
   
   -INODE   display the I-node information about this file.
   -MODE    display the mode of the file.
   -SIZE    display the size of the file in bytes.
   -DTA     display the last date-time accessed for this file.
   -DTM     display the last date-time modified for this file.
   -DTI     display the last date-time the I-node was changed.
   -USERID  or -ID    display the userid of the file owner.
   -GROUPID or -GID   display the groupid of the file.
   -DEVTYPE or -DTYPE display the type of device if this is a special file.
   -DETAIL  or -DET   display all of the above.
   -SINGLE_COLUMN or -SGLCOL display each file on a separate line.
   
   -FILES   display only regular files, no directories or hidden files.
   -DIRS    display only directories.
   -HIDDEN  display only hidden files.
   
   -ALL     display all file types.
			
strings.c

This file contains some of the string manipulation routines used by ll.c, strUpper, strLower, search for a string within a string, etc.

flags.h

ll.c uses some flags to make it easier to read and code to program. These flags the flags are used to store command line options in three integers; data flag, file type flag, and sorting flag.

Makefile

The Makefile for ll.c. Very simple.




This web page is Copyright © 2009 - 2020, Stephen Hinchey