1 added
1 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>После запуска операционной системы с графической оболочкой мы попадаем в специальную рабочую область, которую часто называют<strong>рабочий стол</strong>. Это центральная точка входа, откуда через разные пункты меню начинается работа, запускаются разные задачи. Например, для навигации по файловой системе понадобится проводник.</p>
1
<p>После запуска операционной системы с графической оболочкой мы попадаем в специальную рабочую область, которую часто называют<strong>рабочий стол</strong>. Это центральная точка входа, откуда через разные пункты меню начинается работа, запускаются разные задачи. Например, для навигации по файловой системе понадобится проводник.</p>
2
<p>В командной строке все устроено иначе: после загрузки системы мы попадаем в режим ожидания ввода команды. Этот режим привязан к файловой системе. Можно сказать, что мы всегда находимся внутри какой-то директории, которую называют<strong>рабочей директорией</strong>(<em>working directory</em>).</p>
2
<p>В командной строке все устроено иначе: после загрузки системы мы попадаем в режим ожидания ввода команды. Этот режим привязан к файловой системе. Можно сказать, что мы всегда находимся внутри какой-то директории, которую называют<strong>рабочей директорией</strong>(<em>working directory</em>).</p>
3
<p>В этом уроке мы поговорим о навигации по директориям через командную оболочку.</p>
3
<p>В этом уроке мы поговорим о навигации по директориям через командную оболочку.</p>
4
<h2>Как проверить, в какой директории мы находимся</h2>
4
<h2>Как проверить, в какой директории мы находимся</h2>
5
<p>Начнем с самого основного. Проверить, в какой директории мы сейчас находимся, можно командой pwd:</p>
5
<p>Начнем с самого основного. Проверить, в какой директории мы сейчас находимся, можно командой pwd:</p>
6
<p>Кстати, название команды pwd - это сокращение, которое расшифровывается как<em>print working directory</em>. Похожим образом устроены имена многих команд, что позволяет легче и быстрее их запомнить.</p>
6
<p>Кстати, название команды pwd - это сокращение, которое расшифровывается как<em>print working directory</em>. Похожим образом устроены имена многих команд, что позволяет легче и быстрее их запомнить.</p>
7
<p>По умолчанию новая сессия командной оболочки открывается внутри домашней директории пользователя. У каждого пользователя своя домашняя директория, поэтому в вашем случае путь будет отличаться.</p>
7
<p>По умолчанию новая сессия командной оболочки открывается внутри домашней директории пользователя. У каждого пользователя своя домашняя директория, поэтому в вашем случае путь будет отличаться.</p>
8
<p>В приведенном примере есть две неожиданности для тех, кто привык пользоваться Windows:</p>
8
<p>В приведенном примере есть две неожиданности для тех, кто привык пользоваться Windows:</p>
9
<ol><li>В начале указан не диск, а единый корневой каталог /. Это вершина файловой системы, внутри которой лежат все остальные файлы и директории</li>
9
<ol><li>В начале указан не диск, а единый корневой каталог /. Это вершина файловой системы, внутри которой лежат все остальные файлы и директории</li>
10
<li>Вместо обратных слэшей \ используются прямые слэши /</li>
10
<li>Вместо обратных слэшей \ используются прямые слэши /</li>
11
</ol><p>Подробнее о различиях и файловой структуре мы поговорим в одном из следующих уроков, а сейчас сосредоточимся на навигации.</p>
11
</ol><p>Подробнее о различиях и файловой структуре мы поговорим в одном из следующих уроков, а сейчас сосредоточимся на навигации.</p>
12
<h2>Как посмотреть список файлов</h2>
12
<h2>Как посмотреть список файлов</h2>
13
<p>Изучим команду ls (сокращение от<em>list</em>). Она выводит список файлов и директорий в текущей рабочей директории:</p>
13
<p>Изучим команду ls (сокращение от<em>list</em>). Она выводит список файлов и директорий в текущей рабочей директории:</p>
14
<h2>Как переместиться в другую директорию</h2>
14
<h2>Как переместиться в другую директорию</h2>
15
<p>Еще одна полезная команда - cd (сокращение от<em>change directory</em>). С помощью нее мы перемещаемся по файловой структуре. Для этого ей нужно передать<strong>аргумент</strong>- директорию, в которую необходимо переместиться:</p>
15
<p>Еще одна полезная команда - cd (сокращение от<em>change directory</em>). С помощью нее мы перемещаемся по файловой структуре. Для этого ей нужно передать<strong>аргумент</strong>- директорию, в которую необходимо переместиться:</p>
16
<p>Остановимся на этом моменте подробнее. Возможно, вы знаете, что есть два способа обозначить путь до файла:</p>
16
<p>Остановимся на этом моменте подробнее. Возможно, вы знаете, что есть два способа обозначить путь до файла:</p>
17
<ul><li><strong>Абсолютный путь</strong>начинается от корня</li>
17
<ul><li><strong>Абсолютный путь</strong>начинается от корня</li>
18
<li><strong>Относительный путь</strong>начинающийся от текущей рабочей директории</li>
18
<li><strong>Относительный путь</strong>начинающийся от текущей рабочей директории</li>
19
</ul><p>Выше мы указали относительный путь. Отличить их друг от друга очень легко:</p>
19
</ul><p>Выше мы указали относительный путь. Отличить их друг от друга очень легко:</p>
20
<ul><li>Абсолютный - первым символом в пути идет /</li>
20
<ul><li>Абсолютный - первым символом в пути идет /</li>
21
<li>Относительный - во всех остальных случаях</li>
21
<li>Относительный - во всех остальных случаях</li>
22
</ul><p>Когда мы используем относительный путь, команда cd считывает его и внутри себя пытается вычислить абсолютный путь. Она берет текущую рабочую директорию<em>/Users/guest/</em>и присоединяет к ней<em>Music</em>. В итоге получается<em>/Users/guest/Music</em>.</p>
22
</ul><p>Когда мы используем относительный путь, команда cd считывает его и внутри себя пытается вычислить абсолютный путь. Она берет текущую рабочую директорию<em>/Users/guest/</em>и присоединяет к ней<em>Music</em>. В итоге получается<em>/Users/guest/Music</em>.</p>
23
<p>Команда cd понимает и абсолютные, и относительные пути. Поэтому передавать ей можно что угодно:</p>
23
<p>Команда cd понимает и абсолютные, и относительные пути. Поэтому передавать ей можно что угодно:</p>
24
<p>Еще раз проговорим, что абсолютный путь однозначно определяет адрес файла или директории в файловой системе, а относительный - нет.</p>
24
<p>Еще раз проговорим, что абсолютный путь однозначно определяет адрес файла или директории в файловой системе, а относительный - нет.</p>
25
<p>Поэтому относительный путь стоит использовать только вместе с текущей рабочей директорией, относительно которой он считается. При передаче абсолютного пути не имеет никакого значения, какая сейчас рабочая директория. Если путь существует, то переход произойдет.</p>
25
<p>Поэтому относительный путь стоит использовать только вместе с текущей рабочей директорией, относительно которой он считается. При передаче абсолютного пути не имеет никакого значения, какая сейчас рабочая директория. Если путь существует, то переход произойдет.</p>
26
<p>Теперь рассмотрим другую задачу. Предположим, что мы находимся в директории<em>/Users/guest/Music</em>. Как выйти из нее и попасть снова в<em>/Users/guest</em>? Мы уже знаем один способ - указать абсолютный путь и сделать cd:</p>
26
<p>Теперь рассмотрим другую задачу. Предположим, что мы находимся в директории<em>/Users/guest/Music</em>. Как выйти из нее и попасть снова в<em>/Users/guest</em>? Мы уже знаем один способ - указать абсолютный путь и сделать cd:</p>
27
<p>Но есть путь проще. Можно указать специальное значение .. и перейти на директорию уровнем выше:</p>
27
<p>Но есть путь проще. Можно указать специальное значение .. и перейти на директорию уровнем выше:</p>
28
<p>Более того, с помощью этого заполнителя можно выходить на любое количество уровней, указывая .. через разделитель:</p>
28
<p>Более того, с помощью этого заполнителя можно выходить на любое количество уровней, указывая .. через разделитель:</p>
29
<p>Иногда в пути используется<strong>одинарная точка</strong>, которая означает текущую директорию. Например, вместо cd Music можно писать cd ./Music - разницы между этими выражениями нет.</p>
29
<p>Иногда в пути используется<strong>одинарная точка</strong>, которая означает текущую директорию. Например, вместо cd Music можно писать cd ./Music - разницы между этими выражениями нет.</p>
30
<p>Есть и третий вариант возврата в<em>/Users/guest</em>из директории<em>/Users/guest/Music</em>. Можно выполнить команду cd без аргументов, тогда мы перейдем в домашнюю директорию текущего пользователя:</p>
30
<p>Есть и третий вариант возврата в<em>/Users/guest</em>из директории<em>/Users/guest/Music</em>. Можно выполнить команду cd без аргументов, тогда мы перейдем в домашнюю директорию текущего пользователя:</p>
31
<p>Ну и, наконец, четвертый вариант. Домашняя директория пользователя имеет специальное обозначение - ~ (<a>тильда</a>). В момент выполнения команды тильда заменяется на абсолютный путь. Поэтому из любого места можно напрямую перейти в любую поддиректорию домашней директории:</p>
31
<p>Ну и, наконец, четвертый вариант. Домашняя директория пользователя имеет специальное обозначение - ~ (<a>тильда</a>). В момент выполнения команды тильда заменяется на абсолютный путь. Поэтому из любого места можно напрямую перейти в любую поддиректорию домашней директории:</p>
32
<p>Допустим, вы находитесь в домашней директории и хотите посмотреть файлы в поддиректории<em>Music</em>. Один способ вы уже знаете - для этого нужно перейти в директорию<em>Music</em>и выполнить программу ls.</p>
32
<p>Допустим, вы находитесь в домашней директории и хотите посмотреть файлы в поддиректории<em>Music</em>. Один способ вы уже знаете - для этого нужно перейти в директорию<em>Music</em>и выполнить программу ls.</p>
33
<p>Как обычно, есть другой способ. Команда ls также может принимать на вход<strong>аргумент</strong>- директорию, которую нужно проанализировать:</p>
33
<p>Как обычно, есть другой способ. Команда ls также может принимать на вход<strong>аргумент</strong>- директорию, которую нужно проанализировать:</p>
34
<p>Как и в случае с командой cd, к аргументу ls применимы понятия абсолютных и относительных путей. Впрочем, это правило распространяется на большинство случаев, где передаются пути.</p>
34
<p>Как и в случае с командой cd, к аргументу ls применимы понятия абсолютных и относительных путей. Впрочем, это правило распространяется на большинство случаев, где передаются пути.</p>
35
-
<p>Команда cd - возвращает в предыдущую директорию. Другими словами, последовательный вызов этой команды переключает между двумя последними посещенными директориями.</p>
35
+
<p>Команда cd - возвращает в предыдущую директорию. Другими словами, последовательный вызов этой команды переключает между двумя последними посещенными директориями. А команда cd без аргументов возвращает в домашнюю директорию.</p>
36
<p>Команды cd, ls и pwd вместе составляют основу навигации по файловой структуре. Зная их, вы никогда не потеряетесь и не запутаетесь.</p>
36
<p>Команды cd, ls и pwd вместе составляют основу навигации по файловой структуре. Зная их, вы никогда не потеряетесь и не запутаетесь.</p>
37
<p>Со временем набирать пути становится все более лениво. Тогда можно дважды нажать Tab и воспользоваться<strong>автокомплитом</strong>- функцией, которая автоматически завершает имена.</p>
37
<p>Со временем набирать пути становится все более лениво. Тогда можно дважды нажать Tab и воспользоваться<strong>автокомплитом</strong>- функцией, которая автоматически завершает имена.</p>