Вывод команды ls (Не ясный вывод команды ls)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

dio
Сообщения: 102
ОС: Ubuntu

Вывод команды ls

Сообщение dio »

Добрый день. Заметил некоторую странность при выводе ls -l. В отдельных строках она пишет месяц, дату и время, а в других месяц, дату и год(как в первой строке). Кто сталкивался с подобным? :)

Код: Выделить всё

-rw-rw-r-- 1 alex alex  247 окт  8  2023 6_01.S
-rw-rw-r-- 1 alex alex  307 ноя 14 13:44 alert_number.s
-rw-rw-r-- 1 alex alex 2077 ноя 14 13:45 binsearch.s
-rw-rw-r-- 1 alex alex 3318 ноя 18 10:27 collatz02.s
-rw-rw-r-- 1 alex alex 3080 ноя 18 10:21 collatz03.s
-rw-rw-r-- 1 alex alex  992 ноя 18 10:23 collatz.s
Software is like sex: It's better when it's free.
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2427
ОС: gentoo fluxbox

Re: Вывод команды ls

Сообщение yoricI »

Это не только ls, а все coreutils, и даже в логах такое. Я не разбирался детально, но на первый взгляд кажется, что это зависит от давности. Например, до полугода пишет подробно, а дальше менее.
Спасибо сказали:
dio
Сообщения: 102
ОС: Ubuntu

Re: Вывод команды ls

Сообщение dio »

Спасибо за подсказку, но хотелось бы по точнее. Раньше к примеру(лет так 15 назад) я не замечал такого. С какого момента и почему началось такое?
Software is like sex: It's better when it's free.
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 941
ОС: BSD/LINUX

Re: Вывод команды ls

Сообщение bars »

хмм, логично предположить что на свежие файлы не нужно отображать год, то-есть файлы этого года.
Все что старше года ( месяц, дата, год).
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5300
ОС: Gentoo

Re: Вывод команды ls

Сообщение /dev/random »

dio писал:
01.05.2024 08:33
Раньше к примеру(лет так 15 назад) я не замечал такого.
Это просто вы не замечали. Такое поведение требуется стандартом. Для старых файлов показывается год, но если файл достаточно новый, чтобы год был очевиден (6 месяцев или менее), вместо него показывается время.
dio писал:
01.05.2024 08:33
С какого момента и почему началось такое?
История коммитов в репозитории coreutils хранится начиная с 1992 года, и в первом коммите вывод даты уже именно такой.
Спасибо сказали:
dio
Сообщения: 102
ОС: Ubuntu

Re: Вывод команды ls

Сообщение dio »

Ок, учту.
Последний раз редактировалось dio 01.05.2024 10:12, всего редактировалось 1 раз.
Software is like sex: It's better when it's free.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5300
ОС: Gentoo

Re: Вывод команды ls

Сообщение /dev/random »

dio писал:
01.05.2024 10:08
Но погодите, у меня в выводе все файлы прошлого года(2023), а не текущего(ноябрь еще не наступил), но год указывается только для одного из них...это противоречит вашей логике
Повторяю: возраст 6 месяцев или менее. Ноябрь начался как раз 6 месяцев назад.
Добавлено (10:12):
dio писал:
01.05.2024 10:08
причем для самого "молодого", а не "старого"
Как раз для самого старого. Октябрь был до ноября, и октябрьский файл старше ноябрьского.
Спасибо сказали:
dio
Сообщения: 102
ОС: Ubuntu

Re: Вывод команды ls

Сообщение dio »

Да..уже врубился, и поблагодарил, спасибо. Просто странно...для всех файлов год прошлый, почему его не указать, ведь не текущий же...
Добавлено (10:18):
/dev/random писал:
01.05.2024 09:18
Такое поведение требуется стандартом. Для старых файлов показывается год, но если файл достаточно новый, чтобы год был очевиден (6 месяцев или менее), вместо него показывается время.
И все же(спасибо уже сказал), где вы это прочитали, - я о стандарте и про 6 месяцев, не кинете ссылочку?
Software is like sex: It's better when it's free.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5300
ОС: Gentoo

Re: Вывод команды ls

Сообщение /dev/random »

dio писал:
01.05.2024 10:13
И все же(спасибо уже сказал), где вы это прочитали, - я о стандарте и про 6 месяцев, не кинете ссылочку?
man 1p ls:
The <date and time> field shall contain the appropriate date and timestamp of when the file was last modified. In the POSIX locale, the field shall be the equivalent of the output of the following date command:

date "+%b %e %H:%M"

if the file has been modified in the last six months, or:

date "+%b %e %Y"

(where two <space> characters are used between %e and %Y) if the file has not been modified in the last six months or if the modification date is in the future, except that, in both cases, the final <newline> produced by date shall not be included and the output shall be as if the date command were executed at the time of the last modification date of the file rather than the current time. When the LC_TIME locale category is not set to the POSIX locale, a different format and order of presentation of this field may be used.
Спасибо сказали:
dio
Сообщения: 102
ОС: Ubuntu

Re: Вывод команды ls

Сообщение dio »

спасибо
Software is like sex: It's better when it's free.
Спасибо сказали: