我只是初次使用SSH,但是当我登录时,我最终进入目录〜,这通常是FTP中的同一目录.我仍然可以去/,但我不知道是什么意思.家?它与/相关的位置,或者我怎么能找到?
〜是当前登录用户主目录的别名.要找出真正的位置,请在登录后立即输入pwd
(代表:打印工作目录),这样可以为您提供相对的位置.它可能是这样的:/
/home/myusername
〜是你的主目录,是的.这是非常好的,因为您的主目录并不总是您认为它应该是(/ home /).
此外,有趣的事实是:您可以使用"cd~myuser"来访问用户"myuser"的主目录.
正如其他人所评论的那样,代字号表示您当前的$HOME
目录.这可能与~username
您的用户名的值相同,也可能不同.在我的机器,$HOME
并且~
都是指/work1/jleffler
.但是,~jleffler
是对NFS安装目录的引用/u/jleffler
,如/etc/passwd
文件(或任何等效数据库)中指定的那样- POSIX标准根据getpwnam()
函数 ;请参见下文).我的资料仔细设定$HOME
.确定哪些软件包使用错误的主目录定义很有趣(也就是恼怒).
对于大多数人来说,~
并~username
为他们的用户名相同,但不是必需的.既然你都在问这个问题,那么几乎可以肯定的情况下~
,并~username
是相同的.
引用POSIX.1-2008的第2.6.1节"Tilde扩展":
"波浪号前缀"由
单词开头的不带引号的字符组成,后跟单词中第一个未引用的字符之前的
所有字符,或者如果没有则单词中的所有字符
.[...]如果登录名为null(即,波浪号前缀仅包含波浪号),则波形前缀将替换为变量HOME的值.如果未设置HOME,则结果未指定.否则,tilde-prefix应替换为与使用
getpwnam()
函数[...] 获得的登录名关联的初始工作目录的路径名.如果系统无法识别登录名,则结果未定义.