При использовании cd
команда на терминале, я не получаю 'такой каталог' ошибка, если я ввожу что-то как
cd /directory/whatever/
Но когда я ввожу что-то как
cd \directory/whatever/
Это работает просто великолепно.
Это происходит, являюсь ли я в корневом каталоге или в другом каталоге.
Кроме того, это только, кажется, относится к каталогам как Downloads
, Pictures
, и т.п., и также каталоги, которые я создал сам. Каталоги как usr
и etc
не имейте этой проблемы.
Что могло вызывать это? и как я могу изменить его на нормальный?
cd /directory/whatever/
использует полный путь, начинающий с каталога самого верхнего уровня /
. Обычно только пользователи с root/sudo уровнем полномочия могут создать каталоги там, настолько вероятно, directory
в /
не существует, следовательно ошибка.
cd \directory/whatever/
относительный путь использования - относительно текущего рабочего каталога. Терминал начинается в корневом каталоге пользователя, иначе /home/$USER
иначе то же, как какой pwd
или echo $PWD
сообщил бы. Вероятно, Вы создали directory
и подкаталог whatever
в Вашем корневом каталоге. Эквивалентный был бы cd ./directory/whatever
, где ./
показывает текущую рабочую ссылку каталога.
Что касается \d
это использует наклонную черту в качестве символа ESC, который является здесь ненужным, но был бы необходимым в случаях, где имя файла содержит специальные символы, которые окружают обработки как наличие другого значения. Например, cd with\ space
и cd 'with space'
то же - одна единственная строка как аргумент cd
. В отличие от этого, cd with space
две различных строки, данные как аргументы cd
(потому что незавершенные пробелы рассматривают как разделителей слов в оболочке, иначе разделение слова), и конечно это приведет к ошибке