概要
- Macのターミナルユーティリティを使用すると、ファイルの検索や設定のカスタマイズなど、さまざまなタスクに強力なテキストベースのコマンドを使用できます。
- ターミナルコマンドの構文とファイルのパスを理解すると、Macをより効果的に操作し、やりとりできるようになります。
- 役立つターミナルコマンドには、ファイルの検索に使用される「find」、ディスク使用量の確認に使用される「du」、ファイルの移動に使用される「mv」、ファイルのリストに使用される「ls」、フォルダーの作成に使用される「mkdir」、ファイルの削除に使用される「rm」などがあります。
MacのデスクトップGUIは使いやすく、日常のほとんどのニーズには十分ですが、ターミナルユーティリティを使用すると、あらゆる種類のタスクを実行するために強力なテキストベースのコマンドを実行できます。
削除したと思っていたアプリに関連するすべてのファイルのパスや、厄介な5GBのファイルが隠れている場所をより早く見つける方法があります。このような作業やその他の作業のために、Macターミナルが新しい親友になります。
ターミナルとは
ターミナルは、コマンドラインを通じてMacとやり取りできるようにするユーティリティです。LinuxとmacOSはどちらもUnix系OSであるため、Linuxオペレーティングシステムには同様のツールが含まれています。以前はmacOSターミナルはBashコマンドを使用していましたが、macOS Catalina以降はzsh(Zシェル)をベースとしています。ただし、ここで使用している基本的なコマンドはどちらでも機能するはずです。
Macでターミナルを開く方法はいくつかあります。使い始めたら、Macターミナルのzshプロンプトを好みにカスタマイズすることもできます。
ターミナルでは他にも多くのことができます。Homebrewパッケージマネージャーをインストールすることで、新しいプログラミング言語、ソフトウェアリポジトリなどをインストールするために使用できます。
一般的なMacコマンドラインのヒント
まず、知っておくべき基本的なターミナルの事実をいくつか見てみましょう。
一般的な構文
zsh(またはBash)コマンドは通常、次のパターンに従います。
[コマンド] [オプション] [ファイルまたはディレクトリへの入力またはパス]
たとえば、コマンド:
ls -la Downloads
で、Downloadsフォルダーの内容をリストします:
- lsはコマンドです
- -laは、2つの個別のオプションの複合体です:-l(長いリスト形式)と-a(すべてのファイルとディレクトリ)
- Downloadsはディレクトリ(フォルダー)へのパスです
パス
パスを理解すると、macOSが実際にはファイルを見る方法を理解するのに役立ちます。基本的に、ファイルのパスは、ファイルが含まれているフォルダーの入れ子構造であり、その後にファイル名自体が続きます。
たとえば、Macで、ユーザーのJohn DoeのデスクトップにあるMy Secretsというファイルのフルパスは次のとおりです:
/Users/jdoe/Desktop/"My Secrets"
ただし、すでにそのユーザーのホームフォルダーにいる場合は、pwdコマンドで確認して、相対パスを使用できます:
Desktop/"My Secrets"
空白
ターミナルが空白を正しく処理するには、エスケープする必要があります。zshはスペースを見ると、それをコマンドの終わりと解釈します。したがって、Path Testのように名前にスペースがあるフォルダーがあり、次のコマンドでその内容をリストしようとすると:
ls Documents/Path Test
「そのようなファイルまたはディレクトリはありません」というエラーが表示されます。ここで何が起こっているのでしょうか?zshはDocuments/Pathでlsを呼び出したと認識しています。その名前のファイルまたはディレクトリが見つからないと、停止しました。
zshにフォルダーの全名認識させるには、名前に引用符を付けるか:
ls Documents/"Path Test"
スペースの前にバックスラッシュを使用します:
ls Documents/Path\ Test
Path Testディレクトリの内容がリストされます。
sudo
以下のコマンドの多くは、管理者レベルのアクセスが必要です。現在管理者アカウントにサインインしていないが、管理者のパスワードを知っている場合は、コマンドの前にsudo(「スーパーユーザー実行」の略)を付けて、一時的に管理者レベルの権限を付与できます。
ワークフローを改善するターミナルコマンド
基本がわかったところで、最も便利なターミナルコマンドのいくつかを見てみましょう。次のコマンドを入力することで、すべてのオプションと例を含むこれらのコマンドの完全な情報を引き出すことができます:
man <command name>
ターミナルに…
find
置き換え:スポットライト
より優れている理由:より高速で、スポットライトが除外するか、インデックス化に問題があるシステムフォルダーを検索します。スポットライトは、特に指示しない限りmacOSシステムファイルをスキップする傾向があり、それでもインデックス化に問題が発生することがあります。逆に、ターミナルfindコマンドは、任意の場所にある任意のものを検索し、探しているもののフルパスを出力します。
findの構文は4つの部分で構成されています。順番に、次のとおりです:
- find
- 検索するディレクトリ(フォルダー)のパス(下記のDocuments)
- オプション(以下の例には-d(ディレクトリ階層レベル)と-name(名前を一致させる)があります
- 検索する文字列(以下の例にはGoogle Chromeがあります)
findは正規表現(レギュラー表現とも呼ばれます)を使用していることを知っておく必要があります。ここでは、ワイルドカード文字として機能するアスタリスク(*)を使用しています。検索文字列の末尾にこれを配置すると、findは検索用語の前後に文字がある結果を出力します。
すべてを組み合わせると、次のようになります。
find Documents -d 1 -name "p*"
これは、Documentsディレクトリにある名前が小文字の「p」で始まるすべてのファイルまたはディレクトリを見つけます(-d 1階層レベル1オプションにより、サブディレクトリは検索しません)。
du
置き換え:Cmd + Iで情報を表示します。
より優れている理由:一度に複数のフォルダーを表示でき、通常は読み込み時間が短くなります。duは「ディスク使用量」の略で、ファイルまたはフォルダーのサイズ、またはフォルダー内のファイルのリストをすばやく教えてくれます。duの最良のオプションは次のとおりです。
- -d(階層):数字が続くと、duに実行されるディレクトリ内の-d階層レベルまでの検索を制限するように指示します。たとえば、du -d 1 DocumentsはDocumentsフォルダー内のファイルとサブフォルダーの最初のレベルの合計サイズのみを表示します。
- -h(人間が読める):ファイルのサイズをK、M、またはGで表示します。これはキロ、メガ、またはギガバイトを表します。
mv
置き換え:フォルダーとファイルをポイントアンドクリックで移動します。
より優れている理由:より高速で、ナビゲーションは不要です。mvを使用して、ファイルまたはフォルダーを別のフォルダーにすばやく移動できます。パスの名前を変更するだけで動作します。
構文は次のとおりです。
mv <古いファイルパス> <新しいファイルパス>
たとえば、
mv /Users/jdoe/Documents/file1.rtf /Users/jdoe/Desktop/file1.rtf
…jdoeユーザーのDocumentsフォルダーからfile1.rtfをDesktopに移動します。
ls
置き換え:Cmd + Iで情報を表示します。
より優れている理由:より高速で、一度に複数のファイルの情報を表示でき、高度にカスタマイズできます。lsは、フォルダー内の内容を正確に表示するための非常に強力なコマンドです。また、それらを表示できるユーザー、隠しファイルまたはフォルダーがあるかどうかなど、多くの情報を明らかにします。
lsの最良のオプションは次のとおりです。
- -l(長い):フォルダー内の各ファイルの権限、最新の変更時刻、ファイルの所有者、ファイル名を表示します。
- -a(すべて):フォルダー内のすべてのファイルを表示します。隠しファイル(デフォルトで非表示になっているmacOSのユーザーライブラリを表示する場合に最適)も含みます。
出力例を次に示します。
mkdir
置き換え:Finder > ファイル > 新規フォルダー
より優れている理由:より高速で、新しいフォルダーをダブルクリックする代わりに、コマンドで名前を直接設定できます。このコマンドを使用して、新しいフォルダーを瞬時に作成します。
たとえば、コマンド:
mkdir /Users/jdoe/Desktop/cool_stuff
…Desktopに新しいcool_stuffフォルダーを作成します。
rm
置き換え:ファイルをゴミ箱に移動して空にする
より優れている理由:より高速で、ゴミ箱で削除できない厄介なファイルを削除するのに適しています。このコマンドは、パスに入力したファイルをすぐに、何の警告もなく削除します。明らかに、細心の注意を払って使用してください。ゴミ箱を空にするをクリックするのとは異なり、rmは確認を求めません。あなたは自分が何をしているのかわかっていると想定しています。
rmについて注意すべきことの1つは、デフォルトではフォルダーではなくファイルのみを削除することです。フォルダーを削除するには、-Rオプション(「再帰的」の略)を使用する必要があります。
たとえば、コマンド:
rm -R /Users/jdoe/Desktop/cool_stuff
…Desktopのcool_stuffフォルダーを削除します。
これで、基本的なターミナルコマンドがいくつかわかりました。これらを毎日のMacワークフローに統合し始めることができます。zshの使用に慣れたら、日常的なタスクを置き換えるだけでなく、コマンドラインでのみ提供できる機能の探索を開始できます。
コメントする