Відповіді:
Ви можете використовувати:
ls -Rt
де -Rозначає рекурсивну (включають підкаталоги) і -tозначає "сортувати за останньою датою модифікації".
Щоб переглянути список файлів, відсортованих за зміною дати, скористайтеся:
ls -l -Rt
Для цього можна також створити псевдонім:
alias lt='ls -lht'
lt
Де -hдає більш читабельний вихід.
ls -lrt[RhA]. -rзмінює порядок сортування, залишивши недавно відредагований матеріал в нижній частині списку ...
-ilaподання майже всієї інформації, яка вам знадобиться. $ ls -ilaRt
ll -Rtбуло ідеальним рішенням для мене, оскільки мені потрібно було переглянути файли за останніми зміненими датами. Це може бути корисним для інших.
llне існує і не є командою. Це здебільшого псевдонім башма, але не визначений у більшості / деяких /? Linux дистрибутиви Деякі визначають це як alias ll='ls -l'у /etc/bash.bashrc або /etc/.bashrc. Таким чином, він може не працювати і він може не існувати в системі ОП. Використовуйте ls -l -Rtщонайменше, як lsце стандартна команда, як визначено позицією. Або вкажіть, що ви мали на увазі alias ll='ls -l'; ll -Rt.
Якщо вам потрібен головний список, в якому всі файли сортуються разом за датою модифікації, показуючи каталог, у якому вони перебувають, але не згруповані за каталогом , ви можете використовувати це:
find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
Результат виглядає приблизно так ls -l:
-rw-r - r-- 1 корінь кореня 3892 08.11.2009 11:03:36 /usr/share/man/man1/xmllint.1.gz -rw-r - r-- 1 корінь кореня 22946 13.08.2009 11:59:20 /usr/share/man/man1/curl.1.gz -rw-r - r-- 1 корінь кореня 728 17.08.2009 12:06:33 /usr/share/man/man1/thunderbird.1.gz -rw-r - r-- 1 корінь кореня 873 18.08.2009 10:52:47 /usr/share/man/man1/libgnutls-config.1.gz -rw-r - r-- 1 корінь кореня 2552 19.08.2009 02:00:34 /usr/share/man/man3/Purple.3pm.gz -rw-r - r-- 1 корінь кореня 9546 08.08.2009 02:02:00 /usr/share/man/man1/pidgin.1.gz -rw-r - r-- 1 корінь кореня 2201 19.08.2009 02:02:46 /usr/share/man/man3/Pidgin.3pm.gz -rw-r - r-- 1 корінь кореня 926 19.08.2009 02:03:05 /usr/share/man/man1/purple-remote.1.gz -rw-r - r-- 1 корінь кореня 18052 19.08.2009 04:11:47 /usr/share/man/man1/mono.1.gz -rw-r - r-- 1 корінь кореня 1845 19.08.2009 04:11:47 /usr/share/man/man5/mono-config.5.gz
Для тих, хто використовує Mac OS X, опція -printf недоступна в пошуку BSD (ви отримаєте цю помилку:) find: -printf: unknown primary or operator. На щастя, ви можете встановити GNU через Homebrew (має бути можливість також Fink та Macports ):
brew install findutils
Після його встановлення знахідка GNU повинна бути доступна вам як gfind. Отже, все, що вам потрібно зробити, це змінити рядок вище:
gfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
findяк автор, ці аргументи - -printfце директиви формату, які можна знайти man find(пошук п'ятого примірника printfна цій сторінці).
find . -type f -print0 | xargs -0 stat -f "%m %Sp %l %-8Su %-8Sg %8z %Sm %N" | sort | cut -f 2- -d' 'дасть вам приблизно такий же вихід на MacOS, використовуючи лише вбудовані утиліти
sort -rщоб змінити сортування та мати останні оновлені файли зверху.
MAC OSX 2019
Якщо вам не байдуже, у який час він був створений, але ви хочете, щоб ваш список був відсортований, використовуйте цю команду
==> ls -t
Якщо ви хочете замовити та переглянути дату та інформацію про користувача, використовуйте цю команду
===> ls -lt
Для zshкористувачів ви також можете використовувати глобальні класифікатори (також задокументовані на man zshexpn):
echo *(om)
Де oстоїть порядок сортування, вгору і mстоїть час останньої модифікації .
Це може бути корисно при використанні в циклі for або в іншій команді:
for file in *(^om); do
[ -e "$file" ] || continue
# do something with file orderer from least recently modified to last modified
done
Або прикутий до іншого глобального класифікатора:
last_modified_file=(*(om[1]))