/b
Flag z copy
smakołyki dowodzenia pliki jako binarne (tj surowego strumienia bezsensownych bajtów), a kopie ich bajt do bajta zamiast domyślnego (lub /a
) zachowań, które traktuje je jako wiersze tekstu (z end-of-line znaki, koniec plików itp.)
Możesz łączyć pliki tekstowe z domyślnym zachowaniem tekstu lub przełącznikiem binarnym, ale prawie żaden plik binarny nie będzie działał. Nie można po prostu skopiować bajtów z dwóch plików binarnych i oczekiwać, że będą działać, ponieważ pliki binarne zwykle mają nagłówki , metadane , struktury danychitp., które określają format pliku. Jeśli wykonasz kopię binarną, po prostu skopiujesz wszystkie bajty bez zmian, co ostatecznie spowoduje umieszczenie tych struktur w miejscach, w których nie powinny być, więc po ich otwarciu funkcja parsowania będzie miała problemy i zobaczy, co to są zasadniczo uszkodzone dane . Niektóre programy zignorują części, które nie mają sensu, i po prostu pokażą, co potrafią (co pozwala na działanie stereografii), ale niektóre zgłoszą błąd i będą skarżyć się, że plik jest uszkodzony. Zdolność do wykrywania uszkodzeń zależy od typu pliku.
Jako przykład wymyślmy uproszczony format PDF:
Byte(s) Meaning
---------------------
File header:
0-1 # of Pages
2-3 Language
4-5 Font
6-EOF Data (each page encoded separately)
Page data:
0-1 Page number
2-3 # of characters on page
4-#chars Letters contained on the page
Jak widać, każdy plik będzie zawierał nagłówek na poziomie pliku z pewnymi ogólnymi informacjami, a następnie bloki danych dla każdej strony zawierającej dane strony. Jeśli następnie weźmiesz dwa pliki, każdy zawierający jedną stronę i scalisz je jako pliki binarne, nie będziesz tworzyć jednego pliku dwustronicowego, ale zamiast tego jeden uszkodzony plik, który zaczyna się od jednej strony, a następnie zawiera kilka śmieci (plik nagłówek nie ma sensu, gdy program próbuje odczytać drugą stronę).
To samo dzieje się z plikami MP3. Po połączeniu ich w ten sposób tagi ID3 na początku i / lub końcu drugiego pliku zostają zachowane, a gdy odtwarzacz próbuje odczytać następną klatkę, oczekuje danych audio, ale znajduje nagłówek drugi plik, który nie pasuje do oczekiwanego formatu danych audio, więc nie wie, co robić. Niektóre odtwarzacze będą odtwarzać nagłówek jako dane audio (które prawdopodobnie będą odtwarzane jako static / noise / pops / etc.), Niektóre wycinają dźwięk do następnej poprawnej klatki, niektóre mogą całkowicie przestać odtwarzać utwór, a niektóre mogą nawet ulec awarii .
copy
Komenda nic nie wie o typach plików innych niż zwykły tekst (a nawet wtedy, tylko tekst ASCII), więc tylko zwykły tekst mogą być łączone ze sobą prawidłowo. Pliki binarne należy łączyć za pomocą edytora, który wie, jak poprawnie parsować i interpretować zawartość.