Чтобы запустить определенную программу, сохраненную в моем домашнем каталоге, я должен вызвать ее с помощью команды «./». Что именно делает команда?Что такое оператор «./» в Unix?
ответ
./
не является командой, она является частью пути. При выполнении команды исполняемый файл должен либо находиться в каталоге, указанном в переменной среды $PATH
, либо указать путь явно. ./cmd
означает запуск исполняемого файла cmd
в текущем каталоге.
.
- текущий каталог.
./file
относительный путь к файлу из текущего каталога, тогда как file
просто голое имя, что оболочка должна искать (в $PATH)
.
Это ничем не отличается (в понятии) от /bin/sh
, и т.д.
./
это не команда. как ни странно .
это настоящее имя каталога, это связано с текущей директории. Таким образом, текущий каталог имеет (по крайней мере) два имена, тот, который вы обычно используете, и .
. Все каталоги имеют t его, даже в Windows.
/
является символом разделителя каталогов, используемым в Linux и UNIX.
Предположим, что ваш текущий каталог - /home/pete
. Вы можете запустить программу, говоря:
/home/pete/program_name
или:
./program_name
Они означают то же самое. Конечно, вы не всегда нуждаетесь в таких программах, как ls
, потому что эти программы находятся в каталоге, указанном в переменной окружения PATH
. echo $PATH
, чтобы увидеть это.
Я сказал, что в каталогах есть как минимум два имени. Если в подкаталоге есть подкаталог, он также известен как ..
. Поэтому каталог имеет два имени (hard-links) плюс один для каждого подкаталога. Проверьте команду ls -l
:
mkdir adir
ls -ld adir
drwxr-xr-x 2 clivedarke staff 68 6 May 17:25 adir
ls -ld .
drwxr-xr-x+ 74 clivedarke staff 2516 6 May 17:25 .
Посмотрите на вторую колонку? 2 для нового каталога (adir). Вы можете видеть, что мой текущий каталог (.
) имеет 74 имени (жесткие ссылки) и поэтому означает 72 подкаталога.
- 1. Что такое */в Unix?
- 2. Что такое -w-оператор в условиях unix-shell?
- 3. Что такое st_ino в Unix?
- 4. Что такое профилирование в unix?
- 5. Что такое @ "оператор?
- 6. Что такое оператор XOR?
- 7. Что такое оператор ##?
- 8. Что такое оператор: =?
- 9. Что такое -> оператор?
- 10. Что такое оператор Java = =?
- 11. Что такое оператор @?
- 12. Что такое: оператор
- 13. Что такое оператор ~ для
- 14. Что такое оператор?
- 15. Что такое «===!» оператор делает?
- 16. Что такое() => оператор?
- 17. Что такое оператор = возврат?
- 18. Что такое оператор «?»??
- 19. Что такое оператор! == в JavaScript?
- 20. Что такое оператор ++ в Python?
- 21. Что такое оператор @ в MATLAB?
- 22. Что такое?. оператор в java?
- 23. Что такое оператор «| =» в C#?
- 24. Что такое «??» оператор в C#?
- 25. Что такое оператор% в python?
- 26. Что такое оператор% в JavaScript?
- 27. Что такое оператор «~» в Java
- 28. Что такое оператор «= ~» в Ruby?
- 29. Что такое unix/linux внутренности?
- 30. Что такое «Unix-подобный» компилятор?
и вы можете поместить '. /', Если вы действительно этого хотели. (Не рекомендуется) –
@JID Я не понимаю ваш комментарий - что вы имеете в виду? –
Похоже, что половина моего комментария исчезла. Предполагалось сказать, что 'put ./ в вашей переменной PATH'. –