Найти тему
Кручинин.Linux

Относительные и абсолютные пути

В Linux файловая система отличается от Windows.

В Windows есть диск C: у которого есть корень, в котором находятся папки.
Например C:\Windows, в этой папке могут быть другие папки, например такая

C:\Winows\System32

Если вы подключаете флешку, у нее свой корень

F:\

например там лежит каталог (папка), например, F:\Films

и в ней может лежать фильм F:\Films\Interstellar.mpeg

В Linux нет дисков в том виде, в котором они присутствуют в Windows.

Есть дисковые устройства (например sda, sdb, sdc), есть разделы на них (sda1, sda2, sda3 -- разделы на диске sda). В Windows они получили бы буквы, например диск, на котором два раздела, вы видели бы как диск C: и диск B: а флешку с одним разделом, как диск, например E: или F:

Раздел, на котором находится система в Windows отображается как C:, а его "корень" (откуда мы считаем иерархию каталогов и файлов) C:\

В Linux такой корень будет просто / (слеш в обратную сторону).

Если в Windows на диске C:\ находятся папки C:\Windos с системой, C:\Users (или C:\Documents and Users) с пользователями, то в Linux им с определенной долей условности будут соответствовать /bin и /home.

Если мы подключим флешку, она будет не в E: или F: а в /mnt/flash или в /media/flash, а файл с фильмом, упомянутым ранее, будет теперь иметь путь /media/flash/Films/Imterstellar.mpeg

В отличие от Windows регистр символов имеет значение. Films и films -- разные каталоги.

Теперь про пути.

Перейдем в корень

cd /

перейдем в etc

cd etc

перейдем в ssh

cd ssh

Вы перешли в /etc/ssh используя относительные пути.

Они работают только когда указанные каталоги и файлы находятся в том каталоге, в котором вы находитесь

Если вы попытаетесь выполнить cd ssh

находясь в /etc -- сработает, а

в /home -- нет.

cd /etc/ssh всегда сработает.

Особенно опасно путать пути

Например cd /bin и cd bin

приведет к одному и тому же последствию, если вы находитесь в корне /

Но если вы находитесь в домашнем каталоге, и у вас там есть bin

вы попадете в другой каталог.

Если вы работали в домашнем каталоге, и решили удалить bin в домашнем каталоге (/home/user/bin если вашего пользователя зовут user) но выполните команду sudo rm -rf /bin вместо sudo rm -rf bin вы сломаете вашу систему!

Не путайте абсолютные и относительные пути.

Подписывайтесь на мой канал в дзен https://dzen.ru/olinux и будете в курсе новых моих статей по компьютерным сетям и ОС GNU/Linux.
https://dzen.ru/olinux

Всегда с вами, Сергей Кручинин преподаватель GNU/Linux и компьютерных сетей

-2