Команды консоли 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 | //скрыть индикатор процесса |
//не показывать ничего кроме ошибок | |
-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 | //присвоение прав файлам |
На первый взгляд, все это может выглядеть несколько устрашающе, но это только на первый взгляд. Не стоит сразу бросаться в панику и сразу же, возвращаться к 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 нумерует строки. Больше всего полезна при использовании ее в качестве аргумента. Давайте взглянем на пару примеров:
Спасибо за внимание, всего хорошего.
Любому пользователю Линукс просто необходимо овладеть базовыми навыками работы в терминале. Ниже - 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 Скотт Граннеман
и дайте поиск.