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環境で生産的になるための第一歩です。