'〜'之间的区别和' /'在linux中

时间:2015-10-01 09:53:48

标签: linux

Linux环境中〜和/有什么区别?

有人可以解释一下这个区别吗?

5 个答案:

答案 0 :(得分:8)

Tilde(〜)用于表示用户的主目录,而斜杠(/)用于绝对路径和相对路径中的文件系统对象的分隔符。它也用于表示根目录。

旁注:

〜/用于表示用户主目录下的文件或目录路径的开头。

答案 1 :(得分:8)

〜包含当前用户主目录的路径(它扩展为 $ HOME env变量)。如果您运行:

echo ~

它将打印此路径。斜杠字符/被Linux(和其他操作系统)用作路径分隔符。另外,在Linux中,如果你这样做:

cd /

它将带您进入 root 目录(文件系统的最顶层目录)

答案 2 :(得分:1)

/是分隔目录的字符。作为路径中的第一个字符,它表示根目录。

~是某些shell扩展到用户主目录的字符。请参阅man bash中的“Tilde Expansion”:

  

如果一个单词以不带引号的代字号(`〜')开头,则第一个不带引号的斜杠前面的所有字符(或者所有字符,如果没有未加引号的斜杠)都是          被认为是波浪号前缀。如果没有引用tilde-prefix中的字符,          波浪号后面的波浪号前缀中的字符被视为可能的登录          名称。如果此登录名是空字符串,则将波形符替换为值          shell参数HOME。如果未设置HOME,则执行用户的主目录          而是取而代之的是shell。否则,tilde-prefix将替换为          与指定登录名关联的主目录。

     

如果tilde-prefix是~+,则shell变量PWD的值将替换tilde-prefix。如果tilde-prefix是~-,则shell变量OLDPWD的值(如果是)          设置,被替换。如果波形符后面的字符在波浪号前缀中          由数字N组成,可选地以+-为前缀,波浪号前缀为          替换为目录堆栈中的相应元素,因为它将以使用tilde-prefix作为参数调用的内置函数显示。如果波浪号前缀中波浪号后面的字符由不带前导的数字组成          假设+-+

     

如果登录名无效,或者代字号扩展失败,则该字不变。

     

检查每个变量赋值是否紧跟在后面的未加引号的波浪号前缀          :或第一个=。在这些情况下,还执行波浪扩展。所以,          在PATH,MAILPATH和CDPATH的赋值中,可以使用带有波浪号的文件名          shell指定扩展值。

答案 3 :(得分:0)

简单的答案是:
/是您的根目录
~是您的主目录

答案 4 :(得分:0)

要测试这个类型 cd / 或 cd ~ 然后 pwd 它将显示确切的本地