2 Иерархия файловой системы (FHS)
Вся иерархия файловой структуры начинается с корневой папки /
/mnt
- наш сетевой подключенный сетевой диск/tmp
- папка временных файлов/opt
- папка разархивированных исходников/etc
- настройки программы (хранение файлов конфигураций)/home/<user>
- персональные данные пользователя/var
- хранит изменяемые файлы программ (зачастую логи и кэш)/boot
- файлы загрузки системы/dev
- файлы устройства/lib
- библиотеки исполняемых файлов системы/media
- сюда подключаются USB / CDROM/proc
- процессы, которые исполняются в системе/root
- домашний каталог суперпользователя/run
- запущенные процессы/sbin
- системные утилиты/srv
- службы, которые размещают свои данные/sys
- инф. об устройствах и драйверах/usr
- ещё одна папка для данных пользователя (утилиты многопользовательского режима)
3 Об оболочке и командах
Для каждого пользователя в системе создаётся свой каталог в /home
. Изначально /home
отображается в терминале как ~
Команды строятся следующим образом: команда -параметры ...аргументы[]
Есть 3 основных типа команд:
- Встроенные, системные
- Алиасы, которые под собой скрывают команду + дополнительные параметры
- Внешние команды, которые идут с оболочкой или из других пакетов
Shell ищет исполняемые команды по записанным путям в переменной $PATH
4 Основные команды
pwd
- отображает текущий каталогls
- отображает содержимое директорииmkdir
- создание новой директории. Если нет нужной директории, в которую поместим создаваемый файл, то нужно добавить параметр-p
. Так же мы можем просто передать сразу несколько аргументов, чтобы создать сразу несколько файлов.
cd
- переход в нужную директорию
Переход по каталогам с сохранением истории
pushd
- переходит каталог и сохраняет в списокpopd
- возвращается обратно по списку
Команда mv
занимается переименованием либо переносом файлов. Для неё можно использовать как абсолютный, так и относительный путь. Чтобы переименовать файл, достаточно просто написать первым аргументом целевой файл, а вторым аргументом передать конечное наименование.
Команда cp
даёт нам возможность скопировать файлы из нужной нам директории. Параметр -r
позволяет нам скопировать файл или папку и все внутрилежащие элементы в другую папку.
touch
- позволяет создать файлcat
- выводит данные из файла, либо если использовать>
, то создаст файл и даст ввести в него данные. Чтобы выйти из режима ввода, нужно воспользоватьсяCtrl+D
Команды more
или less
позволяют просматривать большие файлы, подгружая только необходимые части
Так же мы можем отображать подробные списки с информацией по нашим файлам
10 Об оболочке Bash
Существует множество различных оболочек для работы с терминалом linux. Самая частоиспользуемая - bash
Переменная $SHELL
хранит текущее положение консоли
Команда chsh
позволяет поменять системную консоль
bash
предоставляет фичи для работы с линуксом, которые упрощают нашу жизнь. В нём можно задавать алиасы, просматривать историю и так же он предоставляет автокомплит команд.
Из консоли мы так же можем обратиться к переменным среды, которые хранятся в нашей системе
env
- отобразит все переменные среды linux
echo $VAR
- выведет определённую переменную из среды
export VAR=101
- запишет переменную в среду linux
VAR=101
- сохранит переменную в текущей сессии консоли, но никуда не запишет
Одной из важнейших переменных является $PATH
. Она хранит все пути, по которым нужно искать исполняемые файлы, с разделителем :
между отдельным путём.
Если нам нужно добавить каталог с исполняемым файлом, то нам нужно будет ввести export PATH=$PATH:/<путь>
~
- является указанием на текущую рабочую директорию. Дефолтно этот символ говорит нам о том, что мы находимся в /home
$
- символ приглашения. Его оболочка позволяет поменять с целью того, чтобы различать
Так же мы можем скастомизировать приглашение пользователя таким образом, чтобы вывести всю нужную информацию сразу на консоль. Хранятся настройки данной строки в переменной PS1
11 HELP в Командной Строке
Иногда мы можем не помнить некоторых ключей команды или вовсе неумеем пользоваться инструментом, но быстро с ним ознакомиться нужно. В данной ситуации нам помогут встроенные утилиты и стандарты для ведения мануалов в утилитах под linux
man
(manual) - команда для получения мануалов по консольным командам
--help
- данный флаг по стандарту во всех командах выводит список доступных опций с их описанием
whatis
- выведет короткую справку по команде
apropos
- выведет список наименований доступных команд, которые содержат (в наименовании) данную строку
Примерно так будет выглядеть вывод apropos
по поиску слова agent