Перейти к содержимому

Как выйти из директории в командной строке linux

  • автор:

Как выйти из директории в командной строке linux


Next: Просмотр каталогов Up: Работа с файлами Previous: Создание дерева каталогов Contents Index

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

Чтобы перейти из текущего рабочего каталога в подкаталог `work’, наберите:

Чтобы вернуться обратно в родительский каталог, введите:

Вы можете также указывать полные имена каталогов. Например, для перехода в каталог `/usr/doc’, введите:

$ cd /usr/doc [Enter]

Если не указывать аргументы команде cd, Вы перейдете в свой домашний каталог. Чтобы сделать это, наберите:

Чтобы вернуться в последний из ранее посещенных Вами каталогов, используйте команду cd и символ `-‘ в качестве имени каталога. Например, если Вашим рабочим каталогом был каталог `/home/student/work/samples’ и Вы использовали cd для перехода в другой каталог, Вы можете в любой момент набрать cd — и вернуться в каталог `/home/student/work/samples’.

Чтобы узнать имя текущего каталога, используйте команду pwd, которая выводит полное имя текущего каталога.Пример:

$ pwd [RET] /home/student $

Alex Otwagin 2002-12-16

Командная строка Linux для новичков. Видео

Данная статья является текстовым дополнением к нашему видео «Командная строка Linux для новичков», то есть это что-то вроде краткого конспекта.

Видео

Запуск терминала

Терминал можно запустить через Главное меню в вашем дистрибутиве. Если отдельного Главного меню с программами нет, например, как в Ubuntu (в GNOME), то терминал можно запустить через Лаунчер.

Также очень распространенным сочетанием клавиш, с помощью которого во многих дистрибутивах Linux можно запустить терминал, является сочетание — Ctrl+Alt+T

Терминал

Приглашение ко вводу команд

В терминале слева от курсора выводится приглашение ко вводу или Shell Promt.

В зависимости от дистрибутива или других настроек приглашение может выглядеть по разному.

Приглашение ко вводу команд

Как закрыть терминал

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

exit

Запуск предыдущих команд

Чтобы получить доступ к командам, которые вы уже вводили можно использовать клавиши Вверх и Вниз . С их помощью можно «перелистывать» команды в истории команд.

Рабочий каталог

Все действия в терминале всегда выполняются в рамках рабочего каталога.

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

Для изменения рабочей директории (для перехода в другую директорию) используется команда:

Аргументы командной строки

Почти все команды принимают какие-либо аргументы командной строки.

Аргументы могут быть следующих типов
-v — короткая опция.
—version — длинная опция
sometext — текст (аргумент, параметр)

Автодополнение команд

Чтобы выполнить автодополнение команды или аргумента нужно дважды нажать клавишу TAB

Если вариантов дополнения несколько, то они будут выведены на экран.

Базовые команды

Некоторые базовые команды:

  • ls — вывести список файлов в директории.
  • cd путь/до/директории — перейти в другую директорию.
  • cp путь1/файл1 путь2/файл2 — скопировать файл1 в файл2.
  • cp -r директория1 директория2 — скопировать директорию1 в директорию2.
  • mv путь1/файл1 путь2/файл2 — переместить/переименовать файл1 в файл2.
  • mkdir имядиректории — создать директорию.
  • rm файл — удалить файл.
  • rm -r директория — удалить директорию.
  • cat путь/до/файла — вывести содержимое файла.

Относительные и абсолютные пути

  • /var/log — абсолютный путь.
  • documents/reports — относительный путь.
  • . — обозначает текущую директорию. Например: ./readme.txt — файл с именем readme.txt в текущей директории
  • .. — родительская директория.
  • ~ — домашняя директория.

Получение справки

Для получения справки по любой команде можно использовать команду man Например:

man cp

Для выхода из режима справки, нажмите клавишу q

Просмотр истории и поиск по истории команд

Для вывода истории команд используется команда:

history

Для запуска команды из истории по ее номеру выполните (вместо 123 укажите номер команды):

Прервать выполнение команды

Чтобы досрочно прервать выполнение команды можно использовать сочетание клавиш Ctrl+C

Полезные программы

Примечание: Данный пункт в видео не представлен.

nano — консольный текстовый редактор.
Смотрите также: Использование редактора nano

Midnight Commander — функциональный файловый менеджер.

Для запуска Midnight Commander используется команда:

Обычно Midnight Commander не установлен по умолчанию, поэтому его нужно предварительно установить. В Ubuntu для этого можно использовать команду:

sudo apt install midnight-commander

sudo

Для выполнения команд с правами суперпользователя используется команда sudo

Заключение

Мы рассмотрели некоторые базовые навыки, которыми полезно обладать при работе в командной строке 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 — это два разных. То же самое касается команд, их ключей, имен пользователей ,паролей и т.п.

&nbsp &nbsp Во-вторых, справка по команде с параметром —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 может использоваться для интерактивного режима суперпользователя root (пользователя с администраторскими правами). Обычно этот прием используется для тех случаев, когда с правами суперпользователя нужно выполнить не одну команду, а несколько.
sudo -i — перейти в интерактивный режим с правами суперпользователя. Все последующие команды будут выполняться с наивысшими привилегиями, пока не будет завершен данный сеанс командой exit

Обычно, использование команды 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 , или если есть другие варианты — подстановка общей части и возможные варианты имени.

Как управлять выводом на экран.

&nbsp Для просмотра текста, ушедшего за пределы видимости экрана, используются комбинации клавиш 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 .
&nbsp В цепочки можно объединять несколько команд. Например, вам понадобилось вывести на экран в постраничном режиме все строки, содержащие слово mail. Для поиска можно воспользоваться командой
grep
Итоговая цепочка из трех команд:
cat mytxt | grep mail | less

&nbsp Для большинства дистрибутивов 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.

Как перезагрузить или выключить компьютер.

&nbsp Одно и то же действие в Linux очень часто можно выполнить несколькими способами. В большинстве дистрибутивов Linux для перезагрузки или выключения компьютера используется shutdown . Команда имеет много опций, позволяющих выполнить перезагрузку в определенное время, быструю перезагрузку без проверки файловой системы, имитировать и отменять уже запущенный (ждущий своего времени) процесс перезагрузки.

Полный список опций можно получить по shutdown —help

Для немедленной перезагрузки (restart) команда будет выглядеть так:
shutdown -r now
&nbsp Для выключения питания (halt):
shutdown -h now

В большинстве дистрибутивов можно использовать короткие команды:
reboot — перезагрузка
halt — выключение

Можно также воспользоваться изменением уровня запуска системы командой init , когда-то бывшей основой инициализации системы System V (SysV). И хотя SysV считается устаревшей, в большинстве современных дистрибутивов, реализована поддержка совместимости с ней. В SysV команда init позволяла управлять запуском и завершением процессов в системе с использованием скриптов, хранящихся в /etc/inittab. Каждому уровню запуска соответствовал свой набор скриптов, в частности, уровень 0 реализовывал выключение питания компьютера, а уровень 6 — перезагрузку. Соответственно, в большинстве ОС семейства Linux и сейчас можно использовать команды
для выключения:
init 0

для перезагрузки:
init 6

Команду init можно использовать в тех операционных системах, где используется система инициализации SysV или обеспечивается полная совместимость с ней, для изменения уровней запуска.
Уровни:
1 — Однопользовательский режим. Доступ разрешен только пользователю root.
2 — Многопользовательский режим без поддержки сетевых функций.
3 – Многопользовательский режим с поддержкой сети.
4 — Зарезервировано.
5 — С использованием графической оболочки.

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

Графическая оболочка закроется, и система перейдет на уровень запуска 3. Для возврата на уровень 5 введите:

Уровень запуска системы по умолчанию определяется значением initdefault из файла /etc/inittab. Для запуска системы с поддержкой графической оболочки она выглядит так:

Если 5 заменить на 3, то графическая оболочка при старте системы запускаться не будет.

Все выше сказанное относится к системам инициализации SysV (SystemV), которая много лет использовалась во всех дистрибутивах Linux для загрузки рабочей среды с помощью скриптов init . Однако, начиная с 2012г, наметился постепенный переход на systemd новую систему инициализации, изначально разработанную для дистрибутива Fedora, начиная с Fedora 14.8 . Попросту говоря, 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 . Если ее запустить без всяких параметров, то она выдает список процессов, запущенных в текущем сеансе пользователя. Полный список опций можно получить стандартно — выполнив

Для получения сведений об использовании ресурсов компьютера можно воспользоваться командой top

Выполнение команды top

В верхней части окна выводятся суммарные данные о состоянии системы — текущее время, время с момента загрузки системы, число пользователей в системе, число процессов в разных состояниях, данные об использовании процессора и памяти.

Команда kill

Эти же действия (принудительное завершение процесса и изменение его приоритета) можно выполнить и без команды top.

Если в команде 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 , dnf , apt , rpm — установка, удаление или обновление программного обеспечения в дистрибутивах на базе пакетов RPM (Red Hat Package Manager) – RedOS, Mageia, и т.п.
dpkg , apt , apt-get — установка, удаление или обновление программного обеспечения в дистрибутивах на базе Debian – Astra, Mint, Ubuntu и т.п.

ps – отобразить список текущих активных процессов
lsof — отобразить список открытых файлов процесса или пользователя
strace — отобразить список системных вызовов
last — отобразить историю перезагрузок и регистраций пользователей в системе
kill – послать сигнал процессу, обычно используется для принудительного завершения работы процесса.
killall – завершение работы всех процессов, имена которых заданы параметром командной строки
top – отображение списка текущих процессов и интерактивное управление ими.

ifconfig – конфигурация сетевых интерфейсов
route — таблица маршрутизации
ifup / ifdown — включить /выключить сетевой интерфейс
ip — просмотр или изменение параметров конфигурации протокола IP
netstat — отобразить состояние сетевых соединений
arp, ping, nslookup, traceroute — наиболее часто используемые команды сетевой диагностики.

Командная строка

Графический интерфейс пользователя (англ. Graphical user interface, GUI ). — управление программами с помощью графических кнопок, всплывающих меню, окон и других элементов. Множество действий можно выполнять с помощью мыши.

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

Интерфейс командной строки (англ. Command Line Interface, CLI). — управление программами с помощью команд. Команды состоят из букв, цифр, символов, набираются построчно, выполняются после нажатия клавиши Enter. Основной инструмент здесь клавиатура.
Данный интерфейс встроен в ядро системы, он будет доступен, даже если графический интерфейс не запустится.

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

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

Добраться до командной строки можно двумя способами: через консоль или терминал.

Консоль

Во время загрузки Ubuntu запускаются семь полноэкранных консолей, у каждой свой независимый сеанс, с первой по шестую с интерфейсом командной строки, в седьмой запускается графический режим. Пользователь во время загрузки видит только графический режим.
Переключиться на одну из виртуальных консолей можно нажав сочетание клавиш:
Ctrl+Alt+F1 — первая виртуальная консоль;
Ctrl+Alt+F2 — вторая виртуальная консоль;
Ctrl+Alt+F3 — третья виртуальная консоль;
Ctrl+Alt+F4 — четвертая виртуальная консоль;
Ctrl+Alt+F5 — пятая виртуальная консоль;
Ctrl+Alt+F6 — шестая виртуальная консоль;
Ctrl+Alt+F7 — седьмая виртуальная консоль, возврат в графический режим.

Терминал

Окно терминала

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

Запустить терминал можно следующим образом:

В Unity:
Главное меню → Набрать в поисковой строке слово Терминал
или нажать комбинацию клавиш: Ctrl + Alt + T

В Gnome Fallback
Приложения → Стандартные → Терминал

В Xfce (Xubuntu):
Главное меню → Приложения → Система → Терминал

В KDE (Kubuntu):
Главное меню → Приложения → Система → Терминал

В LXDE (Lubuntu):
Главное меню → Системные → LXTerminal

После запуска терминала мы видим строку с приглашением к вводу команд, например:
vladimir@Zotac-Zbox-Nano:~$

vladimir — имя учетной записи пользователя
@ — разделитель между учетной записью и именем компьютера
Zotac-Zbox-Nano — имя компьютера
: — разделитель
~ — в какой папке выполняется команда, ~ это домашняя папка пользователя, если выполните команду ls то получите список файлов из этой папки
$ — приглашение к выполнению команды с правами простого пользователя (# будет означать приглашение на выполнение команд с правами администратора)

Горячие клавиши

Копирование команд

Часто вам придётся следовать каким-либо инструкциям, которые требуют копирования команд в терминал. Наверное, вы удивитесь, когда обнаружите, что текст, скопированный вами с интернет-страницы при помощи комбинации клавиш Ctrl + С , не вставляется в терминал при нажатии Ctrl + V . И что, неужели придётся перепечатывать все эти команды и имена файлов вручную? Нет, расслабьтесь! Вставить текст в терминал можно тремя способами: Ctrl + Shift + V , нажатием средней кнопки мыши или правой кнопки мыши и выбором строки «Вставить».

Экономия набора

↑ или Ctrl + P прокрутка недавно использованных команд вверх
↓ или Ctrl + N прокрутка недавно использованных команд вниз
Enter выполнение выбранной команды
Tab крайне удобная возможность — автозаподстановка команд и имён файлов. Если с выбранных символов начинается только одна команда, подставится именно она, а если их несколько,то по двойному нажатию tab выведется список всех возможных вариантов.
Ctrl + R поиск по командам, которые вы вводили раньше. Если вам нужно повторно выполнить очень длинную и сложную команду, вы можете ввести только её часть, а эта комбинация клавиш поможет найти команду целиком.
History Команда history выводит список всех команд, которые вы вводили. Каждой команде будет присвоен номер. Чтобы выполнить команду под номером x, просто введите «!x». Если у вас получилась слишком длинная история, можно попробовать «history I less», это сделает список прокручиваемым.

Изменение текста

Здесь мышь не работает. Используйте стрелки влево/вправо, чтобы перемещаться по строке.

Ввод с клавиатуры будет добавлять символы. Существующий текст удаляться не будет.

ctrl+a или Home перемещает курсор в начало строки
ctrl+e или End перемещает курсор в конец строки
ctrl+b перемещает курсор в начало предыдущего или текущего слова
ctrl+k удаляет текст с текущей позиции курсора до конца строки
ctrl+u удаляет всю текущую строку
ctrl+w удаляет слово перед курсором

Программная оболочка

Консоль и терминал обрабатывают команды с помощью программной оболочки.
Программная оболочка — интерпретатор команд, он распознает команды введенные в командной строке, и запускает программы для выполнения команды.
В Ubuntu по умолчанию используется оболочка bash, он распознает команды на языке bash.
Bash можно заменить на другую оболочку, их существует несколько. Каждая оболочка имеет свой набор настроек и возможностей.
(автовыполнение команд при входе в оболочку, внутренние команды оболочки, ведение истории, можно назначать сокращенные команды — алиасы).

Команды

Команды — это предопределенный набор букв, цифр, символов, которые можно ввести в командной строке и выполнить нажав энтер.

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

команды встроенные в программную оболочку (например history)
команды управляющие программами, установленными в системе

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

название_программы -ключ значение

Название програмы — это название исполняемого файла из каталогов записанных в переменной $PATH (/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin и др.) или полный путь к исполняемому файлу (/opt/deadbeef/bin/deadbeef)
Ключ — пишется после названия программы, например -h, у каждой программы свой набор ключей, они перечислены в справке к программе, ключи используются для указания какие настройки использовать или какое действие выполнить
Значение — адрес, цифры, текст, спецсимволы (*, ~, \, &, « », _ ), переменные ($HOME, $USER, $PATH)

Выполнить команды можно следующим образом:

набрать команду в командной строке и нажать Enter
скопировать команду из инструкции и вставить ее в командную строку, затем нажать Enter

создать скрипт и выполнить двойным нажатием мыши (создать текстовый файл, в первой строке написать #!/bin/bash, ниже написать команды в столбик, сохранить, в свойствах файла разрешить выполнение, нажать два раза по файлу для выполнения всех перечисленных команд)

Помните, что терминал чувствителен к регистру! Слова User, user и USER в Linux различаются!

Шпаргалка команд

Файловые команды

cd ../.. перейти в директорию двумя уровнями выше
cd перейти в домашнюю директорию
cd ~user перейти в домашнюю директорию пользователя user
cd — перейти в директорию, в которой находились до перехода в текущую директорию
pwd показать текущюю директорию
mkdir dir создать каталог dir
mkdir dir1 создать директорию с именем ‘dir1’
mkdir dir1 dir2 создать две директории одновременно
mkdir -p /tmp/dir1/dir2 создать дерево директорий
rm file удалить file
rm -r dir удалить каталог dir
rm -f file удалить форсированно file
rm -rf dir удалить форсированно каталог dir
rm -f file1 удалить файл с именем ‘file1’
rmdir dir1 удалить директорию с именем ‘dir1’
rm -rf dir1 удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое
rm -rf dir1 dir2 удалить две директории и рекурсивно их содержимое
cp file1 file2 скопировать file1 в file2
cp -r dir1 dir2 скопировать dir1 в dir2; создаст каталог dir2, если он не существует
cp dir/ копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2 копировать директорию dir1 в директорию dir2
mv dir1 new_dir переименовать или переместить файл или директорию
mv file1 file2 переименовать или переместить file1 в file2. если file2 существующий каталог — переместить file1 в каталог file2
ln -s file1 lnk1 создать символическую ссылку на файл или директорию
ln file1 lnk1 создать «жёсткую» (физическую) ссылку на файл или директорию
touch file создать file
touch -t 0712250000 fileditest модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)
cat > file направить стандартный ввод в file
more file вывести содержимое file
head file вывести первые 10 строк file
tail file вывести последние 10 строк file
tail -f file вывести содержимое file по мере роста, начинает с последних 10 строк

Архивация

tar cf file.tar files создать tar-архив с именем file.tar содержащий files
tar xf file.tar распаковать file.tar
tar czf file.tar.gz files создать архив tar с сжатием Gzip
tar xzf file.tar.gz распаковать tar с Gzip
tar cjf file.tar.bz2 создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 распаковать tar с Bzip2
gzip file сжать file и переименовать в file.gz
gzip -d file.gz разжать file.gz в file
bunzip2 file1.bz2 разжимает файл ‘file1.gz’
gzip -9 file1 сжать файл file1 с максимальным сжатием
rar a file1.rar test_file создать rar-архив ‘file1.rar’ и включить в него файл test_file
rar a file1.rar file1 file2 dir1 создать rar-архив ‘file1.rar’ и включить в него file1, file2 и dir1
rar x file1.rar распаковать rar-архив
tar -cvf archive.tar file1 создать tar-архив archive.tar, содержащий файл file1
tar -cvf archive.tar file1 file2 dir1 создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
tar -tf archive.tar показать содержимое архива
tar -xvf archive.tar распаковать архив
tar -xvf archive.tar -C /tmp распаковать архив в /tmp
tar -cvfj archive.tar.bz2 dir1 создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -xvfj archive.tar.bz2 разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -cvfz archive.tar.gz dir1 создать архив и сжать его с помощью gzip
tar -xvfz archive.tar.gz разжать архив и распаковать его
zip file1.zip file1 создать сжатый zip-архив
zip -r file1.zip file1 file2 dir1 создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий
unzip file1.zip разжать и распаковать zip-архив

Работа с локальными deb-пакетами (dpkg)

deb — расширение имён файлов «бинарных» пакетов для распространения и установки программного обеспечения в ОС проекта Debian, и других, использующих систему управления пакетами dpkg. Deb — это часть слова Debian, в свою очередь, образованного от слов Debra — имени подруги (впоследствии — жены, ныне — бывшей) основателя Дебиана Яна Мердока и Ian от его собственного имени.

dpkg -i package.deb установить / обновить пакет
dpkg -r package_name удалить пакет из системы
dpkg -l показать все пакеты, установленные в систему
dpkg -l | grep httpd среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
dpkg -s package_name отобразить инфрмацию о конкретном пакете
dpkg -L package_name вывести список файлов, входящих в пакет, установленный в систему
dpkg –contents package.deb отобразить список файлов, входящих в пакет, который ешё не установлен в систему
dpkg -S /bin/ping найти пакет, в который входит указанный файл

Использование пакетного менеджера Apt

apt (advanced packaging tool) — программа для установки, обновления и удаления программных пакетов в операционных системах Debian и основанных на них (Ubuntu, Linux Mint и т. п.), иногда также используется в дистрибутивах, основанных на Mandrake, например Mandriva, ALTLinux и PCLinuxOS. Способна автоматически устанавливать и настраивать программы для UNIX-подобных операционных систем как из предварительно откомпилированных пакетов, так и из исходных кодов.

apt-get install package_name установить / обновить пакет
apt-cdrom install package_name установить / обновить пакет с cdrom’а
apt-get update получить обновлённые списки пакетов
apt-get upgrade обновить пакеты, установленные в систему
apt-get remove package_name удалить пакет, установленный в систему с сохранением файлов конфигурации
apt-get purge package_name удалить пакет, установленный в систему с удалением файлов конфигурации
apt-get check проверить целостность зависимостей
apt-get clean удалить загруженные архивные файлы пакетов
apt-get autoclean удалить старые загруженные архивные файлы пакетов

Просмотр содержимого файлов

cat file1 вывести содержимое файла file1 на стандартное устройсво вывода
tac file1 вывести содержимое файла file1 на стандартное устройсво вывода в обратном порядке (последняя строка становиться первой и т.д.)
more file1 постраничный вывод содержимого файла file1 на стандартное устройство вывода
less file1 постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т.п.
head -2 file1 вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -2 file1 вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -f /var/log/messages выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста

Манипуляции с текстом

cat file_originale | [operation: sed, grep, awk, grep и т.п.] > result.txt общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый
cat file_originale | [operazione: sed, grep, awk, grep и т.п.] » result.txt общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в существующий файл. Если файл не существует, он будет создан
grep Aug /var/log/messages из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, содержащие «Aug»
grep ^Aug /var/log/messages из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, начинающиеся на «Aug»
grep [0-9] /var/log/messages из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, содержащие цифры
grep Aug -R /var/log/* отобрать и вывести на стандартное устройство вывода строки, содержащие «Aug», во всех файлах, находящихся в директории /var/log и ниже
sed ‘s/stringa1/stringa2/g’ example.txt в файле example.txt заменить «string1» на «string2», результат вывести на стандартное устройство вывода
sed ‘/^$/d’ example.txt удалить пустые строки из файла example.txt
sed ‘/ *#/d; /^$/d’ example.txt удалить пустые строки и комментарии из файла example.txt
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ преобразовать символы из нижнего регистра в верхний
sed -e ‘1d’ result.txt удалить первую строку из файла example.txt
sed -n ‘/string1/p’ отобразить только строки содержашие «string1»
sed -e ‘s/ *$‘ example.txt |удалить пустые символы в в конце каждой строки | |sed -e ‘s/string1g’ example.txt удалить строку «string1» из текста не изменяя всего остального
sed -n ‘1,8p;5q’ example.txt взять из файла с первой по восьмую строки и из них вывести первые пять
sed -n ‘5p;5q’ example.txt вывести пятую строку
sed -e ‘s/0*/0/g’ example.txt заменить последовательность из любого количества нулей одним нулём
cat -n file1 пронумеровать строки при выводе содержимого файла
cat example.txt | awk ‘NR%2==1’ при выводе содержимого файла, не выводить чётные строки файла
echo a b c | awk » вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
echo a b c | awk » вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
paste file1 file2 объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
paste -d ‘+’ file1 file2 объединить содержимое file1 и file2 в виде таблицы с разделителем «+»
sort file1 file2 отсортировать содержимое двух файлов
sort file1 file2 | uniq отсортировать содержимое двух файлов, не отображая повторов
sort file1 file2 | uniq -u отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
sort file1 file2 | uniq -d отсортировать содержимое двух файлов, отображая только повторяющиеся строки
comm -1 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
comm -2 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’
comm -3 file1 file2 сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах

Преобразование наборов символов и файловых форматов

dos2unix filedos.txt fileunix.txt конвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата каретки)
unix2dos fileunix.txt filedos.txt конвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата коретки)
recode .. HTML < page.txt >page.html конвертировать содержимое тестового файла page.txt в html-файл page.html
recode -l | more вывести список доступных форматов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *