В чем разница между dir и dir / в терминале linux или в dos? - PullRequest
3 голосов
/ 31 марта 2011

Например: в любой команде, когда нам нужно обратиться к любому каталогу.Затем мы используем dirname или dirname/

в чем разница между ними?

Например, cd dirname против cd dirname/

и cp -R dirname1 dirname2 против cp -R dirname1 dirname2/ против cp -R dirname1/ dirname2/

Ответы [ 3 ]

1 голос
/ 31 марта 2011

Для оболочки Linux: в общем, любой из них будет работать.Предполагая, что два имени файла на самом деле являются каталогами, включая или не указывать последний слеш, необязательно.

Случаи, в которых вы можете заметить разницу:

  • , если dirname на самом деле является символической ссылкой накаталог, использующий final /, потерпит неудачу
  • несколько команд, например rsync, специально обрабатывают аргументы имени файла, заканчивающиеся на / иначе
1 голос
/ 05 апреля 2011

dirname - это каталог.dirname\ - это путь, последний узел которого является каталогом.

В большинстве контекстов вы можете избежать использования любого из них, но это не всегда так.

Обычнонапример, если вы пытаетесь скопировать файл в каталог, cp file dirname\, чтобы дать понять, что вы копируете его по новому пути.Визуализируйте добавление file к пути, чтобы оно стало dirname\file.Это наиболее важно при работе с символьными ссылками, поскольку файловая система не вполне настолько умна при автоматическом переводе dirname в dirname\, как требуется, когда dirname является символической ссылкой.

0 голосов
/ 31 марта 2011

По крайней мере в оболочке DOS / Windows, как правило, нет никакой разницы.Я знаю одно исключение:

Если вы используете

xcopy somefile C:\somepath

и somepath не существует, xcopy спросит, является ли somepath файлом или каталогом, который нужно создать,этого можно избежать, используя

xcopy somefile C:\somepath\

, который просто создаст somepath и скопирует туда somefile.

Так что в этом случае somepath\ прояснит, что это путь,В любом случае, обычно вы ссылаетесь на уже существующий путь, поэтому между этими двумя случаями не будет никакой разницы.

...