Pal*_*oma 6 command-line directory windows-subsystem-for-linux
我开始学习如何在 WSL (Windows) 上使用 Ubuntu 终端。
从课程一开始,它就说如果您使用该ls
命令,它应该显示您的“主”目录,但我的目录是这样的:
(base) paloma@DESKTOP-ISCC0ON:~$ ls
Anaconda3-2021.11-Linux-x86_64.sh anaconda3
(base) paloma@DESKTOP-ISCC0ON:~$
Run Code Online (Sandbox Code Playgroud)
如果我尝试更改目录,会发生类似的情况:
(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:~$
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我为什么会发生这种情况以及我能做什么吗?我是一个完全的新手。
@Tooster 的答案中的所有内容都已更正,但让我更直接地解决您的主要问题:
Run Code Online (Sandbox Code Playgroud)(base) paloma@DESKTOP-ISCC0ON:~$ cd Documents -bash: cd: Documents: No such file or directory
有人可以告诉我为什么会发生这种情况以及我能做什么吗?
您似乎想知道为什么这不会将您带到WindowsDocuments
主目录中的文件夹。
重要的是要了解 Ubuntu/WSL 中的主目录与 Windows 主目录不同,也不应该相同。您的 Ubuntu 主目录位于 WSL 提供的虚拟 SSD 中。这个虚拟SSD提供了Linux兼容文件系统,而您的 Windows 驱动器格式化为 NTFS,不会具有 100% 兼容性。
正如 @Tooster 所提到的, WSL确实提供了一种访问 Windows 文件(包括您的主目录)的方法。
从 Ubuntu 内部:
cd /mnt/c/Users/<your_Windows_username>
ls
Run Code Online (Sandbox Code Playgroud)
这应该会显示 Windows 配置文件(也称为主目录)文件夹中的所有文件和目录。
也许还可以阅读作为附加背景 - 我对WSL 位于我的计算机上的位置的回答?。
首先尝试使用隔离代码块格式格式化代码并从终端输出。
现在讲功绩。
~
)通常位于/home/<username>/
ls
- 命令列出当前目录中的文件ls [arguments...]
- 此命令列出作为参数提供的目录内的文件cd [argument]
- 更改目录命令。不带参数使用它会将您带到主目录/
是linux中的根目录,绝对路径以它开头.
是当前目录,如果路径以它开头./something
或不以它开头something
,则假定当前目录(路径相对于当前位置)..
是父目录。根据(base)
提示符和上面文件的名称,我会说您正在WSL(Linux 的 Windows 子系统)上使用conda环境。你为什么用它不关我的事,但你在第一次学习linux和WSL时似乎跳过了一些步骤。尝试从https://linuxjourney.com/开始(尤其是命令行部分和文件系统部分)。然后了解linux和windows结构的差异。
@编辑因为我只注意到你在 Windows 上使用 Linux
因为linux 和windows 的文件系统有点不同,所以当您在windows 上启动linux 时,会为您创建一个虚拟文件系统。要从 Linux 访问 Windows 文件,您必须访问/mnt/<drive>/<...windows files>
(注意/
开头的 - 这是绝对路径)
Linux 的结构是一棵以 为根的树/
,外部文件系统通常安装在/mnt
(请阅读hier(7)了解更多信息)。Windows 的文件系统由“驱动器”组成——以 等为根的单棵树C:/
,D:/
因此这两个系统自然有不同的机制来访问彼此的文件。
了解更多信息,请访问https://ling123labs.com/posts/WSL-files-in-Windows-and-vice-versa/