Как я могу перемещаться между каталогами в терминале?
Я новичок в Linux и Ubuntu и с некоторой трудностью пытался перейти на папки / каталоги.
Может кто-нибудь объяснить, почему следующие команды не смогли перейти в нужную целевую папку / каталог?
sharon@sharon:~$ cd Home
bash: cd: Home: No such file or directory
sharon@sharon:~$ cd /Home
bash: cd: /Home: No such file or directory
sharon@sharon:~$ cd Documents
sharon@sharon:~/Documents$ cd Downloads
bash: cd: Downloads: No such file or directory
sharon@sharon:~/Documents$ cd /Downloads
bash: cd: /Downloads: No such file or directory
sharon@sharon:~/Documents$
4 ответа
Файловая система GNU/Linux похожа на дерево, за исключением того, что корень находится сверху.:-) Итак, у вас есть структура, как:
/
bin/
home/
sharon/
Documents/
Downloads/
fileA.txt
fileB.jpg
usr/
var/
Если вы хотите перемещаться внутри дерева, одним из вариантов является использование относительных путей. Если вы находитесь в /home/sharon
затем набрав cd Downloads
будет работать, потому что Загрузки являются непосредственным потомком вашего текущего каталога. Если вы находитесь в подпапке Documents
и хочу сменить каталог (cd
) чтобы Downloads
, ты должен идти вверх (..
) а затем Downloads
, Таким образом, правильная команда будет cd ../Downloads
,
Вы также можете ввести абсолютный путь. Итак Downloads
папка является подпапкой sharon
которая является подпапкой home
что... (вы поняли:-)) Так что вы также можете ввести cd /home/sharon/Downloads
где бы вы ни находились в файловой системе.
~
всегда относится к домашнему каталогу текущего пользователя (/home/sharon
в твоем случае). Если вы введетеcd ~/Downloads
вы попадете в свойDownloads
папка..
ссылается на текущий каталог, поэтомуcd ./Downloads
примерно эквивалентноcd Downloads
,..
означает "родительский каталог"./
в начале пути к файлу относится к корневому каталогу.
Следующая приятная вещь - это расширение вкладок. Если вы введете cd ~/Dow
Tab (последнее нажатие клавиши Tabulator), bash автоматически расширяет его до cd ~/Downloads
,
Как говорили другие, GNU/Linux чувствительна к регистру. Так что это имеет значение, если вы введете Home
, hOme
или же home
, Кроме того, я надеюсь, что вы видите сейчас, что есть разница между /home
а также home
, Первый адрес абсолютный, а последний относительно вашего текущего каталога.
sharon@sharon:~$ cd Home
bash: cd: Home: No such file or directory
Маленький cedilla ~ указывает, что вы уже находитесь в каталоге / home / sharon. Когда вы запрашиваете "CD Home", терминал ищет / home / sharon / Home. Здесь ничего нет.
sharon@sharon:~$ cd /Home
bash: cd: /Home: No such file or directory
Теперь вы просите, учитывая начальный слеш, перейти в каталог выше текущего местоположения; это / дом / дом. Здесь ничего нет.
sharon@sharon:~$ cd Documents
sharon@sharon:~/Documents$
Успех!
sharon@sharon:~/Documents$ cd /Downloads
bash: cd: /Downloads: No such file or directory
Я не слишком уверен, где именно это. Если вы хотите перейти с / home / sharon / Documents на / home / sharon / Downloads, попробуйте:
cd ~/Downloads
Если вы хотите перейти непосредственно в свой домашний каталог, то есть / home / sharon, просто выполните:
cd
Также вы можете вернуться назад с
cd ..
И вы можете распечатать каталог, с которым вы работаете (печать рабочего каталога)
pwd
Команда говорит вам, почему: такого каталога нет.
Имена файлов чувствительны к регистру, поэтому это / home, а не /Home. Без косой черты он предполагается относительно текущего каталога, а каталог Downloads находится не в ~/Documents и не в /, а в вашем домашнем каталоге, к которому ~
это ярлык, таким образом, это ~/Documents.
Я должен ответить на это, потому что я не могу комментировать ответы -.-
Что означает ведущий слеш? - n00b
это означает, что вы говорите о директории, а не о файле. Файлы не должны иметь окончания файлов, как в Windows, поэтому ~/thisIsAFile
будет файл в вашем домашнем каталоге, но ~/thisIsAFile/
будет каталог / папка.
Что означает? - n00b
Это означает, что файл, к которому вы хотите получить доступ, находится в вашем текущем каталоге.
Другие полезные советы:
Вы можете вернуться в папку с
cd ..
И вы можете получить путь, по которому вы находитесь (распечатать рабочий каталог)
pwd