В прошлом материале мы остановились на том, что функции на языке bash можно поместить в текстовый файл, а после запустить его на выполнение из консоли. Но прежде, чем я расскажу как это сделать, необходимо разобраться в том, как устроено представление дисков и каталогов в операционной системе.
Если за пример взять DOS-системы, в том числе Windows, где диски четко разграничены, каждый накопитель информации (HDD, SSD, DVD и так далее) помечен уникальной латинской буквой, а все дочерние элементы отделяются от родительских обратным слэшем (\), то, например, путь к каталогу с Internet Explorer выглядит таким образом:
C:\Program Files\Internet Explorer\
То в Unix-системах все немного иначе: нет четкой разбивки на диски. Нам предоставлен единый корень системы (/), в который смонтированы все диски, не имеет значения где он находится. Хоть на другой машине. Главное лишь то, что отсчет начинается с корня.
Давайте вообразим себе рабочую станцию в каком-то вымышленном учреждении. Пусть операционная система будет установлена на HDD, ее каталоги tmp и var будут созданы на SSD, а home в отдельном жестком диске на сервере. А теперь представим, что нам необходимо указать путь к директории с документами пользователя для этой рабочей станции. Его вид будет, примерно, такой:
/home/user/Documents
Хочу обратить ваше внимание на то, что за директорию Documents отвечает пакет xdg-user-dirs. Он создает в домашнем каталоге директории Documents, Videos, Music и другие, а также задает их наименование с учетом языка системы. Например, так будет выглядеть в моей системе описанный выше адрес:
/home/emgrte/Документы
А теперь укажем путь к директории кэша пакетного менеджера pacman. Они расположены в каталоге var и полный путь будет таков:
/var/cache/pacman/pkg
Видите, все начинается с корня и системе все равно на каком диске находится нужный нам каталог или файл. Даже если в системе будет 100500 дисков, любой путь начинается с корня системы: /.
P.S. Можно использовать утилиту tree для просмотра каталогов в виде дерева.
Продолжение следует…