Современные дистрибутивы Linux предлагают удобные графические интерфейсы, но командная строка остается важным инструментом, обеспечивающим гибкость и универсальность.
Во-первых, разнообразие графических оболочек может привести к путанице: они часто работают по-разному, в то время как команды остаются неизменными.
Во-вторых, работа с удаленными серверами, где графический интерфейс отсутствует, требует знания командной строки.
В-третьих, командная строка предоставляет большую гибкость и функциональность, позволяя создавать сложные скрипты и цепочки команд. В графическом интерфейсе это невозможно.
Наконец, знание командной строки Linux позволяет легко адаптироваться к другим Unix-подобным системам — например, macOS или BSD. Таким образом, изучая терминал, вы получаете универсальный и мощный инструмент для работы с разными операционными системами.
Разберем основные доступные опции для Линукса, используемые в популярных дистрибутивах.
Как открыть терминал в Linux
Самый простой способ открыть терминал в Linux — использовать сочетание клавиш Ctrl+Alt+T. Это универсальное сочетание работает практически во всех дистрибутивах и по умолчанию вызовет терминал.
Если пользователь привык к графическому интерфейсу, можно найти значок терминала в меню «Приложения» или «Программы». Названия иконки в разных дистрибутивах могут отличаться друг от друга — например, «Терминал», «Консоль» или «Bash».
Также можно открыть терминал из графического файлового менеджера. В большинстве файловых менеджеров достаточно правой кнопкой мыши щелкнуть по любой папке или файлу и выбрать пункт «Открыть в терминале». Это позволит вам открыть терминал в текущем каталоге, что может быть полезно для выполнения команд, связанных с конкретным файлом или папкой.
Команда pwd — отображение полного пути до текущей рабочей директории
Команда pwd (от английского print working directory — вывод рабочей директории) — это базовая команда в Linux, позволяющая узнать полный путь к нужной рабочей директории. Она — незаменимый инструмент для навигации по файловой системе и понимания текущего местоположения.
При вводе pwd в терминале система выводит полный путь к директории, в которой вы сейчас находитесь. Этот путь может содержать несколько уровней вложенных папок, разделенных косой чертой (/). Например, pwd может вывести ~/Documents/Projects/MyProject: вы находитесь в папке MyProject внутри папки Projects внутри папки Documents, расположенной в домашнем каталоге пользователя.
Команда pwd часто используется в сочетании с другими, например, cd (change directory), для перехода в определенный каталог. Например, вы можете выполнить cd /home/user/Documents для перехода в папку Documents пользователя user, а затем использовать pwd для подтверждения, что находитесь там, где предполагали.
Команда ls — просмотреть содержимое каталога
Команда ls (от английского list — список) — одна из самых часто используемых в Linux. Она предназначена для отображения содержимого каталога: пользователь может увидеть файлы и папки, которые этот каталог содержит.
При вводе ls без аргументов отображается список файлов и папок в нужной директории. Для просмотра содержимого конкретного каталога нужно указать его имя после ls. Например, ls /home/user/Documents покажет файлы и папки в папке Documents пользователя user.
ls имеет множество опций, позволяющих настраивать вывод. Например, ls -l выводит подробную информацию о файлах, включая права доступа, владельца, размер и дату последнего изменения. ls -a показывает все файлы, включая скрытые, начинающиеся с точки (.). Комбинируя эти и другие опции, можно получить необходимую информацию о содержимом каталога.
Команда cd — переход между директориями
Команда cd (от англ. change directory) позволяет перемещаться между каталогами в файловой системе Linux. Она может использоваться в нескольких разных вариантах.
По относительному пути
Переход между директориями по относительному пути в Linux позволяет перемещаться по файловой системе, используя названия папок относительно текущего каталога. В отличие от абсолютных путей, которые начинаются с корневого каталога "/", относительные пути используют точки «.» и «..» для обозначения текущей директории и родительской директории соответственно.
Например, cd Documents переместит вас в папку Documents, которая находится в той же директории, где пользователь в данный момент. Если нужно перейти в папку Projects, находящуюся в папке «Documents», можно использовать cd Documents/Projects.
Опции с использованием cd .. позволяют перейти на уровень выше в иерархии каталогов. Например, если вы находитесь в папке Projects, она переместит вас в папку Documents. Использование относительных путей — удобный способ навигации по файловой системе, особенно при работе в одном и том же каталоге или его подкаталогах.
С автодополнением
Автодополнение в Linux — полезная функция, которая экономит время, минимизируя количество ошибок при работе в терминале. Эта функция применяется также при переходе между директориями, значительно упрощая навигацию по файловой системе.
Чтобы воспользоваться автодополнением при переходе в другую директорию, достаточно ввести первые несколько букв ее имени после cd и нажать клавишу Tab. Система попытается предложить возможные варианты завершения имени директории. Если есть только одно подходящее совпадение, имя директории будет автоматически введено. Если же несколько директорий начинаются с введенных букв, нажатие Tab дважды покажет список возможных вариантов, из которого можно выбрать нужный.
Например, если вы в директории ~/Documents и хотите перейти в папку Projects, достаточно ввести cd Pro и нажать Tab. Система автоматически предложит cd Projects, который вы можете подтвердить клавишей Enter. Автодополнение работает как с абсолютными, так и с относительными путями, что позволяет быстро и точно переходить между директориями. Это особенно удобно при работе с длинными или сложными путями.
Подняться наверх директории
Подняться наверх директории в Linux — значит перейти в родительский каталог текущей директории. Для этого также используется cd .., а две точки (..) обозначают родительский каталог.
Например, если вы находитесь в директории /home/user/Documents/Projects, то команда cd .. переместит вас в директорию /home/user/Documents. Снова выполнив cd .., вы окажетесь в директории /home/user.
Команда cd .. очень полезна, когда вам нужно переместиться вверх по иерархии каталогов, и особенно удобна при работе с вложенными директориями, когда нужно быстро перейти на уровень выше.
Команда mkdir — создание директории
mkdir (от англ. make directory) — базовая команда в Linux, которая позволяет создавать новые директории. Она является незаменимым инструментом для организации файлов и папок в файловой системе.
При вводе mkdir с именем директории система создает новую папку с указанным именем в текущем каталоге. Например, mkdir new_directory создаст новую директорию с именем new_directory в текущей директории. Если вы хотите создать директорию в другом месте файловой системы, необходимо указать полный путь к ней. Например, mkdir /home/user/Documents/NewFolder создаст новую папку NewFolder в директории /home/user/Documents.
Инструмент mkdir также поддерживает создание нескольких директорий одновременно. Например, mkdir directory1 directory2 directory3 создаст три новые директории: directory1, directory2 и directory3 в текущем каталоге.
Команда touch — создание файла
Команда touch в Linux используется для создания пустых файлов или изменения даты последнего доступа и модификации существующих файлов. Это очень простой, но мощный инструмент, который часто используется в сценариях и автоматизации.
Чтобы создать новый файл с помощью touch, просто введите touch и имя файла. Например, команда touch new_file.txt создаст пустой файл с именем new_file.txt в текущей директории. Если файл с таким именем уже существует, touch просто обновит дату его последнего изменения.
touch также полезна для создания пустых файлов в сценариях, где требуется проверить наличие файла или создать его, если он отсутствует. Например, в сценарии, который обрабатывает входные данные из файла, можно использовать touch для создания временного файла, который будет показывать пользователю, что обработка данных завершена.
Команды nano и vim — редактирование файлов
В Linux существует несколько доступных текстовых редакторов. Наиболее популярные из них — это nano и vim. nano — это простой текстовый редактор с интуитивно понятным интерфейсом, который подходит для начинающих. vim — более продвинутый и мощный редактор с более богатым набором функций, но он требует изучения комбинаций клавиш и специальных команд.
- nano — редактор, ориентированный на простоту использования. Он предлагает подсказки по управлению и имеет удобный интерфейс с меню, позволяющий быстро находить нужные команды. Чаще всего используется для быстрого редактирования небольших текстовых файлов или обучения основам работы с текстовыми редакторами в разных дистрибутивах Линукса.
- vim — редактор, который изначально был разработан для использования в среде без графического интерфейса. Он поддерживает множество дополнительных возможностей, например, подсветку синтаксиса, автозаполнение, поиск и замену текста. vim часто используется опытными разработчиками и системными администраторами для редактирования кода и конфигурационных файлов. Однако из-за своей сложности он требует времени для изучения: рядовые пользователи, не работающие с кодом, его, как правило, не используют.
Команда cp — копирование файлов и директорий
Команда cp (от английского copy — копировать) позволяет копировать файлы и директории. Она широко используется для создания резервных копий файлов, дублирования файлов для различных целей, а также для переноса файлов между различными каталогами.
Для копирования файла с помощью cp необходимо указать имя исходного файла и имя целевого файла или директории. Например, cp file.txt new_file.txt скопирует файл file.txt в новый файл с именем new_file.txt в текущем каталоге. Чтобы скопировать файл в другую директорию, необходимо указать полный путь к целевой директории. Например, cp file.txt /home/user/Documents/ скопирует файл аile.txt в директорию /home/user/Documents.
cp также позволяет копировать целые директории. Для этого используется опция -r (от англ. recursive). Например, команда cp -r directory1 directory2 скопирует всю директорию directory1 вместе со всеми ее содержимым в директорию directory2. Это мощный инструмент для копирования файлов и директорий, в котором есть удобные опции для настройки процесса копирования, например, сохранение атрибутов файлов или перенос файлов вместо копирования.
Команда mv — перемещение файлов и директорий
Команда mv (от английского move — двигать, перемещать) в Linux используется для перемещения файлов и директорий. Она позволяет переносить файлы и директории из одного места в другое в файловой системе. В отличие от команды cp (копирование) команда mv не создает копию, а перемещает исходный файл или директорию в новое место.
Для перемещения файла или директории с помощью mv, нужно указать имя исходного файла или директории и новое место назначения. Например, mv file.txt new_directory/ переместит файл file.txt в директорию new_directory. Чтобы переместить директорию, можно использовать опцию -r (рекурсивно). Например, mv -r directory1 directory2 переместит директорию directory1 вместе со всем ее содержимым в директорию directory2.
Кроме того, команда mv может использоваться также для переименования файлов и директорий. Например, mv old_name.txt new_name.txt переименует файл old_name.txt в new_name.txt. mv — незаменимый инструмент для организации файлов и директорий в файловой системе Linux.
Команда rm — удаление файлов и директорий
rm (от английского remove — удалять) – это инструмент в Линуксе, который позволяет удалить отдельные файлы и директории. Важно использовать эту команду с осторожностью: удаленные файлы и директории не восстанавливаются без специальных средств.
Для удаления файла с помощью rm необходимо указать имя файла. Например, команда rm file.txt удалит файл file.txt из текущего каталога. Чтобы удалить директорию, необходимо использовать опцию -r (рекурсивно). Например, команда rm -r directory удалит директорию directory вместе со всем ее содержимым.
Важно понимать, что команда rm не предоставляет «корзину» для удаленных файлов. Удаленные файлы немедленно исчезают из файловой системы. Поэтому, прежде чем использовать rm для удаления важных файлов, рекомендуется сделать их резервную копию. Кроме того, rm имеет множество дополнительных опций, например, -i (запрос подтверждения перед удалением) или -f (принудительное удаление).
Команды cat, head, sed, tail — вывод содержимого файла
В Линуксе есть целый набор команд, которые позволяют просматривать содержимое файлов. Среди них особенно распространены cat, head, sed и tail.
Команда cat (от английского concatenate — объединять) выводит на экран содержимое файла. Например, cat file.txt покажет полное содержимое файла file.txt. Также cat служит для объединения нескольких файлов в один. Например, cat file1.txt file2.txt > merged_file.txt объединит файлы file1.txt и file2.txt в новый файл merged_file.txt.
head — команда, которая выводит первые несколько строк файла. Например, head -n 10 file.txt выведет первые 10 строк файла file.txt. tail — команда, которая выводит последние несколько строк файла. Например, tail -n 5 file.txt выведет последние 5 строк файла file.txt. sed (от английского stream editor — потоковый редактор) — более сложная команда, которая позволяет редактировать содержимое файлов в режиме потока. Она может использоваться для замены текста, удаления строк, добавления строк и других операций.
Команда grep — поиск файлов в директориях и строк в файлах
Команда grep (от английского global regular expression print — глобальный вывод регулярных выражений) осуществляет поиск по файлам и строкам в файлах. Она используется для поиска определенного текста в файлах и каталогах с выводом результатов на экран.
grep может использоваться с разными параметрами, что позволяет настроить поиск. Например, команда grep "pattern" file.txt ищет строки в файле "file.txt", содержащие шаблон "pattern". Также она удобна для одновременного поиска в нескольких файлах сразу. Например, команда grep "pattern" *.txt ищет строки в всех файлах с расширением ".txt" в текущем каталоге.
grep поддерживает регулярные выражения, что позволяет использовать более сложные шаблоны поиска. Например, grep -E "pattern|another_pattern" file.txt ищет строки, содержащие "pattern" или "another_pattern".
Команда chmod — установка прав на файл
Команда chmod (от английского change mode — изменить режим) в Линуксе позволяет изменять права доступа к файлам и директориям. Права доступа определяют, какие действия могут выполнять пользователи с файлом или директорией: чтение, запись или выполнение.
chmod использует для установки прав доступа специальный код. Он состоит из трех цифр, каждая из которых предоставляет права доступа для трех групп пользователей: владельца (owner), группы (group) и других (others). Каждая цифра может принимать значение от 0 до 7 и состоит из трех бит: чтение (r), запись (w), выполнение (x).
Например, chmod 755 file.txt установит права доступа к файлу file.txt следующим образом: владелец будет иметь полные права (чтение, запись, выполнение), группа будет иметь право на чтение и выполнение, а другие пользователи будут иметь право только на чтение.
Команды chown, chgrp — смена владельца файла и группы
В Linux файлы и директории имеют владельца и группу, определяющие права доступа к ним. Команды chown и chgrp позволяют изменить владельца и группу соответственно.
chown (от английского change owner — изменить владельца) меняет владельца файла или директории. Синтаксис команды: chown [владелец] [файл или директория]. Например, chown user file.txt изменит владельца файла file.txt на пользователя user.
chgrp (от английского change group — изменить группу) — меняет группу файла или директории. Синтаксис команды: chgrp [группа] [файл или директория]. Например, chgrp group file.txt изменит группу файла file.txt на группу group.
Использование chown и chgrp важно для управления доступом к файлам и директориям, особенно в многопользовательской среде. Эти команды позволяют назначить права доступа конкретным пользователям или группам, обеспечивая безопасность и контроль над файловой системой.
Команды useradd, groupadd — создание пользователя, группы и добавление пользователя в группу
Для управления пользователями и группами в Линуксе также существуют свои специальные инструменты: useradd создает нового пользователя, а groupadd — новую группу. Расскажем о каждой из них подробнее.
useradd — команда, которая создает нового пользователя в системе. Она принимает несколько параметров, которые позволяют установить имя пользователя, пароль, домашний каталог и другие параметры. Например, useradd -m -s /bin/bash newuser создает нового пользователя с именем newuser, создает ему домашний каталог и устанавливает его оболочку в bash.
groupadd — команда, которая создает новую группу в системе. Она принимает имя группы в качестве параметра. Например, groupadd newgroup создает новую группу с именем newgroup.
После создания пользователя и группы можно добавить пользователя в группу с помощью команды usermod. Например, usermod -G newgroup newuser добавит пользователя newuser в группу newgroup. Эти инструменты необходимы для управления пользователями и группами в Linux, что позволяет устанавливать права доступа и обеспечивать безопасность системы.
Команды для работы с приложениями
В Linux используются команды, с помощью которых можно устанавливать и обновлять программы, искать установленные приложения, запускать исполняемые файлы. Они позволяют легко устанавливать, обновлять, удалять приложения, а также обращаться к истории команд и создавать архивы. Далее мы подробно рассмотрим каждую из них и покажем, как использовать их на практике.
Установка приложений
В Linux для установки приложений используются менеджеры пакетов для удобного скачивания, установки, обновления и удаления программ. Выбор менеджера пакетов зависит от дистрибутива. Перечислим наиболее распространенные.
- apt: используется в Debian и его производных (Ubuntu, Mint). Для установки пакета с помощью apt используется команда sudo apt install [имя пакета].
- yum: используется в Red Hat и его производных (CentOS, Fedora). Для установки пакета с помощью yum используется команда sudo yum install [имя пакета].
- dnf: используется в Fedora и его производных (является заменой yum). Для установки пакета с помощью dnf используется команда sudo dnf install [имя пакета].
Перед установкой рекомендуется обновить список доступных пакетов. Это делается командой sudo apt update (для apt), sudo yum update (для yum) или sudo dnf update (для dnf). После установки пакета его можно обновить с помощью команды sudo apt upgrade (для apt), sudo yum upgrade (для yum) или sudo dnf upgrade (для dnf).
Запуск приложений
Запуск приложений в Linux осуществляется по-разному в зависимости от типа приложения и его расположения.
- Запуск из терминала: если вы знаете имя исполняемого файла, и он находится в пути системы (например, в каталоге /bin или /usr/bin), его можно запустить, просто введя имя в терминале. Например, firefox запускает браузер Firefox.
- Запуск из графического интерфейса. Многие приложения имеют значки на рабочем столе или в меню «Приложения». Двойной щелчок по значку запустит соответствующую программу.
- Запуск из папки. Если вы знаете точное местоположение исполняемого файла, вы можете перейти в его папку в терминале и запустить его, введя ./имя_файла. Например, ./myprogram запустит исполняемый файл myprogram в текущей папке.
- Запуск через systemd. В современных системах на базе Linux приложения часто запускаются через systemd — системный менеджер сервисов. Для запуска сервиса с помощью systemd используется команда systemctl start [имя сервиса].
Проверка приложений
В Linux существует несколько команд, которые позволяют проверить, установлен ли определенный пакет или приложение, и просмотреть сведения о нем.
- which: ищет исполняемый файл с указанным именем в пути системы. Например, which firefox покажет путь к исполняемому файлу браузера Firefox. Если файл не найден, команда выдаст сообщение об ошибке.
- dpkg: в Debian и его производных (Ubuntu, Mint) для проверки установленных пакетов используется dpkg. Например, dpkg -l | grep firefox покажет информацию о пакете firefox, если он установлен.
- rpm: в Red Hat и его производных (CentOS, Fedora) для проверки установленных пакетов используется команда rpm. Например, rpm -qa | grep firefox покажет информацию о пакете firefox, если он установлен.
- apt-cache: для поиска пакетов в репозиториях apt используется команда apt-cache. Например, apt-cache search firefox покажет информацию о пакете firefox, если он доступен в репозиториях.
Создание архивов
В Linux существует несколько команд для создания архивов. Наиболее распространенные из них: tar, zip и gzip.
- tar — универсальная команда, которая может использоваться для создания архивов в формате .tar. Она также удобна для извлечения файлов из архивов. Например, команда tar -cvf archive.tar directory создает архив с именем archive.tar, в который упаковывается каталог directory.
- zip — команда для создания архивов в формате .zip. Она поддерживает компрессию данных с помощью алгоритма Deflate. Например, команда zip archive.zip file1.txt file2.txt создает архив с именем archive.zip, в который упаковываются файлы file1.txt и file2.txt.
- gzip — команда, которая используется для сжатия файлов с помощью алгоритма Deflate. Она обычно используется для сжатия отдельных файлов, а не для создания архивов. Например, команда gzip file.txt создаст сжатый файл file.txt.gz.
История команд
С помощью истории можно быстро и удобно повторять ранее использованные команды. Она хранит список введенных команд, что особенно полезно при работе с длинными и сложными командами.
Доступ к истории команд в терминале Linux осуществляется с помощью клавиши «стрелка вверх» (↑) и клавиши «стрелка вниз» (↓). Нажатие первой перемещает курсор к предыдущей команде в истории, а второй — к следующей команде.
Также можно использовать команду history, чтобы вывести список всех команд в истории. Чтобы повторить определенную команду из истории, можно использовать команду !N, где N — номер в истории. Например, !10 повторит 10-ю команду в истории.
В терминале Linux также можно использовать другие возможности для работы с историей команд, например, поиск по истории, редактирование инструментов из истории, а также настройки размера хранимой истории. Все эти возможности помогают увеличить производительность, упрощая работу с командной строкой.
Проверка свободного места на дисках
В Linux для проверки свободного места на дисках можно использовать несколько полезных команд. Базовая команда — df, которая выводит информацию о дисковом пространстве всех смонтированных файловых систем. Она показывает, сколько места занято, сколько свободно, а также процент заполненности.
Для более детального анализа свободного места на конкретном разделе или диске можно использовать команду du. Она выводит информацию о размере директорий и файлов, рекурсивно обходя указанную директорию. Например, du -h /home выведет информацию о размере всех директорий и файлов в каталоге /home, включая подкаталоги, с человекочитаемым отображением размера (например, 10M, 2G).
Дополнительный параметр -s в команде du позволяет получить суммарный размер указанной директории, не выводя размеры подкаталогов. Например, du -sh /home выведет только общий размер каталога /home.
Также для проверки свободного места можно воспользоваться графическим интерфейсом. В большинстве дистрибутивов Linux существуют графические утилиты для управления дисками, которые показывают свободное место на всех разделах.
Команда hostname — проверка IP компьютера
Команда hostname используется для определения именного адреса компьютера. Она показывает имя, присвоенное компьютеру в сети. Это удобный способ определить, с какого конкретно компьютера вы работаете.
При вводе hostname в терминале вы увидите текущее имя компьютера. Это имя может быть установлено в конфигурации системы или автоматически присвоено при подключении к сети.
Для проверки IP-адреса компьютера можно использовать ip addr show. Она выводит список всех сетевых интерфейсов и их IP-адресов. Для просмотра IP-адреса основного интерфейса, который обычно используется для подключения к Интернету, можно использовать команду ip addr show eth0.
hostname и ip addr show — универсальные команды Linux, которые позволяют получить важную информацию о компьютере и его сетевых настройках. Они помогают установить идентификацию компьютера в сети и определить его IP-адрес.
Команда cat — проверка версии ОС
Команда cat в Linux известна своей способностью выводить содержимое файлов на экран, но она используется для получения информации о версии операционной системы. Она позволяет просматривать содержимое различных системных файлов, включая файлы с информацией о версии ОС.
Для просмотра версии операционной системы с помощью cat обычно используются следующие файлы:
- /etc/issue: этот файл содержит текстовую информацию, выводимую при входе в систему. Он часто включает в себя название дистрибутива и версию ядра.
- /etc/os-release: этот файл содержит ключевую информацию о дистрибутиве, такую как название, версия и идентификатор.
- /proc/version: этот файл содержит версию ядра Linux.
Получается, что cat /etc/issue выведет на экран текст, который отображается при входе в систему, и может содержать название дистрибутива и версию ядра. Сочетание cat /etc/os-release выведет информацию о дистрибутиве в формате «ключ-значение». Сочетание cat /proc/version выведет строку с версией ядра.
Таким образом, инструмент cat применим для получения информации о версии операционной системы в Linux. Это может быть полезно для выяснения версии дистрибутива или ядра.
Команда man — мануал по командам
Команда man (от англ. manual — руководство) — еще один специальный инструмент в Linux, предоставляющий доступ к документации по разным командам и утилитам. Это основной источник информации для пользователей Linux, помогающий изучать функциональность команд, их синтаксис, опции и примеры использования.
Чтобы получить доступ к руководству, необходимо ввести в терминале man [имя инструмента]. Например, man ls откроет руководство по команде ls. Руководство отображается в текстовом режиме и делится на несколько разделов, каждый из которых содержит информацию о конкретной теме.
Перечислим наиболее часто используемые разделы руководства в man.
- Раздел 1: Общие команды
- Раздел 2: Системные вызовы
- Раздел 3: Библиотечные функции
- Раздел 4: Специальные файлы
- Раздел 5: Форматы файлов
- Раздел 6: Игры
- Раздел 7: Утилиты
- Раздел 8: Системные администраторские команды
man поддерживает некоторые удобные функции для навигации по тексту:
- q: выход из руководства
- h: отображение помощи по man
- g: переход к началу страницы
- G: переход к концу страницы
- /: поиск текста в руководстве
- n: переход к следующему совпадению при поиске текста
- p: переход к предыдущему совпадению при поиске текста
man — удобный инструмент для любого пользователя Linux, позволяющий быстро получить информацию о любой доступной команде в операционной системе.
Важно помнить, что команды и их ключи в терминале Linux чувствительны к регистру: использование прописных или строчных букв может повлиять на работоспособность.
Использование горячих клавиш для быстрого перехода по истории, редактирования текста и выполнения часто используемых операций значительно ускоряет работу с терминалом.
Знание командной строки Linux делает работу с системой более эффективной и гибкой, открывая доступ к дополнительным возможностям, упрощая работу с разными Unix-подобными системами.