微軟愛上 Linux:當 PowerShell 來到 Linux 時
在微軟愛上 Linux 之後,PowerShell 這個原本只是 Windows 才能使用的元件,於 2016 年 8 月 18 日開源並且成為跨平臺軟體,登陸了 Linux 和 macOS。
PowerShell 是一個微軟開發的自動化任務和配置管理系統。它基於 .NET 框架,由命令列語言直譯器(shell)和指令碼語言組成。
PowerShell 提供對 COM (元件物件模型) 和 WMI (Windows 管理規範) 的完全訪問,從而允許系統管理員在本地或遠端 Windows 系統中 執行管理任務,以及對 WS-Management 和 CIM(公共資訊模型)的訪問,實現對遠端 Linux 系統和網路裝置的管理。
透過這個框架,管理任務基本上由稱為 cmdlets(發音 command-lets)的 .NET 類執行。就像 Linux 的 shell 指令碼一樣,使用者可以透過按照一定的規則將一組 cmdlets 寫入檔案來製作指令碼或可執行檔案。這些指令碼可以用作獨立的命令列程式或工具。
在 Linux 系統中安裝 PowerShell Core 6.0
要在 Linux 中安裝 PowerShell Core 6.0,我們將會用到微軟軟體倉庫,它允許我們透過最流行的 Linux 包管理器工具,如 apt-get、yum 等來安裝。
在 Ubuntu 16.04 中安裝
首先,匯入該公共倉庫的 GPG 金鑰,然後將 Microsoft Ubuntu 倉庫註冊到 APT 的源中來安裝 PowerShell:
$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
$ curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list
$ sudo apt-get update
$ sudo apt-get install -y powershell
在 Ubuntu 14.04 中安裝
$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
$ curl https://packages.microsoft.com/config/ubuntu/14.04/prod.list | 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 https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/microsoft.repo
$ sudo yum install -y powershell
如何在 Linux 中使用 PowerShell Core 6.0
在這一節中,我們將會簡單介紹下 PowerShell;我們將會看到如何啟動 PowerShell,執行一些基礎命令,操作檔案、目錄和程式。然後學習怎樣列出所有可用的命令、顯示命令幫助和別名。
輸入以下命令來啟動 PowerShell:
$ powershell
在 Linux 中啟動 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
在 PowerShell 中建立新檔案
2、 在 PowerShell 中刪除一個檔案
remove-item tecmint.tex
get-content tecmint.tex
在 PowerShell 中刪除一個檔案
3、 建立目錄
mkdir tecmint-files
cd tecmint-files
“”>domains.list
ls
在 PowerShell 中建立目錄
4、 執行長格式的列表操作,列出檔案/目錄詳細情況,包括模式(檔案型別)、最後修改時間等,使用以下命令:
dir
Powershell 中列出目錄長列表
5、 顯示系統中所有的程式:
get-process
在 PowerShell 中顯示執行中的程式
6、 透過給定的名稱檢視正在執行的程式/程式組細節,將程式名作為引數傳給上面的命令,如下:
get-process apache2
在 PowerShell 中檢視指定的程式
輸出中各部分的含義:
- NPM(K) – 程式使用的非分頁記憶體,單位:Kb。
- PM(K) – 程式使用的可分頁記憶體,單位:Kb。
- WS(K) – 程式的工作集大小,單位:Kb,工作集由程式所引用到的記憶體頁組成。
- CPU(s) – 程式在所有處理器上所佔用的處理器時間,單位:秒。
- ID – 程式 ID (PID).
- ProcessName – 程式名稱。
7、 想要了解更多,獲取 PowerShell 命令列表:
get-command
列出 PowerShell 的命令
8、 想知道如何使用一個命令,檢視它的幫助(類似於 Unix/Linux 中的 man);舉個例子,你可以這樣獲取命令 Describe 的幫助:
get-help Describe
PowerShell 幫助手冊
9、 顯示所有命令的別名,輸入:
get-alias
列出 PowerShell 命令別名
10、 最後,不過也很重要,顯示命令歷史記錄(曾執行過的命令的列表):
history
顯示 PowerShell 命令歷史記錄
就是這些了!在這篇文章裡,我們展示瞭如何在 Linux 中安裝微軟的 PowerShell Core 6.0。在我看來,與傳統 Unix/Linux 的 shell 相比,PowerShell 還有很長的路要走。目前看來,PowerShell 還需要在命令列操作機器,更重要的是,程式設計(寫指令碼)等方面,提供更好、更多令人激動和富有成效的特性。
檢視 PowerShell 的 GitHub 倉庫:https://github.com/PowerShell/PowerShell。
請在評論中分享你的觀點。
作者簡介:
Aaron Kili 是一個 Linux 和 F.O.S.S 狂熱愛好者,將來的 Linux 系統管理員、web 開發者,目前是 TecMint 的內容編輯,是一個熱愛研究計算機與堅定的分享知識的人。
via: http://www.tecmint.com/install-powershell-in-linux/
作者:Aaron Kili 譯者:zijung 校對:jasminepeng
相關文章
- linux重起時到starting udev 時就當機Linuxdev
- Linux 安裝 powershellLinux
- 微軟愛 Linux:安全防毒軟體 Defender ATP 要出 Linux 版了!微軟Linux防毒
- 當微軟離去時微軟
- 微軟和 Linux :真正的浪漫還是有毒的愛情?微軟Linux
- 微軟和Linux:真正的浪漫還是有毒的愛情?微軟Linux
- 當流量尖峰到達時,在 Linux 核心中解決網路問題Linux
- windows的盤掛到linux上WindowsLinux
- 對Linux既拉又打 微軟與開源的“愛恨情仇”Linux微軟
- 當你在 Linux 上啟動一個程式時會發生什麼?Linux
- 在Linux上安裝Android 4.4 KitKat來玩玩喜愛的遊戲和應用LinuxAndroid遊戲
- Powershell匯出當前機器上所有子網IP
- Windows 上的 Bash 正在成為微軟的 LinuxWindows微軟Linux
- Linux當前當前程式Linux
- 微軟Surface Studio銷量可觀 國行何時到來?微軟
- 上傳執行sql檔案到linuxSQLLinux
- 更快的機器學習即將來到 Linux 核心機器學習Linux
- SCSI裝置在Linux上跑起來(轉)Linux
- 把 Linux 移植到蘋果 M1 Mac 上Linux蘋果Mac
- 如何從 Windows 上用 SSH 連線到 LinuxWindowsLinux
- 定時備份windows機器上的檔案到linux伺服器上的操作梳理(rsync)WindowsLinux伺服器
- 在Linux中,如何檢視當前日期和時間?Linux
- 瘋狂了!當遊戲愛上MongoDB會怎麼樣???遊戲MongoDB
- 微軟呼籲所有的 Linux 開發者轉到 Windows 10 平臺微軟LinuxWindows
- 在 Linux 上用 strace 來理解系統呼叫Linux
- 微軟將為Linux帶來巢狀式虛擬化支援微軟Linux巢狀
- 微軟宣佈Win10迎來原生Linux容器環境微軟Win10Linux
- 微軟在使用Linux? (轉)微軟Linux
- 如何 SSH 登入到 Linux 上的特定目錄Linux
- 幾種windows到linux上傳檔案的方式WindowsLinux
- linux 上 10g rac 升級到10.2.0.4Linux
- 用putty上傳window檔案到linux或unixLinux
- linux是用來幹嘛的?Linux運維平時都做什麼Linux運維
- Linux 容器技術史話:從 chroot 到未來Linux
- Linux上網共享的定時開通(轉)Linux
- 如何在 Linux 上使用 kill 和 killall 來管理程式Linux
- linux 的當前路路徑Linux
- Linux 應當放棄桌面Linux