Команды Linux

Дистрибутивов Linux существует великое множество, но у всех у них есть нечто общее - это команды Linux. Если вы знаете команды Linux, то в любом, даже самом экзотическом Linux, вы будете чувствовать себя как дома.

Командами Linux можно сделать очень многое, а некоторые вещи можно сделать ТОЛЬКО командами.

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

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

Команды Linux

Команды повышающие привилегии:

Спойлер
запустить команду с правами root
открыть командную строку с правами root
открыть командную строку с правами user
забыть пароль sudo
графический диалог sudo (GNOME)
графический диалог sudo (KDE)
редактировать /etc/sudoers
файловый менеджер с правами root (GNOME)
файловый менеджер с правами root (KDE)
сменить Ваш пароль

Команды для работы с файлами и директориями:

Спойлер
- перейти в директорию '/home'
- перейти в директорию уровнем выше
- перейти в директорию двумя уровнями выше
- перейти в домашнюю директорию
- перейти в домашнюю директорию пользователя user
- перейти в директорию, в которой находились до перехода в текущую директорию
- показать текущую директорию
- отобразить содержимое текущей директории
- отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип
- показать детализировано представление файлов и директорий в текущей директории
- показать скрытые файлы и директории в текущей директории
- показать файлы и директории содержащие в имени цифры
- показать дерево файлов и директорий, начиная от корня (/)
- показать дерево файлов и директорий, начиная от корня (/)
- создать директорию с именем 'dir1'
- создать две директории одновременно
- создать дерево директорий
- удалить файл с именем 'file1'
- удалить директорию с именем 'dir1'
- удалить директорию с именем 'dir1' и рекурсивно всё её содержимое
- удалить две директории и рекурсивно их содержимое
- переименовать или переместить файл или директорию
- скопировать файл file1 в файл file2
- копировать все файлы директории dir в текущую директорию
- копировать директорию dir1 со всем содержимым в текущую директорию
- копировать директорию dir1 в директорию dir2
- создать символическую ссылку на файл или директорию
- создать "жёсткую" (физическую) ссылку на файл или директорию
- модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)

Команды для поиска файлов:

Спойлер
- найти файлы и директории с именем file1. Поиск начать с корня (/)
- найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)
- Найти все файлы и директории, имена которых оканчиваются на '. bin'. Поиск начать с '/ home/user1'
- найти все файлы в '/usr/bin', время последнего обращения к которым более 100 дней
- найти все файлы в '/usr/bin', созданные или изменённые в течении последних 10 дней
- найти все фалы и директории, имена которых оканчиваются на '.rpm', и изменить права доступа к ним
- найти все фалы и директории, имена которых оканчиваются на '.rpm', игнорируя съёмные носители, такие как cdrom, floppy и т.п.
- найти все файлы, содержащие в имени '.ps'. Предварительно рекомендуется выполнить команду 'updatedb'
- показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу 'halt'which halt - отображает полный путь к файлу 'halt'

Команды для монтирования файловых систем:

Спойлер
- монтирует раздел 'hda2' в точку монтирования '/mnt/hda2'. Убедитесь в наличии директории-точки монтирования '/mnt/hda2'
- ремонтирует раздел 'hda2'. Перед выполнением, покиньте '/mnt/hda2'
- принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем
- выполнить размонтирование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты "только чтение" или недостаточно места на диске
- монтировать флоппи-диск
- монтировать CD или DVD
- монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)
- смонтировать ISO-образ
- монтировать файловую систему Windows FAT32
- монтировать сетевую файловую систему Windows (SMB/CIFS)
- "монтирует" директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в "песочнице" (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user

Команды для работы с дисковым пространством:

Спойлер
- отображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (ключ -h работает не во всех *nix системах)
- выдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр
- подсчитывает и выводит размер, занимаемый директорией 'dir1' (Прим.переводчика. ключ -h работает не во всех *nix системах)
- отображает размер и имена файлов и директорий, с соритровкой по размеру
- показывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)
- показывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)

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

Спойлер
- создать новую группу с именем group_name
- удалить группу group_name
- переименовать группу old_group_name в new_group_name
- создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell'а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome
- создать пользователя user1
- удалить пользователя user1 и его домашний каталог
- изменить атрибуты пользователя
- сменить пароль
- сменить пароль пользователя user1 (только root)
- установить дату окончания действия учётной записи пользователя user1
- проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
- проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group
- изменяет первичную группу текущего пользователя. Если указать "-", ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd

Команды для изменения полномочий на файлы:

Спойлер
- просмотр полномочий на файлы и директории в текущей директории
- вывести содержимое директории /tmp и разделить вывод на пять колонок
- добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) - всем полные права.
- другой способ.
- отобрать у группы и всех остальных все полномочия на директорию directory1.
- назначить владельцем файла file1 пользователя user1
- назначить рекурсивно владельцем директории directory1 пользователя user1
- сменить группу-владельца файла file1 на group1
- сменить владельца и группу владельца файла file1
- найти, начиная от корня, все файлы с выставленным SUID
- назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.
- снять SUID-бит с файла /bin/binary_file.
- назначить SGID-бит директории /home/public.
- снять SGID-бит с директории /home/public.
- назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам
- снять STIKY-бит с директории /home/public
- позволить открывать файл на запись только в режиме добавления
- позволяет ядру автоматически сжимать/разжимать содержимое файла.
- указывает утилите dump игнорировать данный файл во время выполнения backup'а
- делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него.
- позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращает возможность восстановления данных.
- указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync
- данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить
- показать атрибуты файлов

Команды для архивирования файлов:

Спойлер
- разжимает файл 'file1.gz'
- другой вариант
- сжимает файл 'file1'
- другой вариант
- сжать файл file1 с максимальным сжатием
- создать rar-архив 'file1.rar' и включить в него файл test_file
- создать rar-архив 'file1.rar' и включить в него file1, file2 и dir1
- распаковать rar-архив
- другой вариант
- создать tar-архив archive.tar, содержащий файл file1
- создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
- показать содержимое архива
- распаковать архив
- распаковать архив в /tmp
- создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)
- разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)
- создать архив и сжать его с помощью gzip
- разжать архив и распаковать его
- создать сжатый zip-архив
- создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий
- разжать и распаковать zip-архив

Команды для проверки системной информации:

Спойлер
- отобразить используемую версию ядра
- показать аппаратные системные компоненты - (SMBIOS / DMI)
- вывести характеристики жесткого диска
- протестировать производительность чтения данных с жесткого диска
- отобразить информацию о процессоре
- показать прерывания
- проверить использование памяти
- показать файл(ы) подкачки
- вывести версию ядра
- показать сетевые интерфейсы и статистику по ним
- отобразить смонтированные файловые системы
- показать в виде дерева PCI устройства
- показать в виде дерева USB устройства
- вывести системную дату
- вывести таблицу-календарь 2013-го года
- установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
- сохранить системное время в BIOS

Команды для остановки системы:

Спойлер
- остановить систему
- остановить систему
- остановить систему
- запланировать остановку системы на указанное время
- отменить запланированную по расписанию остановку системы
- перегрузить систему
- перегрузить систему
- выйти из системы

Команды для работы X-сервером:

Спойлер
– перезапустить X (GNOME)
– перезапустить X (KDE)
– конфигурация X
– сбросить конфигурацию X
– перезапустить X-сервер
– переключиться на консоль №N
– вернуться к X

Команды для работы с сервисами:

Спойлер
– запустить service (Upstart)
– остановить service (Upstart)
– проверить, запущен ли service (Upstart)
– запустить service (SysV)
– остановить service (SysV)
– проверить service (SysV)
– перезапустить service (SysV)
– посмотреть текущий runlevel

Команды для управления пакетами:

Спойлер
– обновить базу пакетов
– обновить все пакеты
– обновить версию Ubuntu
– установить pkg
– удалить pkg
– удалить устаревшие пакеты
– попытаться исправить сломанные пакеты(зависимости)
– попытаться исправить сломанные пакеты(зависимости)
– установить пакет из файла pkg.deb
список репозиториев APT

RPM пакеты (Fedora, Red Hat и тому подобное)

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

- ипортировать публичный ключ цифровой подписи

- проверит подпись пакета

- проверить целостность установленного содержимого пакета

- проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакета

- проверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!

- проверить пакет, который ещё не установлен в систему

- извлечь из пакета файлы содержащие в своём имени bin

- установить пакет, собранный из исходных кодов

- собрать пакет из исходных кодов

YUM - средство обновления пакетов(Fedora, RedHat и тому подобное)

Спойлер

- закачать и установать пакет

- обновить все пакеты, установленные в систему

- обновить пакет

- удалить пакет

- вывести список всех пакетов, установленных в систему

- найти пакет в репозитории

- очисть rpm-кэш, удалив закачанные пакеты

- удалить все заголовки файлов, которые система использует для разрешения зависимостей

- очисть rpm-кэш, удалив закачанные пакеты и заголовки

DEB пакеты (Debian, Ubuntu и тому подобное)

Спойлер

- установить / обновить пакет

- удалить пакет из системы

- показать все пакеты, установленные в систему

- среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени "httpd"

- отобразить инфрмацию о конкретном пакете

- вывести список файлов, входящих в пакет, установленный в систему

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

- найти пакет, в который входит указанный файл.

APT - средство управление пакетами (Debian, Ubuntu и тому подобное)

Спойлер

- установить / обновить пакет

- установить / обновить пакет с cdrom'а

- получить обновлённые списки пакетов

- обновить пакеты, установленные в систему

- удалить пакет, установленный в систему с сохранением файлов конфигурации

- удалить пакет, установленный в систему с удалением файлов конфигурации

- проверить целостность зависимостей

- удалить загруженные архивные файлы пакетов

- удалить старые загруженные архивные файлы пакетов

Команды для просмотра содержимого файлов:

Спойлер

- вывести содержимое файла file1 на стандартное устройство вывода

- вывести содержимое файла file1 на стандартное устройство вывода в обратном порядке (последняя строка становиться первой и т.д.)

- постраничный вывод содержимого файла file1 на стандартное устройство вывода

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

- вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк

- вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк

- выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.

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

Спойлер

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

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

- из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, содержащие "Aug"

- из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, начинающиеся на "Aug"

- из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, содержащие цифры

- отобрать и вывести на стандартное устройство вывода строки, содержащие "Aug", во всех файлах, находящихся в директории /var/log и ниже

- в файле example.txt заменить "string1" на "string2", результат вывести на стандартное устройство вывода.

- удалить пустые строки из файла example.txt

- удалить пустые строки и комментарии из файла example.txt

- преобразовать символы из нижнего регистра в верхний

- удалить первую строку из файла example.txt

- отобразить только строки содержашие "string1"

- удалить пустые символы в в конце каждой строки

- удалить строку "string1" из текста не изменяя всего остального

- взять из файла с первой по восьмую строки и из них вывести первые пять

- вывести пятую строку

- заменить последовательность из любого количества нулей одним нулём

- пронумеровать строки при выводе содержимого файла

- при выводе содержимого файла, не выводить чётные строки файла

- вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции

- вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции

- объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m

- объединить содержимое file1 и file2 в виде таблицы с разделителем "+"

- отсортировать содержимое двух файлов

- отсортировать содержимое двух файлов, не отображая повторов

- отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)

- отсортировать содержимое двух файлов, отображая только повторяющиеся строки

- сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file1'

- сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file2'

- сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах

Команды для проверки файловых систем:

Спойлер

- проверить раздел hda1 на наличие bad-блоков

- проверить/восстановить целостность linux-файловой системы раздела hda1

- проверить/восстановить целостность файловой системы ext2 раздела hda1

- проверить/восстановить целостность файловой системы ext2 раздела hda1

- проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же

- проверить/восстановить целостность файловой системы ext3 раздела hda1

- проверить/восстановить целостность файловой системы fat раздела hda1

- проверить/восстановить целостность файловой системы fat раздела hda1

Команды для форматирования разделов:

Спойлер

- создать linux-файловую систему на разделе hda1

- создать файловую систему ext2 на разделе hda1

- создать журналирующую файловую систему ext3 на разделе hda1

- создать файловую систему FAT32 на разделе hda1

- форматирование флоппи-диска без проверки

- создание swap-пространства на разделе hda3 swap-пространство

- создание swap-пространства на разделе hda3

- активировать swap-пространство, расположенное на разделе hda3

- активировать swap-пространства, расположенные на разделах hda2 и hdb3

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

Спойлер

- создать полную резервную копию директории /home в файл /tmp/home0.bak

- создать инкрементальную резервную копию директории /home в файл /tmp/home0.bak

- восстановить из резервной копии /tmp/home0.bak

- синхронизировать /tmp с /home

- синхронизировать через SSH-туннель

- синхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатием

- синхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатием

- сделать "слепок" локального диска в файл на удалённом компьютере через ssh-туннель

- создать инкрементальную резервную копию директории '/home/user' в файл backup.tar с сохранением полномочий

- копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/