3.2 ファイル操作
File Operations
cp, mv, rm, mkdir, rmdirはファイルとディレクトリの作成・コピー・移動・削除を行う基本コマンドである。
cp(コピー)
# ファイルコピー
cp source.txt dest.txt
cp source.txt /path/to/dir/
# ディレクトリコピー(-r: 再帰的)
cp -r srcdir/ destdir/
# 属性を保持(-p: パーミッション、タイムスタンプ)
cp -p source.txt dest.txt
# 確認付き(-i: 上書き前に確認)
cp -i source.txt dest.txt
| オプション | 説明 |
|---|---|
| -r, -R | 再帰的コピー(ディレクトリ必須) |
| -p | 属性を保持 |
| -i | 上書き確認 |
| -v | 処理内容を表示 |
mv(移動・リネーム)
# ファイル移動
mv file.txt /path/to/dir/
# リネーム
mv oldname.txt newname.txt
# ディレクトリ移動
mv srcdir/ /path/to/dest/
# 確認付き
mv -i source.txt dest.txt
rm(削除)
注意
rmで削除したファイルは復元できない。-rオプション使用時は特に注意。
# ファイル削除
rm file.txt
# 確認付き
rm -i file.txt
# ディレクトリ削除(再帰的)
rm -r dirname/
# 強制削除(確認なし)
rm -f file.txt
# 危険:絶対に実行しないこと
# rm -rf / ← システム全体を削除
| オプション | 説明 |
|---|---|
| -r, -R | 再帰的削除 |
| -f | 強制(確認なし、エラー無視) |
| -i | 削除前に確認 |
mkdir / rmdir
# ディレクトリ作成
mkdir dirname
# 親ディレクトリも同時に作成
mkdir -p path/to/newdir
# 空ディレクトリ削除
rmdir dirname
# 中身があるディレクトリは rm -r で削除
touch / ln
# 空ファイル作成 / タイムスタンプ更新
touch newfile.txt
# シンボリックリンク作成
ln -s /path/to/target linkname
# ハードリンク作成
ln /path/to/target linkname
出典
[1] man cp - copy files and directories.
[2] man mv - move (rename) files.
[3] man rm - remove files or directories.
[2] man mv - move (rename) files.
[3] man rm - remove files or directories.