5 простых способов удалить 3 последних файла в Linux

Что касается управления файлами в Linux, существует несколько способов эффективного выполнения задач. В этой статье мы рассмотрим пять простых способов удаления последних трех файлов из каталога. Независимо от того, являетесь ли вы новичком в Linux или опытным пользователем, эти методы помогут вам легко очистить файловую систему.

Метод 1: использование команд ls и rm
Команда ls отображает файлы в каталоге, отсортированные по времени, а команда rm удаляет файлы. Чтобы удалить последние три файла, откройте терминал и выполните следующие команды:

ls -t | head -3 | xargs rm

Объяснение:

  • Команда ls -t выводит список файлов в каталоге по времени их изменения, при этом самые последние файлы отображаются первыми.
  • Команда head -3 выбирает первые три файла из списка.
  • Наконец, команда xargs rm удаляет выбранные файлы.

Метод 2: использование команды find
Команда find — мощный инструмент для поиска файлов по различным критериям. Чтобы удалить последние три файла в каталоге, используйте следующую команду:

find . -maxdepth 1 -type f -printf '%T@ %p\n' | sort -n | tail -3 | cut -d ' ' -f 2- | xargs rm

Объяснение:

  • Находка. команда ищет файлы в текущем каталоге.
  • Опция -maxглубина 1 гарантирует, что учитываются только файлы в текущем каталоге.
  • Опция -type f указывает, что следует выбирать только обычные файлы.
  • Опция -printf ‘%T@ %p\n’ печатает время изменения и имя файла для каждого файла.
  • Команда sort -n сортирует файлы по времени их изменения.
  • Команда Tail -3 выбирает последние три файла из отсортированного списка.
  • Команда Cut -d ‘ ‘ -f 2- удаляет время изменения из выходных данных.
  • Наконец, команда xargs rm удаляет выбранные файлы.

Метод 3: использование команд ls, awk и rm
Другой подход — объединить команды ls, awk и rm для достижения желаемого результата. Выполните в терминале следующую команду:

ls -lt | awk 'NR>1{print $NF}' | head -3 | xargs rm

Объяснение:

  • Команда ls -lt выводит список файлов в текущем каталоге по времени их изменения, при этом самые последние файлы отображаются первыми.
  • Команда awk ‘NR>1{print $NF}’ извлекает из выходных данных команды ls только имена файлов, исключая заголовок.
  • Команда head -3 выбирает первые три файла из списка.
  • Наконец, команда xargs rm удаляет выбранные файлы.

Метод 4: использование функции подстановки
В Linux оболочка поддерживает шаблоны подстановки для сопоставления файлов. Чтобы удалить последние три файла, используйте следующую команду:

rm -v $(ls -t | head -3)

Объяснение:

  • Команда ls -t выводит список файлов в текущем каталоге по времени их изменения, при этом самые последние файлы отображаются первыми.
  • Команда head -3 выбирает первые три файла из списка.
  • Синтаксис $(…) фиксирует выходные данные команды и передает их в качестве аргументов команде rm.
  • Опция -v в команде rm отображает имена удаленных файлов.

Метод 5: использование команд popd и rm
Если вы хотите удалить последние три файла в каталоге, к которому последний раз обращались, вы можете использовать команду popd в сочетании с rm. Выполните следующие действия:

  1. Перейдите в нужный каталог с помощью компакт-диска.
  2. Выполните следующие команды:
    popd -n +2 >/dev/null
    rm -v $(ls -t | head -3)

    Объяснение:

    • Команда popd -n +2 удаляет предпоследний каталог из стека каталогов, фактически заменяя текущий каталог на предыдущий.
    • Фрагмент >/dev/null отбрасывает любой вывод команды popd.
    • Команда rm -v $(ls -t | head -3) удаляет последние три файла в предыдущем каталоге, следуя той же логике, что и в методе 4.

Удалить последние три файла в Linux можно различными способами, от простых однострочных команд до более сложных команд. В этой статье мы рассмотрели пять различных подходов, включая комбинации команд ls, find, awk и rm, а также использование шаблонов подстановки и команды popd. Применяя эти методы, вы сможете эффективно управлять своей файловой системой и поддерживать ее порядок.