~
是否有任何内容与 Linux 中找到的字符相对应。例如CD ~\Downloads
从任何地方转到用户的下载文件夹?
答案1
Windows cmd 中没有类似的东西~
,但你可以使用%USERPROFILE%
或%HOMEDRIVE%%HOMEPATH%
像$HOME
*nix 中那样。请参阅
但是在 PowerShell 中,您可以~
像在 Linux 上一样使用。cd ~
将按预期工作,或者您可以cd
像在 Linux 上一样在 PowerShell Core 中将其缩短为
波浪符号 (~) 是当前用户主文件夹的简写符号。此示例显示
Resolve-Path
返回完全限定路径值。Resolve-Path ~ Path ---- C:\Users\User01
PS C:\> Push-Location ~ -StackName Stack2 PS C:\Users\User01> Pop-Location -StackName Stack2 PS C:\>
第一个命令将当前位置推送到名为 Stack2 的新堆栈上,然后将当前位置更改为主目录,在命令中用波浪符号 (
~
) 表示,在 FileSystem 提供程序驱动器上使用时等同于$HOME
和$env:USERPROFILE
。
在 PowerShell Core 中cd
,单独使用没有位置的行为与在 Linux 上的行为完全相同,cd
并且cd ~
两者都更改主目录
-Path
指定新工作位置的路径。如果未提供路径,
Set-Location
则默认为当前用户的主目录。使用通配符时,cmdlet 将选择与通配符模式匹配的第一个路径。
答案2
这~
(波浪符号) 是内置的快捷方式,可自动完成到用户的“主”文件夹。通常,主文件夹位于 /home/ 下,但实际上它可以位于系统上的几乎任何位置(包括网络驱动器上)。这是在 中定义的/etc/passwd
。
那么cd ~/Downloads
实际上运行命令cd /home/<username>/Downloads