Учим Unix: Команды UNIX. Основные команды Linux и Unix консоли Другие полезные команды

Приступая к изучению консоли Linux, не обойтись без знания консольных команд.

В этой заметке перечислены основные команды линукс консоли, доступные как при работе за терминалом, так и через ssh:
su, sudo, whoami, fsck, uptime, who, w, df, du, ifconfig, ping, traceroute, mtr, whois, ps, top, kill, killall, man, passwd, ls, pwd, mkdir, rmdir, rm, mv, cat, less, more, chmod, chown, tar, wget, find, locate, history, reboot, halt, shutdown

su войти в систему под именем peleh, не завершая текущий сеанс.

пригласительный знак для пользователей выглядит как $, а для суперпользователя root — #.

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

Команда sudo

sudo предоставляет возможность пользователям выполнять команды от имени root, либо других пользователей. Правила, используемые sudo для принятия решения о предоставлении доступа, находятся в файле /etc/sudoers .

Команда whoami

whoami — вывести имя пользователя, который авторизирован в системе

Команда fsck

fsck - команда UNIX, которая проверяет и устраняет ошибки в файловой системе. После запуска команды необходимо подтверждать (y) или не подтверждать (n) исправление той или иной ошибки. Для автоматической проверки и исправления ошибок необходимо запустить команду с ключиком ‘-y’: fsck -y

Команда uptime

uptime показывает текущее время, время работы после загрузки, количество текущих пользователей и нагрузку за последние 1, 5 и 15 минут.

Команда who

who — показать список пользователей в системе

Команда w

w - показать информацию о работающих в данный момент на сервере пользователях и о их процессах, а также среднюю нагрузку сервера за последние 1, 5 и 15 минут (uptime + who ).

Команда df

df (аббревиатура от disk free) - показать список всех файловых систем по именам устройств, сообщает их размер, занятое и свободное пространство и точки монтирования. Удобно использовать с ключиком -h (отображается размер в Gb):

Команда du

du — показать размер отдельного файла:

Команда ifconfig

ifconfig — показать сетевые настройки (интерфейсы):

Команда ping

ping - утилита для проверки соединений в сетях на основе TCP/IP :

Команда traceroute

traceroute — определить маршрут следования данных в сетях TCP/IP:

Команда mtr

mtr ya.ru — показать маршрут следования данных в сети Интернет и процент потерь, обновляя постоянно данные:

Команда whois

whois — показать информацию о домене (данные о регистраторе, сроке продления домена, сервера имен…):

Команда ps

ps – вывести ваши текущие активные процессы

Команда top

top – показать все запущенные процессы

Команда kill

kill pid – убить процесс с id pid

Команда killall

killall ispmgr – убить все процессы с именем ispmgr

Команда man

man passwd — вывести на экран справку о команде passwd

Команда passwd

passwd testuser — сменить пароль для пользователя testuser. По умолчанию командой passwd без указания конкретного пользователя изменится пароль для пользователя, который авторизирован в системе.

Команда ls

ls – список файлов и каталогов (с ключиком «-lа» — список со скрытыми файлами):

Команда pwd — текущая директория

pwd - вывести полный путь от корневого каталога к текущему рабочему каталогу (показывает директорию, в которой Вы находитесь):

Команда mkdir

mkdir folder – создать каталог/директорию folder

Команда rmdir

rmdir - удалить каталог из файловой системы. Удаление директории и ее содержимого также можно выполнить командой rm -rf (ключ -r для каталогов).

Команда rm

rm file — удалить файл file с подтверждением

rm file* — удалить все файлы, которые начинаются с символов file с подтверждением:

Команда mv

mv (от англ. move) - используется для перемещения или переименования файлов или каталогов:

1 — переименование директории folder в folder00:

2 — перемещение файла в директорию:

Команда cat

cat > file – направить стандартный ввод в file (тоесть создать файл с необходимым содержанием):

Чтобы завершить ввод информации в этот файл, необходимо, как обычно, нажать сочетание клавиш .

cat file — показать содержимое файла file:

cat file file1 > file22 — создать файл file22 и записать в него данные из файлов file и file1:

Команда less, more

Просматривать содержимое файла можно также командой less или more .

Команда chmod

chmod — сменить права доступа на файл или директорию (для директорий зачастую используются 751(-rwxr-xr-x), а для файлов — 644(-rw-rw-r—)), где

4 – чтение (r)
2 – запись (w)
1 – исполнение (x):

Команда chown

chown — сменить владельца для файла

Команда tar

tar file.tar file — заархивировать файл file и присвоить ему имя file.tar:

где опция -с (create) — создать. Команда tar -xpf folder00.tar разархивирует архив в текущую директорию сохраняя права доступа на файл.

Команда wget

wget — скопировать на сервер файл по сети:

Команда find

find — поиск файла:

Команда locate

locate — поиск файла:

Команда history

history — показать историю команд (можно указать количество строк для просмотра):

Команда reboot

reboot — перезагрузить сервер

Команда halt

halt — выключить сервер

Команда shutdown

shutdown — выключить или перезагрузить сервер (в зависимости от опций)

Одним из коренных отличий семейства ОС Linux от ОС Windows является ведущая роль командной строки или терминала в администрировании системы. Для успешной работы с «Линукс» одного графического интерфейса недостаточно. Полноценное управление тут возможно только через терминал. А в работе с терминалом никак не обойтись без изучения основных команд Linux.

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

В обзоре собраны все важнейшие команды Linux, которые могут пригодиться для администрирования ОС Linux. Статья рассчитана как на новичков, так и на продвинутых пользователей, уже знакомых с основным функционалом терминала. Эту своеобразную шпаргалку можно смело добавлять в закладки всем, кто хочет извлечь из «Линукс» максимум полезных свойств и повысить свою продуктивность в несколько раз.

Справочная информация / документация

  1. man

    (Manual). Показывает инструкцию к программам и командам Linux. Чтобы получить руководство для программы, наберите:

    Man имя_программы

    Для инструкции по команде, введите:

    Man имя_команды

  2. whatis

    Выводит краткое описание программы. Пример:

    Whatis имя_программы

  3. whereis

    Показывает полный путь к исполняемому файлу и другим файлам программы. Пример:

    Whereis имя_программы

    Также даёт информацию о связанной с программой справочной информации.

  4. file

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

  5. –help

    Вся необходимая информация о команде будет доступна, если набрать:

    Имя_программы --help

  6. whoami

    Команда показывает действительный идентификатор пользователя (UID).

  7. TAB

    Показывает варианты автозавершения команды . Нажатие клавиши табуляция после определённой команды или их последовательности выводит подсказку с вариантами возможного продолжения команды.

  8. Ctrl + R

    Это сочетание клавиш помогает запустить обратный поиск по всем параметрам, связанным с указанной командой. Достаточно лишь указать ключевое слово для поиска. Есть серьёзный минус – за раз можно увидеть только 1 результат. Выйти из режима реверсивного поиска поможет комбинация Ctrl + C .

Права суперпользователя

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

Способы получить права root в Linux

  • Вход от имени суперпользователя в виртуальной консоли, введя логин и пароль пользователя root.
  • Разовое переключение на роль суперпользователя в терминале с помощью специальных утилит.

О втором варианте расскажем подробнее.

  1. sudo

    (Super User Do). Позволяет исполнять команды с правами суперпользователя . Перед переходом в режим root администратора система выполнит запрос пароля и логина root. Пример:

    Sudo имя_команды

  2. sudo su

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

  3. sudo gksudo

    Осуществляет запуска приложений от имени суперпользователя, использующих не терминал, а графический интерфейс . В дистрибутиве Kubuntu имя этой команды выглядит несколько иначе - sudo kdesudo .

  4. sudo !!

    Команда применяется, если нужно перезапустить с правами root уже отданную (от имени обычного пользователя) команду.

Максимальную производительность приложений Linux зависит от правильного подбора платформы для ОС. Мощный обеспечит интернет-ресурсу стабильную работу и пространство для развития.

Управления файлами и каталогами

  1. ls

    (List). С помощью этой утилиты можно посмотреть, что содержится в папке . Без указания конкретного пути показывает текущий каталог. Если путь указан, то переход совершиться в конечный его каталог. Чтобы вывести каталог в виде списка с дополнительной поясняющей информацией введите:

    Для показа скрытых файлов:

  2. ll

    Команда для просмотра содержимого директорий . Более современная альтернатива этой утилиты ls -l может работать не во всех дистрибутивах Linux.

  3. cat

    (Concatenate / Catenate). Команда двойного назначения. Показывает на экране что содержит файл или стандартный ввод. Также к «склеивает» несколько переданных подряд файлов в один. Если нужно посмотреть содержимое одного файла, вводим:

    Cat имя_файла

    Если нужно узнать содержимое нескольких файлов подряд:

    Cat файл_№1 файл_№2 файл_№3

    Для «склейки» файлов, вводим:

    Cat файл_№1 файл_№2 > файл_№3

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

  4. cd

    (Change Directory). Меняет текущий каталог , в котором работает терминал на указанный. Когда терминал запущен, он использует по умолчанию корневой каталог (root), вернуться в который можно, набрав:

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

    Cd адрес_папки

    Чтобы подняться по древу каталогов на уровень вверх набираем:

    Чтобы вернуться к предыдущей директории:

  5. &&

    Двойной амперсанд – не полноценная команда, а управляющий оператор. Он предназначен для выполнения последовательного ряда команд . Чтобы терминал выполнил команды одну за другой, нужно разделить их следующим образом:

    Команда_№1 && команда_№2 && команда_№3

    Число команд в такой последовательности не ограничено.

  6. mkdir

    (Make Directory). Создаёт новую директорию . Можно также создать полную структуру подкаталогов, если ввести сочетание:

    Mkdir –p

  7. cp

    (Copy). Утилита, позволяющая скопировать файл или каталог. Копирование файлов и каталогов. Чтобы копирование прошло рекурсивно, т. е. включало все поддиректории и файлы в них, надо добавить к команде:

    А если надо дополнить рекурсивное копирование сохранением всех атрибутов, сведения о владельце и временный штамп, добавляем «архивную» опцию -a, чтобы получилось:

    Cp –r –a

  8. mv

    (Move). Эта команда в Linux одновременно отвечает за перемещение и переименование файла или каталога. При переименовании файл перемещается в ту же папку, но уже названную по-новому.

  9. rm

    (Remove). Отвечает за удаление папок и файлов. Использовать оператор rm следует крайне осторожно. В Linux файлы удаляются не в корзину, откуда их можно восстановить, а стираются безвозвратно. Для рекурсивного удаления используйте сочетание:

  10. ln

    Типы ссылок Linux

  • символические (-s ) – указание на адрес файла ил папки без метаданных;
  • твёрдые или жёсткие (-P ) – содержат сведения о физическом адресе на диске, где хранится файл.
    Удалить ссылку в Linux можно при помощи атрибута –f .
  1. chmod

    (Change Mode). Изменяет разрешения доступа к файлу. Под доступом имеется в виду классическая триада: чтение r, изменение w и запуск x. Общий вид:

    Chmod разрешения имя_файла

    При этом, «разрешения» могут быть указаны буквенным, символьным (rwx) или цифровым кодом. Кроме того, эта переменная может включать информацию о владельце (u / g / o / a ) и операции с правами (+ / – / = ).

Популярные комбинации разрешений для команды chmod

Вид разрешения Символьный код Числовой код
Нет допуска 0
Чтение r– 4
Изменение -w- 2
Запуск –x 1
Запуск + Изменение -wx 3
Чтение + Запуск r-x 5
Чтение + Изменение rw- 6
Запуск + Изменение + Запуск rwx 7
  1. chown

    (Change Owner). Команда для смены владельца файла и его группы. Для смены владельца используем синтаксис:

    Chown новый_владелец имя_файла

    Для смены группы файла:

    Chown новая_группа имя_файла

    Если надо поменять оба параметра:

    Chown новый_владелец:новая_группа имя_файла

    Команду можно применить только с правами суперпользователя. Чтобы изменить владельца/группу рекурсивно добавляем:

    Chown –R

  2. chgrp

    (Change Group). Меняет группу файла. В отличие от chown, эта команда позволяет менять группы, только тем, кто в ней состоит.

  3. dd

    (Dataset Definition). Позволяет скопировать данные на двоичном уровне из одного места в другое. Данные могут быть любого размера - от образа CD/ DVD до целого жёсткого диска.
    Утилита перемещает блоки данных из указанного источника - if имя_файла в пункт назначения - of имя_файла , который может быть устройством или файлом. Для копирования нескольких файлов применяется утилита cp.
    С данной командой надо обращаться крайне осторожно, о чём свидетельствует её альтернативное название «Data Destroyer». Ошибка в вводе данных может легко стать причиной потери данных на диске.

  4. df

    (Disk Free). Даёт полную информацию о свободном пространстве на диске. Анализ включает перечисление файловых систем смонтированных разделов, обзор занятого и свободного места на диске. Для более удобного вывода информации, лучше применять сочетание:

  5. du

    (Disk Usage). Позволяет определить размер файла или каталога. Применяется в вместе с дополнительными операторами:

  • df –h - представляет данные о размере в удобном для восприятия формате;
  • df –s - даёт необходимый минимум данных;
  • df –d - задаёт глубину рекурсии для каталогов.
  1. mount / umount

    Команды Linux для монтажа и отключения любых файловых систем - от CD-диска и USB-флешки до ядер ОС. Тип файловой системы обычно определяется командой самостоятельно, путём чтения суперблока. Опция используется только с правами суперпользователя.

Навигация

  1. find

    Осуществляет поиск в файловой системе, файлах и папках. Для результатов поиска можно выполнять дополнительные команды.

  2. pwd

    Отображает на экране текущий каталог .

  3. clear

    Команда полной очистки окна терминала удаляет все ранее выведенные сообщения.

  4. history

    Показывает ранее введённые пользователем команды. Перемещаться по списку введённых команд можно, нажимая на клавиатуре «Вверх» и «Вниз».

  5. locate

    Быстрый поиск файлов по базе данных updatedb для шаблонов имён файлов. Эта БД работает со снимком файловой системы, что многократно ускоряет процесс поиска. Но тут есть и существенный минус. Точность поиска зависит от того, насколько актуальны данные о файловой системе в текущей версии снимка.

  6. zcat / zless / zmore

    Утилиты для просмотра сжатых файлов . С помощью zcat можно найти увидеть список сжатых файлов, zless выводит их списком постранично с возможностью листать вперёд и назад, а zmore - только вперёд.

  7. ;

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

    (команда_№1 &); (команда_№2 &); (команда_№3 &)

Управление сетью

  1. ip

    (Internet Protocol). Утилита выводит полный список параметров для настройки работы с сетью . Среди них:

  • link - сетевое устройство;
  • address - IP-адрес сетевого устройства;
  • monitor - мониторинг устройства;
  • route - маршрутизация;
  • tunnel - туннелированные.
    Каждый из выводимых объектов можно изменять при помощи дополнительных команд: add , change , del , save и т.д.
  1. ping

    Команда проверяет наличие и качество интернет-подключения .

  2. nethogs

    Утилита мониторинга сетевой активности устройств в системе. Чтобы задать сетевой интерфейс, введите:

    Nethogs -i

  3. traceroute

    Утилита отслеживания интернет-подключения , отслеживая маршруты следования пакетов данных в сетях TCP/IP. Более совершенный инструмент для отслеживания проблем с подключением к Сети, чем упомянутая выше команда ping. Запускается только с правами суперпользователя.

Работа с процессами

  1. kill / xkill / pkill / killall

    Вариации команды для завершения операций . Основное различие между ними - способ идентификации.

  • kill - прекращает операцию, находя ее через идентификатор процесса (PID).
  • xkill - графический способ. После ввода команды курсор превращается в крестик, который при клике на окно открытого процесса, останавливает его;
  • pkill - завершает конкретный процесс, находя его по имени.
  • killall - прекращает все процессы с указанным именем.
  1. Ctrl +C

    Данное сочетание клавиш - еще один быстрый способ завершить выполнение любого процесса в терминале Linux.

  2. Ctrl +Z

    Комбинация ставит любой запущенный в консоли процесс на паузу . Снова запустить его можно, введя % .

  3. ps / pgrep

    (Process Status / Process-ID Global Regular Expressions Print). Команды находят по заданным параметрам и выводят информацию об активных процессах . Самый доступный способ найти идентификатор процесса (PID). Модификация pstree показывает весь список («древо») исполняемых процессов.

  4. top / htop / atop

    (Table of Processes). Три варианта команды, вызывающую консольную программу мониторинга активных процессов в системе. Информация отображается в виде таблицы со списком процессов в реальном времени. Рекомендуется использовать две последних модификации программы – в них больше возможностей и продвинутых функций.

  5. crontab

    Выполнение Cron (Command Run ON) - задач по расписанию в Linux.

  6. time

  • real - общее время исполнения;
  • user - сколько времени пользователь занял у CPU;
  • sys - сколько времени CPU было потрачено системой.

Сделать время исполнения процесса ОС Linux минимальным поможет ! Универсальное решение по доступной цене!

Работа с архивами

  1. gzip

    Создаёт архивы со сжатыми файлами. Архивный файл будет иметь расширение .gz .

  2. gunzip

    Команда-распаковщик для zip-архивов . Извлекает сжатые файлы и удаляет архивный файл .gz .

  3. tar

    Сохраняет файлы и каталоги в архив с расширением .tar . Удобная утилита для создания резервных копий или надёжной архивации данных.

Управление пользователями

  1. useradd / userdel / usermod

    Команды управления учётными записями пользователей. Позволяют добавлять, удалять и редактировать пользовательские профили. Пример:

    Useradd имя_пользователя.

  2. passwd

    Позволяет менять пароли учётных записей . Обычный пользователь может поменять только пароль, связанный с его именем: passwd имя_пользователя.В режиме суперпользователя можно «вслепую» сбросить все пользовательские пароли в системе.

Работа с текстом

  1. Ctrl + A / Ctrl + E

    Клавиши быстрого перехода в начало (А ) и конец (E ) строки.

  2. Ctrl + Shift + C / Ctrl + Shift + V

    Это сочетание клавиш в Linux позволит быстро скопировать (C ) и вставить (V ) текст в терминале.

  3. more / less

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

  4. head / tail

    Пара дополняющих друг друга команд для просмотра на одном экране начала и конца текста . Команда head выдаёт 10 (по умолчанию) первых строк текста, tail - последних. Число строк в обоих случаях меняется с помощью аргумента -n . Оператор -f позволяет отслеживать на экране изменения в файле. Чтобы лог (журнал) файла отображался в режиме реального времени, ввести команду:

    Tail –nf,

    Для отслеживания логов нескольких файлов применяется модификация команды - multitail .

  5. grep

    (Global Regular Expression and Print). Ищет текст по заданному шаблону. Это очень полезно, когда надо проанализировать работу команды, которая сопровождается большим объёмом текстовой информации. Шаблон может заполняться строкой или регулярным выражением. Пример:

    Alias старое_название новое_название

  6. sort

    Сортировка текстовой информации по заданным показателям. Дополнительные переменные позволяют:

  • -n ­- сортировать строки текста по числовому значению;
  • du ­- по размеру;
  • -r ­- применять обратную сортировку;
  • -u ­- удалять дубликаты при сортировке.
  1. wc

    (Word Count). Программа для подсчета заданных параметров в тексте. Считает такие показатели, как символы, слова, строки и байты.

  2. diff

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

    Diff файл_№1 файл_№2

    Различия между двумя версиями файлов отмечают такие символы, как:

  • c - изменённые строки;
  • d - удалённые строки;
  • а -новые строки.

Окружение пользователя

  1. su / sudo

    (Switch User / Substitute User & Do). Две команды для запуска процессов от имени другого пользователя без завершения текущего сеанса. При использовании su по умолчанию происходит переход на пользователя root. Команда sudo способна не только активировать режим суперпользователя (о чём упоминалось выше), но и выполнить команду от имени другого пользователя без реального переключения на него. Поэтому второй вариант считается более безопасным.

  2. date

    Команда Linux, сообщающая информацию о времени . Отдельными переменными можно задать удобный формат вывода и число отображаемых параметров, вплоть до миллисекунд.

  3. alias

    Команда для создания синонимов названий незаменяемых команд для их сокращения. Она изменяет длинное название на удобное пользователю короткое или аббревиатуру. Пример:

    Alias старое_название новое_название

    Этот же приём отлично подойдёт для устранения опечаток в командах. Отменить действие утилиты переименования поможет команда unalias .

  4. uname

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

  5. uptime

    Показывает аптайм – время непрерывной работы системы.

  6. sleep

    Задаёт таймер выключения системы.

  7. yes

    Утилита автозаполнения поля согласия в команде или скрипте. Введите: yes название_команды и вам не придётся делать подтверждение вручную, когда этого потребует сценарий взаимодействия программы с пользователем.

Пакетные менеджеры

Пакетные менеджеры (ПМ) в Linux отвечают за установку, обновление и удаление приложений. Принцип их работы – загрузка программных пакетов из собственных сетевых репозитариев. Данные утилиты работают только с правами суперпользователя. Для различных дистрибутивов Linux существуют свои версии ПМ.

  1. apt

    ПМ для Debian , Ubuntu и Mint

    Sudo apt install имя_пакета

    Чтобы удалить приложение:

    Sudo apt remove имя_пакета

  2. dnf / yum

    Два самых распространённых ПМ для операционных систем Red Hat, Fedora и CentOS . Чтобы установить приложение, введите:

    Sudo dnf install имя_пакета

    Чтобы удалить:

    Sudo dnf remove имя_пакета

  3. pacman

    Пакетный менеджер дистрибутивов Arch и Manjaro . Чтобы установить приложение, введите:

    Sudo pacman -S имя_пакета

    Чтобы удалить приложение:

    Sudo pacman -R имя_пакета

Заключение

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

У каждого пользователя Linux есть свой список must have команд. Наверняка и вам есть чем дополнить данный обзор? Делитесь своими любимыми командами Linux в комментариях!

Хотите, чтобы операционка работала как швейцарские часы? Надёжная и мощная платформа для развёртывания любых дистрибутивов Linux - !

Для работы в Ubuntu пользователь может выбрать один из двух возможных вариантов интерфейса: графический либо интерфейс командной строки. Графический интерфейс (GUI - Graphical user interface) знаком большинству пользователей, в нем для выполнения действий нужно использовать различные элементы рабочего стола. Он имеет свои преимущества, которые выражаются главным образом в удобном и привычном формате подачи информации, а также в отсутствии необходимости знать какие-либо команды.

Однако многие пользователи Linux предпочитают работать в командной строке (CLI, Command Line Interface). Как правило, эти пользователи так или иначе связаны с программированием или системным администрированием, тем не менее знание основ bash будет полезно всем пользователям. Командная строка позволяет выполнять команды значительно быстрее, чем при использовании GUI, при этом экономит ресурсы. Более того, зачастую команды не имеют своих аналогов в графическом интерфейсе и, благодаря этому, дают значительную свободу пользователям в своих действиях. При этом интерфейс командной строки встроен в ядро операционной системы, а значит, он доступен даже тогда, когда вы не можете воспользоваться графической оболочкой. Сами же команды одинаковы для всех операционных систем на базе Linux, будь то Ubuntu, CentOs, Fedora или какая-либо другая.

Что такое bash

Bash расшифровывается как Bourne again shell (что можно перевести как «Еще одна оболочка Борна»), название частично заимствованно от более ранней версии командной оболочки UNIX, которая называлась просто Bourne shell («Оболочка Борна» - по фамилии разработчика Стивена Борна).

Bash позволяет интерактивно взаимодействовать с компьютером, вводя определенные команды и получая на них соответствующий отклик. Также этот командный процессор позволяет выполнять скрипты (команды из файла), может производить автодополнение названий файлов и директорий, допускает использование переменных, операторов ветвления и цикла.
Далее в статье будут приведены самые простые и необходимые для работы в bash команды, которые помогут вам сориентироваться и начать самостоятельно использовать командную строку для своих задач, но сначала необходимо перейти к интерфейсу командной строки.

Вход в командную строку

Используя Ubuntu в качестве операционной системы, вы можете перейти к командной строке двумя путями, а именно через консоль или через терминал.
Если вы хотите зайти в командную строку через терминал, то для этого необходимо нажать Ctrl+Alt+F(1-6) - в зависимости от выбранного номера (F1, F2…) вы попадаете в первую, вторую или другую по счету виртуальную консоль (они независимы и запускаются во время загрузки Ubuntu), каждая из которых имеет интерфейс командной строки. Если вы нажмете Ctrl+Alt+F7, то перейдете в седьмую виртуальную консоль, которая имеет графический интерфейс.

Что касается терминала, то это графическая программа, которая эмулирует консоль. Вы можете найти ее в меню, выбрав «Приложения», затем «Стандартные», а затем «Терминал», либо нажав сочетание клавиш Ctrl+Alt+T. Вы сможете выполнять команды, продолжая находиться в графическом интерфейсе.
Также возможен вариант, когда вам необходимо подключиться к серверу, на котором установлена Ubuntu. В этом случае вам нужно воспользоваться специальной программой (например, puTTy): наберите нужный ip-адрес, а затем введите имя пользователя и пароль.

Примечание.
При вводе пароля в командную строку он не высвечивается - вам нужно просто набрать пароль и нажать Enter. Если пароль введен правильно, вы сможете продолжить работу в командной строке.

Пользователь и система

Используя bash, вы можете легко получить любую необходимую вам техническую информацию о пользователях и системе.
Если вы хотите идентифицировать, под каким пользователем авторизованы в данный момент, вам нужно ввести в командную строку следующую команду:

Если вам нужно узнать не только о вашем, но и о других пользователях, находящихся в данный момент в этой операционной системе, используйте команды:

В отличие от whoami, эти команды показывает более подробную информацию: кроме имени пользователя вы также узнаете о том, какая используется терминальная линия, время начала сеанса, IP-адрес и некоторые другие данные.

Что касается данных о системе, то с ними можно ознакомиться, используя команду uname. Сама по себе эта команда даст вам не так много информации - только название системы. Однако если вы будете использовать ключи, то сможете узнать гораздо больше.

Ключи - это специальные аргументы, которые пишутся через пробел после команды и начинаются с одного или двух дефисов. Они определяют параметры, которые будут применены к команде. Как правило, узнать о доступных ключах вы можете, написав команду и --help (либо -help): к примеру,

У команды uname вы можете задать ключ -a (или --all), и тогда на экран будет выведена вся информация об операционной системе:

Если вас интересуют конкретно данные о ядре, то наберите следующую команду:

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

А команда pstree выведет информацию в виде дерева процессов.

Узнать сетевое имя машины вы можете с помощью команды hostname.

Переход по директориям

В этом разделе вы познакомитесь с основными командами bash, которые позволят вам выполнять самые простые действия в командной строке.
Команда cd позволяет переходить из одной директории в другую. При этом если вы используете команду без ключей, то попадете в домашнюю директорию; для того, чтобы перейти в какую-либо конкретную директорию, необходимо просто прописать ее путь, к примеру:

Cd /home/users/dir1

Вы также можете указывать команду cd с определенными ключами:

cd ../.. - переход на две директории выше;

cd - - переход в предыдущую директорию (в которой вы были до перемещения в нынешнюю).

Команда pwd укажет путь той директории, в которой вы в данный момент находитесь.

Создание, перемещение и удаление

Используйте команду mkdir для создания директории. Не забудьте указать имя:

Новая директория будет создана в той директории, где вы находитесь в данный момент, но вы также можете прописать какой-то другой путь для создания новой директории:

Mkdir /home/users/dir1

Для создания файла вам нужно ввести команду touch и название будущего файла:

В этом случае прописать путь, где нужно создать файл, тоже возможно:

Touch /home/users/dir1/file1

Для перемещения директорий и файлов используется команда mv, после которой вы пишете название директории или файла, который хотите переместить, а затем место, куда хотите переместить:

Mv file2 /home/users/dir2 mv dir1 /home/users/dir3

Обратите внимание, что команда mv также используется для переименования, поэтому если при отсутствии директории dir2 вы напишете такую команду:

то директория dir1 будет переименована в директорию dir2. Этот пример справедлив и для файлов, которым вы можете давать другие названия при помощи команды mv.

Для удаления файлов следует использовать команду rm, а для удаления директорий rmdir. Если вы хотите удалить каталог, используйте команду rm с ключами -rf:

Rm -rf /home/users/

Еще одно действие, которое вы можете использовать, - это копирование при помощи команды cp. Синтаксис у этой команды такой же, как и у предыдущих, - вы просто пишете, что и куда хотите скопировать. Для копирования директории обязательно нужно использовать ключ -r, при этом если конечная директория (dir2) не существует, то она будет создана при копировании:

Cp -r dir1 dir2

Информация о файлах, каталогах и процессах

Для вывода информации о содержании каталога используется команда ls. Если использовать ее без ключей, то она просто выведет информацию об имеющихся в данной (или указанной) директории файлах и директориях. Основные ключи, которые часто используются с этой командой:

A - вам будут показаны все файлы директории, в том числе те, которые начинаются с. (точки);

S - запрос информации о размерах файлов (или директорий);

L - данные о файлах, в частности имя пользователя, который их создал, права доступа и время создания;

H - перевод размера файлов в удобном для восприятия формат (Кбайт, Мбайт и т.д.).

Также ключи можно комбинировать, поэтому обычно для вывода размера содержимого используется команда:

Другой командой, которая поможет вам получить необходимую информацию, является команда du. К примеру, введя эту команду:

вы получите информацию о размерах и именах файлов.

Информацию о работающих процессах вы можете получить при помощи команды df. Лучше всего использовать ее сразу с ключом -h, чтобы данные были показаны в более удобном для чтения формате:

Поиск и использование регулярных выражений

Для поиска файлов в bash используется команда find. Ее синтаксис следующий: find + нужная директория (путь) + ключ (или несколько) + критерии ключа + (опционально) последующее действие над найденными файлами.

Со множеством ключей этой команды, которые значительно облегчают и сужают поиск, вы можете ознакомиться, введя в командную строку:

К примеру, следующая команда позволит вам найти все файлы, которые находятся в директории dir1, и имеют название file:

Find /home/users/dir1 -name ‘file*’

Для поиска наиболее удобно пользоваться некоторыми регулярными выражениями, а именно:

* - обозначает любое количество символов, включая их отсутствие (например, по запросу file* будут найдены все файлы: file, file1, file829, fileabc и т.д.);

Обозначает один символ (по запросу file? будут найдены файлы с одним символом после слова file: file1, file9, filea и т.д.; по запросу file?? будут найдены файлы с двумя символами: file12, file34, file92 и т.д.);

Обозначает подмножество значений, которые может принимать один символ (по запросу file будут найдены файлы: file1, file2, file3 и так далее до file9; по запросу file файлы filea, fileb, filec и filed).

Перенаправление и конвейер

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

Этим очень удобно пользоваться для логирования, если вы хотите записать какие-либо данные в файл. К примеру, эта команда запишет все найденные согласно указанными параметрам файлы в файл log (он автоматически появится в той директории, в которой вы работаете):

Find /home/users -name ‘file*’ >> log

Что касается конвейера, то этот инструмент позволяет использовать вывод одной команды в качестве ввода другой команды. Для этого необходимо использовать символ |:

Find /home/users -name ‘file*’ | sort -r

Если вы введете данную строку, то сначала будут найдены все файлы, которые соответствуют условию, а затем командой sort они будут отсортированы в обратном порядке (из-за использования ключа -r).

Содержимое файлов

Если вы хотите посмотреть содержимое файла, то можете обратиться к команде cat - в ответ на команду вы увидите все, что содержится в файле. Если данных слишком много, используйте конвейер и команду more - она позволит просматривать содержимое постранично:

Cat file1 | more

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

С русскоязычной документацией nano вы можете ознакомиться по этой ссылке: http://help.ubuntu.ru/wiki/nano

А документация vim доступна в этом разделе: http://help.ubuntu.ru/wiki/vim

Заключение

Существует множество различных команд и ключей, которые можно использовать в bash. В данной статье мы остановились лишь на самых основных, базовых командах, при помощи которых вы сможете выполнять операции и получать необходимую информацию.

Полную русскоязычную документацию вы можете найти по этому адресу:

pwd Вывести текущую директорию.
hostname Вывести или изменить сетевое имя машины.
whoami Ввести имя под которым я зарегистрирован.
date Вывести или изменить дату и время. Например, чтобы установить дату и время равную 2000-12-31 23:57, следует выполнить команду:
date 123123572000
time Получить информацию о времени, нужного для выполнения процесса + еще кое-какую информацию. Не путайте эту команду с date. Например: Я могу определить как много времени требуется для вывода списка файлов в директории, набрав последовательность:
time ls
who Определить кто из пользователей работает на машине.
rwho -a Определение всех пользователей, подключившихся к вашей сети. Для выполнения этой команды требуется, чтобы был запущен процесс rwho. Если такого нет - запустите "setup" под суперпользователем.

finger [имя_пользователя] Системная информация о зарегистрированном пользователе. Попробуйте: finger root
uptime Количество времени прошедшего с последней перезагрузки.
ps a Список текущих процессов.
top Интерактивный список текущих процессов отсортированных по использованию cpu.
uname Вывести системную информацию.
free Вывести информацию по памяти.
df -h (=место на диске) Вывести информацию о свободном и используемом месте на дисках (в читабельном виде).
du / -bh | more (=кто сколько занял) Вывод детальной информации о размере файлов по директориям начиная с корневой (в читабельном виде).
cat /proc/cpuinfo Системная информация о процессоре. Заметьте, что файла в /proc директории - не настоящие файлы. Они используются для получения информации, известной системе.
cat /proc/interrupts Используемые прерывания.
cat /proc/version Версия ядра Linux и другая информация
cat /proc/filesystems Вывести используемые в данный момент типы файловых систем.
cat /etc/printcap Вывести настройки принтера.
lsmod (как root) Вывести информацию о загруженных в данный момент модулях ядра.
set|more Вывести текущие значения переменных окружения.
echo $PATH Вывести значение переменной окружения "PATH" Эта команда может использоваться для вывода значений других переменных окружения. Воспользуйтесь командой set, для получения полного списка.

Работа с сетью

Netconf (как root) Очень хорошая программа настройки сети, использующая для интерактивной работы с пользованием, текстовое меню.
ping [имя_машины] "Проверка на вшивость". Есть или нет контакта с другой машиной (в качестве параметре команде можно передавать сетевое имя машины или IP адрес), нажмите -C когда вся требуемая информация будет получена.
route -n Вывести таблицу маршрутизации (the routing table).
ipfwadm -F -p m Настроить firewall.
ifconfig (как root) Вывести информацию о текущих сетевых интерфейсах (ethernet, ppp, и т.д.) Ваша первая ethernet плата плата будет показана как eth0, вторая как eth1, первый ppp модем как ppp0 и так далее. "lo" - расшифровывается как "loopback only" сетевой интерфейс, который должен быть постоянно активирован. Используйте соответствующие опции (смотрите результат выполнения ifconfig --help) для настройки сетевых интерфейсов.
ifup [имя_сетевого_интерфейса] (/sbin/ifup при работе под обычным пользователем) Активизация соответствующего сетевого интерфейса. Например:
ifup eth0
ifup ppp0
Пользователь может активизировать и выключить сетевое интерфейс ppp только когда установлены соответствующие права доступа (права можно установить в процессе настройки ppp через "netconf")
ifdown [имя_сетевого_интерфейса] (/sbin/ifdown при работе под обычным пользователем). Диактивизация соответствующего сетевого интерфейса..

Простейшие действия

ls Список файлов в текущей директории. Команда выполнении команды dir выполняется команда ls.
cd [директория] Сменить директорию.
cp [что копировать][куда копировать] Копировать файлы.
mcopy [что копировать][куда копировать] Копировать файлы при работе с файловой системой dos (монтировать диска dos необязательно). Например: mcopy a:\autoexec.bat ~/junk . Для дополнительной информацией по подобным командам (mdir, mcd, mren, mmove, mdel, mmd, mrd, mformat ....) ознакомьтесь с man mtools.
mv [что перемещать][куда перемещать] Переместить или переименовать файл.
ln -s [на что сделать ссылку][имя ссылки] Создать символическую ссылку.
rm [файлы] Удалить файлы.
mkdir [директорию] Создать новую директорию.
rmdir [директорию] Удалить пустую директорию.
rm -r [файлы и/или директории] (рекурсивное удаление) Удалить файлы, директории и их поддиректории. ОСТОРОЖНЕЙ с этой командой, если у вас права суперпользователя! Пока у Linux нет системы полного восстановления удаленных файлов (если вы не пользуетесь специальными программами для помещения удаленный файлы в специальный каталог - a la корзинка под W95).
cat [имя файла] | more Просмотр содержимого текстового файла по одной странице за раз.
less [имя файла] Просмотр содержимого текстового файла с возможностью вернуться к предыдущим страницам. Нажмите q когда захотите выйти из программы. "Less" - аналог команды DOS "more", хотя очень часто "less" бывает более удобной чем "more".
pico [имя файла] Редактировать текстовый файл.
lynx Просмотр файла html или WWW ссылки с помощью текстового браузера Lynx.
tar -zxvf файлы] Распаковать архив tgz или tar.gz, который вы вытянули из сети.
find / -name "имя файла" Найти файл с именем "имя файла". Поиск начинается с директории / . "имя файла" может содержать маску для поиска.
pine Хорошая текстово - ориентированная программа для чтения электронной почты. Еще одна подобная программа называется "elm". Netscape считывает ваши письма с вашего Internet адреса, а pine позволяет вам просматривать "локальную" почту - то есть ту почту, которую посылает вам процесс son или cron.
mc Запустить программу оправления файлами "Midnight Commander" (Выглядит как "Norton Commander", но по своим возможностям ближе к far или dn).
telnet [сервер] Связаться по telnet с другой машиной. Используйте имя машины или ее IP адрес. Войдите с помощью вашего пароля (вы должны быть зарегистрированы на этой удаленной машине). Это позволит вам войти на другую машину и работать на ней, как будто вы сидите за ее клавиатурой (почти никаких отличий).
ftp [сервер] Связаться по ftp с удаленным компьютером. Этот тип связи хорош для копирования файлов с/на удаленную машину.
minicom Minicom - программа (выглядит как telix или рrocomm для Linux).
./Имя_Программы Запустить исполняемый файл в текущей директории, которая нет в списке директорий, указанных в переменной окружения PATH.
startx Запустить X-windows сервер и установленный по умолчанию оконный менеджер. Похоже на то как вы набираете "win" под DOS с Win3.1
xterm (в X терминале) Запустить простой терминал в графической оболочке X-windows. Для того чтобы выйти из него наберите "exit".
xboing (в X терминале). Очень классный, старый - добрый арканоид.
gimp (в X терминале) Очень мощный графический редактор (по возможностям близок к Photoshop). Требует некоторого времени для обучения - очень хорош для художников. Для доступа к локальному меню воспользуйтесь правой кнопкой мыши.
netscape (в X терминале) Запустить netscape (требуется отдельная установка этого продукта). Нормальная поддержка русского языка включена в 4.07 версию этого продукта - поэтому следует поставить эту версию или более новую.

Основные Команды Администрирования

printtool (как root в X терминале) Сконфигурировать ваш принтер.
setup (как root) Сконфигурировать мышь, звуковую карту, клавиатуру, графическую оболочку X-windows и системные службы. Очень простая в пользовании программа.
alias ls="ls -Fskb --color" Создать alias - псевдоним для того чтобы одной командой можно было запустить более сложную комбинацию команд. Поместите создание alias в файл /etc/bashrc если вы хотите, чтобы эти псевдонимы были доступны всем пользователям вашей системы.
adduser [имя_пользователя] З арегистрировать нового пользователя (у вас должны быть права суперюзера). Например:
adduser ivanov
Не забудьте следующим делом настроить пароль пользователя. Директория пользователя находится в каталоге /home/имя_пользователя.
useradd [имя_пользователя] То же, что и adduser.
userdel [имя_пользователя] Удалить пользователя из системы (вы должны зайти как root). С пользовательским каталогом и не прочитанными письмами удаленного пользователя нужно разбираться отдельно.
groupadd [имя_группы] Создать новую группу пользователей на вашей системе. Не обязательно создавать группу непосредственно на основной машине.
passwd Изменить пароль. Если вы суперпользователь, то вы можете изменить пароль любого зарегистрированного пользователя набрав команду:
passwd имя_пользователя
chmod [права доступа][файл] (=change mode) Изменить права доступа файлов, чьим владельцем вы являетесь (если вы не root, в этом случае вы можете изменить права доступа для любого файла). Есть три способа доступа к файлу: чтение - read (r), запись - write (w), исполнение - execute (x) и три типа пользователей: хозяин файла - owner (u), члены той же группы, что и хозяин файла (g) и все остальные (o). Поверить текущие права доступа можно следующим способом:
ls -l имя_файла
Если файл доступен всеми способами всем пользователям, то напротив имени файла будет следующая комбинация букв:
rwxrwxrwx
Первые три буквы - это права доступа для хозяина/хозяйки файла, второй триплет - права доступа для его/ее группы, следующая тройка - права доступа для остальных. Отсутствие права доступа показывается как "-".;
Например: Эта команда позволит вам установить права доступа на чтение для файла "junk" для всех (all=user+group+others):
chmod a+r junk
Эта команда отнимет право доступа на исполнение файла у всех кроме пользователя и группы:
chmod o-x junk
Для получение дополнительной информации наберите chmod --help или man chmod или почитайте любое руководство по Linux.
Вы можете установить права доступа по умолчанию для создаваемых вами файлов с помощью команды "umask" (наберите man umask).
chown [новый_хозяин][файлы]
chgrp [новая_группа][файлы] Изменить хозяина и группу для файла.
Вы можете использовать эти две команды, после того как сделали копию файла для кого- либо.
su (=super user) Вход в систему как суперпользователь (у вас спросят ваш пароль). Набрав "exit" вы вернетесь в вашу предыдущую пользовательскую оболочку. Пользователь root существует для администрирования системы и команда su дает быстрый доступ к возможностям суперпользователя, когда вам это потребуется. Никогда не входите в систему под пользователем root, используйте для этой цели команду su.

Контроль процессов

Ps (=print status) Вывести список текущих процессов с их IDs (PID) идентификаторами. Используйте
ps axu
для того чтобы отобразить все процессы запущенные на вашей системе, которые имеют вас в качестве хозяина (это касается и процессов которые отцеплены от терминала).
fg Вернуть фоновый или приостановленный процесс в интерактивное (высокоприоритетное) состояние;
bg Сделать процесс фоновым. Обратная функция от fg. Может следовать вслед за комбинацией z.
kill "Убить" процесс. Для начала определите PID "убиваемого" процесса при помощи ps.
killall [имя_программы] "Убить" все процессы по имени программы.
xkill (в терминале X window) "Убить" процесс, на окно которого укажите курсором.
lpc (как root) Проверить очередь принтера.
lpq Вывести список очереди заданий на печать.
lprm [Номер Задание] Удалить задание из очереди на печать.
nice [имя_программы] Запустить процесс, установив его приоритет.
renice Изменить приоритет процесса.

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

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

И вот она. Её цель - собрать основные простые и сложные команды Linux, которые должен знать каждый пользователь, чтобы наиболее эффективно управлять своей системой. Для удобности запоминания опций команд я в скобках добавил слова, от которых они произошли - так намного проще, на себе проверено.

Это не значит, что я перечислю все команды - я постараюсь охватить всё самое полезное, то, что может пригодиться в повседневной жизни. Чтобы было удобнее читать, разделим этот список на категории команд по назначению. Большинство рассмотренных здесь утилит не требуют дополнительной установки, они будут предустановлены в любом дистрибутиве Linux, а если не будут, то их несложно найти в официальных репозиториях.

1. ls

Утилита для просмотра содержимого каталогов. По умолчанию показывает текущий каталог. Если в параметрах указать путь, то она перечислит содержимое конечного каталога. Полезные опции -l (L ist) и -a (A ll). Первая форматирует вывод в виде списка с более подробной информацией, а вторая включает показ скрытых файлов.

2. cat

Печатает содержимое файла, переданного в параметре, в стандартный вывод. Если передать несколько файлов, команда склеит их. Также можно перенаправить вывод в ещё один файл с помощью символа ">". Если нужно вывести только определенное количество строк, используйте опцию -n (N umber).

3. cd

Позволяет перейти из текущего каталога в указанный. Если запустить без параметров - возвращает в домашний каталог. Вызов с двумя точками возвращает на уровень вверх относительно текущего каталога. Вызов с тире (cd -) возвращает к предыдущему каталогу.

4. pwd

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

5. mkdir

Создание новых каталогов. Наиболее удобная опция -p (P arents), позволяет создать всю структуру подкаталогов одной командой, даже если они ещё не существуют.

6. file

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

7. cp

Копирование файлов и каталогов. Она не копирует каталоги по умолчанию рекурсивно (то есть все поддиректории и все файлы в поддиректориях), поэтому не забудьте добавить опцию -r (R ecursive) или -a (A rchive). Последняя включает режим сохранения атрибутов, владельца и временного штампа в дополнение к рекурсивному копированию.

8. mv

Перемещение или переименование файлов и каталогов. Примечательно, что в Linux это одна и та же операция. Переименование - это перемещение файла в ту же папку с другим именем.

9. rm

Удаляет файлы и папки. Очень полезная команда Linux: с её помощью вы можете убрать весь беспорядок. Если нужно рекурсивное удаление, используйте опцию -r. Однако будьте осторожны: конечно, для того чтобы повредить систему вам нужно будет серьёзно постараться, однако можно удалить собственные важные файлы. Rm удаляет файлы не в корзину, из которой потом всё можно будет восстановить, а полностью стирает. Действия оператора rm необратимы. Поверьте, ваши оправдания в духе "rm съела мою курсовую" никому не будут интересны.

10. ln

Создает жёсткие или символические ссылки на файлы. Символические или программные ссылки - это что-то похожее на ярлыки в Windows. Они предоставляют удобный способ доступа к определённому файлу. Символические ссылки указывают на файл, но не имеют никаких метаданных. Жёсткие ссылки, в отличие от символических, указывают на физический адрес области диска, где хранятся данные файла.

11. chmod

Изменяет права доступа к файлу. Это чтение, запись и выполнение. Каждый пользователь может изменять права для своих файлов.

12. chown

Изменяет владельца файла. Только суперпользователь может изменять владельцев. Для рекурсивного изменения используйте опцию -R.

13. find

Поиск в файловой системе, файлах и папках. Это очень гибкая и мощная команда Linux не только из-за своих способностей ищейки, но и благодаря возможности выполнять произвольные команды для найденных файлов.

14. locate

В отличие от find, команда locate ведёт поиск в базе данных updatedb для шаблонов имён файлов. Эта база данных содержит снимок файловой системы, что позволяет искать очень быстро. Но этот поиск ненадёжен, потому что вы не можете быть уверены, что ничего не изменилось с момента последнего снимка.

15. du

Показывает размер файла или каталога. Самые полезные опций: -h (H uman), которая преобразует размеры файлов в легко читаемый формат, -s (S ummarize), которая выводит минимум данных, и -d (D epth), устанавливающая глубину рекурсии по каталогам.

16. df

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

17.dd

Как сказано в официальном руководстве, это команда терминала для копирования и преобразования файлов. Не очень понятное описание, но это всё, что делает dd. Вы передаёте ей файл-источник, пункт назначения и пару дополнительных опций. Затем она делает копию одного файла в другой. Вы можете задать точный размер данных, которые нужно записать или скопировать. Работает утилита со всеми устройствами. Например, если вы хотите перезаписать жёсткий диск нулями из /dev/zero, можете сделать это. Также она часто используется для создания LiveUSB или гибридных ISO образов.

18 mount / umount

Это команды консоли Linux для подключения и отключения файловых систем Linux. Можно подключать всё: от USB накопителей, до ISO образов. И только у суперпользователя есть права для этого.

Linux команды консоли для работы с текстом

19. more / less

Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.

20. head / tail

Ещё одна пара, но здесь у каждой команды своя область применения. Head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от f ollow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.

21. grep

Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную - пусть grep делает свою магию.

22. sort

Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (N umeric), по числовому значению, и -r (R everse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.

23. wc

Утилита командной строки Linux для подсчёта количества слов, строк, байт и символов.

24. diff

Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом "с", удалнные - "d", а новые - "а".

Кстати, я подготовил ещё одну подробную статью, в которой описан именно c помощью терминала.

Команды Linux для управления процессами

25. kill / xkill / pkill / killall

Служат для завершения процессов. Но они принимают различные параметры для идентификации процессов. Kill нужен PID процесса, xkill - достаточно кликнуть по окну, чтобы закрыть его, killall и pkill принимают имя процесса. Используйте ту, которая удобна в определенной ситуации.

26. ps / pgrep

Как уже говорилось, чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита ps, которая печатает информацию о запущенных процессах. По умолчанию вывод очень длинный, поэтому используйте опцию -e, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда ps с ключом aux выводит полную информацию о процессах. Pgrep работает следующим образом: вы задаете имя процесса, а утилита показывает его идентификатор.

27. top / htop

Обе команды похожи, обе отображают процессы и могут быть использованы как консольные системные мониторы. Я рекомендую установить htop, если в вашем дистрибутиве он не поставляется по умолчанию, так как это улучшенная версия top. Вы сможете не только просматривать, но и контролировать процессы через его интерактивный интерфейс.

28. time

Время выполнения процесса. Это секундомер для выполнения программы. Полезно, если вам интересно, насколько сильно ваша реализация алгоритма отстает от стандартной. Но, несмотря на такое название, она не сообщит вам текущее время, используйте для этого команду date.

Команды Linux окружения пользователя

29. su / sudo

Su и sudo - это два способа выполнить одну и ту же задачу: запустить программу от имени другого пользователя. В зависимости от вашего дистрибутива вы, наверное, используете одну или другую. Но работают обе. Разница в том, что su переключает вас на другого пользователя, а sudo только выполняет команду от его имени. Поэтому использование sudo будет наиболее безопасным вариантом работы.

30. date

В отличие от time, делает именно то, чего вы от неё и ожидаете: выводит дату и время в стандартный вывод. Его можно форматировать в зависимости от ваших потребностей: вывести год, месяц, день, установить 12-ти или 24-ти часовой формат, получить наносекунды или номер недели. Например, date +"%j %V", выведет день в году и номер недели в формате ISO.

31. alias

Команда создаёт синонимы для других команд Linux. То есть вы можете делать новые команды или группы команд, а также переименовывать существующие. Это очень удобно для сокращения длинных команд, которые вы часто используете, или создания более понятных имен для команд, которые вы используете нечасто и не можете запомнить.

32. uname

Выводит некую основную информацию о системе. Без параметров она не покажет ничего полезного, кроме строчки Linux, но, если задать параметр -a (A ll), можно получить информацию о ядре, имени хоста и узнать архитектуру процессора.

33. uptime

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

34. sleep

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

Команды Linux для управления пользователями

35. useradd / userdel / usermod

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

36. passwd

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

Linux команды для просмотра документации

37. man / whatis

Команда man открывает руководство по определённой команде. Для всех основных команд Linux есть man страницы. Whatis показывает, какие разделы руководств есть для данной команды.

38. whereis

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

Команды Linux для управления сетью

39. ip

Если список команд Linux для управления сетью вам кажется слишком коротким, скорее всего вы не знакомы с утилитой ip. В пакете net-tools содержится множество других утилит: ipconfig, netstat и прочие устаревшие, вроде iproute2. Всё это заменяет одна утилита - ip. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. Просто смиритесь с этим.



Просмотров