路径中「~」的意思是什么?
- 0次
- 2021-07-02 16:10:47
- idczone
$ cd /Users/zhanglei/工作库 /Demo/LuceneDemo/~/Downloads/LucenseDemo
上面这条命令中「~」是什么意思?
$ rm -rf /Users/zhanglei/工作库/Demo/LuceneDemo/~/
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
$ cd ..
cd: Could not set PWD variable
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
在某些 shell 里,波浪号代表$HOME 这个意思
指你当前用户的 $HOME 目录。如果真的需要删除一个带 ~ 字符的文件 /目录,需要反斜杠 \
比如你用 root 用户登录,辣么 cd ~就意味着打开 /home/root ,其他用户也是同样的道理
是 当前用户目录的别名
什么情况下会有楼主这种命令?还是说这只是楼主随便写的?
root 的 home 为 /root
怎么会有这么奇怪的路径,一般~都是放在最前面的,比如 cd ~/test/ 表示进入当前用户的 home 目录下的 test 。
一般用户的 home 目录为 /home/username/
root 的 home 目录为 /root
你家!(严肃脸)
~ 是由 shell 解释的
只有在特定语境下,才会被自动替换成 ${HOME}
特定语境是指
- 必须是作为任意参数(包括 $0 )的开始字符
- 后面要么没有内容要么紧跟着一个 /
示例
echo $HOME
/Users/foo
echo a-$HOME-b
a-/Users/foo-b
echo ~
/Users/foo
echo ~/
/Users/foo
echo ~/b
/Users/foo/b
echo a-~
a-~
echo ~-b
~-b
~username 也是可以的
对!我忘了这个了,后置字符的也要满足同样的规则
我昨天刚删了这个目录
有可能是你不小心新建的一个名字叫~的文件夹,删除的时候要小心了,之前我不小心新建过名字叫-"的文件夹