2015-10-01 2 views

ответ

5

Tilde (~) используется для обозначения домашнего каталога пользователя, тогда как слэш (/) используется для разделителей для объектов файловой системы как по абсолютным путям, так и по относительным путям. Также он используется для представления корневого каталога.

На стороне записки:

~/используется для обозначения начала пути к файлу или каталогу ниже домашней директории пользователя.

+0

slash (/) также указывает на корневой каталог системы – Explorer

+0

@Explorer: - Спасибо, что указали это. Обновлен мой ответ! –

0

~ содержит путь к домашнему каталогу текущего пользователя (он расширяется до $ HOME env variable). Если вы запустите:

echo ~ 

Он напечатает этот путь. Символ слэш/используется Linux (и другими ОС) в качестве разделителя путей. В Linux дополнительно, если вы:

cd/

Это приведет вас к корневой директории (верхний каталог вашей файловой системы)

+1

Это не переменная. См. «Расширение тильды» в 'man bash'. – choroba

+0

Ну, с переменной я имею в виду, что она изменяется в зависимости от текущего пользователя. Я исправил эту часть. Благодарю. – redobot

1

/ это символ, который разделяет каталоги. Как первый символ в пути, он обозначает корневой каталог.

~ - символ, который некоторые оболочки распространяются на домашний каталог пользователя. Смотрите, например «тильда» в man bash:

Если слово начинается с некотируемым символом тильды (`~ '), все символов, предшествующим первый без кавычек слэша (или всех символы, если нет неупомянуты слэш) считается тильда-префиксом. Если ни один из символов префикса тильды не указан, символы в тильде-префиксе после тильды рассматриваются как возможное имя пользователя . Если это имя входа является пустой строкой, тильда заменяется значением параметром оболочки HOME. Если HOME не установлен, вместо этого вместо этого заменяется исходный каталог пользователя, выполняющего . В противном случае префикс тильды заменяется домашним каталогом , связанным с указанным именем входа.

Если тильда-префикс ~+, значение переменной оболочки PWD заменяет тильд-префикс. Если тильда-префикс равен ~-, то заменяется значение переменной оболочки OLDPWD, если установлено значение . Если символы, следующие за тильдой в тильде-префиксе , состоят из числа N, необязательно с префиксом + или -, тильд-префикс заменен соответствующим элементом из стека каталога, так как он будет отображаться dirs builtin, вызывается с тильд-префиксом в качестве аргумента. Если символы, следующие за тильдой в тильд-префиксе, состоят из числа без ведущего + или -, +.

Если имя входа недопустимо, или расширение тильды не выполняется, слово не изменяется.

Каждое присваивание переменной проверяется для некотируемых тильд-префиксов, следующих непосредственно за a : или первым =. В этих случаях также выполняется расширение тильды. Следовательно, можно использовать имена файлов с тильдами в назначениях PATH, MAILPATH и CDPATH, а оболочка назначает расширенное значение.