微軟愛上Linux:當PowerShell來到Linux時

在微軟愛上 Linux[1] 之後,PowerShell 這個原本只是 Windows 才能使用的組件,於 2016 年 8 月 18 日開源並且成為跨平台軟體[2],登陸了 Linux 和 macOS。

PowerShell 是一個微軟開發的自動化任務和配置管理系統。它基於 .NET 框架,由命令行語言解釋器(shell)和腳本語言組成。

PowerShelln 提供對 COM (組件對象模型Component Object Model) 和 WMI (Windows 管理規範Windows nManagement Instrumentation) 的完全訪問,從而允許系統管理員在本地或遠程 Windows 系統中 n執行管理任務[3],以及對 WS-Management 和 CIM(公共信息模型Common Information nModel)的訪問,實現對遠程 Linux 系統和網路設備的管理。

通過這個框架,管理任務基本上由稱為 cmdlets(發音 ncommand-lets)的 .NET 類執行。就像 Linux 的 shell 腳本一樣,用戶可以通過按照一定的規則將一組 cmdlets n寫入文件來製作腳本或可執行文件。這些腳本可以用作獨立的命令行程序或工具[4]。

在 Linux 系統中安裝 PowerShell Core 6.0

要在 Linux 中安裝 PowerShell Core 6.0,我們將會用到微軟軟體倉庫,它允許我們通過最流行的 Linux 包管理器工具,如 apt-get[5]、yum[6] 等來安裝。

在 Ubuntu 16.04 中安裝

首先,導入該公共倉庫的 GPG 密鑰,然後將 Microsoft Ubuntu 倉庫註冊到 APT 的源中來安裝 PowerShell:

$ curl packages.microsoft.com/ | sudo apt-key add -

$ curl packages.microsoft.com/ | sudo tee /etc/apt/sources.list.d/microsoft.list

$ sudo apt-get update

$ sudo apt-get install -y powershell

在 Ubuntu 14.04 中安裝

$ curl packages.microsoft.com/ | sudo apt-key add -

$ curl packages.microsoft.com/ | sudo tee /etc/apt/sources.list.d/microsoft.list

$ sudo apt-get update

$ sudo apt-get install -y powershell

在 CentOS 7 中安裝

首先,將 Microsoft RedHat 倉庫註冊到 YUM 包管理器倉庫列表中,然後安裝 PowerShell:

$ sudo curl packages.microsoft.com/ > /etc/yum.repos.d/microsoft.repo

$ sudo yum install -y powershell

如何在 Linux 中使用 PowerShell Core 6.0

在這一節中,我們將會簡單介紹下 PowerShell;我們將會看到如何啟動 PowerShell,運行一些基礎命令,操作文件、目錄和進程。然後學習怎樣列出所有可用的命令、顯示命令幫助和別名。

輸入以下命令來啟動 PowerShell:$ powershell

你可以通過以下命令來查看 PowerShell 版本:

$PSVersionTable

查看 PowerShell 版本

在 Linux 中運行基本的 PowerShell 命令。

get-date [# 顯示當前日期]

get-uptime [# 顯示開機時間]

get-location [# 顯示當前工作目錄]

在 PowerShell 中操作文件和目錄

1、 可以通過兩種方法創建空文件:

new-item tecmint.tex

或者

"">tecmint.tex

然後往裡面添加內容並查看文件內容。

set-content tecmint.tex -value "TecMint Linux How Tos Guides"

get-content tecmint.tex

2、 在 PowerShell 中刪除一個文件

remove-item tecmint.tex

get-content tecmint.tex

在 PowerShell 中刪除一個文件

3、 創建目錄

mkdir tecmint-files

cd tecmint-files

「」>domains.list

ls

4、 執行長格式的列表操作,列出文件/目錄詳細情況,包括模式(文件類型)、最後修改時間等,使用以下命令:

dir

5、 顯示系統中所有的進程:

get-process

6、 通過給定的名稱查看正在運行的進程/進程組細節,將進程名作為參數傳給上面的命令,如下:

get-process apache2

輸出中各部分的含義:

  • NPM(K) – 進程使用的非分頁內存,單位:Kb。

  • PM(K) – 進程使用的可分頁內存,單位:Kb。

  • WS(K) – 進程的工作集大小,單位:Kb,工作集由進程所引用到的內存頁組成。

  • CPU(s) – 進程在所有處理器上所佔用的處理器時間,單位:秒。

  • ID – 進程 ID (PID).

  • ProcessName – 進程名稱。

7、 想要了解更多,獲取 PowerShell 命令列表:

get-command

9、 顯示所有命令的別名,輸入:

get-alias

就是這些了!在這篇文章里,我們展示了如何在 Linux 中安裝微軟的 PowerShell Core 6.0。在我看來,與傳統 nUnix/Linux 的 shell 相比,PowerShell 還有很長的路要走。目前看來,PowerShell n還需要在命令行操作機器,更重要的是,編程(寫腳本)等方面,提供更好、更多令人激動和富有成效的特性。

出處; 微軟愛上Linux:當PowerShell來到Linux時

大家可以加小編微信:xtechday (備註:知乎),喜歡注於大數據,機器學習,人工智慧的愛好者的技術分享群,一起踏上人工智慧的學習旅程。


推薦閱讀:

科學式家|第四範式陳雨強:萬字深析工業界機器學習最新黑科技
一位「AI 專家」的自白:自己像個騙子
論文篇:Latent Dirichlet Allocation(LDA)(一)
深度學習(Deep Learning)基礎概念5:深度學習基礎概念測試題及詳解

TAG:大数据 | 人工智能 | 机器学习 |