Джентльменский набор команд Linux Часть 1


    Закон Парето применим ко многим сферам, в том числе и к работе с терминалом Linux, ведь всего нескольких десятков команд позволит легко справляться с большинством задач. Мы выбрали 40 наиболее полезных команд, использование которых способно сильно облегчить жизнь при работе с Linux. Статья не претендует на статус истины в последней инстанции или максимально подробного руководства, а очередность команд обусловлена лишь алфавитным порядком.


    Джентльменский набор команд Linux Часть 1:


    1. alias
    2. cat
    3. cd
    4. chmod
    5. chown
    6. curl
    7. df

    1. alias


    Команда alias создает «ярлык» другой команды или последовательности команд Linux.


    Синтаксис команды alias:


    alias имя="значение"
    alias имя="команда аргумент"
    alias имя="/путь/к/файлу"

    alias позволяет:


    • Быстрее вводить команды.
    • Исправлять частые опечатки.


      Довольно распространенная ситуация, когда вместо команды ls вводится sl. В результате пользователь получает сообщение об ошибке:


      С помощью команды alias можно исправить данную проблему:



    $ alias sl=ls
    $ sl
    ./  ../  alias.txt

    Использования команды alias для последовательности команд:


    alias pf="ps -e | grep $1"

    В данном алиасе команда ps используется для вывода списка запущенных процессов, в котором grep ищет процессы, соответствующие параметру $1.


    Стоит отметить, что команда alias по умолчанию работает лишь для текущей сессии командной строки. Т.е. если разлогиниться или открыть другой терминал, то созданные алиасы перестанут работать. Чтобы сделать их постоянными необходимо включить их в свой локальный файл домашней директории ~/.bashrc (в случае использования bash в качестве командной оболочки).


    $ ls
    alias.txt
    $ echo 'alias ls="ls -l"' >> ~/.bashrc 
    $ . ~/.bashrc
    $ ls
    total 0
    -rw-rw-r-- 1 lubos lubos 0 Jan 15 18:27 alias.txt

    2. cat


    Команда cat выводит содержание файлов в окне терминала.


    cat позволяет:


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

    Синтаксис команды cat:


    cat опции файл1 файл2

    Чтобы посмотреть содержимое файла .bash_log_out через терминал нужно ввести:


    cat .bash_logout

    Чтобы склеить несколько файлов с помощью команды cat нужно просто указать названия файлов в аргументах, а результаты записать в новый файл. Например:


    cat file1 file2 > file3

    Основные опции cat:


    • -b — нумеровать только строки с содержимым;
    • -E — выводить $ в конец каждой строки;
    • -n — нумеровать все строки;
    • -s – удалять повторы пустых строк;
    • -T — выводить табуляции в виде ^I.

    3. cd


    cd изменяет текущий каталог, переводя в другое место файловой системы.


    Синтаксис команды cd:


    cd опции папка_назначения

    Чтобы перейти в подкаталог домашней папки нужно просто указать после команды название директории (img для примера):


    cd img

    Если нужно попасть в другой каталог нужно указать путь:


    cd /usr/local/bin

    Чтобы быстро попасть в домашний каталог нужно указать вместо имени ~ (tilde):


    cd ~

    Вернуться в предыдущую папку:


    cd –

    Перейти в родительский каталог:


    cd ..

    Перемещение в родительский каталог текущего родительского каталога


    cd ../../

    4. chmod


    Команда chmod устанавливает права доступа к файлу или каталогу.


    chmod позволяет:


    • Разделить привилегии между пользователями.
    • Ограничить доступ к нежелательным файлам и папкам.
    • Контролировать доступные сервисам действия и прочее.

    Синтаксис команды chmod:


    chmod опции права /путь/к/файлу

    Если вывести список папок и файлов командой ls с параметром –l, то можно увидеть нечто подобное:


    -rwxrwxrwx

    Первый символ означает:


    • «-» — является файлом;
    • «d» — является каталогом.

    Остальная часть строки в 9 символов разбивается на три группы по 3 символа в каждой:


    • Первые 3 символа – права доступа к файлам владельца (-rwx------).
    • Вторые 3 символа – права доступа к файлам группы (----rwx---).
    • Последние 3 символа – разрешения для других (-------rwx).

    Обозначения символов:


    • r – Чтение.
    • w – Запись.
    • x – Выполнение.

    Если какой-то из символов отсутствует и вместо него указан «-», тогда нет доступа к данному действию.


    Также задать права доступа можно с помощью цифр:


    • 0 – нет прав (-);
    • 1 – только выполнение (--x);
    • 2 – только запись (-w-);
    • 3 – запись и выполнение (w-x);
    • 4 – только чтение (r--);
    • 5 – чтение и выполнение (r-x);
    • 6 – чтение и запись (rw-);
    • 7 – чтение, запись и выполнение (rwx).

    Например, у файла «ex.txt» указаны все права:


    -rwxrwxrwx

    Нужно изменить их на:


    • Пользователь – все права (7 или rwx).
    • Группа – чтение и запись (6 или rw-).
    • Другим – чтение и выполнение (5 или r-x).

    Тогда вводим следующую команду:


    chmod 765 ex.txt

    5. chown


    Команда chown (change owner) позволяет менять владельца и группу владельца:


    • Файлов.
    • Каталогов.
    • Ссылок.

    Синтаксис команды chown:


    chown пользователь опции /путь/к/файлу

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


    Основные опции команды chown:


    • -c — детальный вывод всех выполняемых изменений;
    • -f — минимум информации (убирает ошибки из выдачи);
    • -h — изменять права символических ссылок, а файлы к которым они ведут не трогать;
    • -R — рекурсивная обработка всех подкаталогов;
    • -L — переходить по всем символическим ссылкам на директории.

    Изменить владельца папки ex1 на user:


    chown user ./ex1

    Изменить на владельца user и группу users:


    chown user:users ./ex1

    Чтобы изменения применялись не только к данному каталогу, но и всем подкаталогам внутри, необходимо добавить опцию -R:


    chown -R user:users ./ex1

    6. curl


    Утилита curl извлекает информацию и файлы с url-страниц.


    Будет полезна тем, кто часто загружает:


    • Скрипты.
    • Исполняемые файлы программ.
    • Архивы.

    С помощью команды curl это можно делать не через браузер, а прямо из терминала, что дает возможность автоматизировать процесс.


    На самом деле curl является не просто утилитой, а целым набором библиотек, способными реализовать все основные возможности по работе c передачей файлов и url-страницами.


    Curl поддерживает работу с протоколами:


    • FTP
    • FTPS
    • HTTP
    • HTTPS
    • TFTP
    • SCP
    • SFTP
    • Telnet
    • DICT
    • LDAP
    • POP3
    • IMAP
    • SMTP

    Синтаксис утилиты:


    curl опции ссылка


    Загрузка файлов с помощью curl


    Самая распространенная задача для утилиты curl – это загрузка файлов. Чтобы скачать файл достаточно передать утилите имя файла или адрес страницы, например:


    curl https://raw.githubusercontent.com/torvalds/linux/master/ README.md

    Таким образом содержимое файла будет отправлено на стандартный вывод. Для записи его в файл (для примера ex.txt) нужно ввести:


    curl -o readme.txt https://raw.githubusercontent.com/torvalds/linux/master/ README.md

    Чтобы скачанный файл назывался так же, как и на сервере необходимо использовать опцию -O:


    curl –O https://raw.githubusercontent.com/torvalds/linux/master/ README.md

    Стоит отметить, что не во всех дистрибутивах Linux утилита предустановлена по умолчанию.


    7. df


    Команда df позволяет выводить:


    • Список подключенных устройств
    • Информацию о занятом месте
    • Точку монтирования

    Синтаксис команды df:


    df опции устройство

    Основные опции df:


    • -h — выводить размеры в читаемом виде Мбайтах или Гбайтах;
    • -x – исключить из вывода указанные файловые системы.

    Например, необходимо получить информацию в читаемом виде для раздела /dev/sdb7, тогда вводим:


    df -h /dev/sdb7

    Чтобы игнорировать псевдо-файловые системы squashfs, создаваемые при установке приложения с помощью команды snap, вводим:


    df -x squashfs

    Лучший способ освоить новые команды – больше практиковаться, а лучше всего это делать на серверах компании AlexHost, где:


    • Оперативная поддержка 24/7 круглый год
    • Собственные дата-центры
    • Полная анонимность
    • Качественный VPS всего от 70 рублей в месяц

    image

    AlexHost
    AlexHost — надежный хостинг по доступным ценам!

    Похожие публикации

    Комментарии 10

      +2

      в Linux есть команда alias? Не верю!


      $which alias
      $ echo $?
      1

      Так что заслуженный минус.

        +1
        Как мне кажется, в команде chmod стоило пояснить, что существуют 4 разрешения(0 — нет прав, 1 — выполнение,2 — запись, 4 — чтение), а остальные (3,5,6,7) — это сумма соответствующих разрешений. Думаю, так лучше было бы запомнить и проще понимать.
          0
          Спасибо за ответ
          –1
          а как же grep, less, tail? Ещё sed забыли же??? Что только не напишут ради пиара.
            –2
            Это первая часть, всего будут три.
            0
            Обозначения символов:
            r – Чтение.
            w – Запись.
            x – Выполнение.
            Начало за здравие…
            Тогда вводим следующую команду:
            chmod 765 ex.txt
            конец за упокой.

            Я понимаю, что так исторически сложилось и цифры читать проще, когда с ними есть опыт и ты понимаешь, что 6 — это «всё за исключением исполнения».
            Но если статья для новичков (а кто ещё может не знать про chmod и прочее), то почему нет более наглядных вариантов:
            chmod a+x ex.txt
            chmod a-w ex.txt
            chmod u=w ex.txt
              +1
              cat -A самый полезный ключ, выводит непечатные символы. Иногда по другому невозможно понять, что не нравится в конфиге или скрипте.
                0
                Чтобы приведенными командами воспользоваться без ls надо обладать недюжинной памятью.
                Про alias упомянули; curl как в данный список затесался совсем непонятно. Начинать надо с как минимум с входящего в coreutils, а не бессвязной солянки.
                А вообще первой *nix командой должен бы быть man.

                  0
                  $ man man
                  0

                  Приблизительно так должно выглядеть то самое чтение манов вслух (с почасовой оплатой, конечно) :D
                  А так, можно спокойно пользоваться линуксом и без всех этих команд. И даже программы писать. ;)

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

                  Самое читаемое