Linux: zliczanie liczby plików w katalogu

Autor: Arkadiusz Tobiasz 25 sierpnia 2011

W tym wpisie przedstawię sposób na zliczenie liczby plików w danym folderze za pomocą konsoli. Jest to niezwykle przydatne polecenie, kiedy wgrywamy pliki z dysku na serwer i chcemy sprawdzić czy wszystkie się wgrały.

Pliki możemy zliczyć za pomocą prostego polecenia, gdzie targetdir to nazwa katalogu, w którym chcemy pliki zliczyć:

1
ls -1 targetdir | wc -l

Zwróć uwagę, że w powyższym poleceniu w momencie listowania plików odejmujemy jeden, czyli usuwamy pierwszą linijkę. Robimy to, ponieważ gdybyś wykonał powyższe polecenie:

1
ls -l targetdir | wc -l

Wtedy wynik byłby o jeden większy. Dzieje się tak dlatego, że w pierwszej linijce jest podana liczba wszystkich plików.

Pierwsze polecenie zlicza również dowiązania symboliczne oraz podkatalogi. Nie zlicza jednak zawartości katalogów (nie zlicza plików rekurencyjnie). Jeżeli chcemy wykluczyć ze zliczania podkatalogi, to użyjemy polecenia:

1
find targetdir -type f  -maxdepth 1 | wc -l

W powyższym poleceniu fragment -type f oznacza, że chcemy zliczać jedynie zwykłe pliki. Natomiast fragment -maxdepth 1 oznacza, że chcemy zliczać pliki tylko w danym katalogu z pominięciem podkatalogów. Jeżeli chcemy zliczyć pliki rekurencyjnie, to znaczy z katalogu głównego i wszystkich podkatalogów usuniemy ten fragment używając polecenia:

1
find targetdir -type f | wc -l

Jednak powyższe polecenie nie zlicza dowiązań symbolicznych, aby je dodać należy użyć poniższego polecenia:

1
find targetdir -type f -follow  -maxdepth 1 | wc -l

Odpowiedz

 

Arkadiusz Tobiasz student Akademii Ekonomicznej im. Karola Adamieckiego w Katowicach na specjalnościach informatyka ekonomiczna oraz rachunkowość. Więcej...

jQuery Validation i funkcja remote

Jakiś czas temu zwrócił się do mnie użytkownik z problemem. Chodzi o to, że korzysta on z pluginu walidacji jQuery, […]

Zend Framework: integracja z Uploadify

W tym wpisie postaram się przedstawić Wam w jaki sposób zintegrować skrypt Uploadify z Zend Frameworkiem. Dzięki temu będziemy mogli […]

Javascript: Czasowe wyświetlanie reklamy

Czasami chcemy, aby na pewnym elemencie naszej strony wyświetlała się reklama przez jakiś czas, a następnie zniknęła. W tym wpisie […]

Linux: backup wszystkich baz danych MySQL

Swego czasu pisałem o tym jak z poziomu konsoli można szybko i przyjemnie zrobić backup bazy MySQL. Wszystko jest ładnie […]