可以運行在 Windows 10 中的最實用的 Linux 命令
在本系列早先的文章中,我們討論了關於如何在 Windows 10 上開啟 WSL 之旅 的內容。作為本系列的最後一篇文章,我們準備探討一些能在 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 號)等。您可以在 這裡 閱讀更多相關內容。
管理遠程伺服器
在 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) 課程中了解更多,可以在 這裡 註冊。
via: https://www.linux.com/blog/learn/2018/3/most-useful-linux-commands-you-can-run-windows-10
作者:SAPNIL BHARTIYA 譯者:CYLeft 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive