ls -l date format ?

Questions about applications and software
Forum rules
Before you post please read this

ls -l date format ?

Postby mark1mint on Tue Aug 20, 2013 9:26 am

I've seen that by default ls -l in Mint 13 lists the date field in this format
Code: Select all
Jul 16 18:20
which I find very convenient when using sort,therefore I'd like to replicate this setting in some other distros that I also use,only I haven't managed to understand where to look:in /etc/bash.bashrc I can't see anything regarding time or format,neither anything apparently related using printenv.

This has to be somewhere,or it is just the default behavior of ls in Ubuntu12/Mint13 ?
mark1mint
Level 3
Level 3
 
Posts: 139
Joined: Tue May 22, 2012 4:36 pm

Linux Mint is funded by ads and donations.
 

Re: ls -l date format ?

Postby xenopeek on Tue Aug 20, 2013 11:09 am

From the manpage of ls:
Code: Select all
       --time-style=STYLE
              with  -l, show times using style STYLE: full-iso, long-iso, iso,
              locale, +FORMAT.  FORMAT is interpreted like `date';  if  FORMAT
              is  FORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files
              and FORMAT2 to recent files; if STYLE is prefixed with `posix-',
              STYLE takes effect only outside the POSIX locale

Doing a `ls -l --time-style=locale` gives me the default format, the one you desire (but it gives me that also without the --time-style=locale). The clue here being that the time style is taken from your locale. So if you have a different locale on another distro, it may display this differently. With the --time-style=+FORMAT, with FORMAT replaced by a format string as described in the date manpage, you can fully configure the time format. But I guess you have different locales. You can check your locale with the command `locale`.

Aside from /etc/bash.bashrc, also /etc/profile, /etc/profile.d and ~/.profile don't have any aliases for ls. Perhaps you added some? You can dump all your aliases with the command `alias`. Perhaps check that also on your other distro.
User avatar
xenopeek
Level 21
Level 21
 
Posts: 14666
Joined: Wed Jul 06, 2011 3:58 am
Location: The Netherlands

Re: ls -l date format ?

Postby mark1mint on Wed Aug 21, 2013 8:14 am

Thank you very much,it could actually be a matter of different locale:I've now checked on Ubuntu 10.04,and there is this difference

Code: Select all
ubuntu                                                 mint
LANG=en_US.UTF-8                             LANG=en_US.UTF-8
LANGUAGE=en_US:en                            LANGUAGE=


maybe this is the reason why ls-l has a different time format ?

As for the aliases,I haven't any custom ones in Mint 13 neither Ubuntu,the latter has some more default aliases but none are related to ls - l time format.

Assuming that the slight difference above could be responsible for the different format,I wouldn't change the locale,I'd rather set a custom alias for the specific time format that I'm after:should I put it in /etc/bash.bashrc ?
mark1mint
Level 3
Level 3
 
Posts: 139
Joined: Tue May 22, 2012 4:36 pm

Re: ls -l date format ?

Postby xenopeek on Wed Aug 21, 2013 8:42 am

I'm not sure that will make much a difference. Isn't the issue here that you are using a very old Ubuntu release, and probably just using a much different version of ls? Check version with:
Code: Select all
ls --version

From tests I have done the LANGUAGE set or unset doesn't make a difference. You can set the LANGUAGE temporarily with:
Code: Select all
export LANGUAGE=en_US:en

or unset it temporarily:
Code: Select all
unset LANGUAGE

Then run the locale command to confirm the change, and try your ls -l to see if it makes a difference. I doubt it. Close your terminal and open a new terminal, and the settings will be reset to their original values.

To change the setting of LANGUAGE permanently, I don't know for sure how to do that on such an old Ubuntu release. These days you would set it in /etc/default/locale.
User avatar
xenopeek
Level 21
Level 21
 
Posts: 14666
Joined: Wed Jul 06, 2011 3:58 am
Location: The Netherlands

Re: ls -l date format ?

Postby mark1mint on Thu Aug 22, 2013 8:50 am

Yes,as you pointed out the ls version included in Ubuntu 10.04 is way older than the one in Mint 13 (kinda unsurprisingly,given that this is based on Ubuntu 12.04)-and also,as you suggested,the LANGUAGE=en_US:en variable doesn't do any difference,either when using export and then doing ls -l or using
Code: Select all
 env LANGUAGE=en_US:en ls-l

If I really want to use that time format for ls -l,looks like I'll just have to set an alias,probably in .profile or .bashrc I guess.
Thanks for your help,BTW.
mark1mint
Level 3
Level 3
 
Posts: 139
Joined: Tue May 22, 2012 4:36 pm

Re: ls -l date format ?

Postby xenopeek on Thu Aug 22, 2013 9:44 am

No problem. You can either set an alias in /etc/bash.bashrc to have it apply to all users, or indeed in your home folder in .bashrc to only apply it to you.
User avatar
xenopeek
Level 21
Level 21
 
Posts: 14666
Joined: Wed Jul 06, 2011 3:58 am
Location: The Netherlands


Return to Software & Applications

Who is online

Users browsing this forum: No registered users and 21 guests