Возможный дубликат:
Что значит "/" , "./»,« ../»представляют при указании пути?

Пример: для запуска сервера django я использую: python manage.py runserver

Но некоторые люди, похоже, используют ./manage.py runserver . Эта команда, кажется, делает то же самое, что и предыдущая.

Что именно делает ./ часть?

4 ответа4

4

. путь к текущему каталогу
В каждом каталоге всегда есть два специальных файла . и .. , где first представляет себя, а second представляет родительский каталог.

Записав ./manage.py runserver , вы запускаете команду manage.py с аргументом runserver . Чтобы увидеть, что происходит, когда вы manage.py , проверьте содержимое файла с помощью less manage.py .

Подводя итог, не должно быть никакой разницы в обоих случаях, если только версия python, указанная в manage.py, отличается от версии python по умолчанию. Питон, используемый в manage.py можно увидеть в первой строке.

3

./ сообщает оболочке, что вы ссылаетесь на файл в текущем каталоге. Если вы хотите вызвать такую программу, как backup и это оказалось двоичным файлом, доступным в одном из program directories в системе, оболочка по умолчанию запустит этот двоичный файл.

Однако вы могли находиться в каталоге ваших собственных программ, в котором тоже был бинарный файл с именем backup . Следовательно, вы можете даже не осознавать, что система фактически запускала совершенно другой двоичный файл.

Используя ./backup , вы указываете, что хотите, чтобы система использовала двоичный файл в текущем рабочем каталоге, а не тот, который доступен в директории программы.

Вы можете проверить это с помощью команды Linux whereis , которая в этом примере может указывать, что backup находится в /usr/bin/backup , а не, возможно, ~/backup .

1

Основная причина использования префикса ./ заключается в том, что текущий каталог отсутствует в переменной $ PATH. По крайней мере, не должно быть, как в окнах, где у вас есть ;. в конце пути.

0

./ - это сокращенный метод выполнения операции из текущего каталога.

../ - это краткий метод "поднятия" папки перед вводом заданного имени папки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .