Jak mogę utworzyć nowy plik i wypełnić go losowymi danymi o wartości 1 gigabajta? Potrzebuję tego do przetestowania oprogramowania.
Wolałbym użyć /dev/randomlub /dev/urandom.
Jak mogę utworzyć nowy plik i wypełnić go losowymi danymi o wartości 1 gigabajta? Potrzebuję tego do przetestowania oprogramowania.
Wolałbym użyć /dev/randomlub /dev/urandom.
Odpowiedzi:
W większości jednorożców:
head -c 1G </dev/urandom >myfile
Jeśli headnie rozumiesz Gprzyrostka, możesz podać rozmiar w bajtach:
head -c 1073741824 </dev/urandom >myfile
Jeśli headnie rozumiesz tej -copcji (jest to powszechne, ale nie POSIX; prawdopodobnie masz OpenBSD):
dd bs=1024 count=1048576 </dev/urandom >myfile
headnie rozumiem -cna moim komputerze z systemem Solaris 10.
headmożna przeczytać /dev/urandom, ale tailnie można.
tailnajpierw próbuje przejść do końca pliku wejściowego, co trwa wiecznie (dosłownie).
/dev/zerorównież, jeśli nie lubisz różnorodności.
Zakładając, że dane pseudolosowe są wystarczające, dd if=/dev/urandom of=target-file bs=1M count=1000zrobisz to, co chcesz.
dd (1) odczytuje bloki danych z pliku wejściowego i zapisuje je do pliku wyjściowego. Język wiersza poleceń jest nieco dziwaczny, ale jest to jedno z tych naprawdę przydatnych narzędzi, które warto opanować.
W tym przypadku ifplik wejściowy, plik ofwyjściowy, bsma „rozmiar bloku” - i użyłem rozszerzenia GNU, aby ustawić wygodniej rozmiar. (Możesz również użyć 1048576, jeśli ddnie masz rozszerzenia GNU.) countTo liczba bloków do odczytu ifi zapisu of.
/dev/urandomjest lepszym wyborem niż /dev/randomw Linuksie, ponieważ powróci do silnych pseudolosowych danych zamiast blokować, gdy wyczerpią się prawdziwie losowe dane.
Możesz także spojrzeć na http://www.random.org/ jako kolejną ścieżkę do zdobywania losowych danych bez konieczności ich generowania.
1Mnie są dostępne w każdym standardowym ddwariancie. Jeśli dotyczy to Twojej wersji dd, użyj bs=1048576.
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee 5000kb
Wykorzystano go do wygenerowania 5 MB danych losowych znaków. Jeśli potrzebujesz innego rozmiaru, zmień -cwartość head, zmień nazwę pliku wyjściowego, uruchom i poczekaj, aż wykonanie się zakończy.
vizvi -w randomfilei poprosić kogoś, kto nigdy nie widziałvi, aby wyjść z programu. ;)