ターミナル操作の基本|cd・ls・mkdirなど最低限覚えるべきコマンド集
ターミナルでは、フォルダを移動する、ファイル一覧を見る、作業用フォルダを作る、ファイルをコピーする、といった操作をキーボードだけで進められます。実務では、開発環境のセットアップ、ログ確認、CSVや画像ファイルの整理、スクリプト実行前の確認でよく使います。
最初に覚えるべきことは多くありません。まずは「今どこにいるかを確認し、目的の場所へ移動し、必要なファイルやフォルダを作る」ところまでできれば、ターミナルへの苦手意識はかなり減ります。
この記事では、macOS・Linux・Windows PowerShellで使う基本コマンドを、実務での使いどころと一緒に整理します。
pwd:今いる場所を確認するls/dir:ファイルやフォルダの一覧を見るcd:フォルダを移動するmkdir:フォルダを作るtouch/New-Item:ファイルを作るcp/Copy-Item:コピーするmv/Move-Item:移動・名前変更するrm/Remove-Item:削除するcat/Get-Content:ファイルの中身を見る
対象環境と前提
この記事は、はじめてターミナルやコマンドラインを触る人向けです。対象は次の環境です。
- macOSの「ターミナル」または「zsh」
- Linuxのbash系シェル
- WindowsのPowerShell
macOSやLinuxでは、ls、cd、mkdir、cp、mv、rm などのコマンドをよく使います。Windows PowerShellでは同じ名前のコマンドが別名として使える場合もありますが、正式には Get-ChildItem、Copy-Item、Remove-Item のようなコマンドレットがあります。
この記事では、まずmacOS・Linuxでよく見る書き方を中心に説明し、必要に応じてPowerShellの対応コマンドも添えます。
ここがポイント: ターミナル操作は「暗記」よりも「現在地、移動、確認、作成、削除」の流れで覚えると実務で迷いにくくなります。
まず押さえるディレクトリ操作
ターミナルで最初につまずきやすいのは、「今どのフォルダを操作しているのか」が見えにくいことです。まずは現在地を確認し、一覧を見て、目的のフォルダへ移動する流れを覚えます。
pwd:今いる場所を確認する
pwd は、現在いるディレクトリを表示するコマンドです。ディレクトリは、Windowsでいうフォルダとほぼ同じ意味で使われます。
pwd
出力例です。
/Users/taro/projects
この例では、/Users/taro/projects という場所で作業しています。コマンドを実行するときは、基本的にこの「現在地」を基準にファイルやフォルダが探されます。
PowerShellでは次のように確認できます。
Get-Location
ls:ファイルやフォルダの一覧を見る
ls は、現在のディレクトリにあるファイルやフォルダを一覧表示するコマンドです。
ls
出力例です。
README.md
src
data
report.csv
隠しファイルも見たい場合は、-a オプションを付けます。
ls -a
更新日時や権限、ファイルサイズも見たい場合は -l を使います。
ls -l
よく使う組み合わせは次の形です。
ls -la
PowerShellでは、Get-ChildItem が標準的な対応コマンドです。
Get-ChildItem
Windowsのコマンドプロンプトでは dir もよく使われます。
dir
cd:フォルダを移動する
cd は、作業するディレクトリを移動するコマンドです。
cd data
この例では、現在地の中にある data フォルダへ移動します。移動できたか確認したいときは、続けて pwd を実行します。
pwd
1つ上の階層へ戻るときは .. を使います。
cd ..
ホームディレクトリへ戻る場合は、macOS・Linuxでは次のように書けます。
cd ~
または、単に cd だけでもホームディレクトリへ戻るシェルが多いです。
cd
パスに空白が入っている場合は、引用符で囲みます。
cd "My Documents"
空白を含むフォルダ名をそのまま cd My Documents と書くと、別々の引数として解釈され、移動に失敗します。
最低限覚えたい基本コマンド集
ここからは、実務でよく使うコマンドを用途別に整理します。すべてを一度に暗記する必要はありません。まずは pwd、ls、cd、mkdir から使い始めれば十分です。
mkdir:フォルダを作る
mkdir は、新しいディレクトリを作るコマンドです。
mkdir logs
この例では、現在地に logs フォルダを作ります。
複数階層をまとめて作りたい場合は、macOS・Linuxでは -p を使います。
mkdir -p data/raw
data がまだ存在しない場合でも、data と raw をまとめて作れます。スクリプトやプロジェクトの初期フォルダを作るときに便利です。
PowerShellでは次のように書けます。
New-Item -ItemType Directory -Path logs
touch:空ファイルを作る
macOS・Linuxでは、touch で空のファイルを作れます。
touch memo.txt
すでにファイルがある場合、touch は更新日時を変更します。新規ファイルの作成だけでなく、ビルド処理や確認用ファイルの用意でも使われます。
PowerShellでは New-Item を使います。
New-Item -ItemType File -Path memo.txt
cp:ファイルやフォルダをコピーする
cp はコピー用のコマンドです。
cp report.csv backup-report.csv
この例では、report.csv を backup-report.csv という名前でコピーします。
フォルダごとコピーする場合は、macOS・Linuxでは -r を付けます。
cp -r data backup-data
PowerShellでは Copy-Item を使います。
Copy-Item report.csv backup-report.csv
フォルダをコピーする場合は -Recurse を付けます。
Copy-Item data backup-data -Recurse
mv:移動する、名前を変える
mv は、ファイルやフォルダの移動と名前変更の両方に使います。
mv memo.txt docs/memo.txt
この例では、memo.txt を docs フォルダへ移動します。
名前変更にも使えます。
mv old-name.txt new-name.txt
PowerShellでは Move-Item を使います。
Move-Item old-name.txt new-name.txt
rm:削除する
rm はファイルを削除するコマンドです。
rm old.log
フォルダを中身ごと削除する場合は、macOS・Linuxでは -r を付けます。
rm -r old-folder
ただし、rm は強力です。特に rm -r は指定したフォルダ配下をまとめて削除します。実行前に ls で対象を確認してください。
PowerShellでは Remove-Item を使います。
Remove-Item old.log
フォルダを削除する場合は次のように書けます。
Remove-Item old-folder -Recurse
cat:ファイルの中身を見る
cat は、ファイルの中身をターミナルに表示するコマンドです。
cat README.md
短い設定ファイル、ログの先頭付近、CSVの中身をざっと見るときに使います。長いファイルを読む場合は、less やエディタを使ったほうが見やすいです。
PowerShellでは Get-Content を使います。
Get-Content README.md
実務でよく使う操作例
基本コマンドは、単体で覚えるよりも「作業の流れ」で覚えると身につきます。ここでは、実務でよくあるファイル整理を例にします。
例:CSVファイルを作業フォルダに整理する
次のような状況を想定します。
Downloadsにsales.csvがある- 作業用に
project-data/rawフォルダを作りたい - CSVをそのフォルダへコピーしたい
- コピーできたか確認したい
macOS・Linuxでは次のように操作できます。
cd ~/Downloads
mkdir -p project-data/raw
cp sales.csv project-data/raw/
ls project-data/raw
出力例です。
sales.csv
この短い流れで、作業フォルダの作成、ファイルコピー、コピー結果の確認まで終わります。
PowerShellでは次のように書けます。
Set-Location ~/Downloads
New-Item -ItemType Directory -Path project-data/raw
Copy-Item sales.csv project-data/raw/
Get-ChildItem project-data/raw
例:ログ用フォルダを作って空ファイルを置く
スクリプトの出力先として logs フォルダを用意し、確認用のログファイルを作る例です。
mkdir -p logs
touch logs/app.log
ls -l logs
出力例です。
-rw-r--r-- 1 taro staff 0 Apr 20 10:00 app.log
0 と表示されていれば、中身のない空ファイルです。アプリやスクリプトがこのファイルにログを書き込む前の準備として使えます。
コマンドの見方:コマンド、引数、オプション
コマンドラインの書き方は、基本的に次の形です。
コマンド オプション 対象
たとえば次のコマンドを分解します。
ls -la data
ls:一覧表示するコマンド-la:詳細表示と隠しファイル表示のオプションdata:一覧表示したい対象ディレクトリ
別の例です。
cp report.csv backup/report.csv
cp:コピーするコマンドreport.csv:コピー元backup/report.csv:コピー先
この見方が分かると、知らないコマンドを見ても「何を対象に、どんな条件で実行しているのか」を読み取りやすくなります。
パスの指定で迷わないための基本
ターミナルで指定する場所は「パス」と呼ばれます。初心者がつまずく原因の多くは、コマンドそのものではなくパスの指定です。
相対パスと絶対パス
相対パスは、現在地を基準にした書き方です。
cd data
絶対パスは、ルートやホームなど、決まった起点から書く方法です。
cd /Users/taro/projects/data
実務では、手元で短く操作するときは相対パス、手順書やスクリプトで場所を明確にしたいときは絶対パスが向いています。
よく使う記号
パスでよく使う記号は次の通りです。
.:現在のディレクトリ..:1つ上のディレクトリ~:ホームディレクトリ/:階層の区切り
たとえば、1つ上の階層にある data フォルダへ移動する場合は次のように書きます。
cd ../data
空白を含むパスは引用符で囲む
フォルダ名に空白が入っている場合は、引用符で囲みます。
cd "Project Data"
または、バックスラッシュで空白をエスケープします。
cd Project\ Data
手順書に書くなら、引用符で囲むほうが読みやすく、初心者にも伝わりやすいです。
よくある失敗と対処法
ターミナルのエラーは短く表示されるため、最初は冷たく見えます。ただし、多くは「場所が違う」「名前が違う」「権限がない」のどれかです。
No such file or directory
macOS・Linuxでよく見るエラーです。
No such file or directory
指定したファイルやフォルダが見つからない、という意味です。
確認することはシンプルです。
pwdで現在地を確認するlsで対象が本当にあるか見る- ファイル名の大文字・小文字を確認する
- 空白を含む名前なら引用符で囲む
たとえば Report.csv というファイルに対して report.csv と指定すると、環境によっては別ファイルとして扱われます。
Permission denied
Permission denied
権限がない場所に書き込もうとしたり、実行権限のないファイルを実行しようとしたりしたときに出ます。
むやみに sudo を付ける前に、次を確認してください。
- 作業場所がシステム領域ではないか
- 自分のホームディレクトリ配下で作業しているか
- 本当に管理者権限が必要な操作か
初心者の練習や通常のファイル整理では、ホームディレクトリ配下で作業するのが安全です。
rmで消しすぎる
rm はごみ箱を経由せずに削除することがあります。特に次のようなコマンドは慎重に扱います。
rm -r folder-name
実行前に、対象を ls で確認します。
ls folder-name
削除対象が大量にある場合は、先に別名へ移動してから様子を見る方法もあります。
mv folder-name folder-name_old
すぐに消さず、問題がなければ後で削除するほうが安全です。
macOS・Linux・PowerShellの対応表
同じ目的でも、環境によって標準的なコマンド名が違います。最初は次の対応だけ押さえておくと十分です。
| 目的 | macOS・Linux | PowerShell |
|---|---|---|
| 現在地を確認 | pwd | Get-Location |
| 一覧を見る | ls | Get-ChildItem |
| 移動する | cd | Set-Location |
| フォルダを作る | mkdir | New-Item -ItemType Directory |
| ファイルを作る | touch | New-Item -ItemType File |
| コピーする | cp | Copy-Item |
| 移動・名前変更 | mv | Move-Item |
| 削除する | rm | Remove-Item |
| 中身を見る | cat | Get-Content |
PowerShellでは ls や cd などが別名として使えることがあります。ただし、チームの手順書や自動化スクリプトでは、正式なコマンドレット名を使うと意図が伝わりやすくなります。
覚える順番はこれでよい
最初から全部を使いこなす必要はありません。実務初級なら、次の順番で十分です。
pwdで現在地を見るlsで中身を見るcdで移動するmkdirで作業フォルダを作るcpでコピーするmvで移動・名前変更するcatで中身を確認するrmは最後に慎重に使う
特に rm は、早く覚えるよりも安全に使うことが大切です。削除前に pwd と ls を挟む癖を付けるだけで、事故はかなり減ります。
代替手段と使い分け
ターミナル操作は便利ですが、すべてをコマンドで行う必要はありません。目的によって、ファイルマネージャーやエディタと使い分けるほうが効率的です。
- 少数のファイルを目で確認しながら整理する:Finder、エクスプローラー
- 大量のファイル名をまとめて処理する:ターミナル
- プロジェクト内のファイルを編集する:VS Codeなどのエディタ
- 同じ処理を何度も繰り返す:シェルスクリプト、PowerShellスクリプト
- コマンド履歴を再利用する:ターミナル
ターミナルの強みは、操作を文字として残せることです。手順をメモに残しやすく、同じ操作を別の日や別の環境で再現しやすくなります。
最後に確認したい安全チェック
ターミナル操作に慣れる近道は、危ないコマンドを避けることではなく、確認を挟むことです。
実行前に見るポイントは次の4つです。
pwdで、今いる場所が合っているかlsで、対象ファイルやフォルダが存在するか- パスに空白がある場合、引用符で囲んでいるか
rmやRemove-Itemの対象が本当に削除してよいものか
最初に覚えるコマンドは、cd や ls だけではありません。自分がどこで、何に対して、どの操作を実行するのかを毎回確認する習慣まで含めて基本です。
次にターミナルを開いたら、まずは作業用フォルダを1つ作り、移動し、空ファイルを作り、一覧で確認してみてください。この小さな流れができれば、ログ確認、CSV整理、スクリプト実行前の準備にもそのままつながります。
