【黑客基礎】Windows PowerShell 指令碼學習(上)
視訊地址:【黑客基礎】Windows PowerShell 指令碼學習
2019.12.05 學習筆記
1、$PSVersionTable :檢視PowerShell的版本資訊。
2、PowerShell 介面:
- 開始介面搜尋 “PowerShell” ,點選 “PowerShell.exe” 或者 “PowerShell ISE”。
- cmd 命令介面輸入 “PowerShell”。
3、PowerShell 快捷鍵
- Alt + F7 :清除命令等歷史記錄,相當於 cls 命令。
- Ctrl + PgUp :上翻頁。
- Ctrl + PgDn :下翻頁。
- 上下箭頭鍵 :切換命令列等歷史記錄。
- 左/右箭頭鍵 :左右移動游標。
- Ctrl + Home :
- Ctrl + End :
- ESC:清空當前命令列。
- Tab :自動補齊並選擇補齊命令或檔名。
- Enter :執行當前的命令。
- Ctrl + C :取消正在執行等命令。
- Backspace :從右刪除命令列字元。
- F2 :自動補充歷史命令到指定字元。
- F4 :刪除命令列至游標右邊指定等字元處。
- F7 :對話方塊顯示命令列歷史記錄。
- F8 :檢索包含指定字元的命令列歷史記錄。
- F9 :根據命令列等歷史記錄編號選擇命令,歷史記錄編號可以通過 F7 檢視。
4、PowerShell 的管道
- PowerShell 的管道是基於物件的,和Linux Shell 基於文字不同。
- 管道:前一個命令的輸出作為下一個命令的輸入。
- 重定向:
- “>” 表示輸出到某檔案,覆蓋檔案原有的內容,如果檔案不存在則自動建立。
- “>>” 表示新增到某檔案內容的結尾。
5、PowerShell 的運算子
- 支援四則運算
- 支援數值的進位制轉換
- 支援邏輯運算
6、PowerShell 使用外部命令
-
PowerShell 是 cmd 的擴充套件,cmd 的命令在 PowerShell 中基本都可以使用執行。
-
netstat -ano :檢視埠資訊,同 cmd 命令。
-
ipconfig :檢視網路配置資訊,同 cmd 命令。
-
route print :列印路由資訊,同 cmd 命令。
-
start :開啟應用程式。
-
notepad :開啟文字編輯器,同 cmd 命令。
-
calc :開啟計算器,同 cmd 命令。
-
&"command" :開啟PowerShell 外部命令,PowerShell 專用。
-
$env:path :輸出 path 環境變數的內容。
-
$env:path = $env:path + "dir_path" :臨時新增 path 環境變數。
7、PowerShell 的命令集
- Get-Command :獲取 PowerShell 所有的命令。
- PowerShell 的命令型別有 Alias 、Function 、Cmdlet 三種。
- Alias :別名。
- Function :函式。
- Cmdlet :PowerShell 內部命令,以動-名詞的格式命名。
- Get-Help :獲取命令的幫助資訊。
- Get-process :獲取系統的程式資訊。
- Get-Alias :獲取別名對應的命令資訊。
- Get-History :獲取命令列使用命令的歷史資訊。
- Get-Date:獲取當前的日期時間資訊。
8、PowerShell 的別名
- Get-Help :獲取命令的幫助資訊,包含命令的別名資訊。
- Get-Alias :獲取別名對應的命令資訊。
- Get-Alias -name "ls" :獲取別名是“ls”的PowerShell命令。
- Get-Alias | where {$_.definition.startswith("Remove")} :獲取以“Remove”開頭命令的別名資訊。
- Get-Alias | Group-Object definition | sort -descending Count :根據命令別名的個數倒序顯示命令及其別名。
9、自定義別名
- Set-Alias :定義命令的別名。
- Set-Alias -name txt -value notepad
- -name :指定命令的別名。
- -value :指定需要定義別名的命令。
- del alias:txt :刪除別名“txt”。
- Export-Alias :匯出別名,
Export-Alias demo.ps1
。 - Import-Alias :匯入別名,
Import-Alias demo.ps1
,不成功可以使用“-force”引數進行強制匯入。
10、PowerShell 變數
- PowerShell 使用 $ 符號來定義變數,不需要指定變數型別。
- $var_name
- $var_name = value
- PowerShell 對大小寫不敏感。
- 定義變數使用特別的變數名需要使用花括號將變數名括起來。
- 變數的賦值可以是別名、命令、表示式等。
- 多個變數可以同時賦值。
11、變數操作
-
兩個變數的值互換:
-
$tempt = $var1 $var_1 = $var_2 $var_2 = $tempt
-
$var_1,$var_2 = $var_2,$var_1
-
-
ls variable:
: 檢視當前使用的變數。 -
ls variable:var_name
: 檢視變數 $var_name 的資訊,支援正規表示式。 -
Test-Path variable:var_name
:檢視變數 $var_name 是否存在,返回布林值。 -
del variable:var_name
:刪除指定的變數。 -
Clear-Variable :清除指定的變數。
-
Remove-Variable:刪除指定的變數。
12、PowerShell 自動化變數
- 自動化變數是由 PowerShell 自己建立和維護的,一些變數是隻讀而不能寫入的。
- $home :使用者根目錄路徑。
- $pid :當前介面程式的ID。
- $$ :上一個執行的命令。
- $? :上一個命令執行的狀態,返回布林值。
- $_ :當前變數。
- $null :空值,空變數。
13、PowerShell 環境變數
ls env:
:檢視環境變數資訊。env:var_name
:顯示指定的環境變數資訊,支援正規表示式。env:varname=value
:建立新增一個環境變數。del env:var_name
:刪除指定的環境變數,支援正規表示式。[environment]::setenvironmentvariable("PATH","D:\","User")
:設定使用者的 $PATH 變數,永久生效。[environment]::getenvironmentvariable("PATH","User")
:獲取環境變數 $PATH 。
14、PowerShell 指令碼執行策略
- PowerShell 指令碼以
.ps1
字尾。 - Get-Executionpolicy :檢視命令列的指令碼執行許可權,返回 Restricted 表示禁止。
Set-Executionpolicy RemoteSigned
:允許命令列執行 PowerShell 指令碼。
15、PowerShell 指令碼呼叫
- 切換到桌面:cd desktop
- & “PowerShell_script_path” :執行指令碼。
- .bat 指令碼檔案呼叫PowerShell 指令碼:
powershell "& 'PowerShell_script_path'"
相關文章
- redis學習——基礎指令Redis
- powershell指令碼指令碼
- 【Linux學習筆記29】shell指令碼基礎Linux筆記指令碼
- powershell重新命名指令碼指令碼
- Redis基礎知識(學習筆記21--Lua 指令碼語言)Redis筆記指令碼
- linux學習day3——shell指令碼上Linux指令碼
- Redis基礎知識(學習筆記21--Lua 指令碼語言2)Redis筆記指令碼
- PowerShell 筆記 - 基礎篇筆記
- Linux基礎五(shell指令碼)Linux指令碼
- UNITY指令碼基礎感悟:速度;Unity指令碼
- 不得不學之「 Gradle」 ③ 構建指令碼基礎Gradle指令碼
- Per指令碼學習指令碼
- 密碼學基礎概念 — 密碼學複習(一)密碼學
- 常用指令碼學習手冊——Bat指令碼指令碼BAT
- Windows PowerShellWindows
- Linux shell 指令碼基礎介紹Linux指令碼
- shell指令碼的基礎知識指令碼
- Unity基礎-指令碼生命週期Unity指令碼
- Redis 入門 - 五大基礎型別及其指令學習Redis型別
- iOS學習筆記——基礎控制元件(上)iOS筆記控制元件
- 免殺學習-基礎學習
- android基礎學習-android篇day12-UI基礎控制元件(上)AndroidUI控制元件
- Linux基礎學習——檔案基礎Linux
- Gradle系列之構建指令碼基礎Gradle指令碼
- python基礎學習Python
- Redis 基礎學習Redis
- Linux基礎學習Linux
- Docker 基礎學習Docker
- Flume基礎學習
- 【Vue學習】基礎Vue
- jQuery基礎學習jQuery
- Scala基礎學習
- kafka基礎學習Kafka
- Zookeeper 基礎學習
- 深度學習基礎深度學習
- 學習linux基礎Linux
- Pandas基礎學習
- 【機器學習基礎】神經網路/深度學習基礎機器學習神經網路深度學習