- Основные команды в консоли Linux
- 1. Простейшие действия
- 2. Стандартные команды и команды, дающие информацию по системе команд (всегда набираются в одной строке)
- 3. Работа с сетью
- 4. Некоторые команды администрирования
- 5. Контроль процессов
- 6. Встроенные в Linux программные утилиты и языки
- Основы работы в командной оболочке Linux
- Общие сведения о работе в командной оболочке Linux
- Как получить подсказку по использованию команды Linux
- Общие рекомендации для начинающих работать с командной строкой.
- Как управлять выводом на экран.
- Как перезагрузить или выключить компьютер.
- Управление процессами в Linux.
- Команда kill
- Изменение приоритетов — команды nice и renice
- Перечень наиболее часто используемых команд:
Основные команды в консоли Linux
Операционная система Linux очень нравится программистам и любителям «поковыряться», потому что в ней предусмотрено активное использование консоли, содержащей сотни команд. Если вы решили серьезно взяться за изучение этой гибкой ОС, следует для начала выучить в Линукс основные команды.
Зачем же существуют в Linux команды консоли? Вводя их в консоль, пользователь может оперативно совершать массу действий: открытие, перемещение и копирование файлов, просмотр различной информации и статистики, мониторинг и отладка, получение подробной информации о системе, видоизменение программной и визуальной части системы. И это лишь часть возможностей, которые вы получаете, благодаря этим командам.
Многие имеют дополнительные параметры, а некоторые и вовсе без них не работают. Для начала попробуйте просто вводить команды в консоль и изучать их действие.
Возможность видоизменять систему командами делает Linux очень универсальной оперативной системой. Вы можете настроить её под себя, изменив в ней всё что угодно. Сначала команды могут показаться сложными, но хорошенько выучив их, вы значительно ускорите работу с компьютером и начнете получать истинное удовольствие, понимая, что всё в ней настроено вами под ваши нужды.
Помните, что для полноценной работы с консолью вам нужны права администратора. Ниже представлен список основных команд в консоли Linux и их расшифровка.
1. Простейшие действия
ls — выдать список файлов в текущем каталоге.
cd [каталог] — сменить текущий каталог. Если имя каталога не указывается, то текущим становится домашний каталог пользователя.
cp — копировать файлы.
mv — переместить или переименовать файл.
ln -s — создать символическую ссылку.
rm — удалить файлы.
mkdir — создать новый каталог.
rmdir — удалить пустой каталог.
rm -r (рекурсивное удаление) — удалить файлы или каталоги и их подкаталоги. ОСТОРОЖНЕЙ с этой командой, поскольку пока у Linux нет системы полного восстановления удаленных файлов (если вы не пользуетесь специальными программами для помещения удаленных файлов в специальный каталог, что-то вроде «корзинки» в ОС Windows).
cat — вывод содержимого файла на стандартный вывод (по умолчанию — на экран).
Можно записать вводимый на экран текст с помощью следующей последовательности действий:
cat >
.
.
.
CTRL/d
more — просмотр содержимого длинного текстового файла по страницам.
less — просмотр содержимого текстового файла с возможностью вернуться к предыдущим страницам. Нажмите q, когда захотите выйти из программы. «less» — аналог команды DOS «more», хотя очень часто «less» бывает более удобной чем «more».
pico — редактировать текстовый файл с помощью текстового редактора pico.
lynx — просмотр файла html или WWW ссылки с помощью текстового браузера Lynx.
tar -zxvf — распаковать архив tgz или tar.gz
find — name имя_файла — найти файл с именем «имя файла» и отобразить результат поиска на экране. Поиск начинается с каталога ; «имя_файла» может содержать маску для поиска.
pine — хорошая текстово-ориентированная программа для чтения электронной почты.
mc — запустить программу управления файлами «Midnight Commander» (Выглядит как «Norton Commander», но по своим возможностям ближе к far).
./Имя_Программы — запустить на исполнение исполняемый файл в текущем каталоге, если текущего каталога нет в списке каталогов, указанных в переменной окружения PATH.
xterm (в X терминале) — запустить простой терминал в графической оболочке X-windows. Для того чтобы выйти из него, наберите «exit».
2. Стандартные команды и команды, дающие информацию по системе команд (всегда набираются в одной строке)
pwd — вывести имя текущего каталога.
whoami — вывести имя под которым Вы зарегистрированы.
date — вывести дату и время.
time — выполнить программу и получить информацию о времени, нужном для ее выполнения. Не путайте эту команду с date. Например: Я могу определить выполнить команду ls и узнать, как много времени требуется для вывода списка файлов в каталоге, набрав последовательность: time ls
who — определить кто из пользователей работает на машине.
rwho -a — определение всех пользователей, подключившихся к вашей сети. Для выполнения этой команды требуется, чтобы был запущен процесс rwho.
ruptime — какие машины работают в сети, и какие остановлены.
finger — системная информация о зарегистрированном пользователе. Попробуйте: finger
uptime — количество времени, прошедшего с последней перезагрузки операционной системы.
ps a — вывести список текущих процессов в Вашем сеансе работы.
top — интерактивный список текущих процессов, отсортированных по использованию центрального процессора.
uname -a — вывести информацию о версии операционной системы.
free — вывести информацию по использованию памяти.
df -h — вывести информацию о свободном и используемом месте на дисках.
du . -bh | more — вывод на экран информации о размере файлов и каталогов, начиная с текущего каталога.
set|more — вывести текущие значения переменных окружения. (Не для всех shell. Для csh/tcsh — printenv | more, хотя set тоже покажет полезную информацию.)
echo $PATH — вывести значение переменной окружения «PATH» Команда echo может использоваться для вывода значений любых переменных окружения. Воспользуйтесь командами set или printenv для получения полного списка.
3. Работа с сетью
ssh — обеспечивает безопасное вхождение в удаленный сеанс работы с другой машиной, а также позволяет выполнить заданную команду на удаленной машине без вхождения в сеанс работы:
ssh [-l Ваше_имя_пользователя_на_удаленной_машине] — вхождение в сеанс на удаленной машине. Используйте имя машины или ее IP адрес. (Вы должны быть зарегистрированы на этой удаленной машине). Если Ваше_имя_пользователя одинаково на локальной и удаленной машинах, то его можно не набирать, т.е.: ssh — позволит Вам войти в сеанс на удаленной машине
ssh — выполнит на удаленном компьютере заданную команду и передаст Вам на экран результат ее выполнения (При установлении соединения по ssh Вы должны будете ввести пароль, который Вы имеете на удаленном компьютере; при этом пароль будет передан по сети в зашифрованном виде, т.е. безопасным образом.)
scp — обеспечивает безопасное копирование файлов в сети:
scp @ : — cкопирует файл с локального компьютера в Вашу корневую директорию на удаленном компьютере (наличие «:» в конце команды обязательно).
telnet — связаться по telnet с другой машиной. Войдите в сеанс работы после установления связи с помощью вашего пароля.
ftp — связаться по ftp с удаленным компьютером. Этот тип связи хорош для копирования файлов с/на удаленную машину.
Предпочтительно не пользоваться командами telnet и ftp, а использовать только ssh и scp, поскольку они обеспечивают безопасность сетевого соединения!
hostname -i — показывает IP адрес компьютера, на котором Вы работаете.
4. Некоторые команды администрирования
alias ls=»ls -Fskb —color» — создать alias-псевдоним для того чтобы одной командой можно было запустить более сложную комбинацию команд. Поместите создание alias в файл /etc/bashrc если вы хотите, чтобы эти псевдонимы были доступны всем пользователям вашей системы.
Для tcsh — формат определения alias другой:
alias la ‘ls -AF —color=none’
kapasswd — команда для изменения пароля для доступа к файловой системе AFS. При работе на базовом Linux-кластере ЛИТ следует пользоваться только этой командой (а не командой passwd!) для изменения пароля для вхождения в кластер.
passwd — изменить свой пароль на каком-либо локальном компьютере.
chmod — изменить права доступа к файлу, владельцем которого вы являетесь.
Есть три способа доступа к файлу:
чтение — read (r), запись — write (w), исполнение — execute (x) и три типа пользователей:
владелец файла — owner (u), члены той же группы, что и владелец файла (g) и все остальные (o).
Поверить текущие права доступа можно следующим способом:
ls -l имя_файла
Если файл доступен всеми способами всем пользователям, то напротив имени файла будет следующая комбинация букв: rwxrwxrwx
Первые три буквы — это права доступа для владельца файла, второй триплет — права доступа для его группы, следующая тройка — права доступа для остальных. Отсутствие права доступа показывается как «-«.; Например: Эта команда позволит вам установить права доступа на чтение для файла «junk» для всех (all=user+group+others):
chmod a+r junk
Эта команда отнимет право доступа на исполнение файла у всех кроме пользователя и группы:
chmod o-x junk
Для получения дополнительной информации наберите chmod —help или man chmod или почитайте любое руководство по Linux. Вы можете установить права доступа по умолчанию для создаваемых вами файлов с помощью команды»umask» (наберите man umask).
chown — изменить владельца файлов.
chgrp — изменить группу для файла.
Вы можете использовать две последние команды, после того как сделали копию файла для кого-либо.
5. Контроль процессов
ps axu | grep — отобразить все процессы, запущенные в системе от Вашего имени пользователя.
kill
— «убить» процесс. Для начала определите PID Вашего «убиваемого» процесса при помощи ps.
killall — «убить» все процессы по имени программы.
xkill (в терминале X window) — «убить» процесс, на окно которого укажите курсором.
6. Встроенные в Linux программные утилиты и языки
emacs (в X терминале) — редактор emacs. Очень многофукционален, но весьма сложен для неопытных пользователей.
gcc — GNU C компилятор. В сети есть очень хорошие руководства по использованию.
g++ — GNU C++ компилятор.
perl — очень мощный скриптовый язык. Чрезвычайно гибкий, но с довольно сложным синтаксисом. Очень популярен среди продвинутых пользователей.
python — современный и довольно элегантный объектно-ориентированный интерпретатор. Выглядит таким же мощным и немного проще, чем perl.
g77 — GNU FORTRAN компилятор.
f2c — перекодировщик из FORTRAN в C.
fort77 — компилятор FORTRAN. Выполняет f2c, а затем использует gcc или g++.
grep — поиск фрагмента текста в файлах, удовлетворяющего набранной маске. Маска определяется с помощью стандартной системы обозначений, называемой «регулярные выражения».
tr — translation utility (другими словами — замена букв в текстовом файле).
gawk — GNU awk (используется для обработки форматированных текстовых файлов). Лучше вызывать просто awk.
sed — утилита для обработки текстовых файлов.
Источник
Основы работы в командной оболочке Linux
Общие сведения о работе в командной оболочке Linux
Командная строка, оболочка, консоль — эти термины используются для обозначения взаимодействия человека-оператора с операционной системой с применением стандартных устройств ввода-вывода, обеспечивающих ввод команд и получение результатов их выполнения. В операционных системах семейства Linux подобное взаимодействие обеспечивается специальным программным продуктом — оболочкой ( shell ) . Наиболее распространенной из них, является оболочка проекта GNU bash ( B ourne A gain SH ell ). bash основывается на оболочке Bourne ( sh ) созданной Стефеном Борном и включает в себя свойства множества других оболочек — C ( csh ) , Korn ( ksh ) , tc ( tcsh ) . bash была написана Брайаном Фоксом (Brian Fox ) и в настоящее время поддерживается Четом Рейми ( Chet Ramey ).
Свойства оболочки bash делают ее наиболее универсальным и удобным средством взаимодействия с ОС Linux:
— bash обеспечивает редактирование командной строки. Курсор может быть перемещен в любую позицию команды для изменения ее содержания.
— bash поддерживает режим истории команд, позволяя отображать и изменять ранее введенные команды. Оболочка bash также имеет несколько переменных, значения которых влияют на сохранение и повторный вызов ранее введенных команд.
— bash обеспечивает завершение частично введенных слов для имен переменных, пользователей, хостов, команд и файлов.
— bash обеспечивает гибкое управление процессами, позволяя приостанавливать их, перезапускать, переключаться между задачами переднего плана и фоновыми, и даже продолжать выполнение задачи при завершении родительского процесса.
— bash позволяет использовать функции и псевдонимы, выполнять арифметические операции и вводить арифметические выражения в качестве команд.
— bash позволяет создавать целые наборы последовательно выполняемых команд (сценарии или скрипты) с использованием гибкого и функционального языка программирования данной оболочки.
— bash имеет гибкие настройки, обеспечивающие изменение внешнего вида командной строки.
Оболочка bash может выполняться как в интерактивном, так и в неинтерактивном режимах. В первом случае программа bash взаимодействует с пользователем, во втором — используется для выполнения скриптов ( специально подготовленных текстовых файлов с последовательностью команд) .
Команда оболочки Linux — это строка символов из имени команды и аргументов, разделенных пробелами. Аргументы предоставляют команде дополнительные параметры, определяющие ее поведение. Например, команда
echo 12345
выведет на экран строку символов 12345, введенных в качестве аргумента команды.
Команды, являющиеся частью оболочки называются встроенными. Естественно, они могут отличаться для различных оболочек. Кроме того, в качестве команд используются имена исполняемых файлов. В качестве аргументов, командам передаются ключи или опции , состоящие из тире и одного или нескольких символов. Пример такой команды:
ls — команда для отображения информации о файлах.. При вводе без аргументов, эта команда просто отобразит список файлов в текущем каталоге. При вводе с параметром -l — список в длинном формате — с отображением атрибутов, владельцев, даты и времени.
При использовании нескольких ключей, их можно объединить. Ниже приведенные варианты команд идентичны :
Как получить подсказку по использованию команды Linux
При работе в командной оболочке Linux, в большинстве случаев, можно получить справочную информацию по использованию конкретной команды, введя ее имя с параметром —help :
ls —help — отобразить справку для команды ls . В большинстве случаев, для получения справочной информации, допускается использование ключа -h
ls -h В операционных системах семейства Linux, более подробную справочную информацию можно получить из комплекта документации, известного как man-страницы , поскольку он доступен по команде man . Этот комплект включает в себя 8 разделов, содержащих справочную информацию, которую можно вывести на экран с использованием команды man
Перечень разделов man-страниц :
1 — Команды уровня пользователя.
2 — Системные вызовы. Документация о библиотечных системных вызовах, как open, read, exec и т. п. Данный раздел обычно используется программистами.
3 — Библиотеки. Этот раздел также предназначен для программистов и содержит справочную информацию о библиотеках прикладных программ ( abs, rint и т.п.)
4 и 5 — Форматы системных и пользовательских файлов. Содержит документацию о различных форматах файлов, как например, файл passwd
6 — Игры. Описание игр, поставляемых с установленной системой.
7 — Драйверы. Документация к драйверам, как например ip или ipv6
8 — Поддержка системы. Документация с информацией о командах для системного администрирования ( init, fdisk, ifconfig и т.п.).
man 1 ls — отобразить справку для команды ls из первого раздела документации ( в нем хранится информация о командах уровня пользователя ).
На практике, если требуется справка именно о команде, номер раздела опускают. В таком случае, поиск будет выполнен по всем разделам, начиная с первого до совпадения с аргументом, заданным в команде man :
man ls — отобразить справку для команды ls из первого раздела документации, где она будет найдена.
Иногда отсутствие номера раздела в команде man даже предпочтительнее. Например, справка по команде
man 1 init — отобразить справку для команды init из первого раздела документации, завершится сообщением об отсутствии справочной информации, потому, что данная команда относится к командам поддержки системы и информация о ней содержится в 8-м разделе.
Для поиска справочной документации во всех разделах, используется опция -a :
man -a passwd — отобразить справку для аргумента passwd из всех разделов, где она будет найдена: В результате, отобразится справка по команде passwd из первого раздела и описание формата файла паролей passwd из пятого.
В качестве аргумента для строки поиска в команде man можно использовать шаблон:
man -a ip* — отобразить справку для всех параметров, начинающихся с ip из всех разделов справочной документации.
При просмотре справочной документации, отображаемой по команде man используются клавиши:
стрелка вверх/вниз — переход на строку вверх/вниз.
PgUp/PgDown — переход на страницу вверх/вниз.
Enter — переход на строку вниз.
Пробел — переход на страницу вниз
Q — выход из справки.
Также, удобным средством поиска справочной информации являются утилиты apropos и whatis , позволяющие выполнить поиск по ключевому слову в базе данных документации. Первая из них выводит те строки, которые содержат строку поиска в в именах справочных страниц и кратких описаниях, а вторая – показывает однострочные описания справочных страниц, которые имеются в начале каждой страницы. С параметрами по умолчанию команды выдадут различающуюся информацию. Например, команда whatis tar , выдаст информацию имеющую отношение к утилите архивирования tar , а команда apropos tar — выдаст информацию и об утилите tar , и, кроме этого, справочные данные, где строка “tar” является частью слова, например “s tar t”. Использование утилиты apropos на первый взгляд кажется не очень эффективным, однако, это не так. Например, команда apropos net позволит быстро получить краткую справку по сетевым утилитам, присутствующим в данной системе. В данных командах можно использовать параметр -s указывающий номер раздела справочной системы, в котором будет выполняться поиск:
apropos –s 1 net — выполнить поиск только в первом разделе man.
При поиске обе утилиты используют индексные базы данных, которые обновляются с помощью программы mandb ( или традиционной текстовой базы данных, создаваемой программой makewhatis ), поэтому поиск выполняется очень быстро. Дополнительные параметры командной строки, используемые apropos и whatis можно получить с помощью команды man .
Общие рекомендации для начинающих работать с командной строкой.
Работа в командной строке Linux имеет некоторые принципиальные отличия по сравнению с работой в среде Windows.
Во-первых, не забывайте, что строчные и заглавные буквы для Linux — это разные символы. В операционной системе Windows каталог TEMP и каталог Temp — это один и тот же каталог, в Linux — это два разных. То же самое касается команд, их ключей, имен пользователей ,паролей и т.п.
    Во-вторых, справка по команде с параметром —help и справка из man-страницы различаются. Последняя, как правило, более подробная, с примерами и ссылкой на связанные разделы документации.
В-третьих, доступный список команд и результат их выполнения зависит от ваших прав в системе. Как правило, потенциально опасные для целостности системы команды, и команды, влияющие на работу других пользователей, не доступны обычному пользователю. Полными правами по отношению к системе имеет только один пользователь ( суперпользователь )- root . Обычно, учетная запись данного пользователя используется только для изменения настроек системы, и в большинстве дистрибутивов Linux, после установки системы, нет возможности работать под root ‘ом в графической среде, в сеансах удаленного подключения, или даже при локальном входе в систему, как это сделано в Ubuntu . Такой подход позволяет предотвратить разрушение системы при ошибках пользователя, и вполне оправдан, однако существуют случаи, когда без прав root не обойтись. Для получения прав пользователя root ( суперпользователя, superuser ) , которому доступны все возможные команды, используйте команду su . Она позволяет сменить текущего пользователя. Если пользователь не задан, то подразумевается root. .
Для выполнения отдельно взятой команды от имени суперпользователя root или другого пользователя используется команда sudo :
sudo ifconfig — выполнить команду ifconfig от имени суперпользователя root
sudo su — Комбинация sudo и su — выполнить команду su от имени суперпользователя root. Данный вариант команды позволяет пользователю перейти в учетную запись root без сохранения текущей пользовательской среды (знак «-«).
Обычно, использование команды sudo предпочтительнее, чем использование su и, при дополнительных настройках системы, позволяет легко отдавать отдельным пользователям только строго необходимые привилегии. Основная часть настроек sudo хранится в файле /etc/sudoers и задает правила, определяющие, какие пользователи, каких компьютеров, какие команды могут выполнять с вводом или без ввода пароля. Администратор системы может даже на какое-то время передать полномочия суперпользователя root любому пользователю, не передавая ему пароль от учетной записи root .
Начинающих пользователей Linux обычно пугает работа в командной оболочке из-за необходимости набирать слишком длинные строки команд, имен каталогов или файлов. Однако, очень часто в таком наборе нет необходимости. При работе в среде командной оболочки очень удобно использовать режим подстановки имен с помощью клавиши Tab . Например, для получения списка файлов каталога /home/everyone пользователю необходимо набрать команду
Однако, оболочка позволяет обойтись без полного набора пути. Если после набора ls /h нажать клавишу Tab , то в командной строке будет подставлена недостающая часть имени каталога — ome , и в строке ввода отобразится
Аналогично, не нужно набирать полностью оставшуюся часть пути, а только e и Tab . Если существуют частично совпадающие имена файлов или каталогов, то подстановка выполняется только для общей части имени. Если в каталоге /home имеются подкаталоги everyone1 и everyone2 то после нажатия клавиши Tab выполнится подстановка общей части everyone и на экране отобразится список из возможных вариантов ввода — everyone1 и everyone2 . Остается только ввести недостающую часть имени ( 1 или 2 ). Тот же прием используется и при наборе команд. Например, если набрать в качестве команды символ e и нажать Tab то отобразится список всех доступных команд, начинающихся с буквы e , если затем набрать символ c и снова нажать Tab , то будет выставлена подстановка имени до echo , или если есть другие варианты — подстановка общей части и возможные варианты имени.
Как управлять выводом на экран.
  Для просмотра текста, ушедшего за пределы видимости экрана используются комбинации клавиш SHIFT и PAGE UP или PAGE DOWN (в зависимости от направления просмотра).
Для приостановки вывода на экран — CTRL-S , отмена приостановки — CTRL-Q
 Для вывода большого объема текста на экран в постраничном режиме используется команда less , в цепочке с основной командой. Объясню на примере. Пусть у нас есть текстовый файл mytxt размером на 10 экранов. Для вывода текста на экран (стандартный вывод) можно воспользоваться командой cat имя файла
cat mytxt
После выполнения этой команды вы увидите быстро промелькнувший текст и последний (десятый) экран вывода. Можно, конечно, воспользоваться комбинациями клавиш SHIFT-PAGEDOUN или SHIFT-PAGEUP для просмотра текста, но существует возможеость воспользоваться и командой less .
cat mytxt | less
Символ | означает объединение в цепочку выполнения команды выдачи текста cat и команды управления постраничным выводом less . В результате, после отображения на экране первой страницы текста , вывод будет приостановлен до нажатия
PAGE DOWN или ENTER (построчное перемещение). Для завершения постраничного вывода нажмите клавишу Q .
  В цепочки можно объединять несколько команд. Например, вам понадобилось вывести на экран в постраничном режиме все строки, содержащие слово mail. Для поиска можно воспользоваться командой
grep
Итоговая цепочка из трех команд:
cat mytxt | grep mail | less
  Для большинства дистрибутивов Linux вместо less можно использовать more .
Иногда удобно использовать одновременно несколько терминалов, переключаясь между ними (например, когда необходимо смотреть информацию журнала в одном окне и управлять процессами и настройками в другом).
Для переключения используется комбинация клавиш CTRL — ALT — F1. F6 (от первого терминала до 6-го или далее). Для переключения в графическую оболочку используется одна из комбинаций, которая может отличаться для разных дистрибутивов. Например, CTRL-ALT-F7 .
Чтобы запустить еще один графический сервер на этом же компьютере, используйте команду startx 1 — :1 . У вас добавится новый графический терминал. Чтобы перейти во второй графический терминал, нажмите Alt+F8 . , а чтобы вернуться в первый — Alt+F7 . Таким образом можно открывать до 64 графических терминалов. (startx 2 — :2 и т.д).
Для завершения сеанса работы в командной оболочке используется команда exit .
Вы можете создать журнал своей консольной сессии, в котором будет отображено все, что вы вводили с клавиатуры, и все, что выдавалось на экран терминала.
Для этого используется команда
script имя файла журнала
Чтобы прекратить запись в журнал введите команду exit .
Для просмотра истории ранее введенных команд используются стрелки Вверх/Вниз. При вводе набранной или вызванной из истории команды положение курсора относительно строки ввода значения не имеет.
Кроме того, в домашнем каталоге пользователя, имеется файл истории вводимых команд для данной оболочки, например .bash_history . Для отображения его содержимого на экране можно воспользоваться командой history .
Для просмотра информации в конечной части файлов ( например, журналов ) используется команда tail :
tail /var/log/mrssages — отобразить последние 10 строк ( значение по умолчанию ) из файла журнала /var/log/messages.
tail –n 100 /var/log/mrssages — отобразить последние 100 строк из файла журнала /var/log/messages.
Как перезагрузить или выключить компьютер.
  Одно и то же действие в Linux очень часто можно выполнить несколькими способами. Стандартно для перезагрузки или выключения компьютера используется shutdown . Команда имеет много опций, позволяющих выполнить перезагрузку в определенное время, быструю перезагрузку без проверки файловой системы, имитировать и отменять уже запущенный (ждущий своего времени) процесс перезагрузки.
Полный список опций можно получить по shutdown —help
Для немедленной перезагрузки (restart) команда будет выглядеть так:
shutdown -r now
  Для выключения питания (halt):
shutdown -h now
В большинстве дистрибутивов можно использовать короткие команды:
reboot — перезагрузка
halt — выключение
Можно также воспользоваться изменением уровня запуска системы командой init , позволяющей управлять запуском и завершением процессов в системе с использованием скриптов, хранящихся в /etc/inittab. Уровень 0 — выключение, уровень 6 — перезагрузка. Соответственно
для выключения:
init 0
для перезагрузки:
init 6
Команду init можно использовать для изменения уровней запуска системы.
Уровни:
1 — Однопользовательский режим. Доступ разрешен пользователю root.
2 — Многопользовательский режим без поддержки сетевых функций.
3 — С поддержкой сети.
4 — Зарезервировано.
5 — С использованием графической оболочки.
Если вам нужно завершить графическую оболочку (например, когда инсталляция некоторых приложений требует ее закрытия) введите:
Графическая оболочка закроется, и система перейдет на уровень запуска 3. Для возврата на уровень 5 введите:
Уровень запуска системы по умолчанию определяется значением initdefault из файла /etc/inittab. Для запуска системы с поддержкой графической оболочки она выглядит так:
Если 5 заменить на 3, то графическая оболочка при старте системы запускаться не будет.
Все выше сказанное относится к системам инициализации SysV (SystemV), которая много лет использовалась во всех дистрибутивах Linux для загрузки рабочей среды с помощью скриптов init . Однако, начиная с 2012г, наметился постепенный переход на systemd новую систему инициализации, изначально разработанную для дистрибутива Fedora, начиная с Fedora 148 . Попросту говоря, systemd — это демон инициализации других демонов в Linux, пришедший на замену используемому ранее скрипту инициализации (/sbin/init). Главная его особенность — распараллеливание запуска служб в процессе загрузки системы, что позволяет существенно ускорить запуск операционной системы. Реализация systemd значительно отличается не только логикой, но и принципами управления процессом запуска, набором программных модулей и конфигурационных файлов. Файла /etc/initd больше нет, и для определения уровня запуска в systemd используются символические ссылки, например:
— для состояния init 3
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
— для состояния init 5
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
Команды init N в дистрибутивах с использованием systemd пока поддерживаются, но очевидно, что ее время заканчивается.
Управление процессами в Linux.
Посмотреть список процессов в Linux можно с помощью команды ps . Если ее запустить без всяких параметров, то она выдает список процессов, запущенных в текущем сеансе пользователя. Полный список опций можно получить стандартно — выполнив
ps -e — выдаст список процессов с идентификаторами ( PID ) и их именами
или:
ps -eF — выдаст тот же список процессов, но с полной строкой запуска
ps -U user
ps -T
ps t ttyN
ps -U root | grep ppp — выдать список задач, содержащих «ppp» в имени
Для получения сведений об использовании ресурсов компьютера можно воспользоваться командой top
В верхней части окна выводятся суммарные данные о состоянии системы — текущее время, время с момента загрузки системы, число пользователей в системе, число процессов в разных состояниях, данные об использовании процессора и памяти.
Ниже выводится таблица, характеризующая отдельные процессы. Число строк, отображаемых в этой таблице, определяется размером окна. Содержимое окна обновляется каждые 3 секунды. Нажатие клавиши h выводит справку по командам, которые позволяют изменить формат отображаемых данных и управлять некоторыми параметрами процессов в системе:
В среде утилиты top также существуют подкоманды, которые позволяют управлять процессами в интерактивном режиме:
Для выхода из top нажмите q
Команда kill
Эти же действия (принудительное завершение процесса и изменение его приоритета) можно выполнить и без команды top.
Процессы в Linux имеют возможность обмениваться так называемыми «сигналами» с ядром и другими процессами. При получении сигнала процессом, управление передается подпрограмме его обработки или ядру, если такой подпрограммы не существует. В Linux имеется команда kill, которая позволяет послать заданному процессу любой сигнал. Список сигналов можно получить по команде:
kill -l
В результате выполнения этой команды вы увидите список номеров и названий сигналов. Для того, чтобы послать определенный сигнал выбранному процессу, нужно ввести:
kill номер PID выбранного процесса
Например, нам нужно завершить работу приложения Midnight Commander (mc).
ps -e | grep mc
Пусть PID= 11597.
kill -3 11597
После чего процесс mc обработает сигнал GIGQUIT и выполнит завершение работы. Однако, если mc «завис», то, естественно, завершиться он не сможет, поскольку подпрограмма обработки сигнала SIGQUIT не получит управления. В таких случаях используется сигнал под номером 9 (SIGKILL), обрабатываемый ядром операционной системы, и принудительно завершающий указанный процесс:
kill -9 11597
Если в команде kill номер сигнала не задан, то используется значение SIGKILL, т.е предыдущую команду можно было ввести как kill PID:
kill 11597
При завершении процесса завершаются и порожденные им процессы.
Для завершения процесса по его имени используется команда killall:
killall mc — завершить процесс, в имени которого есть «mc»
killall -u user — завершить процессы, порожденные пользователем user
Изменение приоритетов — команды nice и renice
Для изменения приоритета процессов используются команды nice и renice. При запуске процесса, его приоритет задается значением родительского процесса, например, терминала xterm или командной оболочки ( shell ) . Команда nice позволяет запустить процесс с приоритетом, равным сумме родительского (например 8) и числа, задаваемого в качестве опции команды nice:
nice — команда
nice -4 mc — запустит mc с приоритетом = 8+4=12
Команда renice используется для изменения приоритета уже запущенного процесса:
renice -p PID
renice 4 -p 11597 — установить значение приоритета для процесса mc (PID=11597) равным 4.
После выполнения, renice выдаст строку результата:
11597: old priority 12, new priority 4 — старый приоритет 12, новый приоритет 4
Задание нулевого и отрицательного числа приоритета возможно только с правами root.
Перечень наиболее часто используемых команд:
Команды для работы с файлами и каталогами:
pwd – отобразить путь текущего каталога
cd – перейти в указанный каталог
ls – отобразить список файлов каталога, с ключом -l показывает дополнительные сведения о файлах.
cp – копирование файлов/папок
mv – перемещение файлов/папок
mkdir – создать папку
rm – удалить файлы/папки, с ключом -r удаляет и все вложенные папки, с ключом -f — удаляет открытые файлы или каталоги
rmdir – удаление пустой папки
chmod – изменить права доступа к файлу
chown — сменить владельца файла или каталога
find — найти файл. Задается исходный путь для поиска и шаблон поиска, find / -name .X* — искать от корневого каталога файлы, содержащие в имени символы .X
which — отобразить полный путь исполняемого файла, доступного в данной оболочке, например which ifconfig
touch — изменить временные отметки файла. Удобно использовать для создания пустых файлов – touch myfile создаст пустой файл myfile .
Эти команды обычно используется от имени суперпользователя ( с командой sudo ).
reboot – перезагрузка системы
poweroff – выключение компьютера
reset – очищает окно терминала
passwd – сменить свой пароль, а суперпользователю — поменять пароль любого пользователя
users — отобразить список пользователей, вошедших в систему.
yum — установка, удаление или обновление программного обеспечения в дистрибутивах Fedora, RedHat и т.п.
dpkg — установка, удаление или обновление программного обеспечения в дистрибутивах Debian, Ubuntu и т.п.
apt-get — установка, удаление или обновление программного обеспечения в дистрибутивах на основе Debian (Ubuntu, Mint и т.п.)
ps – отобразить список текущих активных процессов
lsof — отобразить список открытых файлов процесса или пользователя
strace — отобразить список системных вызовов
last — отобразить историю перезагрузок и регистраций пользователей в системе
kill – послать сигнал процессу, обычно используется для принудительного завершения работы процесса.
killall – завершение работы всех процессов, имена которых заданы параметром командной строки
top – отображение списка текущих процессов и интерактивное управление ими.
ifconfig – конфигурация сетевых интерфейсов
route — таблица маршрутизации
ifup / ifdown — включить /выключить сетевой интерфейс
ip — просмотр или изменение параметров конфигурации протокола IP
netstat — отобразить состояние сетевых соединений
arp, ping, nslookup, traceroute — наиболее часто используемые команды сетевой диагностики.
Если вы желаете помочь развитию проекта, можете воспользоваться кнопкой «Поделиться» для своей социальной сети
Источник