Безопасность

Основные Linux команды консоли. Терминальные команды в Linux

Основные Linux команды консоли. Терминальные команды в Linux

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


Вообще, консольных утилит существует превеликое множество, но здесь мы вкратце, в качестве примера, рассмотрим лишь две из них, но очень важные и часто используемые. Утилита Apt-get , предназначенная для работы с программными пакетами. Для тех же, кто совершенно не признает консоль, может воспользоваться замечательной графической оболочкой для Apt-get , под названием Synaptic (имеется в официальном репозитории).

Как пользоваться утилитой?

//основная формула

sudo apt-get команда

//в качестве примера обновим все пакеты

sudo apt-get upgrade


Основные команды apt-get при работе с пакетами.

apt-get update //обновление информации о пакетах из репозитариев
apt-get upgrade //обновление всех пакетов
apt-get dist-upgrade //обновление системы в целом
apt-get clean //чистит локальное хранилище, кроме файлов кэша
apt-get autoclean //тоже, что и clean , с удален. кэш-файлов
apt-get check //обновляет кэш и провер. неудовл. зависимости
apt-get autoremove //удаление ранее скачаных, но ненужных пакетов
apt-get remove //удаление пакета с сохран. конфигурац. файлов
apt-get purge //удаление пакета со всеми зависимостями
apt-get install //установка пакета
apt-get build-dep //устанавл. все для сборки исходных пакетов
apt-get source //скачивает пакеты с исходниками


Параметры:

-h, --help //справка
-q, --quiet //скрыть индикатор процесса
-qq //не показывать ничего кроме ошибок
-d, --download-only //только получить пакеты и выйти
-s, --simulate //выполнить симуляцию событий
-y, --yes //автом. отвечать "Да" на все вопросы
--reinstall //переустановить пакеты
-f, --fix-broken //исправить нарушенные зависимости
-m, --ignore-missing //игнорировать отсутствующие пакеты
-u, --show-upgraded //показать обновленные пакеты
--no-upgrade //не производить обновления пакетов
-b, --compile, --build //собрать пакет после получения
-D //при удалении, удалить зависящие компоненты
-V //подробно показывать номера версий пакетов
--no-remove //если пакеты отмеч. к удален., то apt-get выкл.
--force-yes //принудительное выполнение заданной операции


Прикол.

apt-get moo

Должны увидеть корову, которая спрашивает: "Вы мычали сегодня?"

Утилита "aptitude".

Рассмотрим еще одну очень хорошую утилиту под названием "aptitude ", фактически это тоже самое, что и "apt-get ", но считается лучше, а также имеет псевдо-графический интерфейс. Принцип работы точно такой же, только вместо "apt-get ", нужно вводить значение "aptitude ". Сначала установим саму утилиту:

sudo apt-get aptitude

Теперь, если набрать: aptitude , то попадете в интерфейс программы.

Рассмотрим некоторые команды:

// Установка пакета.

sudo aptitude пакет1 пакет2 пакет3

Как видите, устанавливать можно сразу неограниченное количество пакетов одновременно. Сколько бы вы их не устанавливали, aptitude автоматически разрешит все зависимости, вам останется только согласится (y) и нажать(enter) . Так же, по аналогии можно удалять пакеты:

sudo aptitude remove имя_пакета1
или
sudo aptitude purge имя_пакета1

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

aptitude show имя_пакета

Вообщем, эта утилита абсолютный аналог "apt-get ", но при установке и удалении пакетов, желательно использовать ее, нежели "apt-get ". Во всяком случае, на официальном сайте Ubuntu дают именно такие рекомендации.

Другие команды консоли.

Список команд, относящихся к информации.

hostname //сетевое имя машины
whoami //имя текущего пользователя
uname -m //покажет архитектуру машины
uname -r //версия ядра
sudo dmidecode -q //информ. об аппарат. обеспечении системы
cat /proc/cpuinfo //информация о процессоре
cat /proc/interrupts //прерывания
cat /proc/meminfo //вся информация о памяти
cat /proc/swaps //вся информация про swap
cat /proc/version //версия ядра и другая информация
cat /proc/net/dev //сетевые интерфейсы и статистика
cat /proc/mounts //смонтированные устройства
cat /proc/partitions //доступные разделы
cat /proc/modules //загруженные модули ядра
lspci -tv //PCI устройства
lsusb -tv //USB устройства
date //текущая дата
cal //календарь и текущий месяц
cal 2012 //покажет весь 201х год


Команды, относящиеся к процессам перезагрузки и выключения.

shutdown -h now //выключить систему
init 0 //выключить систему
telinit 0 //выключить систему
shutdown -h hours:minutes & //запланировать выключение системы
shutdown -c //отменить запланированное выключение
shutdown -r now //перезагрузить систему
reboot //перезагрузить систему
logout //завершить сессию


Операции с файлами и не только...

cd /home //перейти в домашний каталог
cd .. //перейти на уровень выше
cd ../.. //перейти на 2 уровня выше
cd - //перейти в предыдущий каталог
pwd //показать путь к текущей директории
ls
ls -F //показать файлы и директории
ls -l //показ. подробности о файлах, директориях
ls -a //показать скрытые файлы
mkdir dir1 //создать директорию с именем dir1
mkdir dir1 dir2 //создать директории dir1 и dir2
mkdir -p /tmp/dir1/dir2 //создать директорию в указанном месте
rm -f file1 //удалить файл с именем file1
rmdir dir1 //удалить директорию с именем dir1
rm -rf dir1 //удалит директорию dir1 и всё её содержимое
rm -rf dir1 dir2 //удалить директории dir1 \dir2 и содержимое
mv dir1 new_dir //переименовать / переместить директорию
cp //копирование файлов/папок
ln -s //cоздать символическую ссылку
chmod //присвоение прав файлам
find / -user user1 //искать файлы, директ. с user1 find /home/user1 -name \*.bin //искать файлы .bin в / home / user1 find /usr/bin -type f -atime +100 //иск. бин. файлы, незап. 100 дн. find /usr/bin -type f -mtime -10 //иск. файлы созд./изм. за 10 дн. find / -name \*.deb -exec chmod 755 "{}" \; //иск. файлы (.deb) и измен. права locate \*.ps //найти файлы с расширением .ps whereis halt //показать путь к программе halt which halt //показ. полн. путь к програм. halt


На первый взгляд, все это может выглядеть несколько устрашающе, но это только на первый взгляд. Не стоит сразу бросаться в панику и сразу же, возвращаться к Windows (у). Современные дистрибутивы Linux , а Ubuntu в особенности, вполне позволяет вам обходиться без командной строки. Тем не менее, командная строка, в отдельных случаях намного бывает удобней, чем графический интерфейс. Также, совсем необязательно заучивать все эти команды наизусть, достаточно будет создать текстовый файл, скопировать в него все содержимое и держать его поблизости, как шпаргалку, которой при необходимости можно воспользоваться.

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

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

1. man

Начнем с простого, команда man, что означает manual. Если хотите прочитать о какой-либо команде, просто наберите:

Man

man - не малоизвестная команда, ее вы найдете в любом учебнике Unix’а, однако я бы хотел обратить ваше внимание на некоторые ее особенности.

Man ascii

Путались когда-нибудь, что меньше пико- или фемто-? Пробуйте следующее:

Man units

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

2. cd —

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

cd -

3. sudo !!

Этот комикс подчеркивает важность команды sudo в Unix. sudo выполняет команду с правами администратора. Если вы набрали команду без sudo, а потом оказалось, что она необходима, наберите просто:

и она запустится уже с правами рута.

4. mtr

mtr - мощный инструмент для диагностики сети. Он совмещает в себе функциональность traceroute и ping.

Mtr

5. command

Опытные пользователи, возможно, знают, что история запущенных команд сохраняется в файле ~/.bash_history.
Так, чтобы команда не записывалась в историю, просто наберите перед командой пробел. Это может быть полезно при работе с админ правами — или просто если хотите чтоб никто не видел историю Ваших действий.

6. jot

jot генерирует текст. Числа, текст, все вместе. Чтобы сгенерировать числа, попробуйте следующее:

Jot [количество чисел] [начиная с]

Если пропишете один аргумент, сгенерируются числа от 1 до значения аргумента.

Чтобы получить случайные:

Jot -r [количество чисел] [нижний предел] [верхний предел]

Подробнее читайте или наберите man jot

7. df

Довольно простая команда. Показывает свободное пространство на диске (disk free )

8. pkill

pkill (или process kill) завершает запущенный процесс. Эта команда особенно полезна, когда приложение не отвечает:

Pkill

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

9. ddate

Дискордианский календарик

10. cal

Старый-добрый Григорианский календарь.

11. tac

Вы, возможно, слышали про команду cat . Она имеет ряд утилит для создания, копирования, слияния и отображения текстовых файлов. tac делает то же самое, но в обратном порядке.

12. w

Команда w показывает, кто на данный момент вошел в систему, наряду с другой полезной информацией такой, как время работы или нагрузкой процессора.

13. factor

factor раскладывает число на множители:

Factor

14. yes

Возвращаемся к веселым командам, yes выводит текст несколько раз:

Yes

Используйте ее, чтобы запутать подкравшихся сзади друзей. Внимание, единственный способ остановить ее - CTRL + C (ну, или закрыть терминал)

15. nl

nl нумерует строки. Больше всего полезна при использовании ее в качестве аргумента. Давайте взглянем на пару примеров:


Спасибо за внимание, всего хорошего.

2016-06-17T19:56:26+00:00 admin C чего начать? Руководства Справочники команд bash,Debian\Ubuntu\Mint,Администрирование,команды,Консоль,Руководства,Системные утилиты,Справочник команд,Хаки

Любому пользователю Линукс просто необходимо овладеть базовыми навыками работы в терминале. Ниже - 15 команд\хаков для комфортной работы с консолью. Независимо от того, новичок вы или профи, уверен, вы найдете для себя полезное среди нижеприведенных советов и рекомендаций. 1. man Начнем с простого, команда man, что означает manual. Если хотите прочитать...

[email protected] Administrator Самоучитель LINUX

Во всех операционных системах, в том числе и в 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. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. Просто смиритесь с этим.

Введение в терминал

Среди всех элементов системы Linux самым важным, пожалуй, является командная строка (bash -B ourne A gain Sh ell) или Терминал :

Начинающим пользователям кажется, что они ни когда не прибегнут к помощи командной строки, а некоторые её просто боятся. Однако чем больший опыт они приобретают, тем чаще обращаются к терминалу.
С помощью командной строки можно выполнять действия, которые были бы не мыслимы при работе с графическим пользовательским интерфейсом. Оказывается, что многие действия гораздо быстрее и эффективнее выполнять, пользуясь командной строкой.
Командная строка используется во всех OS : Windows, MacOS X и Linux .
Многие начинающие пользователи могут возразить: "Так ведь в Windows мы не пользуемся командной строкой" . И будут не правы , т.к. все действия по установке/удалению программ или другие системные изменения незримо протекают в терминале, не говоря уже о системных администраторах, которые очень часто прибегают к услугам командной строки.
Изначально окно терминала было отображено в первых мониторах компьютеров, ещё до того, как появились графические программы (GUI) и пока в обозримом будущем не видно чтобы его могло заменить что-то другое.

Терминальные команды


В системе Linux используются тысячи команд, которые совсем не обязательно знать простому пользователю, но иметь общее представление и знать некоторые, часто используемые, просто необходимо, т.к. волей - неволей вы с ними столкнётесь при настройке системы или установке нужной программы, отсутствующей в Центре приложений и т.д.
Я использую системы Ubuntu/Linux Mint и на их основе будут задействованы примеры, но думаю, что кроме команды sudo , остальное применительно и к другим системам Linux .

Обновление программ

Многие пользователи, наверное, выполняли не раз такие команды в терминале:

sudo apt-get update
sudo apt-get upgrade

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

Команда sudo , это по сути аббривеатура, состоящая из следующих слов: s uper u ser do , что в переводе с английского буквально означает следующее: s uper u ser - суперпользователь (администратор), do - делает . Т.е. когда данная команда присутствует в общей команде, то командной строке даётся понять, что выполнять её может суперпользователь (администратор), тот пользователь, который при установке системы был зарегистрирован и ввёл свой пароль:

Команда apt-get , которая следует после sudo ипробела, состоит из двух слов через чёрточку, которая объединяет эти два слова в одну команду и буквально означает в переводе: склонен-выполнить .

Команда update , в переводе - обновление .

Итак sudo apt-get update в преводе буквально - суперпользователь склонен-выполнить обновление .

После ввода данной команды и нажатия клавиши Enter , терминал запрашивает пароль. После ввода пароля и вновь нажатия Enter , начнётся процесс обновления списка пакетов.

Примечание. У терминала есть особенности после ввода команды с sudo , а именно когда вы вводите пароль, то он не отображается ни буквами, ни символами, поэтому нужно всегда обращать внимание на раскладку клавиатуры, в которой вы вводите пароль и другая, это после выполнения первой команды с присутствием sudo , последующие команды (даже если в них есть sudo ), больше не требует ввода пароля в течении определённого времени (сохраняет открытой sudo-сессию) в этом же окне терминала , т.е подразумевая, что терминалом продолжает пользоваться суперпользователь (администратор).

Команда sudo apt-get upgrade очень похожа на предыдущую команду, где upgrade - модернизировать, усовершенствовать (систему). Данная команда, как правило выполняется после команды обновления. После того как команда выполнена, она выдаёт в терминале возможные пакеты для установки, т.е. модернизации, усовершенствования системы. Пользователю остаётся согласиться или нет с установкой данных пакетов.

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

sudo apt-get install chromium-browser

sudo apt-get remove chromium-browser

Как видно команды очень похожи между собой, за исключением одного слова выделенного красным. В первой команде install - установить chromium-browser , а во второй remove - удалить chromium-browser

Таким образом устанавливаются и удаляются приложения (программы) и др. файлы в системе.
Если вы нашли на одном из сайтов похожую команду на установку программы и установили её, но программа вам не подошла и вы хотите удалить, достаточно в команде на установку изменить install на remove и выполнить в терминале, как программа удалится.

Установка программ из стороннего репозитория

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

sudo add -apt-repository ppa:upubuntu-com/gtk+3.6
sudo apt-get update
sudo apt-get install flatstudiodark-gtk

Прежде всего давайте выясним зачем подключать сторонний репозиторий? Репозиторий, это хранилище файлов на сайте разработчика. В данном случае, третьей командой мы хотим установить тему оформления, но её нет в Центре приложений , а значит нам нужно прежде подключить хранилище (репозиторий) с темой (первая команда), где add - добавить , ppa:upubuntu-com/gtk+3.6 - название репозитория, затем второй командой обновить список пакетов и уже третьей - установить сам пакет с темой.

Если данное приложение (в конкретном случае тема оформления) вам не понравилось и вы решили удалить его, то вы можете изменить команды на установку, чтобы они выглядели командами на удаление:

sudo apt-get remove flatstudiodark-gtk
sudo add-apt-repository --remove ppa:upubuntu-com/gtk+3.6
sudo apt-get update

Прежде нужно выполнить команду на удаление пакета с программой, где меняем install на remove , затем удаляем хранилище (репозиторий), добавив в команду --remove - удалить , т.к. хранилище теперь без надобности и обновляем систему последней командой.

Запуск графических программ с правами администратора.

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

gksudo nautilus

gksu nautilus

Где ввод пароля, в данном случае, будет происходить в графическом окне, а не в терминале.

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

gksu nautilus /usr/share/themes

В данной команде косой чертой (/) - слешем указывается терминалу, что нужно перейти в следующую за ним папку.

Запуск программ из терминала командой

В системе Linux вы можете запустить любую программу из терминала установленную в вашей системе, главное знать её правильное название. Многие программы состоят из одного слова-названия, а некоторые из двух или трёх слов. Например: Nautilus; Ubuntu Tweak; Gnome Tweak Tool . Если мы введём в терминал название команд так, как они написаны, то не сможем открыть ни одно из приложений. Ещё раз повторюсь, что терминал очень чувствителен к регистру, т.е. команду нужно вводить только в нижнем регистре (строчными буквами) и обязательно монолитной, через чёрточку, если она состоит из нескольких слов(примеры):

nautilus

ubuntu-tweak

gnome-tweak-tool

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

nautilus & exit

ubuntu-tweak & exit

gnome-tweak-tool & exit

Через разделительный знак & можно включать несколько команд на выполнение (открытие), объединив их в одну команду:

nautilus & ubuntu-tweak & gnome-tweak-tool & exit

Создание каталогов (папок) и размещение в них файлов

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

mkdir ~/.icons

mkdir ~/.icons/flags

cd ~/.icons/flags

Теперь давайте детально разберём каждую из приведённых команд.

Командаmkdir ~/.icons - создаёт скрытый каталог (папку) в Домашней папке под названием icons .

mk - сокращённо от make - сделать, создать . dir - сокращённо directoria - каталог, папка .~ - знак тильда всегда обозначает Домашнюю папку пользователя. / - обозначение папки. .icons - обозначает название создаваемой папки, а точка впереди всегда указывает на то, что данная папка скрытая.

Команда mkdir ~/.icons/flags также создаёт папку под названием /flags в скрытойпапке /.icons и Домашней папке - ~ .

Команда cd ~/.icons/flags делает переход в папку /flags , которая в свою очередь находится в Домашней папке - ~ и в скрытой папке /.icons .

cd - c - обозначение перехода, d - directoria - каталог (папка) .

Команда wget http://suservice.net/icons/flags2/{ru,us}.png загружает файлы флажков впапку /flags , в которую мы перешли на предыдущем этапе.
wget - сокращённо от w - web - сеть , get - получать , т.е получить файлы из сети и ставится всегда перед URL адресом через пробел. В данном случае перед http://suservice.net/icons/flags2/{ru,us}.png , с которого и загружаются файлы с флажками.

Убить процесс командой

Прежде всего давайте выясним, что такое процесс?

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

Иногда так случается, что какой-то процесс в системе дал сбой или попросту "зависла" какая-то программа и кнопка закрытия не реагирует, либо кнонопка закрытия отсутствует вовсе (виджет conky). На этот случай в Linux есть очень хорошая команда - "убийца":

p - сокращённо от process (процесс), kill - убивать .
Но сама по себе эта команда не работает, ей нужен аргумент, т.е. либо номер процесса, который отображён в колонке PID (см. снимок терминала) после выполнения команды top , либо название процесса в колонке COMMAND . Не переживайте, команда не убьёт саму программу, она только остановит процесс выполнения. Если это графическая программа, то она просто закроется. Для эксперимента я выбрал самый безобидный процесс, который при закрытии ни чему не повредит. Итак выполните следующую команду:

pkill gnome-terminal

Окно терминала исчезло, т.е. был "убит" (остановлен) процесс, отображающий программу на экране монитора.

xkill - убивает видимый процесс и работает сама по себе, т.е. после выполнения команды кликните образовавшимся крестиком вместо курсора на любой видимой программе (окне), как оно закроется.

Заключение

Мною были подобраны команды для разбора, с которыми обычно сталкивается простой пользователь при настройке системы.
Если кто-то хочет глубже узнать о терминальных командах, я вам рекомендую скачать бесплатный справочник Скотта Граннемана "Linux. Карманный справочник" . Просто наберите в Google Скотт Граннеман и дайте поиск.