Linux find - Jak znaleźć pliki mniejsze lub większe niż
W tej notatce chciałbym pokazać jak w prosty sposób przy pomocy programu find, możemy znaleźć pliki spełniające jakiś warunek dotyczący ich rozmiaru. Posłużę się tutaj przykładem ich usuwania, zatem spróbujemy skasować pliki równe jakiemuś rozmiarowi, mniejsze od niego, bądź większe.
Jak przekazać do find warunek na rozmiar pliku?
W dokumentacji polecenia find znaleźć możemy informację, że przy pomocy opcji -size, mamy możliwość wybrania plików ze względu na ich rozmiar. Najprostsze wywołanie może przyjąć postać:- b - blok 512 bajtów (jednostka domyślna)
- c - bajty
- w - jednostka dwubajtowa (two-byte word)
- k - kilobajty (1024 bajty)
- M - megabajty (1048576 bajty)
- G - gigabajty (1073741824 bajty)
A jak znajdować pliki większe bądź mniejsze od wskazanego rozmiaru?
Trzeba przyznać, że znajdowanie plików o dokładnie zdefiniowanym rozmiarze, jest zdecydowanie mniej użyteczne niż selekcja plików mniejszych bądź większych od pewnej wartości. Wywołanie na szczęście jest równie proste. Należy jedynie wzbogacić je o znak +/- podczas definiowania rozmiaru pliku. I tak, aby znaleźć pliki mniejsze niż 100 kB, możemy wydać komendę:
A co z tym usuwaniem plików?
Obiecaliśmy sobie również coś począć z tymi wyselekcjonowanymi po rozmiarze plikami. Spróbujemy więc je usunąć. Pisałem już kilkukrotnie o poleceniu xargs, którego użyjemy i w tym wypadku. Jeżeli stanowi ono dla kogoś zagadkę, to odsyłam nieco niżej, do artykułów powiązanych, gdzie dokładniej opisuję zasadę jego działania. W skrócie mówiąc, przekażemy za pomocą tego polecenia, wybrane pliki do komendy rm, która z kolei usunie je z dysku. Jeśli więc zechcemy usunąć pliki, np. mniejsze od tych użytych już przez nas 100 kB, to możemy posłużyć się wywołaniem:I to właściwie tyle. Opcja ta jest bardzo przydatna w wielu kontekstach pracy z komputerem, wiec warto mieć ją w pamięci.
Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!