В Linux все есть файл, что означает, что все элементы системы (сокеты, устройства, файлы, директории и т.д.) представлены в виде файлов.
FHS (Filesystem Hierarchy Standard) — стандарт, который унифицирует и определяет расположение и структуру файлов и каталогов, с целью обеспечения единообразия размещения компонентов системы. Основной целью разработки было упростить администрирование и обеспечить переносимость ПО между UNIX-подобными ОС.
Системные администраторы и пользователи знают где будут располагаться определенные файлы и каталоги, разработчикам знание структуры упрощает создание приложений.
Корневым каталогом является “/”. Как уже было сказано выше каждый файл и каталог имеет свое уникальное расположение.
Рассмотрим некоторые:
/bin — основные исполняемые файлы
/boot — файлы, необходимые для загрузки ОС
/dev — файлы устройств, представляющие физические и виртуальные устройства
/etc — конфигурационные файлы
/home — домашние каталоги пользователей. Каждый пользователь имеет свой каталог в /home
/lib — библиотеки
/root — домашний каталог суперпользователя
/tmp — временные файлы
Для взаимодействия с ОС есть два вида интерфейса — графический и текстовый, а их различные реализации называются оболочками.
Среди текстовых оболочек обычно называемых интерпретаторами командной строки стандартной является sh или шелл, а самая распространенной bash, преимуществом которой является автодополнение (добивание команды с помощью Tab).
Доступ к текстовому терминалу можно получить тремя способами:
- через эмулятор терминала в графическом интерфейсе
- через виртуальную консоль или виртуальный терминал (например при отсутствии графического интерфейса)
- через программы, использующие протокол ssh, например putty (преимущество данного способа в возможности подключаться удаленно)
В текстовом интерфейсе мы работаем с командами. Для этого необходимо знать их синтаксис.
Для примера возьмем команду ls (list), которая позволяет просмотреть содержимое директории.
ВАЖНО — Linux регистрозависима, если вы напишите LS то вы получите в ответ
bash: LS: command not found...
Similar command is: 'ls'
Чтобы очистить консоль, введите команду clear (если вы используете SmarTTY и Smart Terminal — clear может не сработать, подключайтесь через классический терминал). Здесь же можно упомянуть еще один небольшой лайфхак — чтобы заново не вводить предыдущие команды целиком, можно воспользоваться стрелками на клавиатуре.
Теперь сделаем ls и получим примерно следующее
[sysadmin@almalinux ~]$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
Для получения дополнительной информации по команде можно сделать следующее:
- ls — help
- man ls
- info ls
Если написать «man -k ls» то будет произведен поиск в руководстве по ключевому слову — в данном случае это “ls”.
Еще один лайфхак, который иногда может очень сильно пригодится.
Если ввести в терминале «history», можно увидеть ранее введенные команды:
Кроме того, можно ввести “!!” — это повторит предыдущую команду. Чтобы повторить определенную команду из истории, нужно ввести “!33” — в данном случае 33 это номер команды в истории.
Приведу еще несколько распространенных команд:
Навигация и управление файлами:
cd — изменяет текущий каталог.
pwd — печатает имя текущего каталога.
cp — копирует файлы и каталоги.
mv — перемещает/переименовывает файлы и каталоги.
rm — удаляет файлы и каталоги.
Управление процессами:
ps — отображает текущие процессы.
kill — посылает сигнал процессу.
Управление пользователями и правами:
sudo — выполняет команду от имени суперпользователя.
chmod — изменяет права доступа к файлам.
Сетевые команды:
ping — проверяет доступность узла в сети.
ifconfig — отображает сетевую конфигурацию.
Работа с архивами:
tar — архивирует/извлекает файлы из архива.
Photo by Gabriel Heinzer on Unsplash