ColumnLsDoc.tioga
Bloomenthal, October 15, 1985 5:33:00 pm PDT
CEDAR 6.0 — FOR INTERNAL XEROX USE ONLY
ColumnLs
Jules Bloomenthal
© Copyright 1985 Xerox Corporation. All rights reserved.
Abstract: ColumnLs (Ls) lists files and subdirectories of a given directory in column form.
Keywords: columnation, ls, list, filename, directory
XEROX  Xerox Corporation
   Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, California 94304

For Internal Xerox Use Only
Syntax
ls [switches] [filename(s)] [directory(s)]
ColumnLs [switches] [filename(s)] [directory(s)]
Overview
ls is registered in the ///Commands directory.
ls is intended to be like the Unix ls in terse mode. Therefore it provides no additional information, such as file size, creation date, or version number; the number of files in a directory is not printed. No recursive listing of subdirectories is performed. Multiple versions of the same file are listed only once. `/' is appended to a subdirectory name. As in the Unix ls program, output is columnated.
If no command line argument is specified, ls will list all files and subdirectories in the current directory.
If a filename is specified, ls will list that file (if it exists); if a filename pattern (ie., a string including one or more asterisks) is specified, ls will list all files matching the pattern; `/' may be included in the pattern as may be `.' (signifying the current directory) or `..' (signifying the parent directory).
If a directory is to be listed, `/' or `/*' must terminate the directory name.
If no files or directories are found, ls produces no output.
Switches
-d Causes ls to list only subdirectories. In this mode, `/' is not appended to the output
 subdirectory names.
-s If multiple directories are to be listed by a single ls command, these directories will be
 separated by the name of the subdirectory; `-s' suppresses this function.
-q Slightly quicker output with slightly ragged columnation.
Switches may be intermixed with command line arguments.
Examples
% ls
% ls -d
% ls ../ ../*/ -d
% ls *Impl.mesa *Doc.tioga
% ls ///users/*/*/foo.*
Bugs
``% ls */foobar'' should print ``<somedirectory>/foobar'' but instead prints ``foobar.'' ``% ls *foobar'' will print ``<somedirectory>/foobar.''
File name enumeration with respect to a given directory is slow in Cedar, thus ls may be very slow for large directories (but no slower than list).