Przejdź do głównej zawartości

Generowanie testowych plików o określonej wielkości

Podczas testowania różnego rodzaju rozwiązań, a szczególności działania skryptów czy też rozmiarów wolumenów i ich zapychaniu po to by przetestować to czy tamto przydało by się niekiedy wygenerować pliki o znanej, dowolnej i założonej z góry wielkości np.: po to by sprawdzić czy narzędzie monitorujące poprawnie wygeneruję alarm w momencie przekroczenia rozmiaru ustalonego w alarmie dla danego systemu plików itp. 





Linux

Najprostszym sposobem utworzenia pliku o wybranej wielkości jest zastosowanie polecenia "dd". Zasadą działania tego polecenia jest klonowanie otrzymanych danych wejściowych i zapisanie ich wiernej kopii na wyjściu. Jako dane wejściowe można zastosować standardowe wejście "stdin", plik urządzenia lub zwykły plik itp. Danymi wyjściowymi mogą być : standardowe wyjście "stdout", plik urządzenia lub zwykły plik itp. Jak wykorzystać to w praktyce ?

Przykład polecenia : 

$ dd if=/dev/zero of=test.data bs=1M count=1 

Powyższe polecenie wygeneruję plik test.data o rozmiarze 1MB. Opcja "bs" (block size) to rozmiar bloku, a opcja count określa ilość bloków o podanym rozmiarze. Manipulując parametrami możemy zmieniać ilość i rozmiar bloków, a tym samym otrzymywać plik o różnych rozmiarach. Dla parametru "bs" można zastosować różne jednostki : 
      • c           - Bajt (1 B)
      • w          - Słowo (2 B)
      • b           - Blok (512 B)
      • k           - Kilobajt (1024 B)
      • M          - Megabajt (1024 kb)
      • G           - Gigabajt (1024 MB)
Windows

W systemie Windows by utworzyć plik o dowolnej wielkości uruchamiamy wiersz poleceń ( CMD.exe). Należy pamiętać by wiersz poleceń został uruchomiony z uprawnieniami administratora. Następnie wydajemy polecenie: 

C:\fsutil file createnew c:\test1.txt 1000
Plik c:\test1.txt został utworzony

W powyższym przykładzie utworzony blik ma rozmiar dokładnie 1000 bajtów.



Komentarze

Najczęściej czytane w tym miesiącu

50 popularnych pytań dotyczących systemu Linux zadawanych na rozmowach kwalifikacyjnych. (Pytania & Odpowiedzi)

Jak dodać użytkownika w systemie Windows z poziomu konsoli CMD? (net user, net localgroup)