1. bash / Говнокод #18865

    −52

    1. 1
    cat /dev/sda

    Не думал что жесткий диск можно распечтать в stdout!

    Запостил: happymarmoset, 15 Октября 2015

    Комментарии (92) RSS

    • Everything is a file.
      Ответить
      • cat /dev/heaven /dev/allah
        Ответить
      • > Не думал что жесткий диск можно распечтать в stdout!

        врут. в кернеле есть специальная прокладка которая реализует доступ к блок девайсам как к файлам.

        на некоторых классических *нихах этой поддержки нет, и блок девайсы можно только поблочно читать. если их тебе система вообще разрешит читать.
        Ответить
      • everyone is a lie
        Ответить
      • К сожалению, это не так. Например, процесс в UNIX это едва ли файл. Нельзя взять некий дескриптор процесса-сына и запихнуть его в epoll, чтобы работать с ним в рамках event loop наравне с сокетами и прочей лабудой. Приходится писать изврат через SIGCHLD и self-pipe trick, чтобы хоть как-то их туда интегрировать. И если какая-то либа у себя внутри юзает SIGCHLD, то всё, жопа.
        Хотя вот сигналы уже превратили в файлы (signalfd), хоть что-то радует.
        Ответить
        • Причём виндовое everything is a handle получилось куда удачнее.
          Ответить
          • Почему?
            Ответить
            • Ну там можно ждать и файлы и сокеты и процессы и ивенты и даже аллаха и всё одной функцией. Плюс комплетишн порт и оверлаппед ио.
              Ответить
          • > Причём виндовое everything is a handle получилось куда удачнее.
            Но местами оно натыкается на типичные юникоксовые грабли :(
            https://msdn.microsoft.com/en-us/library/ms633528%28VS.85%29.aspx

            "A thread should not use IsWindow for a window that it did not create because the window could be destroyed after this function was called. Further, because window handles are recycled the handle could even point to a different window."
            Ответить
            • Ну у HWND там вообще какая-то своя атмосфера... Они, емнип, без счётчиков ссылок и вообще не хендлы.
              Ответить
        • Ну тут нужно просто вспомнить, что настоящий UNIX в этом плане - это Plan9.
          Ответить
    • > Не думал что жесткий диск можно распечтать в stdout!
      Можно и наоборот, сохранить stdin на жёсткий диск:
      cat >/dev/sda
      Ответить
      • Я один раз случайно сделал dd себе в жёсткий диск место флэшки.
        Ответить
        • А у меня dd для зануления раздела был в истории, и я лишний раз нажал стрелку вверх и энтер... С тех пор dd исполняю только с пробелом в начале, чтобы не писалось в историю.
          Ответить
          • P.S. Кстати, для SSD есть другая замечательная команда - blkdiscard. Превращает диск в набор нулей мгновенно, в отличие от dd.
            Ответить
            • Сколько SSD потребляет электричества если сделать дискард на весь SSD?
              Ответить
              • Хер знает :) Мне лень потом ось с бекапа раскатывать.
                Ответить
                • У тебя SSD появился для начала?
                  Ответить
                  • Ну да, ты же вроде даже модельку спрашивал.
                    Ответить
                    • Ты же рассказывал как он тебе НИНУЖЕН с рейдом на трехдюймовых дисках, что поменялось?
                      Ответить
                      • Ради интереса взял.
                        Ответить
                      • > что поменялось
                        Ну ось грузится намного быстрее - как-то похуй, ибо тыкаю кнопку и иду переодеваться-умываться. Ну проги мгновенно стартуют - так они и раньше из кеша мгновенно поднимались (а не из кеша - почти мгновенно).

                        В общем, вау-эффекта не получилось. Х.з. чего народ от SSD прям радугой кончает. Может быть на винде дела обстоят по-другому, или у меня толерантность к задержкам...
                        Ответить
                        • на ноутах, с 5200 об хардами, переход на ссд таки существенно ускоряет
                          Ответить
                          • Это да. Первые дни после переезда юзал ноут. Пиздец бесил этот тормозной 5200-оборотник... А потом родной комп приехал, и ноут отправился пылиться в углу...

                            Так то можно и в него SSD воткнуть, но я не люблю ноуты, если рядом есть нормальная железка с нормальным процом, нормальным RAID'ом, джвумя нормальными мониторами и нормальной клавой...

                            > переход на ссд таки существенно ускоряет
                            Ну и опять же - это не SSD такой быстрый, это ноутовские винты такое говно.
                            Ответить
                          • Плюс винт был единственным чувствительным к ударам компонентом.

                            Мне тот самый найденный комп для игор тошно запускать - задумчивость, просадка fps из-за своппинга/загрузки с винта. К хорошему быстро привыкаешь.
                            Ответить
                        • У меня вау-эффект был еще потому, что у меня старый винт был битый (было время когда вентилятор жутко ревел, пока не смазал) и ноут иногда падал в блюскрин, из-за чего я собсно его и купил.
                          Ответить
    • Но в декабре я по ошибке позвонил вместо модема на винчестер. Вместо параметра auto-dial /dev/ttyl (последовательный интерфейс) я указал /dev/hdal (винчестер). В итоге я нечаянно попортил некоторые важные части раздела, где у меня сидела Minix. Теперь я не мог ее загружать.
      Ответить
      • wat? модем? ты на диалапе сидишь?
        Ответить
        • Копипаста же...
          Ответить
        • Minix. Танненбаум же.
          Ответить
          • Торвальдс же. Он позвонил себе на винт и запорол миникс. Ну и решил, что переустанавливать миникс влом, лучше линух дописать.
            Ответить
            • Не Танненбаум (кстати, танненбаум - ёлка по немецки)?
              Ответить
              • Гуглится же: http://linux.yaroslavl.ru/docs/about/Just_for_fun/LinusT_Just_for_fun_5.html

                Если я правильно понял, эта глава написана от имени Торвальдса (лес имени Тора по-шведски?). От имени Ёлки написано письмо в следующей главе, с которого и начался холивар «Миникс версус Линукс».
                Ответить
                • >Помню, мне пришлось выйти из дома, чтобы увеличить ОЗУ с 4 до 8 мегабайт.
                  До этого хиккан не выходил? С кем он жил?
                  Ответить
                  • 3_14dar, иди за ОЗУ насвалку, пидар!
                    Ответить
                  • Повезло мужику. Как минимум, не надо каждый день одеваться-раздеваться. (Вообще, возня с одеждой - одно из бессмысленных действий, которое должно уже давно быть заскриптовано.)
                    Ответить
                    • Я когда нужно не официально выходить одеваю спорт костюм + туфли на липучках.
                      Ответить
                  • В книге упоминается как минимум его сестра, с которой он ссорился из-за телефона (ему нужен был модем, ей хотелось с кем-то поболтать).

                    Также упоминалась их одинокая работающая мать.
                    Ответить
                    • Но не упоминается что он за ее счет жил у нее.
                      Ответить
                    • Да, Линус-то не прост... А чего добился ты?
                      Ответить
                      • Того чтобы жить у родителей за их счет и не слушать смердящую вонь я давно уже не могу добиться, тут он явно круче.
                        Ответить
                        • Ну всё от родителей зависит, тащемта. Я вот на 146% уверен, что смог бы жить у своих за их счёт и они бы не ругались ;)
                          Ответить
                          • Сейчас? А насколько тяжело у вас получить свое жилье?
                            Ответить
                            • Получить — никак. Мы же не в Совке живём. Купить — теоретически можно.
                              Ответить
                            • Насколько своё?

                              Снять хату вообще без проблем, если работаешь. Хотя бы на комнату да хватит.

                              Купить - другой вопрос. Ипотека, все дела.
                              Ответить
                              • Отдельное от родителей. Желательно свою квартиру. Сколько стоит купить или снять однокомнатную?
                                Ответить
                                • От района и качества сильно зависит.

                                  Ну вот сейчас я снимаю за 16. В ебенях или бабушкину хату можно за 12-14 где-то. Комнаты можно даже ниже 10 найти.

                                  Купить - ну в районе 1-2кк, точно не скажу.

                                  Если интересно - можешь на авито полистать цены.
                                  Ответить
                                  • Блжад, почему у вас не привыкли в нормальной валюте писать? Мы в 90-х все в баксах меряли.

                                    16 это 228 евро? Это с коммуналкой? С мебелью или с голыми стенами? Сколько метров? Какой город, как далеко от центра, от транспорта?
                                    Ответить
                                    • Да. Нет, но коммуналка у меня в пределах погрешности, 200-300р(3-4 евро) выходит. С мебелью и всей нужной и ненужной техникой. 38+ квадратов. Нск. До метро 1км, до автобусов-троллейбусов-магазинов - 500м. Как-то так.

                                      P.S. Ща задианонят по квартире.
                                      Ответить
                                      • >Нет, но коммуналка у меня в пределах погрешности, 200-300р(3-4 евро) выходит.
                                        С электричеством? Пидарас, я 55 в месяц плачу. Если на 5 разделить - ты должен был 10-ку платить, как так?
                                        Ответить
                                        • > С электричеством?
                                          Электричество + вода.

                                          > 55 в месяц плачу
                                          55 ойро чисто за свет и воду? Ебать... А сама квартира какая и во сколько обходится без коммуналки?

                                          > как так
                                          Ну я дома только вечером и в выходные. Юзаю по сути только комп, стиралку и мультиварку.
                                          Ответить
                                          • P.S. А, холодильник ещё забыл.
                                            Ответить
                                          • 55 за свет (с электроплитой), квартира без коммуналки хз, с коммуналкой без света 260, 29 квадратов. 17,5% суммарной квартплаты уходит на свет.
                                            Ответить
                                            • Почитал перерасчет. 10 €/мес абонплата + 0,265€/квч
                                              Ответить
                                            • > 17,5% суммарной квартплаты уходит на свет
                                              > с электроплитой
                                              Купи мультиварку, она меньше жрёт, да и удобней.
                                              Ответить
                                            • Или половина затрат на еду.
                                              Ответить
                                              • > половина затрат на еду
                                                Контора не оплачивает?
                                                Ответить
                                                • Какая контора? Алсо, что это меняет?
                                                  Ответить
                                                  • > Какая контора?
                                                    В которой работаешь.

                                                    > что это меняет?
                                                    Да нихуя в общем-то, просто мне эта фигня в голову пришла после фразы "половина затрат на еду". Забей.
                                                    Ответить
                                                    • Ты не понял, всех денег которые я трачу на еду дома.
                                                      Ответить
                                      • > P.S. Ща задианонят по квартире.
                                        Название улицы понял сразу, по карте с линеечкой нашёл номер дома.
                                        По моим данным, в 20 квартирах в этом доме свет горит менее, чем 8 часов в день, в 14 квартирах платят от 3 до 5 евро, в восьми стоят мультиварки, в 43х есть доступ в Интернет, в двух посещают govnokod.ru. Как оказалось, в одной из тех двух квартир незапароленный вайфай, следовательно вторая квартира - искомая.

                                        Высылаю адрес СМСками Кегдану и 3_14darу.
                                        Алексей Валентинович, часа через три мы заедем.
                                        Ответить
                                  • Комната 15 м² в 2-к, 1/1 эт.
                                    11 руб. в месяц без комиссии

                                    Эт че такое?

                                    >Сдам комнату женщине на длительный срок в совместное проживание и пользование со мной и налаживание личной жизни со мной в моём небольшом частном доме,
                                    Ахах. Однако, выдачу засирает.
                                    Ответить
                                    • Это называется контекстная реклама.
                                      Ответить
                                      • Контекстная реклама - это когда ты спрашиваешь "а почему мне на сайте X показывают гей-рекламу?" а тебе "это только у тебя".
                                        Ответить
                  • «Линус, иди есть!» Иногда я вообще не выходил. Мама говорила своим друзьям-журналистам, что я настолько неприхотливый ребенок, что мне для счастья достаточно чулана с компьютером, куда время от времени закидывают пачку макарон.
                    Ответить
                    • А сколько ему было тогда?
                      Ответить
                      • Вроде в школе учился.
                        Ответить
                        • > В 1988 году Линус поступил в Хельсинкский университет

                          > Эту дату я хорошо помню: 17 сентября 1991 года.

                          Итого: Линукс 0.01 был опубликован, когда Линус уже был студентом.
                          Ответить
                    • Райзер так и живет. С компом только проблема.
                      Ответить
                      • Кто такой райзер?
                        Ответить
                        • Hint: ReiserFS.

                          Ханс Томас Райзер (англ. Hans Thomas Reiser, произносится «Ханс Ра́йзэр», 1963, США) — американский программист, специализирующийся на операционных системах и файловых системах. Осуждён за убийство своей жены Нины Райзер.

                          В общем, теперь жена ему не мешает проектировать очередную ненужную файловую систему. Зато появились две проблемы:
                          1. Комп иметь не положено. Приходится компилировать в уме.
                          2. Наклоняться за упавшим мылом опасно.
                          Ответить
                          • Надо просто инкапсулировать наклон за мылом
                            Ответить
                        • Кстати, биография Райзера идеально подходит для пропаганды: бездуховный американец взял в жёны русскую для того, чтобы её убить. Геноцид русского народа! Не забудем, не простим!
                          Ответить
                          • ...и расчленил
                            Ответить
                            • > расчленил
                              Профессиональная привычка - делить большую проблему на меньшие, с которыми можно справиться по-отдельности.
                              Ответить
                              • Жаль, что суд это не принял как смягчающее обстоятельство.
                                Ответить
                              • >на меньшие
                                Ой ли. Русская шлюшка мертвой ебет мозги еще больше чем живой.
                                Ответить
                          • Закон Нины Райзер - запретить экспорт мяса.
                            Ответить
    • Еще вот так бы сделал:
      sudo cat 1.txt > /dev/sda
      Ответить
      • /dev/zero лучше вместо 1.txt, а то файл коротковатым может оказаться и только MBR запорется.
        Ответить
      • sudo подействует только на cat, но не на перенаправление. Не сработает.
        Ответить
        • sudo "cat 1.txt > /dev/sda" ?
          Ответить
          • Тоже не сработает. su -c с кавычками сработает. Собственно, основная проблема sudo.

            В rc, который шелл от план-найна, можно сделать sudo {cat 1.txt > /dev/sda}. В нормальных шеллах такой фичи нет.
            Ответить
            • Так кавычкопроблемы и в прыщах есть?
              Ответить
              • Проблема с sudo, емнип, в том, что она первый аргумент всегда считает прогой и отдаёт его в exec. А exec не может найти бинарник с именем cat 1.txt > /dev/sda и обламывается.
                Ответить
                • Проблема с sudo в том что никто не подумал о редиректе и уже который год всем похуй.
                  Ответить
                  • Дык тут принцип unix в действии: редиректы парсит только шелл. Хочешь редиректы - запускай через шелл (sudo sh -c). Так что всем похуй будет пока никсы совсем не вымрут.
                    Ответить
                    • У линукса очень мощные принципы, которые в итоге сводятся к тому, что всегда виноват пользователь. Даже если перестал работать скрипт который парсил выхлоп из-за того что формат выхлопа поменялся в другой версии программы.
                      Ответить
              • Ты можешь сделать что-то типа

                sudo sh -c "cat 1.txt > /dev/sda"
                Ответить
    • Изыди, злой дух, из ануса!..
      Ответить

    Добавить комментарий