image Уильям Шоттс знакомит вас с истинной философией Linux. Вы уже знакомы с Linux, и настала пора нырнуть поглубже и познакомиться с возможностями командной строки. Командная строка всегда с вами, от первого знакомства до написания полноценных программ в Bash — самой популярной оболочке Linux. Познакомьтесь с основами навигации по файловой системе, настройки среды, последовательностями команд, поиском по шаблону и многим другим.

Прочитав эту книгу, вы легко научитесь создавать и удалять файлы, каталоги и символьные ссылки; администрировать систему, включая сетевое оборудование, установку пакетов и управление процессами; редактировать файлы; писать скрипты для автоматизации общих или рутинных задач; выполнять любые работы с текстовыми файлами.

Преодолев начальный страх перед оболочкой Linux, вы поймете, что командная строка — это естественный, логичный и простой способ общения с компьютером. И не забывайте протирать пыль с мышки.


О чем эта книга


Эта книга представляет обширный обзор «жизни» в командной строке Linux. В отличие от других книг, посвященных одной программе, такой как командный интерпретатор bash, в этой книге я попытаюсь рассказать, как поладить с интерфейсом командной строки в более широком аспекте. Как он работает? Что можно сделать с его помощью? Как лучше его использовать?

Эта книга не об администрировании системы Linux. Даже при том, что любое серьезное обсуждение командной строки неизменно ведет к обсуждению тем администрирования системы, эта книга затрагивает лишь узкий круг задач, имеющих отношение к администрированию. Но она готовит читателя к дополнительным исследованиям, закладывая основы знаний, необходимых для использования командной строки как основного инструмента для решения любых серьезных задач системного администрирования.

Эта книга исключительно о Linux. Многие книги пытаются расширить свою целевую аудиторию, включая в обсуждение другие платформы, такие как Unix и Mac OS X. По этой причине в них обсуждаются лишь общие темы. Эта книга, напротив, посвящена только современным дистрибутивам Linux. И хотя девяносто пять процентов сведений будут полезны пользователями других Unix-подобных систем, основной целевой аудиторией этой книги являются пользователи командной строки современных версий Linux.

Кому адресована эта книга


Эта книга адресована новым пользователям Linux, мигрирующим с других платформ. Весьма вероятно, что вы — «опытный пользователь» определенной версии Microsoft Windows. Возможно, руководитель дал вам задание освоить администрирование Linux-сервера или, может быть, вы обычный пользователь, уставший от нескончаемых проблем безопасности и решивший попробовать Linux. Кем бы вы ни были, здесь вас ждет радушный прием.

Однако следует отметить, что в освоении Linux нет простых путей. Изучение командной строки — непростая задача, требующая определенных усилий. Не то чтобы это чересчур сложно, скорее очень многообразно. Обычная система Linux содержит тысячи программ, которые можно использовать в командной строке. Поэтому имейте в виду, что желание изучить командную строку должно быть осознанным и целенаправленным.

С другой стороны, изучение командной строки Linux чрезвычайно полезно. Если вы считаете себя опытным пользователем, подождите немного, и вы узнаете, что такое действительно опытный пользователь. Кроме того, в отличие от других навыков работы с компьютером, умение работать в командной строке еще долго будет оставаться полезным. Навыки, приобретенные сегодня, останутся полезными и через 10 лет. Командная строка выдержала испытание временем. Если у вас нет опыта программирования — не волнуйтесь, мы поможем в его приобретении.

Что дается в этой книге


В этой книге материал излагается в тщательно выверенной последовательности, как в школе, где учитель руководит вами и направляет вас по правильному пути. Многие авторы грешат тем, что подают материал в «систематическом» порядке, имеющем определенный смысл для писателя, но способном вызывать путаницу у начинающих пользователей.

Цель данной книги — познакомить вас с идеологией Unix, которая отличается от идеологии Windows. По пути мы иногда будем отклоняться в сторону, чтобы попытаться понять, почему то или иное работает именно так, а не иначе. Linux — это не просто программное обеспечение, это также часть обширной культуры Unix, имеющей свой язык и историю. Здесь я мог бы добавить еще пару напыщенных фраз. Но воздержусь от этого.

Книга делится на четыре части, каждая из которых охватывает определенный аспект владения командной строкой:

Часть I «Командная оболочка» вводит в курс основ языка командной строки: структура команд, приемы навигации в файловой системе, редактирование командной строки и поиск справочной информации с описанием команд.

Часть II «Окружение и настройка» посвящена редактированию конфигурационных файлов, управляющих работой командной строки.
??
Часть III «Типичные задачи и основные инструменты» исследует множество типовых задач, часто выполняемых в командной строке. Unix-подобные операционные системы, такие как Linux, имеют множество «классических» программ командной строки, помогающих выполнять различные операции с данными.
??
Часть IV «Сценарии командной оболочки» знакомит с программированием на языке командной оболочки, который, по общему мнению, обладает не слишком широкими возможностями, но прост в изучении и позволяет автоматизировать многие вычислительные задачи. Изучая программирование на языке командной оболочки, вы познакомитесь с идеями, которые сможете применять в других языках программирования.

» Более подробно с книгой можно ознакомиться на сайте издательства
» Оглавление
» Отрывок

Для Хаброжителей скидка 25% по купону — Шоттс
По факту оплаты бумажной книги отправляем на e-mail электронную версию книги.
Поделиться с друзьями
-->

Комментарии (64)


  1. amarao
    20.09.2016 12:24
    -2

    Два вопроса: сколько в книге посвящено xargs? Сколько jq?

    Если jq не освещена, книга морально устарела.


    1. iqiaqqivik
      20.09.2016 18:13
      +8

      Знаете, я 17 лет на линуксе на всех машинах, на которых есть моя учетная запись, и мне ни разу не потребовалось хоть что-то сделать с джейсоном.

      Зачем такой узкоспецифичной фигне посвящать больше одной строчки?


      1. amarao
        21.09.2016 13:01
        -3

        Дело в том, что это не «узкоспециализированная фигня», а механизм (в настоящий момент — единственный, пока MS не допилит powershell в Линуксе до приличного состояния), который позволяет работать со структурированными данными в шелле.

        Ни awk, ни sed, ни другие подручные средства не позволяют уверенно говорить о структуре входных и выходных данных.

        То, что лично вы 17 лет ни разу не сталкивались с такого рода задачами, всего лишь говорит о круге задач, которые вы решаете, а не о важности инструмента.


        1. iqiaqqivik
          21.09.2016 13:47
          +1

          > механизм [..] единственный [...] который позволяет работать со структурированными данными в шелле
          Во-первых, это не так. Структурируйте данные в CSV и используйте `cut` в свое удовольствие.
          Во-вторых, зачем бы это мне работать в шелле со структурированными данными? Я в микроконтроллере, даже без перла? — ну тогда это «узкоспециализированная фигня». Я на нормальном хосте? — ну так я, спасибо, перлом, руби, питоном, юнеймит буду парсить.


          1. amarao
            21.09.2016 19:35
            -2

            Вы говорите правильные слова, но не учитываете особенностей CSV. В CSV могут быть символы точка с запятой, в кавычках (или эскейпленные, я не помню). Их вырезать cut'ом уже не получится. Ни один существующий формат не работает с шеллом так, чтобы не было edge-case'ов. Только jq и json в настоящий момент позволяют это сделать гарантированно правильно, с учётом синтаксиса формата данных.

            Насчёт микроконтроллера — последний раз, когда я был на микроконтроллере, на нём крутился jvm с rest-api. Памяти было маловато (32Мб), но для нужд java хватало.

            Если же вы говорите про совсем-совсем embedd, то в нём нет «командной строки линукса», точнее есть — это /proc/cmdline, но у меня есть интуитивное представление, что книжка всё-таки не про linux, а про coreutils/psutls и прочие GNU'шные радости.

            Вот в этом контексте я и говорю про важнейший новый инструмент, который обязательно должен быть освещён в профлитературе.


            1. iqiaqqivik
              21.09.2016 19:57

              Давайте я совсем просто, для очень упертых. Вы строите какие-то безумные обобщения, приписываете мне неучет чего-то там, сами себе противоречите.

              Если вы можете убедить отсылающую сторону слать json, то и заменить точки с запятой внутри полей на ? сумеете. Поэтому CSV прекрасно подходит. Надо сложную структуру разворошить? — возьмите перл уже, не нужно мучить зрителей. Наколеночная поделка для непоймичего (вы так и не смогли представить ни единого мало-мальски осмысленного юзкейса, в котором вдруг надо парсить json (!) голым шеллом (!!)) — нахрен никому не вперлась, и отводить ей место в книге, как минимум, странно.

              JSON вообще должен сдохнуть, но, к сожалению, я понимаю, что этого в ближайшем будущем не случится.


              1. amarao
                21.09.2016 20:20
                -2

                ОООЛООООокей, вы просто не понимаете, зачем структурированные данные в шелле. если отвечать коротко, то для того, чтобы решить проблему однострочником в 50 символов, вместо программы на перле/питоне в 50 строк.

                Ввот вам кусок продакшен-запроса: ceph osd dump -f json|jq ‘.osds[]|select(.osd == 11)|.uuid’


                1. iqiaqqivik
                  21.09.2016 23:31

                  Ну ясно, сейчас вы предложите `ceph` тоже включить в книгу «Линукс для начинающих». Я представления не имею, зачем у вас продакшн так устроен, и знать, простите, не желаю.


                  1. amarao
                    22.09.2016 17:39
                    -2

                    Во-первых не «для начинающих», а «полное руководство». Во-вторых, я упор делаю не на ceph, а на то, как с использованием jq есть возможность формировать осмысленные запросы по структурированным данным. Это инструментарий одного уровня с sed'ом, но новее. Если книга не освещает jq подробно, то это не полное руководство, а какая-то детсадовская порнография.


                    1. kx13
                      22.09.2016 19:10
                      +2

                      > Если книга не освещает jq подробно, то это не полное руководство, а какая-то детсадовская порнография.

                      Судя по вашей логике, руководство может быть полным только если освещает все существующие на свете утилиты (по крайней мере на момент написания книги).

                      Т.к. может найтись человек, который использует утилиту, разбирающую формат xml (тоже структурированные данные).
                      Он тоже скажет: про jq написали, а про xmlq — нет. Значит это не «полное руководство». И т.д.

                      Книга называется «Полное руководство...» т.к. по мнению автора он осветил все ключевые моменты работы в коммандной строке. Нет смысла придираться к названию.


                      1. amarao
                        22.09.2016 20:51

                        Не все, а основные.

                        А вот про xmlq я не знал, спасибо. Более того, если там вменяемый язык запросов, то я уже знаю, где я его/её использую на работе.


                    1. kx13
                      22.09.2016 19:22
                      +1

                      > с использованием jq есть возможность формировать осмысленные запросы по структурированным данным

                      Форматов структурированных данных уйма. Про каждый рассказывать, места не хватит.
                      Вам близок формат json, вы о нем говорите. Но книга для широкого круга, поэтому про все форматы придется упомянуть (ну или о 5 самых популярных, например).

                      Хоть кое-где json используется часто, на самом деле вещь специфическая. A если про каждую специфическую вещь в книге не написать, она станет толстая-претолстая. И найдется мало желающих ее приобрести.

                      Надо понимать, что есть вещи общеупотребительные и специфические.
                      Текст — сущность общеупотребительная, про обработку текста в книге немало отведено места.

                      А json — это текст оформленный специальным образом (по крайней мере в контексте работы в командной строке).


                      1. amarao
                        22.09.2016 20:51
                        -1

                        Упор не на json, а на работу со структурированными данными. Я не знал, что есть что-то, кроме jq. Оказалось, есть ещё xmlq.


                        1. iqiaqqivik
                          23.09.2016 08:15

                          Задам, все-таки, этот вопрос еще разок: зачем обрабатывать структурированные данные шеллом? Кроме «вот вам пример того, как мы извращаемся в продакшене».


                          1. amarao
                            23.09.2016 15:16

                            А зачем вообще что-то делать в шелле? Ровно за тем же и «структурированные данные». Нужно посмотреть конкретное значение в выводе на ~30 экранов — смотришь. Скриптом, а не выискиваешь руками. Нужно вывести топ по утилизации? Выводишь, etc, etc.


                            1. iqiaqqivik
                              23.09.2016 15:43
                              +3

                              Сверился с календарем: на моем 2016. Я в шелле нахожусь примерно 50% всего времени, которое провожу за компьютером. Но я попрошу об эвтаназии, если замечу за собой анализ 30 экранов map-reduce’ом _в шелле_.

                              Что такое «топ по утилизации», простите, мне неизвестно.

                              Но и в том, и в другом случае я либо научу того, кто отдает json на 30 экранов… Хотя нет, этого уже ничему не научить. Ладно, это бессмысленная дискуссия, вы решаете задачи, которых в моем мире не существует из-за того, что я стараюсь продумывать архитектуру. Наверное, судя по существованию утилиты, есть еще миры, в которых такие задачи есть.

                              Вы считаете, что это нормально, и тогда, безусловно, утилиту нужно упомянуть в книжке. Я считаю, что jq — костыль для решения дичайшей архитектурной проблемы. map-reduce надо делать там, где он является эндемиком. И шелл — точно не такой ареал.


                        1. kx13
                          23.09.2016 08:54
                          +1

                          > Упор не на json, а на работу со структурированными данными

                          Вот здесь как раз вопрос методологии обучения.

                          Книга учит человека, что можно обрабатывать данные в виде цепочек команд.

                          Т.е. человек знает, что в командной строке данные могут передаваться от одной программы к другой. И, если, какой-то этап коневеера его не устраивает (например обработка json с помощью awk), он просто ищет замену awk.

                          А что там передается, как данные обрабатываются — это вопрос не принципиальный в данном случае.

                          В книги просто приведны примеры для утилит работающих с текстом, как самых широко распространенных.


                          1. amarao
                            23.09.2016 15:18
                            -1

                            При этом даже не объясняет, как в этом можно сделать map/reduce.

                            То есть устаревшая книга не дающая современных навыков.


  1. Delphinum
    20.09.2016 12:43

    Когда же вы уже сделаете оплату через банковскую карту?


    1. ph_piter
      20.09.2016 13:06

      Есть, давно.


      1. Delphinum
        20.09.2016 13:16

        Через PayOnline System?


        1. ph_piter
          20.09.2016 13:23

          Да


          1. Delphinum
            20.09.2016 13:24

            Все это время я думал что у вас нет оплаты через банковскую карту. Интересно получилось. Спасибо за книгу и идею.


  1. Erelecano
    20.09.2016 13:23

    Еще и трусливо отклоняют правдивые комментарии специалистов.
    Книга какой-то жесткий привет из прошлого.
    netstat который уже 10 лет deprecated(используйте ss и lsof), fdisk который работает с MBR(в то время, как все давно перешли на GPT и нужно описывать parted), передача файлов по ftp(руки отрывать за такие идеи).
    И это только беглый взгляд на оглавление. Подозреваю, что внутри будет еще и ifconfig, который тоже депрекейтед и прочие прелести из девяностых.


    1. philosophocat
      20.09.2016 13:39
      +2

      Не рекламы ради: посоветуйте, пожалуйтса, литературу/статьи по теме.


      1. Erelecano
        20.09.2016 13:42
        +1

        Книги никогда не будут поспевать за IT-сферой. Есть книга на все времена, за авторством Эви Немет, которую нужно прочитать для общего ознакомления, а дальше читайте маны и статьи на профильных сайтах.


        1. philosophocat
          20.09.2016 13:46

          Хорошо, спасибо :)


          1. Erelecano
            20.09.2016 14:58
            -1

            Да не за что. Книгу Эви Немет стоит прочитать просто для общего понимания, ну и как исторически важную для книг о Unix и Linux веху. А все прочее нужно читать уже в конкретные моменты.
            Собственно вот мои претензии к книге представленной издательством как раз по той причине, что у них материал устарел на 10-15 лет и описывает устаревшие команды(как netstat и fdisk) или устаревшие технологии(как ftp).


            1. gandi
              21.09.2016 08:47

              Помогите мне разобраться в вопросе. Я сам по большей части программист, но для моей работы мне необходимо работать с серверами. В моем мире работы с линуксом команда netstat и передача файлов по ftp в принципе случалась и я как-то не задумывался, что это устаревшие технологии. Вот собственно вопрос, что Вы можете предложить взамен этих двух технологий, мне реально интересно?


              1. Erelecano
                21.09.2016 08:49
                -1

                > netstat который уже 10 лет deprecated(используйте ss и lsof)
                > sftp/scp. Столь же прост, но более устойчив к недобрым людям живущим на пути ваших пакетов.

                Вы не очень внимательны в чтении комментариев. Все уже было указано.


              1. iqiaqqivik
                21.09.2016 11:06
                +5

                Да он школьник с апломбом просто, зачем вы его слушаете? Все прекрасно и с `netstat` и c `ftp` (пока вы не гоняете туда-сюда кредитные карточки клиентов, конечно.) sftp — это мертворожденный уродец, а `scp`, как и все поверх `ssh`, дает в некоторых случаях стопроцентный и более оверхед.

                Пусть живет в своем мирке с «новыми» технологиями, не мешайте вы ему :)


            1. b0rmann
              21.09.2016 11:43
              +3

              чем устарел ftp? во первых существуют миллионы устройств которые не имеют другого протокола для переноса файлов (ну, может ещё tftp). не говорю о милионах хостингов, и разного всякого софтвара котрый тоже с ничем другим не работает. для начала милионов 100 сайтов под вордпрессом ;)


              1. Erelecano
                21.09.2016 11:49
                -4

                Первое что я делаю приходя к новому клиенту это объясняю, что использование ftp — идиотизм(некриптованная передача логина-пароля, некриптованная передача файлов) и удаляю ftp-демон к лягушачьей бабушке, если клиент способен понимать слова.
                Про миллиарды сайтов на вордпрессе да сколько угодно, но лучше уж используйте всякие его родные файл-менеджеры, чем запускайте уязвимый фтп-демон(а они все дырявые, посмотрите данные по всяким proftpd, vsftpd и ко, разве что pure-ftpd как-то держится).
                ftp устарел так же, как устарел gopher, но гофер выкинули на помойку истории, а труп фтп отдельные некрофилы все еще насилуют.


                1. navion
                  21.09.2016 13:23

                  они все дырявые, посмотрите данные по всяким proftpd, vsftpd

                  Вы про этот vsftpd или какой-то другой?


                1. b0rmann
                  21.09.2016 13:37
                  +1

                  ftp вас ещё прекрасно переживёт. о конкретных демонах разговора нет. ну, а те кто приходят к нам рассказывать какие протоколы для нас опасны и что надо одинсталировать — учатся считать ступеньки от шестого этажа, сразу за свидетелями еговы и страховыми агентами.


      1. navion
        20.09.2016 13:51
        +1

        Они раньше перевели отличную How Linux Works / Внутреннее устройство Linux, но она больше про работу системы, а не скрипты на баше.


        1. Erelecano
          20.09.2016 14:15
          -1

          А на какой язык они ее перевели?
          «Представлены также внедренные системы, например Android и OpenWRT»
          Кем и куда внедренные системы? Или это просто переводчик не знал, что системы «встраиваемые»?


          1. navion
            20.09.2016 15:11

            Есть пара мест, где пришлось переводить написанное обратно и оформление хуже оригинала, но читается легко и очень полезный материал даётся в сжатом виде.
            Про книгу Немет такого, к сожалению, не скажешь и она уже сильно устарела — ни слова про systemd, firewalld и настройку SELinux, зато куча сендмейла и вымирающих юниксов.


            1. Erelecano
              20.09.2016 15:12

              Извините, но Немет пропала без вести и не может написать новую редакцию. Она бы может и с радостью, но, увы, уже 3 года нам неизвестно где она.


              1. navion
                20.09.2016 15:17

                Я в курсе, но это никак не влияет на полезность книги в 2016 году.


    1. kx13
      20.09.2016 15:11
      +6

      Всякие netstat, fdisk с MBR (GPT не всем нужен), ftp, ifconfig — это «классика» проверенная временем.
      На то она и книга, тем более по IT, чтобы освещать некие базовые и самые широко распространенные вещи.
      Тот же ifconfig был 10 лет назад, сейчас есть и еще 10 лет будет. Если надо IP адрес посмотреть зачем что-то сложнее ifconfig?

      Надо ведь понимать, что каждый инструмент имеет свои ограничения. Эти инструменты старые, может не слишком функциональные. Но если свои задачи выполняет, то незачем их заменять?

      90% книги актуальна сейчас и будет актуальна еще долго. Она ведь для новичков, по большому счету.

      Кому их мало функционала, пользуйтесь ss, lsof, jq и прочим. Кто мешает?
      Можно подумать, те, кто использовал или используют netstat, никогда не будут работать с lsof. Мне, например в 90% хватает netstat-a.

      > передача файлов по ftp(руки отрывать за такие идеи).

      Чем ftp не угодил? Чем его заменить таким же простым?


      1. Erelecano
        20.09.2016 15:18
        -1

        > Тот же ifconfig был 10 лет назад, сейчас есть и еще 10 лет будет. Если надо IP адрес посмотреть зачем что-то сложнее ifconfig?

        ifconfig устарел и не способен выполнять свои функции уже давно. Он сохраняется только для обратной совместимости. Посмотреть адрес проще использовав ip a s [name_dev]. Мне уже кто-то жаловался, что зайдя на свежепоставленный CentOS не обнаружил там ifconfig, только ip. Так и вы заучивая устаревшие команды в один грустный день не поймете что же делать.

        > те, кто использовал или используют netstat, никогда не будут работать с lsof.

        Опять же завтра зайдя на свежепоставленный сервер вы можете обнаружить, что netstat выкинули, ибо он давно deprecated.

        > Чем ftp не угодил? Чем его заменить таким же простым?

        sftp/scp. Столь же прост, но более устойчив к недобрым людям живущим на пути ваших пакетов.


        1. kx13
          20.09.2016 15:49
          +4

          > ifconfig устарел и не способен выполнять свои функции уже давно.

          Если ifconfig не делает того, что написано в его документациии, значит ошибка в программе.
          Иначе он выполняет свои функции. Другой вопрос, что набор функций невелик.

          > Так и вы заучивая устаревшие команды в один грустный день не поймете что же делать.

          Такие изменения происходят не вдруг. Грамотный подход — это ведь не заучивание команд, а понимание принципов.
          Это ведь то же самое, если бы в этой книге написали бы про самую продвинутую утилиту на сегодняшний день, а через 20 лет она так же устареет, а ее выкинут.

          В книге нужен пример, для него берется то, что давно используется и широко известно. Кто после прочтения главы поймет, что ifconfig не справляется. Быстро найдет альтернативу.

          > sftp/scp. Столь же прост, но более устойчив к недобрым людям живущим на пути ваших пакетов.

          Тоже хороший вариант.

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

          Нужно подбирать инструмент под задачу.
          Если утилита удовлетворяет всем требованиям — берем. Если не удовлетворяте, то это негодная утилита для конкретной задачи. Вопрос может только так ставится. Ну и немного вкусовщины может быть, например выбрать ту утилиту, где конфиги в простом текстовом формате, а не в XML.


      1. loginsin
        21.09.2016 00:17

        Навскидку:
        * ifconfig не отображает всех адресов интерфейса (в linux).
        * Навесить больше одного нельзя.
        * Снять адрес с интерфейса нельзя.
        Во FreeBSD это все закостылили через ifconfig dev alias

        Живой пример:

        [root@server1101 ~]# ifconfig eth1.5
        eth1.5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
                inet 10.21.0.36  netmask 255.255.255.0  broadcast 10.21.0.255
                ether XX:XX:XX:XX:XX:XX txqueuelen 0  (Ethernet)
                RX packets 18741038683  bytes 2738418377826 (2.4 TiB)
                RX errors 0  dropped 0  overruns 0  frame 0
                TX packets 11535933635  bytes 24058416457149 (21.8 TiB)
                TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        
        [root@server1101 ~]# ip a s dev eth1.5
        8: eth1.5@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
            link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
            inet 10.21.0.36/24 brd 10.21.0.255 scope global eth1.5
               valid_lft forever preferred_lft forever
            inet 10.21.12.212/16 brd 10.21.255.255 scope global eth1.5
               valid_lft forever preferred_lft forever
        [root@server1101 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1.5
        DEVICE="eth1.5"
        ONBOOT=yes
        NETBOOT=yes
        IPV6INIT=no
        PEERDNS=no
        BOOTPROTO=static
        IPADDR0=10.21.0.36
        PREFIX0=24
        IPADDR1=10.21.12.212
        PREFIX1=16
        VLAN=yes
        NM_CONTROLLED=no
        


        На мой взгляд (после беглого чтения LARTC), iproute2 куда удобнее богатого разнообразия устаревших утилит.


        1. iqiaqqivik
          21.09.2016 07:06
          +3

          То, что молотком довольно непросто завернуть шуруп, не делает его плохим инструментом. Когда мне быстро нужно глянуть, что мне по DHCP выдал роутер, я как вызывал 15 лет назад `ifconfig`, так и буду делать то же самое еще 15 лет спустя.


          1. Erelecano
            21.09.2016 07:43
            -1

            > так и буду делать то же самое еще 15 лет спустя.

            А оно будет в ответ говорить

            command not found

            Но вы будете продолжать вводить команду которой нет.


            1. iqiaqqivik
              21.09.2016 08:22

              Вам лет-то сколько? 20? 22?

              Почитайте, что ли, какую-нибудь научно-популярную книжку для чайников про идеологию unix.


              1. Erelecano
                21.09.2016 08:25
                -6

                Деточка, мне 36 из которых 18 лет я работаю с никсами. То есть дольше, чем ты живешь на свете.


                1. iqiaqqivik
                  21.09.2016 11:12
                  +3

                  Люди, которые действительно работают с юниксами, а не дрочат настройки по ночам на всех доступных серверах, никогда не скажут такую глупость, как `ifconfig` устарел.


        1. navion
          21.09.2016 13:40

          * ifconfig не отображает всех адресов интерфейса (в linux).
          * Навесить больше одного нельзя.

          Стандартный гуй в RHEL также себя ведёт, а дополнительные адреса там принято добавлять через сабинтерфейсы:
          eth0      Link encap:Ethernet  HWaddr 00:0C:29:AC:1E:26
                    inet addr:10.2.9.5  Bcast:10.2.9.255  Mask:255.255.255.0
                    inet6 addr: fe80::20c:29ff:feac:1e26/64 Scope:Link
                    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                    RX packets:10924221 errors:0 dropped:0 overruns:0 frame:0
                    TX packets:6251638 errors:0 dropped:0 overruns:0 carrier:0
                    collisions:0 txqueuelen:1000
                    RX bytes:6974724562 (6.4 GiB)  TX bytes:6426851488 (5.9 GiB)
          
          eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:AC:1E:26
                    inet addr:10.2.9.6  Bcast:10.2.9.255  Mask:255.255.255.0
                    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          
          eth0:2    Link encap:Ethernet  HWaddr 00:0C:29:AC:1E:26
                    inet addr:10.2.9.7  Bcast:10.2.9.255  Mask:255.255.255.0
                    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          


          1. loginsin
            21.09.2016 15:03

            Нисколь не умаляя возможности стандартного гуя в RHEL и предпочтения приверженцев net-tools в целом, все же считаю, что в linux net-tools уже не нужны (ну или нужны в порядке совместимости).
            https://en.wikipedia.org/wiki/Ifconfig#Related_tools

            Some Linux distributions have deprecated the use of ifconfig and route in favor of the software suite iproute2,[3] which has been available since 1999 for Linux 2.2.[4] iproute2 includes support for all common functions of ifconfig(8), route(8), arp(8) and netstat(1). It also includes multicast configuration support, tunnel and virtual link management, traffic control, and low-level IPsec configuration, among other features.


            Там выше был комментарий
            Люди, которые действительно работают с юниксами, а не дрочат настройки по ночам на всех доступных серверах, никогда не скажут такую глупость, как `ifconfig` устарел.


            Тут как получается: route, ifconfig, netstat, vconfig, brctl, arp да много ли чего еще, часть из которых вовсе не входит в net-tools.
            Iproute2: просто команда ip (кроме шейпинга).

            В целом, похоже развивается холивар, не думаю, что есть смысл его поддерживать. По своему лишь опыту скажу, что при настройке своего домашнего сервера для настройки сети так, чтобы все работало так, как требовалось, мне надоело компилить каждый раз под гентой очередную новую утилитку. Некоторые вещи вообще не могли решить net-tools (как например доступность сервера с двух аплинков).

            Да, добавлю: все вышесказанное актуально только для Linux. В BSD системах эти утилиты активно развиваются. Но опять же: ifconfig, setfiber (причем количество таблиц устанавливается в ядре!) и пр.пр.


            1. iqiaqqivik
              21.09.2016 15:20

              Комментарий был мой, поэтому скажу: я не знаю уж, зачем вам на сервере генту, но даже там, я уверен, `ifconfig` есть из коробки (ну из того минимального набора, без которого сеть вообще не поднимется). Для того, чтобы настраивать сервера у меня есть вон такие крутые админы, как этот 36-летний спец, которые знают в лицо все стопиццот современных утилит.

              Мне же вполне хватает `ifconfig`, и из-за таких как я его никогда не перестанут поддерживать, хоть тушкой, хоть чучелом, хоть алиасом на расово-верную современную команду с пятнадцатью параметрами.


              1. loginsin
                21.09.2016 16:18

                Ну здесь вопрос нужды. В моем случае дело не в генте (и что в ней надо что-то компилить), а в том, что базовыми инструментами в текущий момент даже не все тривиальные ситуации решить могут. Как я уже выше писал: для бриджа — извольте bridge-utils, для тегированного трафика — vconfig. route не умеет работать с несколькими таблицами. net-tools сейчас вообще не развивается в linux, в отличие от BSD.
                В моем случае отказ от них был вызван в связи с необходимостью, а не с вопросом «больше нравится».


          1. loginsin
            21.09.2016 15:07
            +1

            А книжка, кстати, толковая. Понятно, что любая книга не угонится за прогрессом, но базовые понятия даются хорошо: для толкового новичка даст возможность развиваться.


    1. Sunrisekhv
      21.09.2016 09:28

      Простите, а чем плохи ifconfig, netstat и fdisk? Тот же ifconfig часто использую для проверки состояния интерфейсов, причем больше интересует количество входящих/исходящих пакетов. Fdisk дает неплохие данные о разделах, в том числе созданных при помощи parted. Netstat же первое что приходит в голову когда надо посмотреть активные сетевые сессии. Цель книги, я так понимаю, научить пользоваться командной строкой, а уже инструменты человек подберет себе сам.
      P.S. В комментариях уже ответили.


      1. Erelecano
        21.09.2016 09:33
        -1

        ifconfig не может добавить несколько адресов на интерфейс(про алиасы не нужно, именно на интефейс, а не создавая левые интефейсы), netstat объявлен deprecated и может быть в любой момент выброшен без дальнейших предупреждений и учить использовать его — глупость, fdisk в книге позиционируется для создания разделов, а он не может их создавать на GPT-дисках о чем он прямо скажет бедному ребенку взявшему эту книгу в руки.

        > Netstat же первое что приходит в голову когда надо посмотреть активные сетевые сессии.

        Кому приходит? Вам? А мне приходит в голову lsof и именно мой вариант правильный, так считает вся документация.


        1. Sunrisekhv
          21.09.2016 09:42

          Да, но ifconfig и net-stat входят в пакет утилит net-tools, поддержка которого будет продолжаться еще очень долго.


          1. Erelecano
            21.09.2016 09:45
            -3

            Так как netstat объявлен deprecated больше 10 лет назад его в любой момент может не оказаться в net-tools, вот просто может завтра выйти обновление в котором будет сказано «А мы его дропнули, всех же предупреждали». Про системы без ifconfig'а я уже писал, мне недавно один такой начитавшийся подобных книжонок ребенок жаловался, что зашел на CentOS, а ifconfig'а и нет. Я уж не стал разбираться что это был за чудо-CentOS, а просто сказал «Используй ip, как нормальные люди», но во вреде подобных книжек убедился в очередной раз.


            1. Sunrisekhv
              21.09.2016 09:47
              +1

              Это был CentOS 7, в шестой версии netstat еще присутствовал. Опять же, каждый сам выбирает себе инструменты. Поставить net-tool дело 20 секунд.


    1. b0rmann
      21.09.2016 11:33

      а что если ss религия запрещает использовать?


      1. Erelecano
        21.09.2016 11:34

        Если религия запрещает использовать какие-то команды, то рекомендуется сходить к психиатру, он назначит лечение.


  1. JIghtuse
    20.09.2016 15:07
    +6

    Пролистывал эту книгу. Ведение в командную строку (первая часть) и основы написания скриптов (последняя часть) описаны неплохо. Местами, конечно, устарела, но в целом мне понравилась.


    В оригинале доступна бесплатно: http://linuxcommand.org/tlcl.php


  1. Rogerg
    22.09.2016 21:58

    А это книга подойдет, как учебное пособие по Линукс-серверу, для начинающих?


  1. degressor
    28.09.2016 09:55

    Как вводный материал может и не плохо. А вот если уже годами пользуюсь но хочется поглубже да по основателеьней?