Титла: Как мога да генерирам поредица само от единици. Публикувано от: Naka в Apr 17, 2009, 10:16 Искам по подобие на /dev/zero да мога да генерирам безкрайна поредица от 1111111111111, или 5555555 или АААААА.
мислиx нещо подобно на cat /dev/zero | OR '0xFF' има ли някакви команди, които могът да правят битови маски? Титла: Re: Как мога да генерирам поредица само от единици. Публикувано от: neter в Apr 17, 2009, 11:02 Задължително ли е да е безкрайна поредица от една и съща стойност? Понеже в момента се сещам само за /dev/random и /dev/urandom, но те генерират случайни стойности - /dev/urandom използва вътрешна база от стойности, а /dev/random генерира напълно случайни стойности (да живее Linux за това :D ). Каква всъщност е целта на занятието?
Титла: Re: Как мога да генерирам поредица само от единици. Публикувано от: Naka в Apr 17, 2009, 11:54 Да безкрайна поредица ми трябва.
Целта ми е да запълня цял хард диск вместо с нули, с едниници и с '55555' и 'ААААА'. Имам едни подозрения ............ за чексумата на секторите ама е дълго за обеснение. Титла: Re: Как мога да генерирам поредица само от единици. Публикувано от: edmon в Apr 17, 2009, 13:13 не че съм много наясно ама:
с един цикъл while() echo "1" в едно сцриптче и после ./сцриптцч > | alabala Титла: Re: Как мога да генерирам поредица само от единици. Публикувано от: Naka в Apr 17, 2009, 13:23 Трябва и да е много бързо, така че със скриптове няма да стане.
Титла: Re: Как мога да генерирам поредица само от единици. Публикувано от: Archangel в Apr 17, 2009, 13:51 Принципно
Код: yes <string> като <string> е това което се повтаря ще го направи но има и нов ред демек Код: yes 1 прави: Код: 1 Титла: Re: Как мога да генерирам поредица само от единици. Публикувано от: Hapkoc в Apr 17, 2009, 14:21 Само аз ли си мисля, че /dev/zero не генерира "0", а 0, т.е. не байтове, със стойност, отговаряща на ASCII кода на цифрата нула, а байтове със стойност нула?
Титла: Re: Как мога да генерирам поредица само от единици. Публикувано от: spirtbrat в Apr 17, 2009, 14:25 Трябва и да е много бързо, така че със скриптове няма да стане. Ми, напиши го на С тогава. Как осъществяваш писането по харда? Файл ли създаваш? Титла: Re: Как мога да генерирам поредица само от единици. Публикувано от: neter в Apr 17, 2009, 14:43 Само аз ли си мисля, че /dev/zero не генерира "0", а 0, т.е. не байтове, със стойност, отговаряща на ASCII кода на цифрата нула, а байтове със стойност нула?И аз така го знам :) Затова се сещам само за /dev/random и /dev/urandom. Е, щом трябва да е бързо, тогава остава само /dev/urandom, защото /dev/random е бавен (докато мисли напълно случайните стойности). Забравих да кажа, че и тези две псевдо-устройства могат да генерират безкрайни редици, както /dev/zero. Затова, Naka, ако целта ти е да запълниш съответния дял с ненулева информация, то /dev/urandom ще ти свърши работа (какво значение има в този случай дали запълването ще е с константна или случайна стойност?). А питах каква е целта на занятието, защото, ако искаш да тестваш как някакъв код се държи при липса на свободно място на дяла, то не е нужно да запълваш дяла - можеш да използваш /dev/full. edit: Загрях най-сетне какво отговори за целта на занятието :D Ама защо се пестиш в обяснението? Обясни ;) Титла: Re: Как мога да генерирам поредица само от единици. Публикувано от: gat3way в Apr 17, 2009, 15:55 Само не мога да разбера защо един цикъл извъртян чрез bash скрипт трябва да е по-бавен от четенето на /dev/zero примерно....
Титла: Re: Как мога да генерирам поредица само от единици. Публикувано от: romeo_ninov в Apr 17, 2009, 16:12 Код: #include <stdio.h> Титла: Re: Как мога да генерирам поредица само от единици. Публикувано от: foxb в Apr 17, 2009, 19:47 man shred ???
не става ли? Титла: Re: Как мога да генерирам поредица само от единици. Публикувано от: bop_bop_mara в Apr 18, 2009, 01:03 Дай по-добра дефиниция на "поредица само от единици".
Ако имаш пред вид файл, от който искаш да четеш байт по байт и да ти връща 1 за всеки байт, значи тази единица трябва да ти е символа '1' (тип char na C). Но тази единица ти заема 1 байт, т.е 8 бита и битовата последователност е според ACII кодовата таблица. Ако ползваш числен тип, то той ще ти заема поне 1 байт и двоичното (битовото) представяне на 1цата ще е 00..01 Т.е. ако изпълниш дял на харда по някой от тези начини битовото съдържание ще бъде последователност от комбинация на 0ли и 1ци. Хард, изпълнен само с 0ли, би трябвало (предполагам) да е изпълнен само с 0леви байтове, което значи, че и всички битове са 0ли. Ако искаш всички битове да са 1ци - избери си числен тип и запълни дяла със максималната му стойност (тази, която има двоично представяне 11...1). |