Смена каталога с помощью cd
Смените каталог легко, если вы знаете где вы находитесь в данный момент (ваш текущий каталог) и куда вы хотите отправиться. Каталог, в который вы хотите попасть, выше или ниже текущего?
Чтобы сменить каталог, выполните команду cd . Команда в таком виде перенесёт вас в ваш домашний каталог; чтобы перейти в другой каталог необходимо указать путь к нему.
Вы можете использовать абсолютные или относительные пути. Абсолютные пути указываются от верхнего каталога / (называемого корнем) до указанного каталога; относительные пути указываются от текущего каталога, где бы он не находился. Дерево, показанное ниже, приведено в качестве примера, помогающего понять команду cd .
/ directory1 directory2 directory3
Если вы находитесь в directory3 и хотите перейти в directory1 , вы должны подняться в дереве каталогов выше.
Если вы введете:
находясь в каталоге directory3 , вы получите сообщение об ошибке, сообщающее о том, что нет такого каталога. Это происходит потому что, действительно, нет каталога directory1 в каталоге directory3 .
Чтобы подняться к каталогу directory1 , вы должны ввести:
Это абсолютный путь. Он указывает Linux начать сверху и опуститься в каталог directory1 .
Запомните, абсолютные пути перенесут вас В любой каталог ИЗ любого, а относительные пути, перенесут вас в каталоги, расположенные ниже текущего.
Рисунок 10-3. Абсолютные пути указывают полный путь
Путь является абсолютным, если первый символ в нём / ; в противном случае это относительный путь.
Рисунок 10-4. Относительные пути указываются относительно текущего расположения
Ниже приведено упражнение с относительными и абсолютными путями. В вашем домашнем каталоге введите относительный путь:
Команда cd .. указывает системе подняться на один уровень выше текущего каталога. Очевидно, команда cd ../.. перенесёт вас выше на два каталога.
Выполнив полностью команды этого примера, вы должны оказаться в каталоге /X11 , в котором хранятся конфигурационные файлы и каталоги, относящиеся к X Window System.
Взгляните на последнюю команду cd . Вы должны указать системе:
Подняться на один уровень выше к родительскому каталогу вашего домашнего каталога (вероятно, это будет /home )
Затем поднимитесь к родительскому каталога текущего (вероятно, вы окажетесь в / )
Затем спуститесь к каталогу etc
Наконец, перейдите в каталог /X11
Укажите абсолютный путь, чтобы быстрее перейти к каталогу /X11 . Введите:
Всегда проверяйте где вы находитесь, прежде чем указать относительный путь к каталогу или файлу. Однако если вы будете использовать абсолютные пути, вам не придётся задумывать об этом. Если вы не знаете, где вы находитесь, введите pwd .
Таблица 10-2. Параметры команды cd
| Команда | Функция |
|---|---|
| cd | переносит вас в ваш домашний каталог |
| cd ~ | также переносит вас в ваш домашний каталог |
| cd / | переносит вас в корневой каталог всей системы |
| cd /root | переносит вас в домашний каталог пользователя root, или супер-пользователя, учётной записи, созданной во время установки системы |
| cd /home | переносит вас в каталоге home, в котором находятся каталоги пользователей |
| cd .. | переносит вас на один уровень выше |
| cd ~otheruser | переносит вас в домашний каталог пользователя otheruser , если только пользователь otheruser дал вам соответствующие разрешения |
| cd /dir1/subdirfoo | Вне зависимости от того, где вы находитесь, этот абсолютный путь перенесёт вас прямо в каталог subdirfoo , подкаталога, вложенного в dir1 |
| cd ../../dir3/X11 | Этот относительный путь сначала поднимет вас на два уровня выше, затем спустит в dir3, и наконец, в каталог X11. |
Теперь когда вы начали понимать как менять каталоги, посмотрите, что произойдет, если вы перейдёте в домашний каталог пользователя root (суперпользователя). Введите:
Если вы не зарегистрированы под именем root, при обращении к этому каталогу вы получите сообщение «в доступе отказано».
Запрещая доступ к учётным записям root и других пользователей (или их домашним каталогам), ваша система Linux защищается от случайного или преднамеренного повреждения. Обратитесь к разделу Владение и разрешения
Чтобы перейти в каталог root, воспользуйтесь командой su . Введите эту последовательность команд:
[newuser@localhost newuser]$ su Password: ваш пароль root [root@localhost newuser]# cd /root [root@localhost /root]#
Как только вы введете правильный пароль root, вы заметите, что ваше приглашение изменилось и теперь в нём отмечено ваше звание суперпользователя, в начале приглашения учётной записи root отображается символ «#» (как показано на Рисунке 10-5 ).
Рисунок 10-5. Превращение в root
Теперь, если вы выполните cd для перехода к домашнему каталогу пользователя root, вы получите к нему доступ.
Завершив работу под именем root, просто введите в приглашении exit .
[root@localhost /root]# exit exit [newuser@localhost newuser]$
| Назад | Начало | Вперед |
| Определение вашего текущего каталога с помощью pwd | Вверх | Просмотр содержимого каталога с помощью ls |
Артём Санников
Данная книга является руководством для начинающих специалистов в области анализа и обработки данных. В книге рассматривается язык SQL и его процедурное расширение PL/SQL от компании Oracle.

Главная › Операционные системы › Ubuntu › Команды › Переход в домашнюю директорию в терминале Ubuntu
Переход в домашнюю директорию в терминале Ubuntu
Команда (cd) позволяет быстро переместиться в домашнюю директорию в терминале операционной системы Ubuntu.
Видео урок
С уважением, Артём Санников
Записи по теме
- Копирование файла из директории в директорию в терминале Ubuntu
- Удаление директории в терминале Ubuntu
- Удаление директории с содержимым в терминале Ubuntu
- Удаление двух директорий с содержимым в терминале Ubuntu
- Удаление файла в терминале Ubuntu
- Показать путь до текущей директории в терминале Ubuntu
- Перемещение директории в терминале Ubuntu
- Переименовать директорию в терминале Ubuntu
RENOTES
Серия постов по работе с Linux для начинающих. Предыдущий пост: Системные shell-команды.
Перейти в директорию /home:
cd /home
Переход в директорию уровнем выше:
Перейти в директорию двумя уровнями выше:
Перейти в домашнюю директорию:
Переход в домашнюю директорию пользователя user:
cd ~user
Переход в предыдущую директорию:
Путь текущей директории:
Содержимое текущей директории с добавлением к именам символов, характеризующих тип:
ls -F
Детализированное представление файлов и директорий в текущей директории:
ls -l
ls -a
mkdir my_dir
Создание дерева директорий:
mkdir -p /my_dir1/my_dir2
rm -f file.txt
Рекурсивное удаление директории, поддиректорий, файлов:
rm -r my_dir
Переименование или перемещение файла или директории:
mv my_dir new_dir
Скопировать файл file1 в файл file2
cp file1 file2
Копировать все файлы директории dir в текущую директорию:
cp dir/* .
Копировать директорию dir1 со всем содержимым в текущую директорию:
cp -a /tmp/dir1 .
Копировать директорию dir1 в директорию dir2:
cp -a dir1 dir2
Создать символическую ссылку на файл или директорию:
ln -s file1 lnk1*
Создать «жёсткую» (физическую) ссылку на файл или директорию:
ln file1 lnk1
06. Пути и директории
Для работы с файлами и директориями в графическом интерфейсе есть программы, называемые файловыми менеджерами. У разных графических окружений могут быть разные программы, тот же GNOME, который стоит на CentOS, по умолчанию использует файловый менеджер под названием nautilus. Я думаю все знают, что можно делать с файлами и директориями – смотреть информацию о них, копировать, вырезать, удалять, переименовывать, создавать директории и всё такое. И в командой строке это также просто.

Мы знаем, что посмотреть содержимое директории можно с помощью команды ls. По умолчанию она показывает содержимое текущей директории. Заметьте, что ls показывает директории одним цветом, а файлы другим. Чтобы понять, в какой директории мы сейчас находимся, нужна команда pwd – print working directory.
Когда вы открываете терминал, как правило он использует домашнюю директорию пользователя – это личная директория пользователя, где находятся все его файлы. С помощью ls можно смотреть содержимое и других директорий, для этого нужен путь к другой директории.

Кстати о пути. В корне находятся директории, внутри которых тоже есть какие-то директории. Например, в корне у нас есть директория home, где обычно лежат домашние директории пользователей, например, нашего пользователя user. А внутри домашней директории пользователя есть какие-то его личные директории.

То есть, чтобы мне зайти, допустим, в директорию Documents у пользователя user, мне нужно зайти в корень, потом открыть home, user и зайти в директорию Documents. Чтобы переходить по директориям в командной строке, используем команду cd – сhange directory – сменить директорию. И так, пишем cd /, то есть заходим в корень (слеш – это путь к корню), проверяем текущую директорию (pwd), и смотрим её содержимое(ls). Дальше пишем cd home и повторяем всё тоже самое. Не стесняйтесь использовать tab – допустим, пишете cd h, нажимаете tab и он автоматом добавляет ome, так как никаких других директорий, начинающихся на h здесь нет. Точно также для user и Documents.
cd / pwd ls cd home pwd ls cd user pwd ls cd Documents pwd ls

Чтобы сразу зайти в Documents, мы можем разом написать cd /home/user/Documents, разделяя директории знаком слэш.
cd /home/user/Documents/
Когда мы в начале указываем корень (/), а потом пишем первую директорию, которая находится в корне, а потом то что внутри и т.д. — это полный путь. /home/user/Documents – пример полного пути. Он всегда начинается со знака / — то есть мы возвращаемся в самое начало файловой системы и оттуда начинаем писать путь. Такой путь универсальный — где бы вы сейчас не находились, вы можете указать полный путь и попасть туда куда вам надо.

В домашнюю директорию пользователя можно вернуться просто написав cd. Я вижу (ls), что здесь есть директория Documents. Если я хочу зайти в эту директорию, мне не обязательно писать полный путь – cd /home/user/Documents, я могу просто написать cd Documents. Или допустим, давайте зайдём в cd /home/. Я могу написать cd user/Documents. То есть, я строю путь не с корня, а с текущей директории. Такой путь называется относительным. Но что, если я нахожусь в директории /home/user/Documents и хочу попасть на директорию выше, то есть в /home/user ? Для этого в каждой директории есть ссылки на вышестоящую директорию – две точки (..). Если я напишу cd .. , я попаду в /home/user . Я могу делать всякие комбинации, допустим, находясь в директории Documents, я могу написать cd ../Pictures. То есть, я разом вернулся в директорию /home/user и зашёл в Pictures. Чтобы сразу вернуться туда, где я был раньше, я могу написать cd — . Также есть ссылка на текущую директорию – одна точка. Зачем это нужно мы разберём чуть позже. Также есть готовая ссылка на домашнюю директорию нашего пользователя – тильда (~). Где бы мы не находились, мы всегда можем написать cd ~ и попасть в домашнюю директорию, либо использовать это для относительного пути, например cd ~/Documents . Ну и возвращаясь к теме ls, мы можем посмотреть содержимое любой директории, где бы мы сейчас не находились, используя полный или относительный пути. Допустим, ls /home/user/Documents или ls Documents или ls ~/Pictures.
cd pwd ls cd /home pwd cd user/Documents/ cd .. cd Documents cd ../Pictures cd - cd . cd ~ cd ~/Documents ls ~/Pictures

С путями разобрались. Теперь давайте посмотрим, как работать с директориями. Начнём с создания директории, для этого используем команду mkdir – make directory – создать директорию. В качестве аргумента мы должны указать название новой директории – допустим:
mkdir test ls
Можно разом создать несколько директорий:
mkdir test1 test2 test3 ls
Очень не рекомендую использовать пробелы в названиях, так как командная строка воспринимает пробелы как переход на новый аргумент или опцию. Как я показал выше, если я напишу:
mkdir this is a new directory ls
у меня создастся пять директорий. Но если всё же вам необходимо создать директорию с пробелами в названии, вы можете взять название новой директории в кавычки:
mkdir "New Dir"
Теперь, чтобы зайти в эту директорию, нужно либо использовать кавычки, либо использовать специальный символ — \ (обратный слэш) перед пробелом.
cd "New Dir" cd .. cd New\ Dir
Это называется экранированием символов. В данном случае это позволит консоли игнорировать пробел как переход на новый аргумент.

Если я хочу создать сразу директорию 1, а внутри неё директорию 2, а внутри неё директорию 3, для этого нужна опция -p – parents – создавать родительские директории. То есть, написав:
mkdir -p dir1/dir2/dir3
я создам несколько вложенных директорий.

Для удаления пустой директории используется команда rmdir – remove directory – удалить директорию. Например:
rmdir test1
Можно разом удалять несколько директорий:
rmdir test2 test3
Если директория не пустая, то rmdir откажется её удалять. Поэтому, когда вам нужно удалить директорию со всем содержимым, используется команда rm -r . Например:
rm -r New\ Dir
Тогда я удалю как New Dir, так и директории dir1, dir2 и dir3. Вообще, rm используется для удаления файлов, но о файлах мы поговорим в следующий раз. А опцию -r вы часто будете встречать – она означает рекурсивно, то есть со всем, что находится внутри. Допустим, та же команда ls уже с большим -R покажет содержимое директории вместе с содержимым поддиректорий.
ls -R /home/user
Осталось ещё рассмотреть копирование, перемещение и прочее, но так эти команды совпадают с командами по работе с файлами, а тема уже получилась достаточно большая, оставшееся мы рассмотрим в следующий раз. Чтобы не забывать пройденное, обязательно практикуйтесь. Например, найдите в ролике все команды с опциями, которые я вводил, выпишите, повторите на различных директориях. Добейтесь того, чтобы вы знали без всяких раздумий, для чего нужна каждая из этих команд и ключей.
© Авторские права 2021, GNU Linux Pro, CC-BY-SA-4.0. Ревизия b16e73a6 .