Что "." и ".." в каталоге?
Исходя из вопроса: как сделать использование командной строки менее болезненным, каковы .
а также ..
записи в наиболее проголосовавшем ответе? Я вижу это, когда я делаю dir
команда, но она не видна пользователю в виде файла.
Если вы не знаете, что я имею в виду, вот пример:
.
..
Su.exe
Sup.txt
SuperUser.COM
4 ответа
. является текущим каталогом, а.. обозначает родительский каталог. Это ускоряет работу и в командной строке, поэтому вам не нужно вводить полные пути.
пример:
подняться на 2 каталога:
cd ..\..\
или в системе на основе UNIX для запуска исполняемых двоичных файлов в текущем каталоге:
./program
Многие сценарии UNIX также будут использоваться. для представления текущего каталога, например, для сканирования файлов (Perl):
#!/usr/bin/perl
opendir ( DIR, "." ) || die "Error opening current directory\n";
while( ($f = readdir(DIR))){
print("$f\n");
}
closedir(DIR);
Он гораздо более переносим, если вы хотите переместить скрипт в другие каталоги или системы, поскольку имя каталога не жестко закодировано.
..
is used to navigate up the hierarchy of the file system. It's useful when you don't want to type a long path, or when writing a script/program that doesn't know where exactly it will be installed but it knows that ../media/
should hold all the images/videos/icons etc.
Единственная точка .
is useful in linux where you want to run an executable in the current directory so you type ./a.out
because the command shell by default doesn't search the current directory for executable files (for security reasons).
Единственная точка .
также используется, если вы хотите передать текущий каталог в качестве аргумента команды.
. это текущий каталог. Вам редко нужно использовать это; большинство команд принимает текущий каталог. .. следующий уровень выше; это довольно полезный ярлык. Если вы находитесь в C: \ foo \ bar и хотите перейти в C: \ foo \ bar2, вы можете сказать
cd ..\bar2
и вы будете в C: \ foo \ bar2. Если вы не хотите переходить на bar2, а хотите запустить только C: \ foo \ bar.exe, вы можете сказать
..\bar.exe
или .. \ bar для запуска без возврата в родительский каталог. Конечно, это более полезно, когда вы представляете более длинный путь, чем C: \ foo (например, "C: \ Users \ Daniel \ My Dropbox \").
Они обозначают:
.
Текущий каталог
..
Представляет родительский каталог
Так что если у вас есть исполняемый файл "su.exe" в:
- Ваша переменная окружения Path (скажем, C:\MyExecutables\su.exe)
- Ваш текущий режиссёр
- Ваш родительский реж.
Вы можете выполнить каждый из них так:
su.exe
Выполняет тот в Пути
.\su.exe
Выполняет тот в текущем каталоге
..\su.exe
Выполняет тот в родительском dir.