如何像Linux專家那樣使用WSL
在本 WSL 教程中了解如何執(zhí)行像掛載 USB 驅(qū)動(dòng)器和操作文件等任務(wù)。
在之前的教程中,我們學(xué)習(xí)了如何在 Windows 10 上設(shè)置 WSL。你可以在 Windows 10 中使用 WSL 執(zhí)行許多 Linux 命令。無(wú)論是基于 Linux 的系統(tǒng)還是 macOS,它們的許多系統(tǒng)管理任務(wù)都是在終端內(nèi)部完成的。然而,Windows 10 缺乏這樣的功能。你想運(yùn)行一個(gè) cron 任務(wù)么?不行。你想 SSH 進(jìn)入你的服務(wù)器,然后 rsync
文件么?沒(méi)門(mén)。如何用強(qiáng)大的命令行工具管理本地文件,而不是使用緩慢和不可靠的 GUI 工具呢?
在本教程中,你將看到如何使用 WSL 執(zhí)行除了管理之外的任務(wù) —— 例如掛載 USB 驅(qū)動(dòng)器和操作文件。你需要運(yùn)行一個(gè)完全更新的 Windows 10 并選擇一個(gè) Linux 發(fā)行版。我在上一篇文章中介紹了這些步驟,所以如果你跟上進(jìn)度,那就從那里開(kāi)始。讓我們開(kāi)始吧。
保持你的 Linux 系統(tǒng)更新
事實(shí)上,當(dāng)你通過(guò) WSL 運(yùn)行 Ubuntu 或 openSUSE 時(shí),其底層并沒(méi)有運(yùn)行 Linux 內(nèi)核。然而,你必須保持你的發(fā)行版完整更新,以保護(hù)你的系統(tǒng)免受任何新的已知漏洞的影響。由于在 Windows 應(yīng)用商店中只有兩個(gè)免費(fèi)的社區(qū)發(fā)行版,所以教程將只覆蓋以下兩個(gè):openSUSE 和 Ubuntu。
更新你的 Ubuntu 系統(tǒng):
# sudo apt-get update
# sudo apt-get dist-upgrade
運(yùn)行 openSUSE 的更新:
# zypper up
您還可以使用 dup
命令將 openSUSE 升級(jí)到***版本。但在運(yùn)行系統(tǒng)升級(jí)之前,請(qǐng)使用上一個(gè)命令運(yùn)行更新。
# zypper dup
注意: openSUSE 默認(rèn)為 root 用戶。如果你想執(zhí)行任何非管理員任務(wù),請(qǐng)切換到非特權(quán)用戶。您可以這篇文章中了解如何在 openSUSE上 創(chuàng)建用戶。
管理本地文件
如果你想使用優(yōu)秀的 Linux 命令行工具來(lái)管理本地文件,你可以使用 WSL 輕松完成此操作。不幸的是,WSL 還不支持像 lsblk
或 mount
這樣的東西來(lái)掛載本地驅(qū)動(dòng)器。但是,你可以 cd
到 C 盤(pán)并管理文件:
/mnt/c/Users/swapnil/Music
我現(xiàn)在在 C 盤(pán)的 Music 目錄下。
要安裝其他驅(qū)動(dòng)器、分區(qū)和外部 USB 驅(qū)動(dòng)器,你需要?jiǎng)?chuàng)建一個(gè)掛載點(diǎn),然后掛載該驅(qū)動(dòng)器。
打開(kāi)文件資源管理器并檢查該驅(qū)動(dòng)器的掛載點(diǎn)。假設(shè)它在 Windows 中被掛載為 S:\。
在 Ubuntu/openSUSE 終端中,為驅(qū)動(dòng)器創(chuàng)建一個(gè)掛載點(diǎn)。
sudo mkdir /mnt/s
現(xiàn)在掛載驅(qū)動(dòng)器:
mount -f drvfs S: /mnt/s
掛載完畢后,你現(xiàn)在可以從發(fā)行版訪問(wèn)該驅(qū)動(dòng)器。請(qǐng)記住,使用 WSL 方式運(yùn)行的發(fā)行版將會(huì)看到 Windows 能看到的內(nèi)容。因此,你無(wú)法掛載在 Windows 上無(wú)法原生掛載的 ext4 驅(qū)動(dòng)器。
現(xiàn)在你可以在這里使用所有這些神奇的 Linux 命令。想要將文件從一個(gè)文件夾復(fù)制或移動(dòng)到另一個(gè)文件夾?只需運(yùn)行 cp
或 mv
命令。
cp /source-folder/source-file.txt /destination-folder/
cp /music/classical/Beethoven/symphony-2.mp3 /plex-media/music/classical/
如果你想移動(dòng)文件夾或大文件,我會(huì)推薦 rsync
而不是 cp
命令:
rsync -avzP /music/classical/Beethoven/symphonies/ /plex-media/music/classical/
耶!
想要在 Windows 驅(qū)動(dòng)器中創(chuàng)建新目錄,只需使用 mkdir
命令。
想要在某個(gè)時(shí)間設(shè)置一個(gè) cron 作業(yè)來(lái)自動(dòng)執(zhí)行任務(wù)嗎?繼續(xù)使用 crontab -e
創(chuàng)建一個(gè) cron 作業(yè)。十分簡(jiǎn)單。
你還可以在 Linux 中掛載網(wǎng)絡(luò)/遠(yuǎn)程文件夾,以便你可以使用更好的工具管理它們。我的所有驅(qū)動(dòng)器都插在樹(shù)莓派或者服務(wù)器上,因此我只需 ssh
進(jìn)入該機(jī)器并管理硬盤(pán)。在本地計(jì)算機(jī)和遠(yuǎn)程系統(tǒng)之間傳輸文件可以再次使用 rsync
命令完成。
WSL 現(xiàn)在已經(jīng)不再是測(cè)試版了,它將繼續(xù)獲得更多新功能。我很興奮的兩個(gè)特性是 lsblk
命令和 dd
命令,它們?cè)试S我在 Windows 中本機(jī)管理我的驅(qū)動(dòng)器并創(chuàng)建可引導(dǎo)的 Linux 驅(qū)動(dòng)器。如果你是 Linux 命令行的新手,前一篇教程將幫助你開(kāi)始使用一些最基本的命令。