Matthew Mittelstadt wrote:
> I noticed today some weird behavior with ls. After years and years of using
> UNIX-type systems, I have become pretty accustomed to 'ls -a' displaying all
> files beginning with a . first, and then "regular" files. today, I noticed
> that the files were being sorted alphabetically, and the . seemed to be
> getting ignored. 

You must now be using a locale with a sort ordering that ignores
punctuation and folds case such as en_US.UTF-8 or other such locale.
What you are describing is the dictionary sort ordering that those
locales select.  Personally I don't like it either but I was not
consulted.  I think they confused people working with data on a
computer with people writing text about it.

Set your locale to C or POSIX to get a standard locale and sort
ordering.

Personally I am using the following locale variables.

  export LANG=en_US.UTF-8
  export LC_COLLATE=C

This gives me UTF-8 support in most applications such as xterm but
still sorts using a normal sort ordering.  (Note that the proper
unicode fonts must also be installed for this to be useful.)

> I am using etch (testing), and the coreutils version reported by 'ls
> --version' is 5.2.1.

GNU Coreutils 5.2.1 is the Sarge version.  Version 5.97-5 is current
for Etch/Testing at this moment.

> there is no ls option I can find that modifies this
> behavior, nor can I find any documentation about it anywhere. two friends of
> mine are running sarge, one with ls 5.97, and one with ls 5.2.1. neither
> demonstrates this issue. 

The info page on ls in Sarge lists this information:

  info coreutils ls

     (1) If you use a non-POSIX locale (e.g., by setting `LC_ALL' to
  `en_US'), then `ls' may produce output that is sorted differently than
  you're accustomed to.  In that case, set the `LC_ALL' environment
  variable to `C'.

Bob


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to