前の記事では、 pwd・ls・cdコマンドを使ってLinuxのDirectoryを確認・移動する方法 を学びました。
次は、 Directoryの中にあるFileを実際に操作していきます。
LinuxでFileを扱うとき、 まず覚えたいのが次の3つです。
cp
Copy
Fileをコピー
mv
Move
移動・名前変更
rm
Remove
Fileを削除
別のDirectoryへ移動したい。
不要なFileを削除したい。
そんなときに使うのがcp・mv・rmです。
cpでFileをCopyし、 mvで移動・名前変更を行い、 rmで不要なFileを削除できる ようになることを目指します。
まず3つのコマンドの役割を整理しよう
cp
Fileを複製する
元のFileを残したまま、 同じ内容のFileを作成します。
mv
Fileを移動する
Fileを別の場所へ移したり、 名前を変更したりできます。
rm
Fileを削除する
不要なFileを削除します。
cpコマンド:ファイルをコピーする
cpは、 FileをCopyするCommandです。
基本形は次のようになります。
cp コピー元 コピー先
たとえば、
sample.txt
を
copy.txt
という名前でCopyしたい場合、
$ cp sample.txt copy.txt
と実行します。
sample.txt
sample.txt
copy.txt
Copyなので、
sample.txt
はそのまま残り、
新しく
copy.txt
が作成されます。
別のディレクトリへコピーする
Fileを別のDirectoryへCopyすることもできます。
$ cp sample.txt Documents/
この場合、
sample.txt
が
Documents
Directory内へCopyされます。
sample.txt
sample.txt
cp -iで上書き前に確認する
Copy先に同じ名前のFileが存在すると、 上書きされることがあります。
初心者のうちは、 -i Optionを利用すると安全です。
$ cp -i sample.txt copy.txt
cp: overwrite 'copy.txt'?
このように、 上書きする前に確認できます。
重要なFileを誤って上書きしないために、 操作に慣れるまでは確認付きOptionを意識すると安全です。
mvコマンド:ファイルを移動する
mvは、 Fileを別の場所へ移動するCommandです。
mv 移動元 移動先
たとえば
sample.txt
を
Documents
へ移動する場合、
$ mv sample.txt Documents/
と実行します。
/home/user/sample.txt
/home/user/Documents/sample.txt
cpは複製ですが、 mvは移動なので、 元のDirectoryにはFileが残りません。
mvコマンドでファイル名を変更できる
mvは File名の変更 にも利用できます。
たとえば、
$ mv sample.txt report.txt
と実行すると、
sample.txt
report.txt
となります。
mv -iで上書き前に確認する
mvでも、 移動先に同名Fileがあると上書きされる場合があります。
$ mv -i sample.txt report.txt
mv: overwrite 'report.txt'?
安全に操作したい場合は、
-i
を利用できます。
rmコマンド:ファイルを削除する
rmは、 Fileを削除するCommandです。
rm ファイル名
たとえば
sample.txt
を削除する場合、
$ rm sample.txt
と実行します。
sample.txt
report.txt
report.txt
rmは特に注意して使う
rmは便利ですが、 Linux操作の中でも 特に注意が必要なCommand です。
GUIの「ごみ箱」のように、 必ず一度保留されるわけではありません。 削除対象をよく確認してから実行しましょう。
初心者のうちは、
$ rm -i sample.txt
rm: remove regular file 'sample.txt'?
のように
-i
を付けると、
削除前に確認できます。
rmでワイルドカードを使うときは特に注意
Linuxでは、
*
を使って複数Fileをまとめて指定できます。
たとえば、
rm *.txt
とすると、 現在のDirectoryにある .txtで終わるFileをまとめて削除 できます。
想定以上のFileを削除する可能性があります。
実行前に
ls
で対象を確認する習慣をつけましょう。
ファイル操作ではlsで前後を確認する
File操作をするときは、 次の流れがおすすめです。
ls
操作前を確認
cp / mv / rm
Fileを操作
ls
結果を確認
CommandがErrorを出さなくても、
自分が意図した結果になっているか
ls
などで確認しましょう。
ここで実際に試してみよう:ファイル操作シミュレーター
疑似Terminalで
cp・mv・rm
を実行して、
File一覧がどう変わるか確認してみましょう。
Linux File Operation Simulator
まずlsで現在のFileを確認しましょう
File操作前後でlsを実行すると、変化を確認しやすくなります。
理解度チェック:このコマンドを実行するとどうなる?
現在、
sample.txt
というFileが存在しています。
mv sample.txt report.txt
実行後の状態として正しいものはどれでしょうか?
mvはMoveだけでなくRenameにも利用できます。
存在しないファイルを操作するとどうなる?
存在しないFileを指定すると、 Errorが表示されます。
$ cp test.txt copy.txt
cp: cannot stat 'test.txt': No such file or directory
この場合は、
を確認しましょう。
ディレクトリそのものを作成・削除するには?
ここまで扱ったのは主にFile操作です。
では、 新しいDirectoryを作成したり、 不要なDirectoryを削除したりする場合は どうすればよいのでしょうか。
空になったDirectoryを削除するには?
次はDirectoryそのものの作成・削除を学びます。
確認問題:cp・mv・rmを理解できたか確認しよう
FileをコピーするCommandはどれですか?
cpはFileやDirectoryをCopyするCommandです。
File名を変更するときに利用できるCommandはどれですか?
mvはFileの移動だけでなく、 同じDirectory内で別名を指定することでRenameにも利用できます。
rmを使うときに特に注意すべき理由はどれですか?
rmはFileを直接削除するため、 対象を確認してから実行することが重要です。
3問に挑戦してみましょう。
まとめ
cpは
FileをCopyする
Command
mvは
Fileの移動・名前変更
に利用できる
rmは
Fileを削除する
Command
-iを使うと
上書き・削除前に確認
できる
File操作では ls → 操作 → ls で前後を確認する習慣が重要
次は「mkdir・rmdirでディレクトリを操作する」を学びましょう
cp・mv・rmを使って、 FileのCopy・移動・名前変更・削除を行う方法を学びました。
次はFileではなく、 Directoryそのものを作成・削除する操作 に進みます。
mkdirで新しいDirectoryを作り、
rmdirで空のDirectoryを削除する方法を
疑似Terminalを使って学習します。

