我已经下载了适用于 Windows 10 的 BASH。我将如何像在 Windows 环境中那样导航到网络地址?我已经看到提到的 SAMBA 并下载了smbclient。
我试过了:
smbclient \\localhost\
Run Code Online (Sandbox Code Playgroud)
我收到错误
ERROR: Could not determine network interfaces, you must use a interfaces config file
Run Code Online (Sandbox Code Playgroud)
我是 BASH 的新手用户,并认为这是提高效率的机会。
作为奖励,请展示我如何完成一些常见任务,例如通过网络复制文件,以及如何进行身份验证,因为此类操作可能需要这样做。
我正在使用 Windows 10 Pro PC 上的“Bash on Ubuntu on Windows”将我的媒体库备份到充当我的 NAS(它运行 NAS4Free)的 FreeBSD 服务器。这曾经完美地工作,但最近停止工作。由于我没有更改任何内容,因此我认为更改来自 Windows 更新之一,不确定。
无论如何,这就是发生的事情。就在复制了几个文件之后,rsync 传输就挂了。我让它在一夜之间运行以确认它只是挂了几个小时。当我通过向终端发送 CTRL + C 手动终止任务时,我收到一条错误消息,一段时间过去(大约 30 秒)并且程序停止:
arnaud@CLAVAIN:~$ rsync -arv --delete --no-compress /mnt/e/Music/ arnaud@nas4free.lan:~/pool1/lolilol/music
arnaud@nas4free.lan's password:
sending incremental file list
ost/Luke Cage (Original Soundtrack Album)/
ost/Luke Cage (Original Soundtrack Album)/40. Finding Chico.m4a
ost/Luke Cage (Original Soundtrack Album)/41. I Am Carl Lucas.m4a
ost/Luke Cage (Original Soundtrack Album)/42. Crispus Attucks.m4a
ost/Luke Cage (Original Soundtrack Album)/43. Hideout.m4a
ost/Luke Cage (Original Soundtrack Album)/44. Cuban Coffee.m4a
ost/Luke Cage …Run Code Online (Sandbox Code Playgroud) 我已经使用 WSL Bash/Ubuntu 好几年了,但由于某种原因,这个问题最近出现了。
DNS 无法解析任何名称,包括内部名称和外部名称。我第一次重新安装 WSL 时,我认为它可以工作一天……但现在不行了,即使我重新安装。
从 Windows Store 全新安装 Ubuntu 18.04:
user@hostname:~$ cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, remove this line.
nameserver <DNS server from wi-fi NIC 1>
nameserver <DNS server from wi-fi NIC 2>
nameserver <DNS server from ethernet 2 (VPN) NIC 1>
search anyconnect.local
user@hostname:~$ ping google.com -c 1
ping: google.com: Name or service not known
user@hostname:~$ ping 8.8.8.8 -c 1
PING 8.8.8.8 (8.8.8.8) …Run Code Online (Sandbox Code Playgroud) 我在 Windows 上的 Ubuntu或适用于 Linux 的Windows 子系统中的另一个 Linux 发行版上使用Bash,并且我已经lxss使用 Windows 编辑器在目录中编辑了一个 Linux 文件。
现在,每当我或程序尝试从 Linux 访问它时,我都会收到错误“输入/输出错误”,或者即使我可以在文件资源管理器中看到它确实存在,该文件也会完全消失。
cat abc
cat: abc: Input/output error
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?我能做些什么来修复它?我将来如何避免它?
我有一个 hello world 内核模块的源代码,它可以在笔记本电脑的 Ubuntu 20 中运行。现在我正在尝试在 Ubuntu 20 中但在 WSL2 中编译相同的代码。为此,我正在使用这个:
make -C /sys/modules/$(shell uname -r)/build M=$(PWD) modules
Run Code Online (Sandbox Code Playgroud)
问题是那/lib/modules是空的。好像 WSL2 什么都带不进来/lib/modules/4.19.104-microsoft-standard/build
我尝试使用以下方法获取标题:
sudo apt search linux-headers-`uname -r`
Sorting... Done
Full Text Search... Done
Run Code Online (Sandbox Code Playgroud)
但是在模块文件夹中没有填充任何内容
为了该文件夹包含所有必需的模块,我需要做什么吗?
[编辑]
感谢@HannahJ,越来越近。
我在做:
> sudo make -C /home/<user>/WSL2-Linux-Kernel M=$(pwd) modules
SL2-Linux-Kernel M=$(pwd) modules
make: Entering directory '/home/<user>/WSL2-Linux-Kernel'
CC [M] /home/<user>/containers-assembly-permissionsdemo/demo-2/lkm_example.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/<user>/containers-assembly-permissionsdemo/demo-2/lkm_example.mod.o
LD [M] /home/<user>/containers-assembly-permissionsdemo/demo-2/lkm_example.ko
make: Leaving directory '/home/<user>/WSL2-Linux-Kernel'
Run Code Online (Sandbox Code Playgroud)
最后,我lkm_example.ko创建了文件。
在那之后:
> …Run Code Online (Sandbox Code Playgroud) 我在 Haswell 笔记本电脑上使用适用于 Windows 10 (WSL2) 的 Ubuntu 20.04,每秒获得大约 0.6 个字节。等待 10 秒后总共 6 个字节。这是无法接受的。问题是什么?
编辑:这似乎只是在 WSL2 模式下运行时的问题。WSL1 = 40MiB/s WSL2 = 0.6 字节/s
如何从 WSL 控制台重新启动当前的 WSL 实例?
通常的“嫌疑人”不起作用:
reboot
shutdown -r
Run Code Online (Sandbox Code Playgroud)
他们失败并显示以下消息:
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以强制 WSL 重新启动吗?
我是 Ubuntu/Linux 世界的新手,所以不要对我太苛刻。
我在带有 WSL2 和 bash shell 的 Windows 上使用 Ubuntu。有时我想将文件从 Windows 复制到 Ubuntu 或其他方式。我在网上找到了一些关于如何执行此操作的教程,最简单的方法是导航到/mnt/c/Users/<your_user>.
我想创建一个像波浪号~这样的变量,这意味着我的 Windows 用户的主目录。我考虑过使用双波浪号,~~因为我看到它不是保留的或其他东西。
我在/bin命名中创建了一个可执行文件,~~它echo是必要的路径。但是使用起来很麻烦。
有没有办法创建一个特殊的角色~?如果没有,有没有更好的方法来做到这一点?
我想要的最终结果是能够执行以下操作:
cp ~~/Desktop/somefile.txt ~/somefile.txt
Run Code Online (Sandbox Code Playgroud) WSL 允许用户使用他们选择的任何发行版,并且默认安装 Ubuntu。
我不太明白 WSL 上下文中分布的相关性。我的理解是Linux发行版是指操作系统的皮肤。操作系统核心之上的 UI 层。但是,当使用 WSL 时,您只需使用命令行,或者运行一个独立的单一 GUI 应用程序。那么,在这种情况下,分布的相关性是什么?它对您选择的分布有何影响?
我在 Windows 10 机器上,启用/配置了适用于 Linux 的 Windows 子系统 (Ubuntu)。为了解释我的问题,让我向您展示两种情况:
场景一:
cmd.exe提示bash在cmd.exe提示符下运行bash)我运行给定的命令,dwiextract在我的情况下调用(来自神经影像分析软件包)工作正常,表明软件包安装成功。
场景2:
cmd.exe提示bashfrom cmd.exe:bash -c dwiextract我明白了command not found。
(注意我在bash -c 这里了解到并在其他场合成功使用了它。)
下图准确显示了我所做的:
我的问题:这两种情况不应该是等价的。为什么方案 1 有效而方案 2 无效?
非常感谢。