Sprawdzenie, czy 2 duże katalogi mają taki sam rozmiar
Moderatorzy: Moderatorzy, Administratorzy
- VoyciecH
- Użytkownik
- Posty: 143
- Rejestracja: 2007-03-14, 15:20
- Lokalizacja: Nysa (Śląski Rzym)
- Kontakt:
Sprawdzenie, czy 2 duże katalogi mają taki sam rozmiar
Witam,
skopiowałem z 1 dysku na drugi duży katalog z podkatalogami (ok. 250GB w ok. 20000 filmach i zdjęciach z mojego aparatu) i chcę mieć pewność, że oba katalogi mają tą sama zawartość. Niestety programy typu "diff", "rsync" odpadają, bo trwałoby to wieki. Chciałbym, upewnić się, że rozmiary obydwu katalogów są identyczne.
"Własciwości" pokazują rozmiar katalogu tylko jako liczbę klastrów na dysku, a to mi nie wystarczy. Chcę znać dokładny rozmiar obydwu katalogów. Katalogi te znajdują się na 2 dyskach i mają różne rozmiary także po wydaniu komend "du -s" "du -sb --apparent-size". W Windows po wyświetleniu "Własciwości" były dwie wielkości: "Rozmiar" i "Rozmiar na dysku". Wartość "Rozmiar" pokazywała zawsze ten sam rozmiar katalogu bez względu na to na jakim dysku znajdują się katalogi.
Ponowne skopiowanie obydwu katalogów na 1 dysk nie jest możliwe, bo nie mam tyle miejsca , a poza tym jest to zajęcie bardzo czasochłonne, a mnie chodzi o coś szybkiego (max. kilka minut).
W "mc" znalazłem opcję porównywania katalogów, ale nie uwzględnia ona podkatalogów
Jak wyświetlić FAKTYCZNY rozmiar katalogu wraz z podkatalogami z dokładnością do bajtu, zamiast rozmiaru na dysku?
A może ktoś zna inny sposób na szybkie i proste porównanie 2 katalogów wraz z podkatalogami?
Proszę o pomoc...
skopiowałem z 1 dysku na drugi duży katalog z podkatalogami (ok. 250GB w ok. 20000 filmach i zdjęciach z mojego aparatu) i chcę mieć pewność, że oba katalogi mają tą sama zawartość. Niestety programy typu "diff", "rsync" odpadają, bo trwałoby to wieki. Chciałbym, upewnić się, że rozmiary obydwu katalogów są identyczne.
"Własciwości" pokazują rozmiar katalogu tylko jako liczbę klastrów na dysku, a to mi nie wystarczy. Chcę znać dokładny rozmiar obydwu katalogów. Katalogi te znajdują się na 2 dyskach i mają różne rozmiary także po wydaniu komend "du -s" "du -sb --apparent-size". W Windows po wyświetleniu "Własciwości" były dwie wielkości: "Rozmiar" i "Rozmiar na dysku". Wartość "Rozmiar" pokazywała zawsze ten sam rozmiar katalogu bez względu na to na jakim dysku znajdują się katalogi.
Ponowne skopiowanie obydwu katalogów na 1 dysk nie jest możliwe, bo nie mam tyle miejsca , a poza tym jest to zajęcie bardzo czasochłonne, a mnie chodzi o coś szybkiego (max. kilka minut).
W "mc" znalazłem opcję porównywania katalogów, ale nie uwzględnia ona podkatalogów
Jak wyświetlić FAKTYCZNY rozmiar katalogu wraz z podkatalogami z dokładnością do bajtu, zamiast rozmiaru na dysku?
A może ktoś zna inny sposób na szybkie i proste porównanie 2 katalogów wraz z podkatalogami?
Proszę o pomoc...
"To, co dla jednego jest chlebem powszednim, dla innych może być olśniewającym objawieniem." (autor mi nieznany)
Inni wiedzą o Tobie więcej niż Ci się wydaje, ale mniej niż im się wydaje.
----------------
Moja stronka: http://linux.media-soft.pl/
Inni wiedzą o Tobie więcej niż Ci się wydaje, ale mniej niż im się wydaje.
----------------
Moja stronka: http://linux.media-soft.pl/
Re: Sprawdzenie, czy 2 duże katalogi mają taki sam rozmiar
Witam
Głowy nie dam, ale różnice mogą wynikać z różnych systemów plików na obu dyskach. Jak duża jest różnica w rozmiarze? Jeśli na dysku źródłowym jest NieTenFileSystem, to mogły nie skopiować się wszystkie dane. Kiedyś miałem taki przypadek, iż podmontowałem dysk kolegi, gdzie był właśnie NTFS. Wszystko się pięknie zgrało, ale wielu danych brakowało. System nie widział plików z polskimi znakami diakrytycznymi w nazwach na partycji NTFS. Musiałem kombinować z opcjami montowania. Możliwe, że u Ciebie jest podobnie. Proponuję więc zacząć od zliczenia plików na obu dyskach, np.:
Powinno się wykonać w miarę szybko. Co prawda, nie będziesz miał gwarancji co do zawartości danych, ale przynajmniej wykluczysz przypadek, który przytoczyłem. Przy takiej ilości danych danych coś szybkiego i skutecznego jednocześnie może nie istnieć
Pozdro,
Paweł
Głowy nie dam, ale różnice mogą wynikać z różnych systemów plików na obu dyskach. Jak duża jest różnica w rozmiarze? Jeśli na dysku źródłowym jest NieTenFileSystem, to mogły nie skopiować się wszystkie dane. Kiedyś miałem taki przypadek, iż podmontowałem dysk kolegi, gdzie był właśnie NTFS. Wszystko się pięknie zgrało, ale wielu danych brakowało. System nie widział plików z polskimi znakami diakrytycznymi w nazwach na partycji NTFS. Musiałem kombinować z opcjami montowania. Możliwe, że u Ciebie jest podobnie. Proponuję więc zacząć od zliczenia plików na obu dyskach, np.:
Kod: Zaznacz cały
$ tree | wc -l
Pozdro,
Paweł
Re: Sprawdzenie, czy 2 duże katalogi mają taki sam rozmiar
--apparent-size powinno dawać oczekiwany rezultat. Możesz spróbować coś takiego:
co bierze pod uwagę tylko pliki. Nie jestem pewny jak to jest z du.
UPDATE: W zasadzie to:
Kod: Zaznacz cały
find -type f -exec wc -c -- {} + 2>/dev/null |
perl -ne '$ret += $1 if /^\s*([0-9]+)\stotal\n$/; END { print "$ret\n"; }'
UPDATE: W zasadzie to:
Kod: Zaznacz cały
find -type f -exec wc -c -- /dev/null {} + 2>/dev/null |
perl -ne '$ret += $1 if /^\s*([0-9]+)\stotal\n$/; END { print "$ret\n"; }'
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Re: Sprawdzenie, czy 2 duże katalogi mają taki sam rozmiar
„Wygląda czytelniej ^.* ... hmm”
Ale nie działa, jeżeli jest dużo plików.
Ale nie działa, jeżeli jest dużo plików.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
- VoyciecH
- Użytkownik
- Posty: 143
- Rejestracja: 2007-03-14, 15:20
- Lokalizacja: Nysa (Śląski Rzym)
- Kontakt:
Re: Sprawdzenie, czy 2 duże katalogi mają taki sam rozmiar
Kod: Zaznacz cały
$ find -type f -exec wc -c -- {} + 2>/dev/null | perl -ne '$ret += $1 if /^([0-9]+)\stotal$/; END { print "$ret\n"; }'
$ find -type f -exec wc -c -- /dev/null {} + 2>/dev/null |
> perl -ne '$ret += $1 if /^([0-9]+)\stotal$/; END { print "$ret\n"; }'
$ `du -b`
bash: 21257886: nie znaleziono polecenia
$ find -type f -exec wc -c -- {} + 2>/dev/null | tail -n1
42507580 razem
$
Pierwsze 2 polecenia wyświetlają u mnie puste linie (przykładowych kilkanaście plików w 2 katalogach - jeden katalog w drugim). Dwa pozostałe wyświetlają rózne wyniki i nie wiem, które są prawdziwe.
Poza tym nie wiem po co w poleceniu wyrażenie -- {} +. Opiszcie to, proszę. Rozumiem, że {} wstawia nazwę pliku, ale te 2 minusy i plus?
"To, co dla jednego jest chlebem powszednim, dla innych może być olśniewającym objawieniem." (autor mi nieznany)
Inni wiedzą o Tobie więcej niż Ci się wydaje, ale mniej niż im się wydaje.
----------------
Moja stronka: http://linux.media-soft.pl/
Inni wiedzą o Tobie więcej niż Ci się wydaje, ale mniej niż im się wydaje.
----------------
Moja stronka: http://linux.media-soft.pl/
Re: Sprawdzenie, czy 2 duże katalogi mają taki sam rozmiar
„Pierwsze 2 polecenia wyświetlają u mnie puste linie”
Poprawione.
„`du -b`”
Bez „`”.
„Dwa pozostałe wyświetlają rózne wyniki i nie wiem, które są prawdziwe.”
„du -b” liczy również miejsce zajęte przez katalogi i inne „niezwykłe” pliki. Wersje z find jedynie sumują rozmiary plików.
„Poza tym nie wiem po co w poleceniu wyrażenie -- {} +. Opiszcie to, proszę. Rozumiem, że {} wstawia nazwę pliku, ale te 2 minusy i plus?”
Dwa minusy oddzielają argumenty od plików. Porównaj „rm -f” i „rm -- -f”. plus informuje find, aby grupował pliki i uruchamiał jedno polecenie dla wielu plików, w przeciwieństwie do użycia średnika, które uruchamia jedno polecenie per plik.
Poprawione.
„`du -b`”
Bez „`”.
„Dwa pozostałe wyświetlają rózne wyniki i nie wiem, które są prawdziwe.”
„du -b” liczy również miejsce zajęte przez katalogi i inne „niezwykłe” pliki. Wersje z find jedynie sumują rozmiary plików.
„Poza tym nie wiem po co w poleceniu wyrażenie -- {} +. Opiszcie to, proszę. Rozumiem, że {} wstawia nazwę pliku, ale te 2 minusy i plus?”
Dwa minusy oddzielają argumenty od plików. Porównaj „rm -f” i „rm -- -f”. plus informuje find, aby grupował pliki i uruchamiał jedno polecenie dla wielu plików, w przeciwieństwie do użycia średnika, które uruchamia jedno polecenie per plik.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
- VoyciecH
- Użytkownik
- Posty: 143
- Rejestracja: 2007-03-14, 15:20
- Lokalizacja: Nysa (Śląski Rzym)
- Kontakt:
Re: Sprawdzenie, czy 2 duże katalogi mają taki sam rozmiar
Dalej nie działa.
Problem leży w kodzie perla, bo jak wkleiłem samo polecenie "find" to działało (wyświetliła się lista plików). Niestety nie znam perla, więc tylko domyślam się, że sumuje rozmiary z listy, którą generuje "find".
Problem leży w kodzie perla, bo jak wkleiłem samo polecenie "find" to działało (wyświetliła się lista plików). Niestety nie znam perla, więc tylko domyślam się, że sumuje rozmiary z listy, którą generuje "find".
"To, co dla jednego jest chlebem powszednim, dla innych może być olśniewającym objawieniem." (autor mi nieznany)
Inni wiedzą o Tobie więcej niż Ci się wydaje, ale mniej niż im się wydaje.
----------------
Moja stronka: http://linux.media-soft.pl/
Inni wiedzą o Tobie więcej niż Ci się wydaje, ale mniej niż im się wydaje.
----------------
Moja stronka: http://linux.media-soft.pl/