Ubuntu 22.04
Sponsored Link

PowerShell : インストール
2022/08/30
 
Microsoft の PowerShell for Linux をインストールします。
概要は公式サイトを参照ください。
  ⇒ https://github.com/PowerShell/PowerShell
[1]
[2] Snappy から PowerShell をインストールします。
root@dlp:~#
snap install powershell --classic

powershell 7.2.6 from Microsoft PowerShell✓ installed
[3] PowerShell の起動と主な操作です。
# PowerShell 起動

root@dlp:~#
pwsh

PowerShell 7.2.6
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

PS /root>

# コマンドレット一覧表示 (下例は頭 10 行のみ表示)
# 全て表示する場合は単に Get-Command で OK
PS /root> (Get-Command)[0..9] 

CommandType     Name                                               Version    S
-----------     ----                                               -------    -
Function        cd..
Function        cd\
Function        Clear-Host
Function        Compress-Archive                                   1.2.5      M
Function        Expand-Archive                                     1.2.5      M
Function        Find-Command                                       2.2.5      P
Function        Find-DSCResource                                   2.2.5      P
Function        Find-Module                                        2.2.5      P
Function        Find-RoleCapability                                2.2.5      P
Function        Find-Script                                        2.2.5      P

# カレント PATH 表示
PS /root> pwd 

Path
----
/root

# /home へ移動
PS /root> cd /home 

# 引数なしでホームディレクトリに戻る
PS /home> cd 

# カレントディレクトリのファイル一覧を表示 (Get-ChildItem でも dir と同じ)
PS /root> dir 

    Directory: /root

UnixMode   User Group    LastWriteTime     Size Name
--------   ---- -----    -------------     ---- ----
drwx------ root root  08/30/2022 06:45     4096 snap
-rw-r--r-- root root  08/30/2022 06:05 11202204 usermin-current.deb
-rw-r--r-- root root  08/30/2022 05:39 28441788 webmin-current.deb

# / のファイル一覧を表示
PS /root> Get-ChildItem / | ft -AutoSize -Wrap 

    Directory: /

UnixMode   User Group    LastWriteTime       Size Name
--------   ---- -----    -------------       ---- ----
lrwxrwxrwx root root  04/21/2022 00:57          7 bin -> usr/bin
drwxr-xr-x root root  08/30/2022 02:59       4096 boot
drwxr-xr-x root root  08/30/2022 02:26       3960 dev
drwxr-xr-x root root  08/30/2022 06:05       4096 etc
drwxr-xr-x root root  04/22/2022 13:31       4096 home
.....
.....

# カレントディレクトリにファイル新規作成
PS /root> New-Item -Path test.txt 

    Directory: /root

UnixMode   User             Group                 LastWriteTime           Size
--------   ----             -----                 -------------           ----
-rw-r--r-- root             root               08/30/2022 06:52              0

PS /root> dir | ft -AutoSize -Wrap 

    Directory: /root

UnixMode   User Group    LastWriteTime     Size Name
--------   ---- -----    -------------     ---- ----
drwx------ root root  08/30/2022 06:45     4096 snap
-rw-r--r-- root root  08/30/2022 06:52        0 test.txt
-rw-r--r-- root root  08/30/2022 06:05 11202204 usermin-current.deb
-rw-r--r-- root root  08/30/2022 05:39 28441788 webmin-current.deb

# カレントディレクトリにディレクトリ新規作成
PS /root> New-Item -ItemType Directory -Path testdir 

    Directory: /root

UnixMode   User             Group                 LastWriteTime           Size
--------   ----             -----                 -------------           ----
drwxr-xr-x root             root               08/30/2022 06:53           4096

PS /root> dir | ft -AutoSize -Wrap 

    Directory: /root

UnixMode   User Group    LastWriteTime     Size Name
--------   ---- -----    -------------     ---- ----
drwx------ root root  08/30/2022 06:45     4096 snap
drwxr-xr-x root root  08/30/2022 06:53     4096 testdir
-rw-r--r-- root root  08/30/2022 06:52        0 test.txt
-rw-r--r-- root root  08/30/2022 06:05 11202204 usermin-current.deb
-rw-r--r-- root root  08/30/2022 05:39 28441788 webmin-current.deb

# echo してファイルにリダイレクト
PS /root> echo "test content" >> test.txt 

# ファイルの内容を表示
PS /root> Get-Content test.txt 
test content

# ファイルを移動/リネームする
PS /root> Move-Item test.txt test1.txt 
PS /root> dir | ft -AutoSize -Wrap 

    Directory: /root

UnixMode   User Group    LastWriteTime     Size Name
--------   ---- -----    -------------     ---- ----
drwx------ root root  08/30/2022 06:45     4096 snap
drwxr-xr-x root root  08/30/2022 06:53     4096 testdir
-rw-r--r-- root root  08/30/2022 06:55       13 test1.txt
-rw-r--r-- root root  08/30/2022 06:05 11202204 usermin-current.deb
-rw-r--r-- root root  08/30/2022 05:39 28441788 webmin-current.deb

# ファイルをコピーする
PS /root> Copy-Item test1.txt test2.txt 
PS /root> dir | ft -AutoSize -Wrap 

    Directory: /root

UnixMode   User Group    LastWriteTime     Size Name
--------   ---- -----    -------------     ---- ----
drwx------ root root  08/30/2022 06:45     4096 snap
drwxr-xr-x root root  08/30/2022 06:53     4096 testdir
-rw-r--r-- root root  08/30/2022 06:55       13 test1.txt
-rw-r--r-- root root  08/30/2022 06:55       13 test2.txt
-rw-r--r-- root root  08/30/2022 06:05 11202204 usermin-current.deb
-rw-r--r-- root root  08/30/2022 05:39 28441788 webmin-current.deb

# ディレクトリを中身も含めて再帰的にコピーする
PS /root> Copy-Item testdir testdir2 -Recurse 
PS /root> dir | ft -AutoSize -Wrap 

    Directory: /root

UnixMode   User Group    LastWriteTime     Size Name
--------   ---- -----    -------------     ---- ----
drwx------ root root  08/30/2022 06:45     4096 snap
drwxr-xr-x root root  08/30/2022 06:53     4096 testdir
drwxr-xr-x root root  08/30/2022 06:56     4096 testdir2
-rw-r--r-- root root  08/30/2022 06:55       13 test1.txt
-rw-r--r-- root root  08/30/2022 06:55       13 test2.txt
-rw-r--r-- root root  08/30/2022 06:05 11202204 usermin-current.deb
-rw-r--r-- root root  08/30/2022 05:39 28441788 webmin-current.deb

# ファイルを削除する
PS /root> Remove-Item test2.txt 
PS /root> dir | ft -AutoSize -Wrap 

    Directory: /root

UnixMode   User Group    LastWriteTime     Size Name
--------   ---- -----    -------------     ---- ----
drwx------ root root  08/30/2022 06:45     4096 snap
drwxr-xr-x root root  08/30/2022 06:53     4096 testdir
drwxr-xr-x root root  08/30/2022 06:56     4096 testdir2
-rw-r--r-- root root  08/30/2022 06:55       13 test1.txt
-rw-r--r-- root root  08/30/2022 06:05 11202204 usermin-current.deb
-rw-r--r-- root root  08/30/2022 05:39 28441788 webmin-current.deb

# ディレクトリを中身を含めて削除する
PS /root> Remove-Item testdir2 -Recurse 
PS /root> dir | ft -AutoSize -Wrap 

    Directory: /root

UnixMode   User Group    LastWriteTime     Size Name
--------   ---- -----    -------------     ---- ----
drwx------ root root  08/30/2022 06:45     4096 snap
drwxr-xr-x root root  08/30/2022 06:53     4096 testdir
-rw-r--r-- root root  08/30/2022 06:55       13 test1.txt
-rw-r--r-- root root  08/30/2022 06:05 11202204 usermin-current.deb
-rw-r--r-- root root  08/30/2022 05:39 28441788 webmin-current.deb

# カレントディレクトリ配下から拡張子 .txt のファイルを検索する
PS /root> Get-ChildItem "*.txt" -Recurse 

    Directory: /root

UnixMode   User             Group                 LastWriteTime           Size
--------   ----             -----                 -------------           ----
-rw-r--r-- root             root               08/30/2022 06:55             13

# test1.txt から "test" 文字列を検索する
PS /root> Select-String -Pattern "test" test1.txt 

test1.txt:1:test content

# 引数に指定したコマンドレットのヘルプを表示する
PS /root> Get-Help Get-Content 

NAME
    Get-Content

SYNTAX
    Get-Content [-Path] <string[]> [-ReadCount <long>] [-TotalCount <long>]
    [-Tail <int>] [-Filter <string>] [-Include <string[]>] [-Exclude
    <string[]>] [-Force] [-Credential <pscredential>] [-Delimiter <string>]
    [-Wait] [-Raw] [-Encoding <Encoding>] [-AsByteStream] [<CommonParameters>]
.....
.....
関連コンテンツ