Я хочу побачити, які файли буде видалено під час виконання 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варіантом.