Командная строка Linux: краткий курс для начинающих
Как работать с командной строкой и базовыми командами.
Эта инструкция — часть курса «Linux: горячие клавиши и команды».
Смотреть весь курс
Введение
В данном руководстве мы вкратце ознакомимся с работой в командной строке в Ubuntu 20.04 .
Требования
- Cервер с Ubuntu 20.04
Для разных операционных систем командную строку можно открывать с помощью приложений:
- Mac OS X: Terminal (default), iTerm 2;
- Windows: PuTTY;
- Linux: Terminal, KDE Konsole, XTerm.
С подробным описанием команд для Ubuntu можно ознакомиться в официальной документации.
Вход на сервер через терминал
В операционной системе Ubuntu 20.04 открыть командную строку можно двумя способами: через консоль и через графический терминал.
Для работы через консоль следует нажать сочетание клавиш Ctrl+Alt+F1, для возврата в графический интерфейс — сочетание клавиш Ctrl+Alt+F7.
Для запуска терминала нажмите сочетание клавиш Ctrl+Alt+T.

Внизу экрана располагается приглашение командной строки — последовательность символов, извещающая о готовности к обработке команд:
kamilla@kamilla-Aspire-V3-371:~$
- kamilla — имя текущего пользователя (суперпользователь/администратор);
- kamilla-Aspire-V3-37 — имя хоста (сервер);
- : — разделитель;
- ~ — текущая директория (в какой папке выполняется команда) пользователя (по умолчанию /home/);
- $ — символ приглашения ввода для пользователей с обычными правами;
- # — символ приглашения ввода для суперпользователя/администратора root (например, root@cs49647:~#).
Базовые команды, используемые при настройке сервера
После создания нового сервера необходимо предпринять несколько шагов по его базовой настройке.
Для того чтобы открыть сервер под учетной записью заведенного пользователя введите команду:
ssh -p №port demo@adress

- №port — номер заданного порта при начальной настройке сервера;
- demo — имя пользователя;
- adress — ip-адрес сервера.
Для входа на сервер под учетной записью root используйте команду, заменив SERVER_IP_ADDRESS на публичный IP-адрес вашего сервера:
ssh root@SERVER_IP_ADDRESS
Для создания новой учетной записи пользователя введите команду, заменив имя DEMO на любое другое необходимое имя:
adduser DEMO
Для открытия конфигурационного файла в текстовом редакторе под пользователем root введите команду:
nano /etc/ssh/sshd_config
Для замены строчки в открывшемся конфигурационном файле найдите, например, строчку Port 22 и замените число 22 на любое другое число (от 1025 и до 65536).
После внесения изменений сохраните и закройте файл, нажав сочетание клавиш CTRL-X, затем клавишу Y, затем клавишу ENTER.
Для перезапуска сервиса SSH выполните следующую команду:
service ssh restart
Для выполнения команды с привилегиями root-пользователя, перед ней следует поставить слово sudo:
sudo command_to_run
Для завершения сессии выполните команду:
exit
Обзорное описание команд, аргументов и опций для них
Для запуска команды следует ввести команду и нажать клавишу Enter.
Команды выполняются последовательно, для выполнения следующей появится приглашение командной строки (если не использовать специальные скрипты).
Для того чтобы открыть страницу с подробным описанием команды Linux, например ip address, введите команду man с именем команды:
man ip address
Запуск без аргументов и опций
При запуске команд без аргументов:
- cd — возврат в домашнюю директорию текущего пользователя;
- ls — вывод списка файлов и директорий в текущем каталоге.
Пример:
Выполнив команду ls без параметров, получаем список файлов в каталоге:
testk@cs49647:~$ ls
linux.jpg template ubuntu.jpg
Запуск с аргументами (параметрами)
Большинство команд рассчитано на запуск с передачей аргументов (параметров).
Наиболее распространенное использование команды cd — вызов с аргументом, который является путем к директории, в которую следует перейти:
cd /usr/bin
Запуск с опциями
Многие команды также поддерживают опции (флаги, ключи) запуска, позволяющие изменять результат выполнения команды. Опции представляют собой одиночный символ после символа «-», либо в расширенном написании после «—».
Пример:
Выполнив команду ls с опциями -A, -S, -1, получаем список всех файлов, включая «скрытые», расположенных по одному на каждой строке и отсортированных по размеру:
testk@cs49647:~$ ls -AS1
.gtkrc-2.0
linux.jpg
ubuntu.jpg
template
.filter
Запуск с аргументами и опциями (одновременно)
Структура записи команды с опциями и аргументами:
команда -опции аргументы
Пример:
Команда ls -la /home выведет подробный (-l) листинг директории /home, включая скрытые файлы (-a):
testk@cs49647:~$ ls -la /home
total 12
drwxr-xr-x 3 root root 4096 Oct 14 16:13 .
drwxr-xr-x 22 root root 4096 Oct 20 10:25 ..
drwxr-xr-x 4 testk testk 4096 Oct 19 10:52 testk
Переменные окружения
Окружение/среда (environment) — это набор пар ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ, которые могут использоваться запускаемыми процессами.
Просмотр переменных окружения
Для того чтобы посмотреть свое окружение введите команду без аргументов:
В зависимости от конфигурации системы, вывод списка переменных окружения может занять несколько экранов, поэтому лучше использовать команду:
env | more
Просмотр значения переменной
Переменные окружения могут формироваться как из заглавных, так и из строчных символов, однако исторически повелось именовать их в верхнем регистре.
Чтобы вывести на экран значение какой-нибудь переменной окружения, достаточно набрать echo $ИМЯ_ПЕРЕМЕННОЙ, например, просмотр домашней директории пользователя, хранящийся в переменной окружения $HOME:
echo $HOME
Для перехода в домашнюю директорию следует использовать команду:
cd $HOME
Установка переменных окружения
Для установки значений переменной окружения введите команду:
VAR=value
VAR — название переменной;
value — значение переменной.
Пример:
Выполнив команду var=value, после вывода на просмотр получаем результат value:
testk@cs49647:~$ var=value testk@cs49647:~$ echo $var value
Заключение
Мы познакомились с принципами работы в командной строке и базовыми командами.
В последующих статьях цикла, описывающего принципы работы в Linux, вы изучите с работой в bash (переменные, условия, циклы, примеры простых скриптов), а также ознакомитесь с управлением файлами и каталогами, созданием пользователей и настройкой прав.
Основные команды Linux: почти полное руководство с примерами
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Читайте также:
Инструкция
Как создать веб-приложение на базе Telegram Mini Apps
Инструкция
Что делает команда chmod и как ее использовать в Linux
Инструкция
Как разработать gRCP-сервис на Go
Командная строка Ubuntu: команды bash
В этой статье мы рассмотрим, что такое командная строка Ubuntu cmd (Ubuntu относится к семейству ОС Linux), как её открыть, а также опишем основные команды bash.
Командная строка Ubuntu
Работать в Ubuntu и других Linux-подобных операционных системах можно с помощью двух разных интерфейсов — графического интерфейса и командной строки.
Графический интерфейс пользователя (GUI — Graphical User Interface) — это привычное многим управление с помощью рабочего стола, графических окон, меню и кнопок. Пользователь может щелчками мыши открывать программы, копировать и удалять файлы, создавать папки и т. д.
Другой интерфейс — это командная строка (CLI — Command Line Interface). Пользователь вводит в неё определённые команды (набор букв, цифр и символов) с помощью клавиатуры, и компьютер запускает соответствующие процессы.
Открыть командную строку в Линукс-системах можно через консоль или терминал. В Ubuntu консоль запускается при загрузке системы. Терминал — это тоже консоль, но уже в графической оболочке. Его можно запустить, набрав слово Терминал в поисковой строке ОС, или через комбинацию клавиш Ctrl+Alt+T.
Консоль и терминал обрабатывают команды с помощью программной оболочки: в Ubuntu это командный интерпретатор bash. Он распознаёт команды, которые пользователь ввёл в командной строке, и выполняет их.
Ниже рассмотрим, из чего состоит команда, а также приведём используемый в bash список команд.
Основные команды bash
В общем виде в Ubuntu команды имеют такой вид:
программа -ключ значение
Программа — это сам исполняемый файл. Другими словами, это программа, которая будет выполняться по команде.
Ключ — обычно у каждой программы свой набор ключей. Их можно найти в мануале к программе.
Значение — параметры программы: цифры, буквы, символы, переменные.
Напомним, что для выполнения команды нужно ввести её в командную строку — Ubuntu console или эмулирующий работу консоли терминал.
Рассмотрим основные команды консоли Ubuntu:
Промежуточная команда sudo (SuperUser DO — суперпользователь) позволяет запускать программы от имени администратора или root-пользователя.
Вы можете добавить sudo перед любой командой, чтобы запустить её от имени суперпользователя.
Команда apt-get используется для работы с программными пакетами для установки программных пакетов ( sudo apt-get install имя-пакета ), обновления репозитория с пакетами ( sudo apt-get update ) и обновления пакетов, которые установлены в систему ( sudo apt-get upgrade ).
Команда pwd (print working directory — вывести рабочую директорию) показывает полное имя рабочей директории, в которой вы находитесь.
Команда ls (list — список) выводит все файлы во всех папках рабочей директории.
С помощью ls -a можно вывести и скрытые файлы.
Команда cd (change directory — изменить директорию) позволяет перейти в другую директорию.
Можно ввести как полный путь до папки, так и её название. Например, чтобы попасть в папку Files, лежащую в директории /user/home/Files, введите cd Files или cd /user/home/Files .
Чтобы попасть в корневую директорию, введите cd / .
Команда cp (copy — копировать) копирует файл.
Например, cp file1 file2 скопирует содержимого файла file1 в file2 .
Команда cp file /home/files скопирует файл с названием file в директорию /home/files.
Команда mv (move — переместить) помогает перемещать файлы.
Также с помощью mv можно переименовывать файлы. Например, у нас есть файл file.txt. С помощью команды mv file.txt new_file.txt мы можем перенести его в ту же директорию, но у файла уже будет новое название new_file.txt.
Команда rm (remove — удалить) удаляет файлы и каталоги.
Так, команда rm file.txt удалит текстовый файл с названием file, а команда rm -r Files удалит директорию Files со всеми содержащимися в ней файлами.
С помощью mkdir (make directory — создать директорию) можно создать новую директорию.
Так, команда mkdir directory создаст новую директорию с именем directory в текущей рабочей директории.
Команда man (manual — мануал) открывает справочные страницы с подробной информацией о команде.
Введите man , а затем через пробел название команды, о которой вы хотите узнать подробнее. Например, man cp выведет справочную страницу о команде cp.
Мы рассмотрели, как вызвать командную строку в Linux — открыть терминал или запустить консоль в Ubuntu, а также перечислили основные команды терминала Ubuntu.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь
Работа в файловых системах Windows и Linux
При работе с файловыми системами Windows и Linux следует учитывать ряд моментов. В этом пошаговом руководстве рассматриваются некоторые из них, а также приводятся примеры поддержки взаимодействия для смешанного использования команд на основе Windows и Linux.
Хранение файлов и производительность в файловых системах
Мы не рекомендуем работать с разными операционными системами, если на это нет особой причины. Для ускорения производительности сохраняйте файлы в файловой системе WSL, если используете командную строку Linux (Ubuntu, OpenSUSE и т. д.). Если вы работаете в командной строке Windows (PowerShell, командной строке), сохраняйте файлы в файловой системе Windows.
Например, при хранении файлов проекта WSL:
- Используйте корневой каталог файловой системы Linux: \\wsl$\Ubuntu\home\\Project
- Используйте корневой каталог файловой системы Windows: /mnt/c/Users//Project$ или C:\Users\\Project .
Если вы видите /mnt/ в пути к файлу в командной строке WSL, это означает, что вы работаете с подключенного диска. Поэтому диск C:/ ( C:\Users\\Project ) в файловой системе Windows при подключении в командной строке WSL будет выглядеть следующим образом: /mnt/c/Users//Project$ . Файлы проекта можно хранить на подключенном диске, но производительность может повыситься, если вы будете хранить их непосредственно на диске \\wsl$ .
Просмотр текущего каталога в проводнике Windows
Вы можете просмотреть каталог, в котором хранятся файлы, открыв проводник Windows из командной строки:
explorer.exe .
Также можно использовать команду powershell.exe /c start . . Обязательно добавьте точку в конце команды, чтобы открыть текущий каталог.
Чтобы просмотреть все доступные дистрибутивы Linux и их корневые файловые системы в Windows проводнике, введите \\wsl$ в адресной строке.

Учет регистра в именах файлов и каталогов
Чувствительность к регистру определяет, обрабатываются ли прописные (FOO.txt) и строчные буквы (foo.txt) как уникальные (с учетом регистра) или эквивалентные (без учета регистра) в имени файла или каталога. В файловых системах Windows и Linux чувствительность к регистру разная: в Windows он учитывается, а в Linux — нет. Дополнительные сведения о том, как настроить чувствительность к регистру, особенно при подключении дисков с помощью WSL, см. в статье Настройка чувствительности к регистру.
Взаимодействие между командами Windows и Linux
Средства и команды Windows и Linux в WSL могут использоваться взаимозаменяемо.
- Запустить средства Windows (например, notepad.exe) из командной строки Linux (например, Ubuntu).
- Запустить средства Linux (например, grep) из командной строки Windows (например, PowerShell).
- Совместное использование переменных среды между Linux и Windows. (сборка 17063+)
Запуск инструментов Linux из командной строки Windows
Запускайте двоичные файлы Linux из командной строки Windows (CMD или PowerShell), используя wsl (или wsl.exe ).
C:\temp> wsl ls -la
Двоичные файлы вызываются следующим образом.
- Используется тот же рабочий каталог, что и для текущей командной строки или сеанса PowerShell.
- Файл выполняется от имени пользователя WSL по умолчанию.
- Требуются те же права администратора Windows, что и у вызывающего процесса и терминала.
Команда Linux после wsl (или wsl.exe ) обрабатывается как любая команда, выполняемая в WSL. Можно выполнять sudo, конвейерную передачу и перенаправление файлов.
Пример использования sudo для обновления дистрибутива Linux по умолчанию:
C:\temp> wsl sudo apt-get update
Имя пользователя дистрибутива Linux по умолчанию будет указано после выполнения этой команды, и вам будет предложено указать пароль. После правильного ввода пароля дистрибутив скачает обновления.
Смешивание команд Linux и Windows
Ниже приведено несколько примеров смешиваний команд Linux и Windows с помощью PowerShell.
Чтобы выполнить команду Linux ls -la для вывода списка файлов и команду PowerShell findstr для фильтрации результатов слов, содержащих git, объедините команды:
wsl ls -la | findstr "git"
Чтобы выполнить команду PowerShell dir для вывода списка файлов и команду Linux grep для фильтрации результатов слов, содержащих git, объедините команды:
C:\temp> dir | wsl grep git
Чтобы использовать команду Linux ls -la для вывода списка файлов и команду PowerShell > out.txt для вывода этого списка в текстовый файл с именем out.txt, объедините команды:
C:\temp> wsl ls -la > out.txt
Команды, передаваемые в wsl.exe , перенаправляются в процесс WSL без изменения. Пути к файлам должны быть указаны в формате WSL.
Чтобы выполнить команду Linux ls -la для вывода списка файлов в пути файловой системы Linux /proc/cpuinfo с помощью PowerShell, сделайте следующее:
C:\temp> wsl ls -la /proc/cpuinfo
Чтобы выполнить команду Linux ls -la для вывода списка файлов в пути файловой системы Windows C:\Program Files с помощью PowerShell, сделайте следующее:
C:\temp> wsl ls -la "/mnt/c/Program Files"
Запуск инструментов Windows из Linux
WSL может запускать средства Windows непосредственно из командной строки WSL с помощью [tool-name].exe . Например, notepad.exe .
Приложения, выполняемые таким образом, обладают следующими свойствами.
- Рабочим каталогом остается каталог командной строки WSL (в большинстве случаев; исключения описаны ниже).
- Они имеют те же разрешения, что и процесс WSL.
- Они выполняются от имени активного пользователя Windows.
- Они отображаются в диспетчере задач Windows так, как если бы они выполнялись непосредственно из командной строки.
Исполняемые файлы Windows, выполняемые в WSL, обрабатываются аналогично собственным исполняемым файлам Linux — конвейерной передаче, перенаправлению и даже фоновому режиму работы.
Чтобы запустить средство Windows ipconfig.exe , использовать средство Linux grep для фильтрации результатов IPv4, а также средство Linux cut для удаления полей столбцов из дистрибутива Linux (например, Ubuntu), введите:
ipconfig.exe | grep IPv4 | cut -d: -f2
Давайте рассмотрим пример сочетания команд Windows и Linux. Откройте дистрибутив Linux (например, Ubuntu) и создайте текстовый файл: touch foo.txt . Теперь используйте команду Linux ls -la , чтобы отобразить список файлов прямого доступа и сведения об их создании, а также средство Windows PowerShell findstr.exe , чтобы отфильтровать результаты и отобразить только файл foo.txt :
ls -la | findstr.exe foo.txt
Средства Windows должны иметь расширение файла, его регистр символов должен совпадать с регистром в имени файла и эти файлы должны быть исполняемыми. Неисполняемые файлы, в том числе сценарии пакетного выполнения и собственные команды командной строки, такие как dir , можно выполнять с помощью команды cmd.exe /C .
Например, отобразите список содержимого каталога C:\ файловой системы Windows, введя:
cmd.exe /C dir
Или выполните команду ping , чтобы отправить запрос проверки связи на веб-сайт microsoft.com:
ping.exe www.microsoft.com
Параметры передаются в двоичный файл Windows без изменений. Например, следующая команда откроет C:\temp\foo.txt в notepad.exe .
notepad.exe "C:\temp\foo.txt"
Этот способ также будет работать:
notepad.exe C:\\temp\\foo.txt
Совместное использование переменных среды между Windows и WSL с помощью WSLENV
Решение WSL и Windows совместно используют WSLENV — специальную переменную среды, созданную для взаимодействия Windows и дистрибутивов Linux, запущенных в WSL.
Свойства переменной WSLENV :
- она используется совместно и существует в средах Windows и WSL;
- это список переменных среды, которые совместно используют Windows и WSL;
- она позволяет форматировать список переменных среды для корректного использования в Windows и WSL.
- она может использоваться в потоке между WSL и Win32.
До выпуска сборки 17063 единственной переменной среды Windows,, к которой могла получить доступ WSL, была PATH (это позволяло запускать исполняемые файлы Win32 из WSL). Начиная со сборки 17063, WSLENV поддерживается. WSLENV учитывает регистр.
Флаги WSLENV
В WSLENV доступны четыре флага, влияющие на способ преобразования переменной среды.
- /p преобразовывает пути WSL и Linux в пути Win32 и наоборот;
- /l указывает, что переменная среды представляет собой список путей;
- /u указывает, что эту переменную среды следует добавлять только при запуске WSL из Win32;
- /w указывает, что эту переменную среды следует добавлять только при запуске Win32 из WSL.
При необходимости флаги можно комбинировать.
Узнайте больше о WSLENV, ознакомившись с часто задаваемыми вопросами и примерами установки значения WSLENV для объединения других предварительно определенных переменных среды с суффиксом в виде косой чертой и флагами для указания способа перевода значения и передачи переменных скрипту. В этой статье также показано, как настроить среду разработки с помощью языка программирования Go для совместного использования GOPATH с WSL и Win32.
Отключение взаимодействия
Пользователи могут отключить возможность запуска средств Windows для отдельного сеанса WSL, выполнив следующую команду в качестве привилегированного пользователя.
echo 0 > /proc/sys/fs/binfmt_misc/WSLInterop
Чтобы повторно включить возможность запуска двоичных файлов Windows, закройте все сеансы WSL и повторно запустите bash.exe или выполните следующую команду от имени привилегированного пользователя.
echo 1 > /proc/sys/fs/binfmt_misc/WSLInterop
Отключение взаимодействия не будет сохраняться между сеансами WSL, оно снова будет включено при запуске нового сеанса.
Командная строка
Графический интерфейс пользователя (англ. 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 | вывести список доступных форматов |