座敷牢日誌

都落ちした元SEがソフトウェアやネット関連のことを書いています

PowerShellが提供する機能を積極的に使おう (on Linux)

Windows上で動くPowerShellls コマンドは, コマンドレット Get-ChildItemエイリアスだが, Linuxではエイリアスではなく, 外部コマンド扱い. PowerShellが提供する機能にはなっていない.

PS /home/sandbox> ls -la
total 60
drwx------ 1 1000 staff 4096 Mar  2 13:17 .
drwxr-xr-x 3 root root  4096 Mar  2 13:37 ..
-rw------- 1 1000 staff 7671 Mar  2 13:14 .bash_history
-rw-r--r-- 1 1000 staff   21 Feb 14 13:16 .bash_logout
-rw-r--r-- 1 1000 staff   57 Feb 26 21:22 .bash_profile
-rw-r--r-- 1 1000 staff  162 Feb 26 21:22 .bashrc
drwxr-xr-x 1 1000 staff 4096 Feb 26 21:24 .cache
drwx------ 1 1000 staff 4096 Mar  2 13:24 .config
drwx------ 1 1000 staff 4096 Feb 26 21:10 .docker
drwxr-xr-x 1 1000 staff 4096 Feb 26 21:24 .local
-rw-r--r-- 1 1000 staff 3729 Jan 25 08:46 .screenrc
-rw------- 1 1000 staff 9942 Mar  2 13:17 .viminfo
PS /home/sandbox> Get-Command ls

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     ls                                                 0.0.0.0    /bin/ls


PS /home/sandbox>

Get-ChildItem が使えないわけではないけど, PowerShellをより積極的に使おうという試みにおいては, lsエイリアスにしてはどうだろうか.

PS /home/sandbox> Set-Alias ls Get-ChildItem
PS /home/sandbox> ls -Hidden


    Directory: /home/sandbox


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-rh--          2/26/17   9:24 PM                .cache
d--h--           3/2/17   1:24 PM                .config
d--h--          2/26/17   9:10 PM                .docker
d-rh--          2/26/17   9:24 PM                .local
---h--           3/2/17   1:14 PM           7671 .bash_history
--rh--          2/14/17   1:16 PM             21 .bash_logout
--rh--          2/26/17   9:22 PM             57 .bash_profile
--rh--          2/26/17   9:22 PM            162 .bashrc
--rh--          1/25/17   8:46 AM           3729 .screenrc
---h--           3/2/17   1:17 PM           9942 .viminfo


PS /home/sandbox>

PowerShellの設定ファイル (bash.bash_profile みたいなもの) に書き込んでおけば, PowerShellを立ち上げるたびに自動的に有効になる.

PS /home/sandbox> "これが設定ファイルのパス"これが設定ファイルのパス
PS /home/sandbox> $PROFILE
/home/sandbox/.config/powershell/Microsoft.PowerShell_profile.ps1
PS /home/sandbox> mkdir (Split-Path $PROFILE)
PS /home/sandbox> mkdir (Split-Path $PROFILE)^CPS /home/sandbox>
PS /home/sandbox> "Set-Alias ls Get-ChildItem" | Set-Content $PROFILE
PS /home/sandbox> cat $PROFILE
Set-Alias ls Get-ChildItem
PS /home/sandbox>

コンソール上で動くPowerShellの補完入力ができるエディタがほしい…….

広告を非表示にする