Я хочу побачити, які файли буде видалено під час виконання rm
в Linux. Здається, у більшості команд є параметр "сухого запуску", щоб відображати саме таку інформацію, але я не можу знайти такий варіант для rm
. Це навіть можливо?
Я хочу побачити, які файли буде видалено під час виконання rm
в Linux. Здається, у більшості команд є параметр "сухого запуску", щоб відображати саме таку інформацію, але я не можу знайти такий варіант для rm
. Це навіть можливо?
Відповіді:
Скажіть, що ви хочете запустити:
rm *.txt
Ви можете просто запустити:
echo rm *.txt
або навіть просто:
echo *.txt
щоб побачити, які файли rm
буде видалено, оскільки оболонка розширює *.txt
, а не rm
.
Єдиний раз, коли це вам не допоможе rm -r
.
Якщо ви хочете видаляти файли та каталоги рекурсивно, тоді ви можете використовувати find
замість rm -r
, напр
find . -name "*.txt" -print
тоді, якщо він робить те, що ви хочете, змініть -print
на -delete
:
find . -name "*.txt" -delete
tree
.
find . -name "*.txt" -delete
не здається рекурсивним Тхо. Видалено всі файли, але не видалено каталоги, які були перелічені в-print
find . -type d -empty -delete
find
не видалить каталоги, які все ще містять файли (еквівалентно rm dir/
без -r
). Ви б спочатку очистити каталог - або використовувати find
для -exec rm
з відповідними параметрами , щоб зробити це. наприкладfind . -depth -name "*.txt" -exec rm -r {} +
echo rm *.txt
методу, здається, має недолік. Він представляє результати в об'єднаному списку (довгий рядок з одним файлом після попереднього), на відміну від вертикального списку. Чи є якийсь спосіб отримати результат для відображення у вертикальному списку (один файл у рядку)? (UPDATE: Я бачу , що find
метод робить те , що я просив Так що я буду працювати з цим ..)
Ви можете сказати:
rm -i
запустити його в інтерактивному режимі, тож rm
запропонує підтвердити, чи слід видаляти кожен файл. Ви можете просто відповісти "ні" на кожен файл, щоб побачити, на які з них може вплинути.
Ви можете ls
перелічити всі файли, які буде видалено rm
:
ls ../path/*.txt
Якщо вам потрібно переглянути список, щоб переглянути файли, які буде видалено рекурсивно rm
, тоді використовуйте -R
прапор із ls
:
ls -R ../path/*.txt
ls */*/*.txt
-R
варіантом.