Найти в Дзене

Содержимое пустой папки Linux

Оглавление

Новичкам и тем, кто никак не связан с администрированием Linux название поста может показаться странным. Ну как в пустой папке может быть какое-то содержимое? Но тем и интересен Linux, что даже внутри пустой директории можно что-то да найти!

Если вы хотите знать больше о «внутренней кухне» Linux, то самое время подписаться на канал Просто Код! Здесь выходят интересные и полезные посты для новичков, да и опытные линуксоиды найдут здесь что-нибудь для себя.

В предыдущей серии… Вернее заметки

Прежде чем перейти к содержимому пустой папки нужно вспомнить несколько команд, про которые мы говорили в предыдущих заметках на канале.

Это команды cd и ls. Первая образована от сочетания «change directory», вторая от «list», что говорит о нам о том, что cd - позволяет переходить в различные директории, а ls - просматривать их содержимое. Ну наверное нам еще может понадобиться команда mkdir, которая обозначает «make directory», а значит используется для создания папок. Вооружившись тремя этими командами отправимся изучать содержимое пустой папки.

Хочешь узнать насколько глубока кроличья нора?

Вначале открываем терминал и создаем пустой каталог, который так и назовем emptyfolder:

mkdir emptyfolder

-2

Перейдем в созданную директорию и посмотрим ее содержимое. Напомню, что команды в терминале Linux можно выполнять последовательно, разделив точкой с запятой. Также незабываем про горячую клавишу Tab, которая подставит нужное имя в команду.

cd emptyfolder; ls

-3

Если непонятно, что произошло на демонстрации, то подскажу - команда ls ничего не вывела, так как (внезапно) в emptyfolder ничего нет. Так получается, обманул вас автор и весь этот пост непонятно ради чего написан? Спокойно! Давайте вспомним про ключи -a, который позволяет отобразить скрытые файлы и папки.

ls -a

-4

И ведь глянь, что-то же появилось в «выхлопе» - одна точка (.) и две точки (..). Ну я же говорил, что пустая папка в Linux не является таковой и внутри нее всегда найдутся в сумме три точки.

Зачем кто-то положил в пустую папку точки?

Одна точка в пустой папке Linux является ссылкой на эту папку (то есть, текущую директорию). Но для чего папке ссылка на саму себя? Это полезно при выполнении программ или скриптов.

Теперь наша директория не пустая и там лежит sh-скрипт под названием cal, причем название это точь в точь совпадает с названием системной утилиты для отображения календаря. Давайте попробуем запустить скрипт без точки.

-5

Как видим, запускается системная утилита, а не нужный нам скрипт. Это происходит потому, что при вводе любой команды в терминал она будет искаться вначале в переменных окружения (PATH), где определенно сказано, что (например) cal - это системная утилита, которая хранится по пути /usr/bin/cal. Чтобы запустить нужный нам скрипт, укажем в явном виде, что нас интересует объект находящийся в текущей папке.

-6

Как видим, скрипт удачно запустился. Слэш после точки я указал так, как для оболочки это указание на местоположение скрипта. Фактически, я сказал, что скрипт находится по пути /home/jc/emptyfolder/cal, но только когда мы находимся в нужной папке, то ни к чему писать полный путь до нужного скрипта или программы. Проще использовать символ точки.

Две точки являются ссылкой на директорию, которая находится выше. В случае папки emptyfolder это домашняя директория пользователя. То есть, чтобы перейти на уровень выше мне не нужно писать в терминале cd /home/jc, достаточно просто использовать две точки.

-7

Подобный способ навигации удобно использовать для перехода из текущей папки в другую директорию, которая расположена по соседству. Например, сейчас в домашней директории помимо папки emptyfolder появилась папка notemptyfolder, внутри которой тоже есть ряд директорий. Давайте перейдем по ним и вернемся обратно.

-8

Подведем итог

Ну что же, вы узнали, что даже внутри пустой папки в Linux что-нибудь да есть. Какая польза от этого знания?

Во-первых, это поможет быстро осуществлять навигацию в терминале и запускать нужные программы и скрипты. Во-вторых, вопрос о содержимом пустой папки в Linux встречается иногда на собеседованиях для сисадминов-джунов. Естественно, я не изложил вам теорию этих ссылок в академически верном ключе, но зато вы теперь точно знаете, что пустая папка Linux вовсе таковой не является (а уж подтянуть под эту теоретическую составляющую чтобы грамотно ответить на собесе не составит труда).

Думаю, что материал достоин лайка и подписки! В комментариях прошу написать уже опытных линуксоидов среди подписчиков и читателей про каверзные, но на деле простые вопросы, которые могут попасться новичку на собеседовании на позицию системного администратора Linux. Произведем небольшой обмен опытом, как считаете?