linux ls показывает секунды только для последних файлов

261
user1850133

Команда linux coreutils ls показывает использование меток времени с параметром "-l", включая часы и минуты для последних файлов, и показывает год вместо файлов старше шести месяцев и новее, чем сейчас. Я хотел бы сохранить это поведение в отношении старых и последних файлов и хотел бы добавить секунды, а также десятки секунд для последних файлов.

ls -l /tmp/dir/  total 0 -rw-r--r-- 1 user1 users 0 janv. 1 2004 foo1 <==== keep this style for  non-recent files  -rw-r--r-- 1 user1 users 0 juin 14 12:32 foo2 <==== add seconds for  recent files 
-3
Вы должны продемонстрировать * некоторые * исследовательские усилия, когда задаете вопросы. Потребовалось всего несколько секунд, чтобы увидеть на странице руководства, что для этого есть опция, которая более подробно описана по адресу https://www.gnu.org/software/coreutils/manual/html_node/Formatting-file-timestamps. HTML Anthony Geoghegan 7 лет назад 0
Я читал эту страницу раньше, но слишком быстро. Читая мой вопрос, это показывает, что я действительно провел некоторые исследования. Это не объясняется так просто на странице руководства. Теперь я вижу, что это символ новой строки во временном стиле, который позволяет указывать два стиля, соответствующие не недавним и недавним файлам. user1850133 7 лет назад 0
Я согласен, что справочную страницу не так просто понять. Ваш вопрос был бы в порядке, если бы вы указали или упомянули, с какими частями онлайн-документации у вас возникли трудности. Теперь, когда вы поняли это, было бы полезно ответить на ваш собственный вопрос, чтобы будущие пользователи могли извлечь из этого пользу. Anthony Geoghegan 7 лет назад 0
Это не вопрос понятности. Эта страница руководства написана недостаточно интуитивно. Я ожидал, что они сделают особый акцент на этом механизме в отношении недавних и недавних файлов, как они говорили об этом в начале. Поскольку я часто нахожу противоречивую документацию, я привык быстро пропустить чтение. user1850133 7 лет назад 0

1 ответ на вопрос

0
user1850133

Here are the lines from the info page of ls:

$ info coreutils 'ls invocation' ... If FORMAT contains two format strings separated by a newline, the former is used for non-recent files and the latter for recent files; if you want output columns to line up, you may need to insert spaces in one of the two formats. ... the following two `ls' invocations are equivalent: newline=' ' ls -l --time-style="+%b %e %Y$newline%b %e %H:%M" ls -l --time-style="locale" 

Похожие вопросы