В чем смысл ./ перед заданным путем?

Похоже, нет новостей (слава богу) о iPad (i-hate-it).

Если вы чувствуете себя диким, вы можете попробовать xoom:

http: / /trsohmers.com/2011/03/06/how-to-run-ubuntu-on-the-motorola-xoom/

Если вы не хотите много сражаться, я бы предложил конкретный продукт :

http://trsohmers.com/2011/03/06/how-to-run-ubuntu-on-the-motorola-xoom/

23
задан 6 September 2011 в 21:56

32 ответа

./ или просто . является сокращением unix для текущего каталога.

Вам нужно указать его, если текущий каталог не находится в вашем PATH. PATH - это список папок, которые вы искали при запуске программы. (Вы можете определить его, написав echo $PATH.) Если исполняемый файл не находится в вашем PATH, для его запуска вам нужно указать папку, в которой он находится. Вы можете сделать это, указав полный путь к файлу, но если файл находится в текущем каталоге, вы можете использовать ./ как стенографию.

Аналогично, ../ или просто .. является сокращением для каталога выше текущего.

27
ответ дан 25 May 2018 в 18:57
  • 1
    Кто-то должен включить в свой ответ , почему $ PATH не содержит .. Это связано с тем, что автоматическое использование текущего каталога - это отверстие безопасности. Представьте, что кто-то другой делает программу, называет ее ls и вы cd в своей директории, затем введите ls – Zan Lynx 7 September 2011 в 01:23
  • 2
    @Zan Я всегда удивлялся этому, спасибо за ваш ответ на вопрос, который никто не спросил, но кто-то должен был. – crasic 7 September 2011 в 11:31

./ или просто . является сокращением unix для текущего каталога.

Вам нужно указать его, если текущий каталог не находится в вашем PATH. PATH - это список папок, которые вы искали при запуске программы. (Вы можете определить его, написав echo $PATH.) Если исполняемый файл не находится в вашем PATH, для его запуска вам нужно указать папку, в которой он находится. Вы можете сделать это, указав полный путь к файлу, но если файл находится в текущем каталоге, вы можете использовать ./ как стенографию.

Аналогично, ../ или просто .. является сокращением для каталога выше текущего.

27
ответ дан 25 July 2018 в 21:21

./ или просто . является сокращением unix для текущего каталога.

Вам нужно указать его, если текущий каталог не находится в вашем PATH. PATH - это список папок, которые вы искали при запуске программы. (Вы можете определить его, написав echo $PATH.) Если исполняемый файл не находится в вашем PATH, для его запуска вам нужно указать папку, в которой он находится. Вы можете сделать это, указав полный путь к файлу, но если файл находится в текущем каталоге, вы можете использовать ./ как стенографию.

Аналогично, ../ или просто .. является сокращением для каталога выше текущего.

28
ответ дан 31 July 2018 в 10:34

./ или просто . является сокращением unix для текущего каталога.

Вам нужно указать его, если текущий каталог не находится в вашем PATH. PATH - это список папок, которые вы искали при запуске программы. (Вы можете определить его, написав echo $PATH.) Если исполняемый файл не находится в вашем PATH, для его запуска вам нужно указать папку, в которой он находится. Вы можете сделать это, указав полный путь к файлу, но если файл находится в текущем каталоге, вы можете использовать ./ как стенографию.

Аналогично, ../ или просто .. является сокращением для каталога выше текущего.

28
ответ дан 31 July 2018 в 11:36

./ или просто . является сокращением unix для текущего каталога.

Вам нужно указать его, если текущий каталог не находится в вашем PATH. PATH - это список папок, которые вы искали при запуске программы. (Вы можете определить его, написав echo $PATH.) Если исполняемый файл не находится в вашем PATH, для его запуска вам нужно указать папку, в которой он находится. Вы можете сделать это, указав полный путь к файлу, но если файл находится в текущем каталоге, вы можете использовать ./ как стенографию.

Аналогично, ../ или просто .. является сокращением для каталога выше текущего.

28
ответ дан 2 August 2018 в 03:01

./ или просто . является сокращением unix для текущего каталога.

Вам нужно указать его, если текущий каталог не находится в вашем PATH. PATH - это список папок, которые вы искали при запуске программы. (Вы можете определить его, написав echo $PATH.) Если исполняемый файл не находится в вашем PATH, для его запуска вам нужно указать папку, в которой он находится. Вы можете сделать это, указав полный путь к файлу, но если файл находится в текущем каталоге, вы можете использовать ./ как стенографию.

Аналогично, ../ или просто .. является сокращением для каталога выше текущего.

28
ответ дан 4 August 2018 в 18:51

./ или просто . является сокращением unix для текущего каталога.

Вам нужно указать его, если текущий каталог не находится в вашем PATH. PATH - это список папок, которые вы искали при запуске программы. (Вы можете определить его, написав echo $PATH.) Если исполняемый файл не находится в вашем PATH, для его запуска вам нужно указать папку, в которой он находится. Вы можете сделать это, указав полный путь к файлу, но если файл находится в текущем каталоге, вы можете использовать ./ как стенографию.

Аналогично, ../ или просто .. является сокращением для каталога выше текущего.

28
ответ дан 6 August 2018 в 03:14

./ или просто . является сокращением unix для текущего каталога.

Вам нужно указать его, если текущий каталог не находится в вашем PATH. PATH - это список папок, которые вы искали при запуске программы. (Вы можете определить его, написав echo $PATH.) Если исполняемый файл не находится в вашем PATH, для его запуска вам нужно указать папку, в которой он находится. Вы можете сделать это, указав полный путь к файлу, но если файл находится в текущем каталоге, вы можете использовать ./ как стенографию.

Аналогично, ../ или просто .. является сокращением для каталога выше текущего.

28
ответ дан 7 August 2018 в 20:55

Каждый каталог в командной строке имеет два «специальных каталога», называемых . и ... Это сокращение для, соответственно, текущего каталога и каталога, содержащего текущий каталог.

Так, например, cd ./more/directory/names просто означает «начать с текущего каталога и продолжить путь». Аналогично, команда cd .. означает: «смените один каталог вверх.

Если вам нужно имя вашего текущего каталога, вы можете использовать команду pwd. Кроме того, если вы используете -a флаг для ls, вы можете увидеть эти два специальных каталога. То есть ls -a выведет список, начинающийся с . и ...

13
ответ дан 25 May 2018 в 18:57

Это означает, что вы начинаете с current directory path.

Предположим, что у вас есть path, как это:

/usr/ /usr/bin/ /usr/local/bin

и внутри /usr/bin/ имеется исполняемый файл yiic.

Если вы выпустите yiic, он запустит одно из /usr/bin/.

Выпустив ./yiic, вы сообщите системе, чтобы она просматривала текущий каталог этого исполняемого файла.

3
ответ дан 25 May 2018 в 18:57
  • 1
    Хорошо ... но я еще не добрался. Предположим, что у меня есть yiic внутри /home/mysuser/, и я перемещаюсь туда, используя cd /home/myuser. Когда-то внутри, я считал, что делать просто yiic, он должен работать, потому что я звонил в этот каталог. Но он говорит, что команда не файл. Если я сделаю то же самое, и я использую ./, то он работает правильно ... Не могли бы вы прояснить немного больше? – MEM 6 September 2011 в 22:08
  • 2
    @frabjous ответил на этот комментарий. – MEM 6 September 2011 в 22:09
  • 3
    Неа! он всегда будет выглядеть в директиве PATH, если вы не скажете ему использовать текущий каталог (используя ./). Посмотрите на ответ user45: . - это специальный файл внутри папки, который вы можете видеть при выполнении ls -la в каталоге;) – Rinzwind 6 September 2011 в 22:11

Другие уже объяснили, что означает . и .. (текущий каталог и родительский каталог соответственно). Это относится ко всем именам путей.

Когда вы открываете терминал, вы обычно начинаете в своем домашнем каталоге: ~ (который расширяется до /home/username). Следующие пути эквивалентны, если ваш текущий рабочий каталог /home/username:

/home/username . ../username ../../home/username ../../../home/username (родительский каталог / все еще [ f12]) ./././././. (текущий каталог в текущем каталоге в ...) ./ (для каталогов разрешены конечные косые черты) /home////username/// (а также множественные слэши)

Не выполнять путать ./program с . program. ./program запускает файл в текущем каталоге с установленным битом выполнения. . ./program - вещь bash и может быть альтернативно записана как source ./program, которая считывает команды bash из файла program в текущем каталоге и выполняет их в текущей оболочке.

Если вам интересно, почему вы может запускать gedit вместо /usr/bin/gedit, а не program вместо ./program или /home/username/program, см. соответствующий вопрос:

/home/username
3
ответ дан 25 May 2018 в 18:57

Другие уже объяснили, что означает . и .. (текущий каталог и родительский каталог соответственно). Это относится ко всем именам путей.

Когда вы открываете терминал, вы обычно начинаете в своем домашнем каталоге: ~ (который расширяется до /home/username). Следующие пути эквивалентны, если ваш текущий рабочий каталог /home/username:

/home/username . ../username ../../home/username ../../../home/username (родительский каталог / все еще /) ./././././. (текущий каталог в текущем каталоге в ...) ./ (для каталогов разрешены конечные косые черты) /home////username/// (а также множественные слэши)

Не выполнять путать ./program с . program. ./program запускает файл в текущем каталоге с установленным битом выполнения. . ./program - вещь bash и может быть альтернативно записана как source ./program, которая считывает команды bash из файла program в текущем каталоге и выполняет их в текущей оболочке.

Если вам интересно, почему вы может запускать gedit вместо /usr/bin/gedit, а не program вместо ./program или /home/username/program, см. соответствующий вопрос:

/home/username
3
ответ дан 25 July 2018 в 21:21

Каждый каталог в командной строке имеет два «специальных каталога», называемых . и ... Это сокращение для, соответственно, текущего каталога и каталога, содержащего текущий каталог.

Так, например, cd ./more/directory/names просто означает «начать с текущего каталога и продолжить путь». Аналогично, команда cd .. означает: «смените один каталог вверх.

Если вам нужно имя вашего текущего каталога, вы можете использовать команду pwd. Кроме того, если вы используете -a флаг для ls, вы можете увидеть эти два специальных каталога. То есть ls -a выведет список, начинающийся с . и ...

13
ответ дан 25 July 2018 в 21:21

Это означает, что вы начинаете с current directory path.

Предположим, что у вас есть path, как это:

/usr/ /usr/bin/ /usr/local/bin

и внутри /usr/bin/ имеется исполняемый файл yiic.

Если вы выпустите yiic, он запустит одно из /usr/bin/.

Выпустив ./yiic, вы сообщите системе, чтобы она просматривала текущий каталог этого исполняемого файла.

3
ответ дан 25 July 2018 в 21:21
  • 1
    Хорошо ... но я еще не добрался. Предположим, что у меня есть yiic внутри /home/mysuser/, и я перемещаюсь туда, используя cd /home/myuser. Когда-то внутри, я считал, что делать просто yiic, он должен работать, потому что я звонил в этот каталог. Но он говорит, что команда не файл. Если я сделаю то же самое, и я использую ./, то он работает правильно ... Не могли бы вы прояснить немного больше? – MEM 6 September 2011 в 22:08
  • 2
    @frabjous ответил на этот комментарий. – MEM 6 September 2011 в 22:09
  • 3
    Неа! он всегда будет выглядеть в директиве PATH, если вы не скажете ему использовать текущий каталог (используя ./). Посмотрите на ответ user45: . - это специальный файл внутри папки, который вы можете видеть при выполнении ls -la в каталоге;) – Rinzwind 6 September 2011 в 22:11

Другие уже объяснили, что означает . и .. (текущий каталог и родительский каталог соответственно). Это относится ко всем именам путей.

Когда вы открываете терминал, вы обычно начинаете в своем домашнем каталоге: ~ (который расширяется до /home/username). Следующие пути эквивалентны, если ваш текущий рабочий каталог /home/username:

/home/username . ../username ../../home/username ../../../home/username (родительский каталог / все еще /) ./././././. (текущий каталог в текущем каталоге в ...) ./ (для каталогов разрешены конечные косые черты) /home////username/// (а также множественные слэши)

Не выполнять путать ./program с . program. ./program запускает файл в текущем каталоге с установленным битом выполнения. . ./program - вещь bash и может быть альтернативно записана как source ./program, которая считывает команды bash из файла program в текущем каталоге и выполняет их в текущей оболочке.

Если вам интересно, почему вы может запускать gedit вместо /usr/bin/gedit, а не program вместо ./program или /home/username/program, см. соответствующий вопрос:

/home/username
3
ответ дан 31 July 2018 в 10:34

Каждый каталог в командной строке имеет два «специальных каталога», называемых . и ... Это сокращение для, соответственно, текущего каталога и каталога, содержащего текущий каталог.

Так, например, cd ./more/directory/names просто означает «начать с текущего каталога и продолжить путь». Аналогично, команда cd .. означает: «смените один каталог вверх.

Если вам нужно имя вашего текущего каталога, вы можете использовать команду pwd. Кроме того, если вы используете -a флаг для ls, вы можете увидеть эти два специальных каталога. То есть ls -a выведет список, начинающийся с . и ...

13
ответ дан 31 July 2018 в 10:34

Это означает, что вы начинаете с current directory path.

Предположим, что у вас есть path, как это:

/usr/ /usr/bin/ /usr/local/bin

и внутри /usr/bin/ имеется исполняемый файл yiic.

Если вы выпустите yiic, он запустит одно из /usr/bin/.

Выпустив ./yiic, вы сообщите системе, чтобы она просматривала текущий каталог этого исполняемого файла.

3
ответ дан 31 July 2018 в 10:34
  • 1
    Хорошо ... но я еще не добрался. Предположим, что у меня есть yiic внутри /home/mysuser/, и я перемещаюсь туда, используя cd /home/myuser. Когда-то внутри, я считал, что делать просто yiic, он должен работать, потому что я звонил в этот каталог. Но он говорит, что команда не файл. Если я сделаю то же самое, и я использую ./, то он работает правильно ... Не могли бы вы прояснить немного больше? – MEM 6 September 2011 в 22:08
  • 2
    @frabjous ответил на этот комментарий. – MEM 6 September 2011 в 22:09
  • 3
    Неа! он всегда будет выглядеть в директиве PATH, если вы не скажете ему использовать текущий каталог (используя ./). Посмотрите на ответ user45: . - это специальный файл внутри папки, который вы можете видеть при выполнении ls -la в каталоге;) – Rinzwind 6 September 2011 в 22:11

Другие уже объяснили, что означает . и .. (текущий каталог и родительский каталог соответственно). Это относится ко всем именам путей.

Когда вы открываете терминал, вы обычно начинаете в своем домашнем каталоге: ~ (который расширяется до /home/username). Следующие пути эквивалентны, если ваш текущий рабочий каталог /home/username:

/home/username . ../username ../../home/username ../../../home/username (родительский каталог / все еще /) ./././././. (текущий каталог в текущем каталоге в ...) ./ (для каталогов разрешены конечные косые черты) /home////username/// (а также множественные слэши)

Не выполнять путать ./program с . program. ./program запускает файл в текущем каталоге с установленным битом выполнения. . ./program - вещь bash и может быть альтернативно записана как source ./program, которая считывает команды bash из файла program в текущем каталоге и выполняет их в текущей оболочке.

Если вам интересно, почему вы может запускать gedit вместо /usr/bin/gedit, а не program вместо ./program или /home/username/program, см. соответствующий вопрос:

/home/username
3
ответ дан 31 July 2018 в 11:36

Каждый каталог в командной строке имеет два «специальных каталога», называемых . и ... Это сокращение для, соответственно, текущего каталога и каталога, содержащего текущий каталог.

Так, например, cd ./more/directory/names просто означает «начать с текущего каталога и продолжить путь». Аналогично, команда cd .. означает: «смените один каталог вверх.

Если вам нужно имя вашего текущего каталога, вы можете использовать команду pwd. Кроме того, если вы используете -a флаг для ls, вы можете увидеть эти два специальных каталога. То есть ls -a выведет список, начинающийся с . и ...

13
ответ дан 31 July 2018 в 11:36

Это означает, что вы начинаете с current directory path.

Предположим, что у вас есть path, как это:

/usr/ /usr/bin/ /usr/local/bin

и внутри /usr/bin/ имеется исполняемый файл yiic.

Если вы выпустите yiic, он запустит одно из /usr/bin/.

Выпустив ./yiic, вы сообщите системе, чтобы она просматривала текущий каталог этого исполняемого файла.

3
ответ дан 31 July 2018 в 11:36
  • 1
    Хорошо ... но я еще не добрался. Предположим, что у меня есть yiic внутри /home/mysuser/, и я перемещаюсь туда, используя cd /home/myuser. Когда-то внутри, я считал, что делать просто yiic, он должен работать, потому что я звонил в этот каталог. Но он говорит, что команда не файл. Если я сделаю то же самое, и я использую ./, то он работает правильно ... Не могли бы вы прояснить немного больше? – MEM 6 September 2011 в 22:08
  • 2
    @frabjous ответил на этот комментарий. – MEM 6 September 2011 в 22:09
  • 3
    Неа! он всегда будет выглядеть в директиве PATH, если вы не скажете ему использовать текущий каталог (используя ./). Посмотрите на ответ user45: . - это специальный файл внутри папки, который вы можете видеть при выполнении ls -la в каталоге;) – Rinzwind 6 September 2011 в 22:11

Другие уже объяснили, что означает . и .. (текущий каталог и родительский каталог соответственно). Это относится ко всем именам путей.

Когда вы открываете терминал, вы обычно начинаете в своем домашнем каталоге: ~ (который расширяется до /home/username). Следующие пути эквивалентны, если ваш текущий рабочий каталог /home/username:

/home/username . ../username ../../home/username ../../../home/username (родительский каталог / все еще /) ./././././. (текущий каталог в текущем каталоге в ...) ./ (для каталогов разрешены конечные косые черты) /home////username/// (а также множественные слэши)

Не выполнять путать ./program с . program. ./program запускает файл в текущем каталоге с установленным битом выполнения. . ./program - вещь bash и может быть альтернативно записана как source ./program, которая считывает команды bash из файла program в текущем каталоге и выполняет их в текущей оболочке.

Если вам интересно, почему вы может запускать gedit вместо /usr/bin/gedit, а не program вместо ./program или /home/username/program, см. соответствующий вопрос:

/home/username
3
ответ дан 2 August 2018 в 03:01

Каждый каталог в командной строке имеет два «специальных каталога», называемых . и ... Это сокращение для, соответственно, текущего каталога и каталога, содержащего текущий каталог.

Так, например, cd ./more/directory/names просто означает «начать с текущего каталога и продолжить путь». Аналогично, команда cd .. означает: «смените один каталог вверх.

Если вам нужно имя вашего текущего каталога, вы можете использовать команду pwd. Кроме того, если вы используете -a флаг для ls, вы можете увидеть эти два специальных каталога. То есть ls -a выведет список, начинающийся с . и ...

13
ответ дан 2 August 2018 в 03:01

Это означает, что вы начинаете с current directory path.

Предположим, что у вас есть path, как это:

/usr/ /usr/bin/ /usr/local/bin

и внутри /usr/bin/ имеется исполняемый файл yiic.

Если вы выпустите yiic, он запустит одно из /usr/bin/.

Выпустив ./yiic, вы сообщите системе, чтобы она просматривала текущий каталог этого исполняемого файла.

3
ответ дан 2 August 2018 в 03:01
  • 1
    Хорошо ... но я еще не добрался. Предположим, что у меня есть yiic внутри /home/mysuser/, и я перемещаюсь туда, используя cd /home/myuser. Когда-то внутри, я считал, что делать просто yiic, он должен работать, потому что я звонил в этот каталог. Но он говорит, что команда не файл. Если я сделаю то же самое, и я использую ./, то он работает правильно ... Не могли бы вы прояснить немного больше? – MEM 6 September 2011 в 22:08
  • 2
    @frabjous ответил на этот комментарий. – MEM 6 September 2011 в 22:09
  • 3
    Неа! он всегда будет выглядеть в директиве PATH, если вы не скажете ему использовать текущий каталог (используя ./). Посмотрите на ответ user45: . - это специальный файл внутри папки, который вы можете видеть при выполнении ls -la в каталоге;) – Rinzwind 6 September 2011 в 22:11

Другие уже объяснили, что означает . и .. (текущий каталог и родительский каталог соответственно). Это относится ко всем именам путей.

Когда вы открываете терминал, вы обычно начинаете в своем домашнем каталоге: ~ (который расширяется до /home/username). Следующие пути эквивалентны, если ваш текущий рабочий каталог /home/username:

/home/username . ../username ../../home/username ../../../home/username (родительский каталог / все еще /) ./././././. (текущий каталог в текущем каталоге в ...) ./ (для каталогов разрешены конечные косые черты) /home////username/// (а также множественные слэши)

Не выполнять путать ./program с . program. ./program запускает файл в текущем каталоге с установленным битом выполнения. . ./program - вещь bash и может быть альтернативно записана как source ./program, которая считывает команды bash из файла program в текущем каталоге и выполняет их в текущей оболочке.

Если вам интересно, почему вы может запускать gedit вместо /usr/bin/gedit, а не program вместо ./program или /home/username/program, см. соответствующий вопрос:

/home/username
3
ответ дан 4 August 2018 в 18:51

Каждый каталог в командной строке имеет два «специальных каталога», называемых . и ... Это сокращение для, соответственно, текущего каталога и каталога, содержащего текущий каталог.

Так, например, cd ./more/directory/names просто означает «начать с текущего каталога и продолжить путь». Аналогично, команда cd .. означает: «смените один каталог вверх.

Если вам нужно имя вашего текущего каталога, вы можете использовать команду pwd. Кроме того, если вы используете -a флаг для ls, вы можете увидеть эти два специальных каталога. То есть ls -a выведет список, начинающийся с . и ...

13
ответ дан 4 August 2018 в 18:51

Это означает, что вы начинаете с current directory path.

Предположим, что у вас есть path, как это:

/usr/ /usr/bin/ /usr/local/bin

и внутри /usr/bin/ имеется исполняемый файл yiic.

Если вы выпустите yiic, он запустит одно из /usr/bin/.

Выпустив ./yiic, вы сообщите системе, чтобы она просматривала текущий каталог этого исполняемого файла.

3
ответ дан 4 August 2018 в 18:51
  • 1
    Хорошо ... но я еще не добрался. Предположим, что у меня есть yiic внутри /home/mysuser/, и я перемещаюсь туда, используя cd /home/myuser. Когда-то внутри, я считал, что делать просто yiic, он должен работать, потому что я звонил в этот каталог. Но он говорит, что команда не файл. Если я сделаю то же самое, и я использую ./, то он работает правильно ... Не могли бы вы прояснить немного больше? – MEM 6 September 2011 в 22:08
  • 2
    @frabjous ответил на этот комментарий. – MEM 6 September 2011 в 22:09
  • 3
    Неа! он всегда будет выглядеть в директиве PATH, если вы не скажете ему использовать текущий каталог (используя ./). Посмотрите на ответ user45: . - это специальный файл внутри папки, который вы можете видеть при выполнении ls -la в каталоге;) – Rinzwind 6 September 2011 в 22:11

Другие уже объяснили, что означает . и .. (текущий каталог и родительский каталог соответственно). Это относится ко всем именам путей.

Когда вы открываете терминал, вы обычно начинаете в своем домашнем каталоге: ~ (который расширяется до /home/username). Следующие пути эквивалентны, если ваш текущий рабочий каталог /home/username:

/home/username . ../username ../../home/username ../../../home/username (родительский каталог / все еще /) ./././././. (текущий каталог в текущем каталоге в ...) ./ (для каталогов разрешены конечные косые черты) /home////username/// (а также множественные слэши)

Не выполнять путать ./program с . program. ./program запускает файл в текущем каталоге с установленным битом выполнения. . ./program - вещь bash и может быть альтернативно записана как source ./program, которая считывает команды bash из файла program в текущем каталоге и выполняет их в текущей оболочке.

Если вам интересно, почему вы может запускать gedit вместо /usr/bin/gedit, а не program вместо ./program или /home/username/program, см. соответствующий вопрос:

/home/username
3
ответ дан 6 August 2018 в 03:14

Каждый каталог в командной строке имеет два «специальных каталога», называемых . и ... Это сокращение для, соответственно, текущего каталога и каталога, содержащего текущий каталог.

Так, например, cd ./more/directory/names просто означает «начать с текущего каталога и продолжить путь». Аналогично, команда cd .. означает: «смените один каталог вверх.

Если вам нужно имя вашего текущего каталога, вы можете использовать команду pwd. Кроме того, если вы используете -a флаг для ls, вы можете увидеть эти два специальных каталога. То есть ls -a выведет список, начинающийся с . и ...

13
ответ дан 6 August 2018 в 03:14

Это означает, что вы начинаете с current directory path.

Предположим, что у вас есть path, как это:

/usr/ /usr/bin/ /usr/local/bin

и внутри /usr/bin/ имеется исполняемый файл yiic.

Если вы выпустите yiic, он запустит одно из /usr/bin/.

Выпустив ./yiic, вы сообщите системе, чтобы она просматривала текущий каталог этого исполняемого файла.

3
ответ дан 6 August 2018 в 03:14
  • 1
    Хорошо ... но я еще не добрался. Предположим, что у меня есть yiic внутри /home/mysuser/, и я перемещаюсь туда, используя cd /home/myuser. Когда-то внутри, я считал, что делать просто yiic, он должен работать, потому что я звонил в этот каталог. Но он говорит, что команда не файл. Если я сделаю то же самое, и я использую ./, то он работает правильно ... Не могли бы вы прояснить немного больше? – MEM 6 September 2011 в 22:08
  • 2
    @frabjous ответил на этот комментарий. – MEM 6 September 2011 в 22:09
  • 3
    Неа! он всегда будет выглядеть в директиве PATH, если вы не скажете ему использовать текущий каталог (используя ./). Посмотрите на ответ user45: . - это специальный файл внутри папки, который вы можете видеть при выполнении ls -la в каталоге;) – Rinzwind 6 September 2011 в 22:11

Другие уже объяснили, что означает . и .. (текущий каталог и родительский каталог соответственно). Это относится ко всем именам путей.

Когда вы открываете терминал, вы обычно начинаете в своем домашнем каталоге: ~ (который расширяется до /home/username). Следующие пути эквивалентны, если ваш текущий рабочий каталог /home/username:

/home/username . ../username ../../home/username ../../../home/username (родительский каталог / все еще /) ./././././. (текущий каталог в текущем каталоге в ...) ./ (для каталогов разрешены конечные косые черты) /home////username/// (а также множественные слэши)

Не выполнять путать ./program с . program. ./program запускает файл в текущем каталоге с установленным битом выполнения. . ./program - вещь bash и может быть альтернативно записана как source ./program, которая считывает команды bash из файла program в текущем каталоге и выполняет их в текущей оболочке.

Если вам интересно, почему вы может запускать gedit вместо /usr/bin/gedit, а не program вместо ./program или /home/username/program, см. соответствующий вопрос:

/home/username
3
ответ дан 7 August 2018 в 20:55

Другие вопросы по тегам:

Похожие вопросы: