linux 中的 ~directory_name 和 /directory_name 有什么区别

What is the difference between ~directory_name and /directory_name in linux

我正在使用 Mac OS 10.10.3,我是使用 linux 命令的新手。 这是我的疑惑-

当前工作目录: /dir_name

当我 运行 这个命令时: CD~

目录路径更改为: ~dir_name

目录路径中的 ~ 或 / 变化是什么意思?

cd ~ 将您重定向到主目录。 相当于cd $HOME

cd / 重定向到根目录

~ 是您的主目录的 shorthand。 / 将更改为根目录。所以

cd ~ 将目录更改为您的主目录

cd / 更改为根目录。

~ 本身等同于 $HOME。它指的是您的主目录,通常类似于 /home/yourname.

~foo指的是用户foo.

的主目录

~ 的这两种用途都由 shell 处理。这意味着,例如,如果您在 C 程序中调用 fopen("~/foo/file.txt", "r"),它不会扩展 ~ 到您的主目录;相反,它会在当前目录中寻找(并且可能找不到)字面上名为 ~ 的目录。

/为根目录

不带参数调用 cd 等同于 cd ~cd $HOME.

~ 是 shorthand 当前用户的主目录或您的主目录。

/ 是 shorthand 根目录

你可以pwd命令(输出路径)看看有什么区别。

cd ~
pwd
cd /
pwd