Czym różni się to: sudo znajdź / usr / local / mysql / data -type f -exec rm {} ';'


2

Jaka jest różnica między tym:

sudo find /usr/local/mysql/data -type f -exec rm {} ';'

i to:

sudo rm -rf /usr/local/mysql/data

Odpowiedzi:


4
sudo find /usr/local/mysql/data -type f -exec rm {} ';'

sudo uruchomi go jako root, a następnie użyjesz find -type f aby pobrać wszystkie pliki ( tylko pliki ) w /usr/local/mysql/data

-exec rm{} zostanie wywołany dla każdego znalezionego elementu i usunie plik.

To usunie pliki rekurencyjnie, ale tak się stanie NIE usuwaj żadnych katalogów . Również nie to rm polecenie jest używane bez -f argument (siła)

rm -rf /usr/local/mysql/data

To polecenie całkowicie usunie wszystko z podanej ścieżki, katalogi i pliki są usuwane. -f jest używany, więc nie będzie monitów dla wydającego użytkownika.


więc loki {} będzie zawierać wyniki find… -type f część wyciągu, gdy rm jest exec ?
Meltemi

tak, masz rację Meltemi. Podczas używania find w kombinacji -exec String {} zostanie zastąpiony pełną ścieżką do bieżącego pliku.
S.Hoekstra


0

find /usr/local/mysql/data -type f -delete usunie tylko zwykłe pliki. Katalogi pozostaną

rm -rf /usr/local/mysql/data Usunę wszystko.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.