移動とファイルやディレクトリの一覧表示だ。ディレクトリの移動にはSet-Locationコマンドレットを使うのだが、Set-Locationにはcdというエイリアスが用意されており、操作する場合には基本的にはこちらを使う。macOSやLinux、コマンドプロンプトでもディレクトリの移動はcdなので、それに合わせたかたちだろう。移動した先のディレクトリでファイルなどを一覧表示させるにはlsやdirを使う。これに相当するPowerShellのコマンドレットはGet-ItemとGet-ChildItemだ。lsやdirと同じ動きをするという点から言えば、Get-ChildItemの動作がそれに近い。覚えるコマンドレットを最小限に抑えたいならGet-ChildItemの動きを覚えておくとよいと思う。ファイルやディレクトリの表示ファイルやディレクトリを表示させるには次のようにGet-Itemを使用する。基本的には引数にファイルやディレクトリのパスを指定するだけでよい。Coreを使っているので、アプリケーションとしてPowerShellからmacOSのlsコマンドも実行できる。lsで同じ処理を行うと次のようになる(「-l」は、詳細情報を表示するオプション)。10でlsを実行するとエイリアスが設定されていてGet-ChildItemが動作する。lsコマンドの出力を得たいならmacOSやLinuxでコマンドを実行してみてほしい。Get-Itemコマンドの出力形式は次のようになっている。モードは1文字が1モードを表していて、次のようになっている。macOSやLinuxの出力とは異なっている。リンク(link)Get-Itemの引数に.を指定するとカレントディレクトリを表示する。lsコマンドで同じことをする場合にはオプションとして-dを指定する。/Users/daichi/Documents/powershell>lsは引数にディレクトリが指定された場合には、そのディレクトリ下のファイルやディレクトリの一覧を表示する。Get-Itemは指定されたディレクトリそのもののデータを表示する。このあたりがlsやdirとGet-Itemの動作の違いだ。ファイルやディレクトリの一覧表示ファイルやディレクトリ単体ではなく、カレントディレクトリや指定したディレクトリ下のファイルやディレクトリを一覧表示したい場合にはGet-Itemの引数に*を指定する。/Users/daichi/Documents/powershell>これはlsコマンドを引数なしで実行したときの動作に似ている。/Users/daichi/Documents/powershell>カレントディレクトリではなく特定のディレクトリ下のファイルやディレクトリを一覧表示させたいという場合、Get-Itemを使うなら次のように一旦カレントディレクトリを移動してから同じようにGet-Itemを実行する。/Users/daichi/Documents/powershell/20180514>Get-ItemではなくGet-ChildItemを使うと、カレントディレクトリを移動しなくとも対象となるディレクトリを指定することで、そのディレクトリ下のファイルやディレクトリを一覧表示させることができる。/Users/daichi/Documents/powershell>このようにGet-ChildItemの方がlsやdirと動作が似ている。隠しファイルやディレクトリの表示WindowsにもmacOSにもLinuxにも、いわゆる隠しファイルと呼ばれるファイルが存在している。通常は表示させない用途で使われるものだ。Get-ChildItemには-Forceを指定するとこの隠しファイルを表示させることができる。/Users/daichi/Documents/powershell>設定ファイルは隠しファイルや、または隠しディレクトリ以下に置かれていることがあるので、その場合には-Forceを指定して確認すればよいということになる。名前だけを表示lsはオプションを指定しない限り、ファイルやディレクトリの詳細表示は行わず、名前しか表示しない。/Users/daichi/Documents/powershell>Get-ChildItemで同じことをしたい場合には-Nameを指定する。/Users/daichi/Documents/powershell>シンボリックリンクやハードリンクを表示Windowsではショートカット、macOSやLinuxではシンボリックリンクやハードリンクといった種類のファイルを作成することができる。Get-ItemやGet-ChildItemではモード部分の6文字目がlだった場合には対象がリンクファイルであることを示している。/Users/daichi/Documents/powershell>このままだとどのファイルへのリンクかわからないのだが、結果をFormat-Listコマンドレットにつないであげると、次のようにリンクの種類やどのファイルへのリンクかを表示させることが可能になる。この場合だと/usr/local/bin/xzというファイルはシンボリックリンクで、/usr/local/Cellar/xz/5.2.3/bin/xzを指し示していることがわかる。/Users/daichi/Documents/powershell>シンボリックリンクではなくハードリンクに対して同じように操作をしてあげると、次のようにそれがハードリンクであることを確認できる。/Users/daichi/Documents/powershell>ちなみに次のようにアプリケーション(lsコマンドとgrepコマンド)を利用すると、どのファイルがハードリンクの関係にあるかを調べることもできる。/Users/daichi/Documents/powershell>ショートカットファイルとシンボリックリンクは似ている。ハードリンクはこの連載の範囲を超えるので詳しくは説明しないが、そういう種類(仕組み)のファイルがあるということくらいは知っておいてもらえればと思う。Get-ChildItemの動作を抑えておけばだいたい欲しい機能は網羅できると思うので、まずはこのコマンドレットは覚えてしまおう。本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。Labor(仮想知的労働者)によるホワイトカラー業務の自動化を実現するRPAが注目されています。人気記事をお届けしますダウンロードBOXに入れる記事をダウンロードBOXに追加します。よろしいですか?ブックマーク記事をブックマークに追加します。Corporation。