本ページはプロモーションが含まれています。 ターミナル

PowerShellでtouchができない!代替コマンドとおすすめ解決法

2023年1月20日

CUIでのファイル作成で使う「touch」コマンドは、WindowsPowerShell(以下PS)では使うことができません。

詳細は後述しますが、PSでは「New-Item」という専用のコマンドを使います。

尚、個人的にはPSより「bash」がおすすめです。

Windows環境で、linux環境のコマンド(全部ではない)が使用できます。

特に参考にしてほしい方

  • Windows環境PS(またはコマンドプロンプト)をお使いの方
  • CUIを使うことをなんとなく避けている方

PowerShellでtouch相当のコマンド(ファイル作成)は「New-Item」

PSでは、linux系の「touch」は使えません。

全く異なる、「New-Item」というコマンドでファイル生成を行います。

公式参考: https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/new-item?source=recommendations&view=powershell-7.3

現在のディレクトリに「test.txt」を作成してみましょう。

空のファイルは、下記のコマンドで生成ができます。


New-Item test.txt

公式の方をご確認いただけると分かりますが、パラメータをかなり省略しています。

正式に記述すると、以下のようなコマンドです。


New-Item -Path . -Name "test.txt" -ItemType "file"

それぞれ、作成するファイルの種類などを指定しています。

  • Path」パラメータ: カレント「.」を指定
  • Name」パラメータ: ファイル名「test.txt」を指定
  • ItemType」パラメータ: ファイルとディレクトリの内、「file」を指定

つまり、「New-Item」コマンドは「touch」と「mkdir」、加えてPS用のプロファイルも生成可能な万能コマンドです。

良し悪しは別にして、一つのコマンドにまとめられた形ですね。

そもそも論-PSを使う意味があるのか

インストールすれば可能なようですが、linuxでPSを使うことは少ないと思います。

汎用性を考えると、linuxのコマンドを覚えた方が効率的です。

例外として、Windows開発専門の場合でしょうか。

今から開発を始めるなら

linuxコマンドから覚えよう

WindowsのCUIは「Git Bash」がおすすめ

「Git Bash」は、Windows用の「Git」に付随しています。

正式名称は、「Git for Windows」です。

https://gitforwindows.org/

linuxでは一般的な、「bash」ターミナルの機能を使うことができます。

gitを入れなくても、Windows10から「bash」を使うことができるようです。

ただgit自体も必須級で、設定も楽なので「Git Bash」経由をおすすめします。

PSより情報量が多く、より効率的な開発も期待できるでしょう。

PSを使う機会- python環境「venv」の起動はしやすい

Pythonの仮想開発環境を構築するツールで「venv」があります。

作成した環境をターミナルから起動できるツールです。

これについては、はPSやコマンドプロンプトの方が優れています。

私が試した時点で、bashからの起動でエラーが発生していました。

どうせならPSもbashも両方使ってしまおう

メインをbashにするのはおすすめです。

一方で、venvのように目的に応じて使い分けると良いと思います。

ドキュメントファーストが大切

例えばWindowsの場合、当然PSかコマンドプロンプトを指定します。

特にPC設定は、環境に左右されるものも少なくありません。

OS設定や環境変数の設定は、まず公式に従うようにしましょう。

VisualStudioCodeならターミナルの切り替えは簡単

突然ですが、開発環境は「Visual Studio Code」(VSCode)をおすすめしています。

シェアや汎用性も高く、何にでも使えるのが特徴です。

VSCodeなら、簡単にターミナルを切り替えることができます。

画像のように、右下の「」マークからターミナルを選ぶことが可能です。

同じターミナルを複数起動することも可能です。

想定する状況としては、リアルタイムログ監視などでしょうか。

普段は「bash」を使い、状況によって「PowerShell」も使い分けよう!

目的が早く確実に達成できるのであれば、ターミナルは何を使っても良いと思います。

もちろん、属人化せず他のメンバーも参画できることは前提です。

その前提に立てば、以下のポイントで選択すればOKだと思います。

  • OSやミドルウェアの影響をなるべく受けないこと
  • (パラメータを含め)他のコンピューターでも実行がしやすいこと

OSに依存しにくいものはbashで、OSの設定や公式で指定されているときはそのターミナルを使って、快適な開発ライフを送りましょう。

おすすめ記事をCHECK!

aptがあればapt-getは不要? 1

Debian系のパッケージ管理として「apt」が登場してから、時々「apt-getは不要!」という話を聞くことがあります。 結論から言うと、公式では「使い分けよう」が正解です。 公式の方では、次のよう …

2023年2月時点。新しくなったAWSシークレットキーの作り方。 2

AWSの管理画面は、結構頻繁に変わりますよね。 以前まではIAMとシークレットアクセスキーを同時に作成できましたが、今はその機能が見当たらなくなりました。 結論としては、IAMのユーザーを作成後に、設 …

初心者におすすめ! 失敗しないレンタルサーバー3選。 3

ある程度経験がないと、レンタルサーバーはどれも同じに見えるかもしれません。 しかし、選び方次第で、設定に2倍、3倍の時間がかかってしまうこともあります。 そこで今回は、コスパ・使いやすさに特化した3つ …

-ターミナル
-