我开始学习如何在 WSL(Windows)上使用 Ubuntu 终端。
从课程一开始就说,如果你使用该ls
命令,它应该显示你的“主”目录,但我的目录是这样的:
(base) paloma@DESKTOP-ISCC0ON:~$ ls
Anaconda3-2021.11-Linux-x86_64.sh anaconda3
(base) paloma@DESKTOP-ISCC0ON:~$
如果我尝试更改目录,就会发生如下情况:
(base) paloma@DESKTOP-ISCC0ON:~$ ls
Anaconda3-2021.11-Linux-x86_64.sh anaconda3
(base) paloma@DESKTOP-ISCC0ON:~$ cd Documents
-bash: cd: Documents: No such file or directory
(base) paloma@DESKTOP-ISCC0ON:~$
有人能告诉我为什么会发生这种情况吗?我该怎么办?我是个新手。
答案1
一切都在@Tooster 的回答已更正,但让我更直接地回答你的主要问题:
(base) paloma@DESKTOP-ISCC0ON:~$ cd Documents -bash: cd: Documents: No such file or directory
有人能告诉我为什么会发生这种情况以及我该怎么办吗?
你似乎想知道为什么这不会带你到Documents
你的视窗主目录。
重要的是要了解 Ubuntu/WSL 中的主目录是不是与 Windows 主目录相同,也不应该相同。您的 Ubuntu 主目录位于 WSL 提供的虚拟 SSD 中。此虚拟 SSD 提供LinuxUbuntu 需要的兼容文件系统,而您的 Windows 驱动器格式化为 NTFS,并且不会有 100% 的兼容性。
西弗吉尼亚海岸做提供一种获取 Windows 文件(包括您的主目录)的方法,正如@Tooster 所提到的。
从 Ubuntu 内部:
cd /mnt/c/Users/<your_Windows_username>
ls
这将向您显示 Windows 配置文件(又名主)文件夹中的所有文件和目录。
或许也可以阅读作为额外的背景知识——我的回答WSL 位于我的计算机上的什么位置?。
答案2
首先尝试使用以下方式格式化代码并从终端输出隔离代码块格式。
现在来谈谈优点。
- 当前工作目录是您所在的目录。您的主目录(通常用 表示
~
)通常位于/home/<username>/
ls
- 命令列表文件在当前目录中ls [arguments...]
- 此命令列出文件作为参数提供的目录内部cd [argument]
- 更改目录命令。不带参数使用该命令将带您到你的主目录/
是 Linux 中的根目录,绝对路径以它开头.
是当前目录,并且无论路径以它开头./something
还是不以它开头something
,都假定为当前目录(路径相对于当前位置)..
是父目录。
根据(base)
提示和上面的文件名称,我认为你正在使用康达环境。你为什么要使用它与我无关,但你似乎在学习 Linux 和 WSL 时跳过了一些步骤。尝试从https://linuxjourney.com/(特别是命令行部分和文件系统部分)。然后了解 Linux 和 Windows 结构上的差异。
@编辑因为我只注意到你正在使用 Linux在 Windows 上
由于 Linux 和 Windows 的文件系统略有不同,当您在 Windows 上启动 Linux 时,会为您创建一个虚拟文件系统。要从 Linux 访问 Windows 文件,您必须访问/mnt/<drive>/<...windows files>
(请注意/
开头的 - 这是绝对路径)
Linux 的结构是一棵树,根目录为/
,外部文件系统通常安装在/mnt
(读取此处(7)了解更多信息)。Windows 的文件系统由“驱动器”组成 - 以 为根的单棵树C:/
,D:/
等等,因此这两个系统具有不同的机制来访问彼此的文件是很自然的。
阅读更多https://ling123labs.com/posts/WSL-files-in-Windows-and-vice-versa/
答案3
如果您想从 WSL 轻松访问 Windows“文档”文件夹,您可以从主目录创建一个符号链接:
ln -s '/mnt/c/Users/YourUserNameHere/Documents' ./WinDocuments
您可以对文档执行此操作,也可以仅链接您的 Windows 主目录。