Friday 15 December 2017

Unix compare dwa pliki opcje binarne


Myślę, że możesz użyć 3 narzędzi: cmp jest lepszy dla plików binarnych, a diff jest lepszy dla plików tekstowych. Dla plików binarnych diff jedynie zgłasza, czy różnią się one od innych. diff działa także dla katalogów. Każdy z pierwszych dwóch może osiągnąć to, czego potrzebujesz w ciszy. diff używa przełącznika - q, a cmp używa przełącznika - s, aby podać tylko kod powrotu: 0, jeśli dwa pliki pasują do siebie, jeśli nie. cmp ma również dobrą opcję uniknięcia (rodzaju) odczytu całego pliku (dobrze, jeśli masz duże pliki): jeśli wiesz, że pliki mogą się różnić w pierwszych N liniach lub między wierszami N i M możesz zrobić (np. rząd N 10 i M 20): Dodałem do listy md5sum, ponieważ jeśli masz szansę obliczyć sumę kontrolną MD5 za każdym razem, gdy edytujesz jeden z tych plików, możesz porównać tylko to, aby szybko znaleźć, czy pasują, czy nie. W tym przypadku zakładam, że masz dużo plików do porównania. Odpowiedź 25 października 10 o 9: 23Jednym z najczęstszych sposobów określania, czy dwa pliki są identyczne (zakładając, że ich rozmiary są zgodne) jest użycie programu do utworzenia skrótu (zasadniczo odcisku palca) pliku. Najczęstsze z nich to md5sum i sha1sum. Jeśli masz wiele plików, które musisz sprawdzić, na przykład, jeśli przenosisz katalog pełen plików z jednego systemu do drugiego, możesz przekierować dane wyjściowe z oryginalnego systemu do pliku, wtedy suma md5sum sha1sum automatycznie użyje tego pliku do powiedzieć, które pliki są różne: odebrane 29 kwietnia 10 o 12:21 MD5 nie zawsze jest wiarygodny w tym: diggsecurityhellip ndash Jon Cage kwi 29 10 o 12:30 W rzeczywistości MD5 jest wiarygodne dla podstawowych kontroli integralności. To po prostu nie jest uważane za kryptograficznie silne, jak kiedyś sądziliśmy. Jeśli martwisz się hakerami, nie używaj MD5, ale jeśli chcesz tylko dowiedzieć się, czy niektóre pliki skopiowane z płyty CD zostały uszkodzone lub kompilator wypala identyczne pliki za każdym razem, MD5 jest więcej niż wystarczający. ndash Adam Batkin 29 kwietnia o 12: 55 Preferuję VBinDiff. DHEX używa procesora nawet podczas pracy na biegu jałowym, myślę, że to przerysowuje cały czas czy coś. VBinDiff nie działa jednak z szerokimi terminalami. Ale adresy stają się dziwne z powodu szerokich terminali, ponieważ masz więcej niż 16 bajtów na wiersz. ndash Janus Troelsen 17 października o 14:22 Spróbuj diff w następującej kombinacji substytucji procesu zshbash i colordiff w CLI: - y pokazuje różnice obok siebie (opcjonalnie) xxd jest narzędziem CLI do tworzenia wyjścia heksowego binarnego colordiff pliku colorize wyjście diff (zainstaluj przez: sudo apt-get install colordiff) dodaj - W200 do diff dla szerszego wyjścia, jeśli pliki są duże, dodaj limit (np. - l1000) dla każdej metody xxd, która działa na usuwanie dodania bajtów Wyjście dla pojedyncze usuwanie bajtów NUL na 100 bajtach dużego pliku: Jeśli chcesz zobaczyć wersję ASCII postaci: Testowany na Ubuntu 14.04. Wolę od ponad xxd, ponieważ: jest POSIX. xxd nie jest (dostarczany z Vimem) ma opcję - An, aby usunąć kolumnę adresu bez awk. - Wyłącza kolumnę adresu. Jest to ważne, w przeciwnym razie wszystkie wiersze będą się różnić po usunięciu dodatków bajtowych. - w1 umieszcza jeden bajt na wiersz, aby diff mógł go użyć. Ważne jest, aby jeden bajt na linię, lub każda linia po skasowaniu byłaby poza fazą i różniła się. Niestety nie jest to POSIX, ale obecny w GNU. - tx1 jest żądaną reprezentacją, zmień ją na dowolną możliwą wartość, o ile zachowasz 1 bajt na linię. - v zapobiega skrótowi powtarzania gwiazdki, który może zakłócać wklejanie - d - - dołącza co dwa wiersze. Potrzebujemy go, ponieważ hex i ASCII przechodzą do osobnych sąsiednich linii. Zaczerpnięte z: stackoverflowquestions8987257concatenating-every-other-line-with-the-next używamy nawiasów () do zdefiniowania bdiff zamiast do ograniczenia zakresu funkcji wewnętrznej f. zobacz także: stackoverflowquestions8426077how-to-define-a-function-inside-another-function-in-bash odpowiedział 4 kwietnia o 20:31 Podczas używania hexdumps i diff tekstu do porównywania plików binarnych, szczególnie xxd. dodanie i usunięcie bajtów staje się przesunięciem w adresowaniu, co może utrudnić dostrzeżenie. Ta metoda mówi xxd, aby nie wyprowadzał adresów, i wyprowadzał tylko jeden bajt na linię, co z kolei pokazuje dokładnie, które bajty zostały zmienione, dodane lub usunięte. Możesz znaleźć adresy później, wyszukując interesujące sekwencje bajtów w bardziej normalnym hexdump (wynik xxd first. bin). Odpowiedział 22 kwietnia 15 o 12:10

No comments:

Post a Comment