Bashファイル操作 - ls、cp、mv、rm、find、chmod

ファイルとディレクトリの一覧表示、コピー、移動、削除、検索、権限変更を含むbashファイル操作の完全ガイド。

File Operations

詳細な説明

Bashでのファイル操作

ファイル操作はUnix/Linuxシェルでの作業の基盤です。Bashはファイルとディレクトリの作成、コピー、移動、検索、管理のための豊富な組み込みコマンドと外部ユーティリティを提供します。

lsでファイルを一覧表示

lsコマンドはbashで最も頻繁に使用されるコマンドです。さまざまなフォーマットオプションでディレクトリの内容を一覧表示します:

ls -lah          # 詳細一覧、全ファイル、人間が読めるサイズ
ls -lt           # 更新日時でソート
ls -lS           # ファイルサイズでソート
ls -d */         # ディレクトリのみ一覧
ls -R            # 再帰的な一覧

cpでコピー

cpコマンドはファイルとディレクトリをコピーします。ディレクトリの場合は-r(再帰的)フラグが必要です:

cp file.txt backup.txt        # ファイルをコピー
cp -r src/ src_backup/        # ディレクトリをコピー
cp -rp /data/ /backup/data/   # 権限とタイムスタンプを保持してコピー

mvで移動・名前変更

mvコマンドはファイルの移動と名前変更の両方を行います。bashには別のrenameコマンドはありません:

mv old.txt new.txt           # ファイルの名前変更
mv file.txt ~/Documents/     # 別のディレクトリに移動
mv *.log /var/log/archive/   # 複数ファイルを移動

rmで削除

rmコマンドはファイルを完全に削除します。グラフィカルなファイルマネージャとは異なり、ゴミ箱はありません:

rm file.txt          # ファイルを削除
rm -rf directory/    # ディレクトリと全内容を削除(注意して使用)
rm -i important.txt  # 削除前に確認

findでファイル検索

findコマンドは名前、タイプ、サイズ、更新日時などの基準でディレクトリツリーを検索します:

find . -name "*.js" -type f            # JSファイルを検索
find /home -size +100M                  # 100MB以上のファイルを検索
find . -mtime -1                        # 過去24時間に変更されたファイル
find . -name "*.log" -exec rm {} \;    # ログファイルを検索して削除

chmodで権限変更

chmodコマンドは8進数(数値)またはシンボリック表記でファイルの権限を変更します:

chmod 755 script.sh    # rwxr-xr-x
chmod 644 config.yaml  # rw-r--r--
chmod +x deploy.sh     # 実行権限を追加
chmod -R 750 project/  # 再帰的な権限変更

ユースケース

ファイル操作はすべてのbashユーザーにとって不可欠です。システム管理者はサーバーファイルの管理に、開発者はビルドスクリプトやデプロイの自動化に、DevOpsエンジニアはCI/CDパイプラインで使用します。これらのコマンドを理解することがUnix/Linux環境で生産的になるための第一歩です。

試してみる — Bash Cheat Sheet

フルツールを開く