Я изучаю различия между синтаксисом командной строки Windows и синтаксисом терминала Ubuntu. Я возился с cd, cd(пробел обратная косая черта), cd(обратная косая черта), cd/, cd /, cd.., cd .. и т. д... Я немного путаюсь, когда переключаюсь между двумя командными строками. Сначала казалось, что на самом деле нет никакой разницы, кроме прямого слеша, используемого в Linux, и обратного слеша, используемого в Windows.
Например, в командной строке я могу ввести
C:\>cd users
^(без обратной косой черты)
C:\>cd \users
^(обратная косая черта перед пользователями)
C:\>cd users\
^(обратная косая черта после пользователей)
C:\>cd \users\
^(обратная косая черта перед и после пользователей)
Тогда как в Linux:
Выполняем тот же самый ввод, но с /home/meestermoo/Documents
Похоже, единственное различие в синтаксисе заключается в том, что Linux придирчив к размещению слеша. Он может присутствовать только перед командой cd или не присутствовать вообще. Если это верно, то этот синтаксис обычно верен для всех команд, включающих слеш? Просто пытаюсь разобраться в различиях в синтаксисе. Пожалуйста, поправьте меня, если у меня есть какие-то неверные предположения!
Спасибо!
решение1
cd \users работает так же, как cd users, потому что вы находитесь в корне диска C:\
если вы выполните команду cd users и введете cd username, вы получите тот же результат, что и в Linux.
Добавление символа \ или / к пути указывает на то, что он является абсолютным и определяется от корня диска.
Это работает одинаково на обеих платформах.
поэтому cd \users\blah в Windows cd /home/fred/documents в Linux
Ваш пример cd \users работает, потому что users существует в корне C: это не синтаксическое различие между платформами.