по умолчанию ~
дан значение /home/username/
т.е. Если я использую команду cd ~
это переходит к каталогу /home/username/
Как изменить значение его в некоторый другой файл, такой как/home/username/filename?
Я действительно знаю, что это может быть опасно, я работаю над CTF, хотя, таким образом, он прекрасен.
тильда (~) интерпретируется Вашей оболочкой как краткая форма
$HOME
.Попытка следующие команды:
echo ~ HOME=foo echo ~
Это должно сначала распечатать Ваш реальный корневой каталог и впоследствии "нечто", поскольку Вы устанавливаете $HOME' на это.
значение по умолчанию
$HOME
прибывает от Вас конфигурация системы. Используйтеgetent passwd
для списка всех известных пользователей и их корневых каталогов. В зависимости от Вашей конфигурации системы те записи могли бы произойти от/etc/passwd
или любая удаленная служба каталогов., Если Вы только хотите временно переопределить свой корневой каталог, просто установите другой
$HOME
., Если Вы постоянно хотите изменить его, необходимо изменить passwd запись, например, путем ручного редактирования
/etc/passwd
.
Попытайтесь измениться $HOME
переменная, потому что тильда (~
) является краткой формой $HOME
, или измените корневой каталог своего пользователя в /etc/passwd
, но это не рекомендуется.
, Почему Вы не пытаетесь сделать и псевдоним для cd /home/username/filename
как это:
alias documents='cd ~/Documents'
Теперь, когда Вы тип documents
это изменится на /home/user/Documents
man alias
.
Для создания того псевдонима постоянным, проверка этот вопрос .