MC, 02:31 poniedziałek, 10.09.2012 r.
Ilustracja do artykułu: Linux & dd - Generowanie pliku testowego o zdefiniowanej wielkości i zawartości

Linux & dd - Generowanie pliku testowego o zdefiniowanej wielkości i zawartości

Ostatnio pisałem artykuł na temat użycia programu dd do zerowania MBR nośników danych (Linux & dd - Czyszczenie (zerowanie) MBR dysków i pendrive-ów). W bardzo podobny sposób możemy stworzyć pliki testowe, o zdefiniowanym rozmiarze i o tym dzisiejsza notatka.

Po co tworzyć pliki testowe?

Sytuacji w których przydatny może być sztucznie wygenerowany plik o konkretnej wielkości nie sposób wyliczyć. Przykładem może być np. proces testowania pewnych algorytmów, które miały by na takim pliku operować, czy choćby testy programów archiwizujących. Jako, że sprawa jest bardzo prosta, warto wiedzieć jak sobie w takiej sytuacji sprytnie poradzić.

Jak stworzyć testowy plik o zdefiniowanym rozmiarze?

Jak już wspomnieliśmy, użyjemy programu dd, który służy do niskopoziomowego kopiowania danych z jednego pliku do drugiego. Oczywiście w przypadku tworzenia testowego pliku o danym rozmiarze, za źródło danych posłuży nam wirtualne urządzenie. Pytanie które z nich? To właściwie zależy jakich danych w pliku oczekujemy. Jeśli chcemy by plik wypełniony był samymi zerami, użyjemy urządzenia /dev/zero, tak jak w poniższym przykładzie:
dd if=/dev/zero of=plik_testowy bs=1M count=500
Komenda ta wygeneruje nam plik o nazwie plik_testowy i rozmiarze 500MB. Skąd wiadomo, że 500MB? Ustaliliśmy rozmiar sektora na 1MB i kazaliśmy przekopiować do pliku 500 takich sektorów, stąd ta wartość.

A co jeśli chcemy, by plik nie zawierał samych zer?

Jeśli chcemy wypełnić plik innymi danymi, można skorzystać np. z urządzenia /dev/urandom, który będzie zwracało losowe wartości. Załóżmy, że chcemy utworzyć plik o rozmiarze 250kB złożony z losowych bajtów:
dd if=/dev/urandom of=plik_testowy bs=1k count=250

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: