Chcę zobaczyć, jakie pliki zostaną usunięte podczas wykonywania w systemie rmLinux. Wydaje się, że większość poleceń ma opcję uruchamiania na sucho, aby wyświetlać takie informacje, ale nie mogę znaleźć takiej opcji rm. Czy to w ogóle możliwe?
Chcę zobaczyć, jakie pliki zostaną usunięte podczas wykonywania w systemie rmLinux. Wydaje się, że większość poleceń ma opcję uruchamiania na sucho, aby wyświetlać takie informacje, ale nie mogę znaleźć takiej opcji rm. Czy to w ogóle możliwe?
Odpowiedzi:
Powiedz, że chcesz uruchomić:
rm *.txt
Możesz po prostu uruchomić:
echo rm *.txt
a nawet po prostu:
echo *.txt
aby zobaczyć, które pliki rmzostaną usunięte, ponieważ jest to powłoka *.txt, która się nie rozwija rm.
To jedyny raz, kiedy ci to nie pomoże rm -r.
Jeśli chcesz rekursywnie usuwać pliki i katalogi, możesz użyć findzamiast rm -rnp
find . -name "*.txt" -print
a następnie, jeśli to robi to, co chcesz, zmień -printna -delete:
find . -name "*.txt" -delete
tree.
find . -name "*.txt" -deletenie wydaje się rekurencyjne. Usunąłem wszystkie pliki, ale nie usunąłem katalogów wymienionych w-print
find . -type d -empty -delete
findnie usunie katalogów, które nadal zawierają pliki (odpowiednik rm dir/bez -r). Trzeba by opróżnić katalog pierwszy - lub używać finddo -exec rmz odpowiednimi opcjami, aby to zrobić. np.find . -depth -name "*.txt" -exec rm -r {} +
echo rm *.txtmetody wydaje się mieć wadę. Prezentuje wyniki w skonkatowanej liście (długi ciąg z jednym plikiem po poprzednim), w przeciwieństwie do listy pionowej. Czy jest jakiś sposób, aby wyjście wyświetlało się na liście pionowej (jeden plik na linię)? (UPDATE: Widzę, że findmetoda robi to, co mam o Więc biegnę z tym.).
Możesz powiedzieć:
rm -i
aby uruchomić go w trybie interaktywnym, rmpoprosi Cię o potwierdzenie, czy każdy plik powinien zostać usunięty. Możesz po prostu odpowiedzieć „nie” na każdy plik, aby zobaczyć, które z nich zostaną zmienione.
Możesz użyć, lsaby wyświetlić listę wszystkich plików, które zostaną usunięte przez rm:
ls ../path/*.txt
Jeśli musisz wyświetlić listę, aby wyświetlić pliki, które zostaną usunięte za pomocą rekurencji rm, użyj -Rflagi z ls:
ls -R ../path/*.txt
ls */*/*.txt
-Ropcją.