作者 | Sapnil Bhartiya
譯者 | ChenYi (cyleft) ? ? ? 共計翻譯:23 篇 貢獻時間:73 天
在本系列早先的文章中,我們討論了關於如何在 Windows 10 上開啟 WSL 之旅[1] 的內容。作為本系列的最後一篇文章,我們準備探討一些能在 Windows 10 上廣泛使用的 Linux 命令。
話題深入之前,請先讓我們明確本教程所適用的人群。本文適用於使用 Windows 10 系統,但是又想在 Azure、AWS 或是私有雲平臺上學習 Linux 的初級開發者。換句話說,就是為了幫助初次接觸 Linux 系統的 Windows 10 使用者。
您的工作任務決定了您所需要的命令,而我的需求可能和您的不一樣。本文旨在幫助您在 Windwos 10 上舒服的使用 Linux。不過請牢記,WSL 並不提供硬體訪問的功能,比如音效卡、GPU,至少官方是這麼描述的。但是這可能並不能阻止 Linux 使用者的折騰精神。很多使用者不僅完成了硬體訪問,甚至已經在 Windows 10 上安裝上了 Linux 桌面程式。但是本文並不會涉及這些內容,我們可能會討論這些,但不是現在。
下麵是我們需要著手的任務。
如何讓您的 Linux 系統保持到最新的版本
因為 Linux 執行在了 Windows 系統中,所以您將被剝奪 Linux 系統所提供的所有安全特性。另外,如果不及時給 Linux 系統打補丁,你的 Windows 裝置將被迫暴露在外界威脅中,所以還請保持您的 Linux 為最新版本。
WSL 官方支援 openSUSE/SUSE Linux Enterprise 和 Ubuntu。您也可以安裝其他發行版,但是我只需要它們當中的二者之一就可以完成我的所有工作,畢竟,我只需要訪問一些 Linux 基礎程式。
更新 openSUSE Leap:
sudo zypper up
如果您想升級系統,您可以執行下麵的命令:
sudo zypper dup
更新 Ubuntu:
sudo apt-get update
sudo apt-get dist-upgrade
這樣你就安全了,由於 Linux 系統的更新是漸進式的,所以更新系統成為了我的日常。不像 Windows 10 的更新通常需要重啟系統,而 Linux 不同,一般只有 KB 或是 MB 級的更新,無需重啟。
管理檔案目錄
系統更新之後,我們來看看一些或普通或不太普通的任務。
系統更新之外的第二重要的任務是使用 Linux 管理本地和遠端檔案。我承認我更青睞圖形介面程式,但是終端能提供更可靠、更有價值的服務。要不你使用資源管理器移動 1 TB 的檔案試試?我通常使用 rsync
命令來移動大量檔案。如果中斷任務,rsync
可以在上次停止的位置繼續工作。
雖然您可能更習慣使用 cp
或是 mv
命令複製、移動檔案,但是我還是喜歡靈活的 rsync
命令,瞭解 rsync
對遠端檔案傳輸也有幫助。使用 rsync
大半為了完成下麵三個任務:
使用 rsync 複製整個目錄:
rsync -avzP /source-directory /destination directory
使用 rsync 移動檔案:
rsync --remove-source-files -avzP /source-directory /destination-directory
在成功複製標的目錄之後,此命令將刪除源檔案。
使用 rsync 同步檔案:
我的檔案可能在多處儲存。但是,我只會在主要位置中增加或是刪除。如果不使用專業的軟體,同步檔案可能會給使用者帶來挑戰,而 rsync
剛好可以簡化這個過程。這個命令可以讓兩個目錄檔案內容同步。不過要註意,這是一個單向同步,即從源位置同步到標的位置。
rsync --delete -avzP /source-directory /destination-directory
如果源目錄中沒有找到檔案,上述命令將刪除標的目錄中的檔案。換言之,它建立了源目錄的一個映象。
檔案自動備份
保持檔案備份是一項乏味的工作。為了保持我的裝置的完全同步,我運行了一個 cron 作業在夜間保持我的所有目錄同步。不過我會留一個外部驅動器,基本上每週我都會手動同步一次。由於可能刪掉我不想刪除的檔案,所以我並沒有使用 --delete
選項。我會根據情況手動決定是否使用這個選項。
建立 cron 作業,開啟 crontab:
crontab -e
移動大檔案時,我會選擇在系統空閑的深夜執行該命令。此命令將在每天早上 1 點執行,您大概可以這樣修改它:
# 0 1 * * * rsync -avzP /source-directory /destination-directory
這是使用 crontab 的定時作業的命令結構:
# m h dom mon dow command
在此,m
= 分鐘,h
= 小時,dom
= 本月的某天,mon
= 月,dow
= 本週的某天。
我們將在每天早上 1 點執行這條命令。您可以選擇 dow
或是 dom
(比如,每月 5 號)等。您可以在 這裡[2] 閱讀更多相關內容。
管理遠端伺服器
在 Windows 系統上使用 WSL 的優勢之一就是能方便管理雲上的 Linux 伺服器,WSL 能提供原生的 Linux 工具給您。首先,您需要使用 ssh
命令登入遠端 Linux 伺服器。
比如,我的伺服器 ip 是 192.168.0.112;埠為 2018(不是預設的 22 埠);Linux 使用者名稱是 swapnil,密碼是 “就不告訴你”。
ssh -p2018 swapnil@192.168.0.112
它會向您詢問使用者密碼,然後您就可以登入到 Linux 伺服器了。現在您可以在 Linux 伺服器上執行任意您想執行的所有操作了。不需使用 PuTTY 程式了。
使用 rsync
,您可以很輕易的在本地機器和遠端機器之間傳輸檔案。源目錄還是標的目錄取決於您是上傳檔案到伺服器,還是下載檔案到本地目錄,您可以使用 username@IP-address-of-server:/path-of-directory
來指定目錄。
如果我想複製一些文字內容到伺服器的 home 目錄,命令如下:
rsync -avzP /source-directory-on-local-machine ‘ssh -p2018’ swapnil@192.168.0.112:/home/swapnil/Documents/
這將會複製這些檔案到遠端伺服器中 Documents
目錄。
總結
本教程主要是為了證明您可以在 Windows 10 系統上透過 WSL 完成 Linux 方面的很大一部分的任務。通常來說,它提高了生產效率。現在,Linux 的世界已經向 Windwos 10 系統張開懷抱了,盡情探索吧。如果您有任何疑問,或是想瞭解 WSL 涉及到的其他層面,歡迎在下方的評論區分享您的想法。
在 Administering Linux on Azure (LFS205)[3] 課程中瞭解更多,可以在 這裡[4] 註冊。
via: https://www.linux.com/blog/learn/2018/3/most-useful-linux-commands-you-can-run-windows-10
作者:SAPNIL BHARTIYA[6] 譯者:CYLeft 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出