Myślałem, że rm usuwa pliki alfabetycznie, ale wyraźnie nie jest po moim wykonaniu.Linux rm -rf * usuwać zamówienia?
Więc, jaka jest kolejność polecenia rm executation?
Myślałem, że rm usuwa pliki alfabetycznie, ale wyraźnie nie jest po moim wykonaniu.Linux rm -rf * usuwać zamówienia?
Więc, jaka jest kolejność polecenia rm executation?
Samo dostarczenie posortowanej natury, to rozszerzenie powłoki. Jeśli było wpisać rm *
The shell rozwinie, że do czegoś takiego:
rm aaa bbb ccc
i rm
nigdy nawet zobaczyć*
argumentem. Nawiasem mówiąc, nie jestem pewien, że sortowane zachowanie jest gwarantowana przez wszystkich muszli ale z pewnością jest dla bash
, zgodnie z podręcznika:
... zastąpione alfabetycznej listy nazw dopasowując wzór.
Komenda rm -rf *
jest nieco dziwne, ponieważ hybrydowy sprawa, nawet jeśli powłoka sortuje *
wpisy, to nadal tylko na pierwszym poziomie wpisów.
Stąd rm -rf *
może również rozwinąć się:
rm -rf aa_dir bb_dir cc_dir
ale zupełnie się do tego, jak rm
prac wewnętrznie co do kolejności przetwarzania wpisów pod tych katalogów (chociaż, oczywiście, jest to bezpieczny zakład wszystkie wpisy w katalogu zostaną usunięte przed samym katalogiem).
Najprawdopodobniej po prostu użyjesz readdir()
lub czegoś podobnego, co uporządkuje rzeczy w oparciu o to, jak są przechowywane w plikach katalogowych, a nie w porządku alfabetycznym.
W każdym razie kolejność ich usuwania prawdopodobnie nie powinna mieć znaczenia - zostaną one ostatecznie usunięte, o ile pozwolą na to pozwolenia.
Dzięki! to jest pomocne! Dużo googlowałem, istnieje wiele nie wystarczająco szczegółowych odpowiedzi. –
http://unix.stackexchange.com/questions/161770/how-does-rm-r-go-about-recursive-removing-in-what-order – runDOSrun