Przejdź do głównej zawartości

Wyszukiwanie plików względem ich rozmiaru. Linux - Bash

W pracy administratora często zdarza się potrzeba wyszukania jakiegoś pliku wiedząc jedynie ile może on zajmować przestrzeni dyskowej lub też chcemy znaleźć pliki większe lub mniejsze niż określony rozmiar. Przydaje się to szczególnie w przypadku plików z logami itp. W tym przykładzie posłużymy się poleceniem "find" w raz z odpowiednimi przełącznikami. Wcześniej przygotowane zostaną pliki o określonych rozmiarach w katalogu /tmp/test. Następnie do określania rozmiarów posłużymy się poleceniem "du" wraz z odpowiednimi przełącznikami sortującymi wyniki. 







Krok 1 - Przygotowanie plików 

# cd /tmp 
# mkdir test
# cd test

dd if=/dev/zero of=test.data1M bs=1M count=1
dd if=/dev/zero of=test.data2k bs=2k count=1
dd if=/dev/zero of=test.data200k bs=200k count=1
dd if=/dev/zero of=test.data5M bs=5M count=1
dd if=/dev/zero of=test.data20k bs=20k count=1
dd if=/dev/zero of=test.data80k bs=80k count=1
dd if=/dev/zero of=test.data1k bs=1k count=1

Krok 2 - Wyszukiwanie plików względem ich rozmiaru. 

Wyszukanie plików większych niż 2k

# find . -type f -size +2k
./test.data5M
./test.data1M
./test.data200k
./test.data20k
./test.data80k

Wyszukanie plików o rozmiarze równym 2k 

# find . -type f -size 2k
./test.data2k

Wyszukanie plików mniejszych niż 2k 

# find . -type f -size -2k
./test.data1k

Wyszukanie plików większych niż 1MB

# find . -type f -size +1M
./test.data5M

Powyższe przykłady wyjaśniają sposób wyszukania plików względem ich rozmiaru.

Jeżeli do kreślenia rozmiaru postanowimy skorzystać z polecenia "du" polecenie służące do określania rozmiarów może przybrać następującą postać:

Wyszukiwanie 10 największych katalogów

du -a | sort -n -r|head -n 10

Powyższe wyświetli 10 katalogów w danym katalogu w jakim się znajdujemy w kolejności od najwięcej największego do najmniejszego zależnie od ilości danych w podkatalogach. Krótko mówiąc 10 największych podkatalogów w danym katalogu. 

Jeżeli interesuje nas 10 największych plików w danym katalogu możemy je wyświetlić używając polecenia: 

Wyszukiwanie 10 największych plików

ls -lSh|head -n 10

Wyszukiwanie 10 największych plików we wskazanej lokalizacji (np. opt) przy użyciu find

find /opt -type f -ls | sort -r -n -k 7 | head -n 10



Komentarze

Prześlij komentarz

Najczęściej czytane w tym miesiącu

50 popularnych pytań dotyczących systemu Linux zadawanych na rozmowach kwalifikacyjnych. (Pytania & Odpowiedzi)

Jak dodać użytkownika w systemie Windows z poziomu konsoli CMD? (net user, net localgroup)

Generowanie testowych plików o określonej wielkości