В этой статье мы объясним два простых совета по работе в командной строке, которые позволят вам вывести список всех файлов сегодня.
Одной из распространенных проблем, с которой сталкиваются пользователи Linux в командной строке, является поиск файлов с определенным именем, что может быть намного проще, когда вы знаете имя файла.
Однако, предположим, что вы забыли имя файла, который создали (в вашей папке home
, содержащей сотни файлов) ранее в течение дня, и вам срочно нужно его использовать.
Ниже приведены различные способы только вывода списка всех файлов, которые вы создали или изменили (непосредственно или косвенно) сегодня.
1. Используя команду ls, вы можете вывести список файлов за сегодня в вашей домашней папке следующим образом, где:
-a
– выводит все файлы, включая скрытые файлы-l
– включает формат длинного списка--time-style=FORMAT
– показывает время в указанном ФОРМАТЕ+%D
– показывает/использует дату в формате %m/%d/%y
# ls -al --time-style=+%D | grep 'date +%D'

Кроме того, вы можете отсортировать результирующий список в алфавитном порядке, включив флаг -X
:
# ls -alX --time-style=+%D | grep 'date +%D'
Также можно отсортировать список по размеру (сначала самые большие) с помощью флага -S
:
# ls -alS --time-style=+%D | grep 'date +%D'
2. Кроме того, можно использовать команду find, которая практически более гибкая и предлагает множество опций по сравнению с ls, для тех же целей, как ниже.
- Флаг
-maxdepth
используется для указания уровня (в терминах подкаталогов) ниже начальной точки (текущий каталог в данном случае), на котором будет выполняться операция поиска. -newerXY
, это работает, если временная метка X файла вопроса новее, чем временная метка Y файла-ссылки. X и Y представляют любую из букв ниже:- a – время доступа к файлу-ссылке
- B – время создания файла-ссылки
- c – время изменения статуса inode файл-ссылки
- m – время модификации файла-ссылки
- t – ссылка интерпретируется непосредственно как время
Это означает, что будут рассмотрены только файлы, измененные 06.12.2016:
# find . -maxdepth 1 -newermt "2016-12-06"

Важно: Используйте правильный формат даты в качестве ссылки в команде find выше; если вы используете неправильный формат, вы получите ошибку, подобную приведенной ниже:
# find . -maxdepth 1 -newermt "12-06-2016" find: I cannot figure out how to interpret '12-06-2016' as a date or time
В качестве альтернативы используйте следующие правильные форматы:
# find . -maxdepth 1 -newermt "12/06/2016" OR # find . -maxdepth 1 -newermt "12/06/16"

Вы можете получить дополнительную информацию об использовании команд ls
и find
в нашей следующей серии статей по этой теме.
- Освойте команду “ls” Linux с помощью этих 15 примеров
- Полезные 7 забавных трюков “ls” для пользователей Linux
- Освойте команду “find” Linux с помощью этих 35 примеров
- Способы поиска нескольких имен файлов с расширениями в Linux
В этой статье мы объяснили два важных совета о том, как отображать только сегодняшние файлы с помощью команд ls и find. Используйте форму обратной связи ниже, чтобы отправить нам вопрос(ы) или комментарии по этой теме. Также вы можете сообщить нам о любых используемых для этой цели командах.
Source:
https://www.tecmint.com/find-recent-modified-files-in-linux/