Шпаргалка по работе в командной строке Linux

Прошли те времена, когда для управления операционной системой Linux требовалось знание командной строки. Сегодня в распоряжении пользователей Linux несколько отличных графических интерфейсов (лично я предпочитаю GNOME). Однако необязательное не означает бесполезное — знание команд открывает мощные возможности настройки и управления системой. Время, вложенное в изучение команд, окупится сторицей. Ниже несколько полезных команд. В Ubuntu Linux операции, требующие полномочий администратора, должны предваряться командой sudo

Переход в терминал: Alr+Ctr+F1(-F6)

Переключение между текстовыми консолями: Alr+F1(-F6)

Переход в графический режим: Alr+F7

Аварийный выход из системы X Window: Ctr+Alt+Backspace

Включение/выключение

Перезагрузить компьютер:
rebootили shutdown -r now
Выключить компьютер:
shutdown -h now
Выключить компьютер через заданное время:
shutdown -h hh:mmили
shutdown -h +m
Окончание сеанса работы в терминале:
exit

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

Включить корневую учетную запись:
sudo passwd root
Заблокировать корневую учетную запись:
sudo passwd -l root
Добавить пользователя:
adduser имя_пользователя
Удалить пользователя:
deluser имя_пользователя
Удалить пользователя вместе с домашним каталогом:
deluser имя_пользователя -remove-home
Изменить имя пользователя и название его домашнего каталога:
usermod -l новое_имя_пользователя -d /home/новое_имя_пользователя -m старое_имя_пользователя
Изменить пароль пользователя:
passwd имя_пользователя
Восстановить пароль к учетной записи в режиме восстановления системы (нажать Esc в процессе загрузки GRUB):
passwd имя_записи

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

Показать информацию о файловых системах:
sudo mount
Показать список разделов:
df
Показать содержание текущего каталога:
du -h
Показать объем указанного каталога:
du -S имя_каталога
Отобразить путь к текущему каталогу:
pwd
Создать каталог:
mkdir имя_каталога
Скопировать каталог:
cp каталог_1 каталог_2
Переместить каталог_1 в каталог_2:
mv каталог_1 каталог_2
Войти в каталог:
cd /имя_каталога
Показать содержание каталога:
ls /имя_каталога
Показать содержание каталога, включая скрытые файлы и каталоги:
ls -a /имя_каталога
Показать полную информацию о содержании каталога:
ls -l /имя_каталога
Удалить пустой каталог:
rmdir имя_каталога
Удалить каталог с содержанием:
rm -r имя_каталога

Работа с файлами

Создать файл в текущем каталоге:
touch имя_файла.txt
Найти файл:
locate имя_файла
Обновить базу поиска файлов:
updatedb
Просмотреть текстовый файл:
cat /путь/имя_файла
Просмотреть текстовый файл в обратном порядке — от последней строки к первой:
tac /путь/имя_файла
Скопировать файл_1 в файл_2:
cp файл_1 файл_2
Переместить файл_1 в файл_2:
mv файл_1 файл_2
Переместить файл с сохранением оригинала (в конец имени файла дописывается символ ~):
mv -b файл целевой_каталог
Удалить файл:
rm имя_файла
Записать информацию в файл, перезаписав его:
echo текст > имя_файла.txt
Добавить информацию в файл без его перезаписи:
echo текст >> имя_файла.txt
Слить несколько текстовых файлов в один:
cat файл_1 файл_2 > итоговый_файл

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

Создать архив из содержимого каталога:
tar -cvf имя_архива.tar имя_каталога/
Сжать файлы:
bzip2 имя_файла
gzip имя_файла zip имя_файла
Распаковать архив:
gunzip имя_архива.tar.gz bunzip имя_архива.tar.bz bunzip2 имя_архива. ar.bz2 tar xvf имя_архива.tar tar xzf имя_архива.tgz

Управление правами доступа

Пример:
-r--r----- dr--r-----
Дефис вначале означает обычный файл, d — каталог (директорию). Дальше три группы по три символа означают права доступа для владельца, членов группы, в которую входит владелец, и для всех остальных пользователей соответственно.
дефис означает отсутствие прав,
r — означает право на чтение,
w — право на запись,
x — право на выполнение.
Просмотреть права доступа:
ls -l имя_файла_или_каталога
Задать права доступа:
chmod *** имя_файла_или_каталога где *** — права доступа, указанные абсолютным способом, или:
chmod группа=/+/-тип доступа имя_файла_или_каталога где группа: u (user, владелец), g (group, группа), o (other, другие), a (all, все), например: chmod a+rw имя_файла
Изменить владельца:
chown имя_пользователя имя_файла
Распространенные права доступа:
644 = rw-r--r--
666 = rw-rw-rw-
777 = rwxrwxrwx

Порядок цифр соответствует порядку пользователей (ugo), цифра в каждой позиции складывается из значений 4, 2 и 1 для прав r, w и x, соответственно. Так право полного доступа для владельца и отсуствие каких-либо прав для группы и прочих пользователей будет 700 (4+2+1.0.0).

Управление программами

Обновить список программного обеспечения:
apt-get update
Обновить систему:
apt-get upgrade
Найти программу в репозитарии по ключевому слову:
apt-cache search ключевое_слово
Показать информацию о пакете:
apt-cache show название_пакета
Установить программу из репозитария:
apt-get install имя_пакета
Удалить установленную программу:
apt-get remove имя_пакета
Удалить программу вместе с файлами настройки:
apt-get remove purge имя_пакета
Установить программу из скомпилированного пакета:
dpkg -i имя_пакета.deb
Удалить программу:
dpkg -r имя_пакета.deb
Очистить локальное хранилище полученных файлов пакетов:
apt-get clean
Просмотреть список установленных пакетов:
dpkg -l
Добавить частный источник программного обеспечения PPA (Personal Package Archive):
add-apt-repository ppa:user/ppa-name
Установить программу из бинарного файла (предварительно необходимо перейти в каталог с файлом программы):
./имя_файла.bin
Разрешить исполнение файла (если необходимо):
chmod a+x имя_файла.bin
/>
Установить программу из исходных файлов (предварительно необходимо перейти в каталог с файлом программы):
./configure
make
make install
Удалить программу, установленную из исходных файлов:
make uninstall
Запустить графическую программу с правами root:
gksudo имя_программы

Управление системой

Отобразить список зарегистрированных в системе пользователей:
who
Показать информацию об использовании оперативной памяти:
free
Показать список запущенных процессов:
ps
Завершить процесс:
killall имя_процесса
Показать список процессов в реальном времени:
top
Внести изменения в файл конфигурации
gedit /путь/к_файлу
Снизить скорость чтения диска в приводе:
hdparm -E 4 /dev/dvdrom

Диагностика системы

Проверить жесткий диск на «битые» секторы:
badblocks
Показать состояние сетевых интерфейсов:
ifconfig
Показать состояние беспроводных сетевых устройств:
iwconfig
Проверить таблицу маршрутизации:
route
Проверить доступность компьютера в сети:
ping имя_сайта_или_ip_адрес Остановить процесс: Ctrl+C
Проверить маршрут следования пакета:
traceroute имя_сайта_или_ip_адрес
Показать информацию о подключенных USB-устройствах:
lsusb
Отобразить список PCI-шин и подключенных к ним устройств:
lspci
Отобразить список оборудования системы:
lshw

Получение помощи

Показать Введение в пользовательские команды:
man intro
Отобразить краткое описание команды:
whatis имя_команды
Вывести информацию о команде:
man имя_команды info имя_команды имя_команды --help
Найти информацию по ключевым словам:
man -k ключевое_слово
Поиск по странице:
/ключевое_слово
Продолжить поиск:
N
Вывести историю команд:
history
Выполнить команду из списка истории команд:
!номер_команды !первые_буквы_команды
Очистить экран консоли:
clear

Объединение команд

Последовательное выполнение команд:
команда1 ; команда2
Последовательное выполнение команд при условии успешного выполнения предыдущей команды:
команда1 && команда2
Последовательное выполнение команд при условии неудачного выполнения предыдущей команды:
команда1 || команда2
Последовательное выполнение команд с передачей результатов выполнения предыдущей команды последующей:
команда1 | команда2
Запуск команды в фоновом режиме:
команда &

Символы подстановки

  • Текущий каталог: .
  • Родительский каталог: ..
  • Домашний каталог пользователя: ~
  • Один произвольный символ: ?
  • Любое количество произвольных символов: *
  • Символ из указанного диапазона: [a,b,x-z], например, [a,b].rar
  • Любые символы, кроме указанных: [!ab], например, [!ab].rar
  • Подстановка с помощью фигурных скобок: например, {a,b}{1,2} создаст строку a1 a2 b1 b2
  • Указание специального символа: \ или апостроф, например, ’имя файла’, или имя\ файла
Раздел