Доступ и выполнение команд в любом каталоге, не выходя из текущего каталога с помощью ‘./’ в терминале.
Для всех энтузиастов консолей ./
может показаться довольно знакомым. Это одна из многих замечательных особенностей Linux, позволяющая легко использовать ее с терминала.
Если не знаешь что ./
значит, мы вас прикрыли. Эта статья подробно объяснит, что делает ./
в Linux означает и что он делает в системе Linux.
Значение ./
к точке
Простой смысл ./
является 'Текущий каталог‘. Это так просто. Но подождите, у него есть более полезные и интересные аспекты.
Для всех энтузиастов консолей мелкие детали в этом ./
символ, очень важны и специфичны для пользовательской иерархии, что может много раз оставаться незамеченным для начинающего пользователя Linux.
В любой момент, когда вы используете Linux из командной строки, вы находитесь где-то в иерархии файловой системы. Когда вы работаете как пользователь без полномочий root, вы, скорее всего, находитесь в своем домашнем каталоге.
Независимо от того, какой у вас текущий каталог, вам может потребоваться обработка файлов, находящихся за пределами вашего текущего каталога. Так что изменение каталога время от времени может оказаться утомительной работой. Чтобы упростить эту задачу, используйте ./
может оказаться эффективным способом обработки и изменения нескольких файлов из вашего текущего каталога. Вам не нужно менять каталоги несколько раз, что позволит сэкономить время и сэкономить время.
Понимание ./ по частям
Попробуем понять значение ./
в отдельных сегментах .
(точка) и /
(слэш).
.
(точка): - В контексте вопроса, который мы обсуждаем в этой статье, .
(точка) просто означает "Текущий каталог пользователя‘.
Пример:
gauravv @ ubuntu: ~ $ ls -al total 179572 drwxr-xr-x 86 gauravv gauravv 266240 12 сен, 09:10. drwxr-xr-x 4 root root 4096 4 сентября, 18:29 .. drwxr-xr-x 2 gauravv gauravv 65536 15 июля 2018 г. 100CANON
В приведенном выше коде в выделенной строке вы можете увидеть точку (.)
в конце. Это означает, что это мой текущий каталог.
/
(слэш): - Когда мы добавляем /
(косая черта) к .
(точка) это просто гарантирует, что вы не работаете с файлом. Это то же самое, что и добавление /
на любое другое имя каталога.
Понимание ./
с примером
Давайте возьмем пример и поймем ./
с дополнительными пояснениями.
Предположим, вы хотите использовать нано
текстовый редактор (текстовый редактор для консоли) вместо графического текстового редактора. Вы будете полностью работать над консолью. Когда вы начинаете работать с редактором, вы попадаете в Домашний каталог по умолчанию.
Но предположим, что документ, который вы хотите отредактировать, находится в другом каталоге. Есть каталог с названием космос и вот лежит ваш документ cool.txt. Итак, путь расположения этого cool.txt файл становится "/home/gaurav/space/cool.txt‘.
Чтобы открыть этот файл в нано
, вы, конечно, могли бы ввести компакт диск
[Directory_name_where_file_located]
а потом nano cool.txt
.
Но чтобы сделать его более эффективным и простым, мы можем просто ввести nano ./space/cool.txt
.
Посмотрите на результаты ниже, чтобы лучше понять пример.
gaurav @ ubuntu: ~ $ pwd / home / gaurav gaurav @ ubuntu: ~ $
Здесь домашний каталог "/ home / gaurav‘. И файл для редактирования (cool.txt) находится по адресу ‘/ главная / гарав / пространство‘.
Но предположим, что я не хочу менять свой текущий каталог (/ home / gaurav) и работать напрямую из моего домашнего каталога. Я сделаю это следующим образом.
gaurav @ ubuntu: ~ $ nano ./space/cool.txt GNU nano 2.9.3 ./space/cool.txt Изменено Привет, меня зовут Тони Старк, я супергерой.
gaurav @ ubuntu: ~ $ cat ./space/cool.txt Привет, меня зовут Тони Старк, я супергерой. gaurav @ ubuntu: ~ $
Здесь я отредактировал файл из моего домашнего каталога, не меняя путь.
Главное преимущество использования ./
заключается в том, что если вы не хотите уходить из текущей папки, вы все равно можете манипулировать файлами вокруг себя.
Если бы вы набрали только nano cool.txt
, вы бы командовали нано
чтобы открыть файл в домашнем каталоге (/ home / gaurav) он вернет ошибку, поскольку файл не существует в домашнем каталоге. Вот почему вы используете nano ./space/cool.txt
Запуск программ с ./
./
может использоваться для запуска исполняемых файлов программы. Разберемся в этом на примере.
Если я хочу запустить программу C в моем $ ПУТЬ
(использовать echo $ PATH
чтобы получить ваш PATH), я просто скомпилирую программу на C. При компиляции исполняемый файл с именем а. выход
будет создан в текущем каталоге. Для выполнения этой программы я запускаю исполняемый файл а. выход
. Чтобы запустить эту программу на C, я просто наберу ./a.out
для выполнения программы C.
gaurav @ ubuntu: ~ / space $ sudo gcc demo.c [sudo] пароль для gaurav: gaurav @ ubuntu: ~ / space $ ./a.out gaurav @ ubuntu: ~ / space $
В этом контексте, добавляя к команде ./
фактически говорит: «Забудьте о PATH, я хочу, чтобы вы смотрели только в текущем каталоге».
Точно так же вы можете указать системе смотреть только в другое конкретное место, добавив к команде относительный или абсолютный путь, например:
../
означает родительский каталог или ./work/demo.c
это означает, что ищите файл demo.c в каталоге с именем Работа.
Вывод
“./
“Используется в имени пути для обозначения текущего каталога. Он также может запускать сценарий из текущего рабочего каталога. Использование ./ в вашем $ PATH позволяет сэкономить время, поскольку это позволяет вам изменять файлы, которых нет в вашем текущем каталоге, и это тоже, даже не выходя из текущего рабочего каталога.