Linuxのよく使うコマンド(ファイルのコピー/削除)

目次

コピー

ファイルをコピーする(cp)

cp コピー元 コピー先
$ cp test1.txt test2.txt

コピー先のファイル(test2.txt)がない場合
test1.txtファイルをコピーしてtest2.txtを作成する。

コピー先のファイル(test2.txt)がある場合
test1.txtファイルをコピーしてtest2.txtを上書きする。

 

ファイルをコピーする+上書きの確認(cp -i)

$ cp -i test1.txt test2.txt
cp: `test2.txt' を上書きしますか? y

コピー先のファイルが存在する場合、確認を行います。
上書きする場合はyを、上書きしない場合はnを入力します。

 

複数のファイルを指定のディレクトリにコピーする(cp)

$ pwd
/home/test/test1
$ ls -l
drwxrwxr-x 2 test test        6  1月 20 22:08 dir1
-rw-rw-r-- 1 test test        0  1月 20 22:00 test1.txt
-rw-rw-r-- 1 test test        0  1月 20 22:00 test2.txt
$ cp /home/test/test1/test*.txt dir1
ls -l /home/test/test1/dir1
-rw-rw-r-- 1 test test 0  1月 20 22:09 test1.txt
-rw-rw-r-- 1 test test 0  1月 20 22:09 test2.txt
$ cp /home/test/test1/test*.txt /home/test/test1/dir1

7行目と11行目は同じコピーの処理です。

 

ディレクトリごとコピーする(cp -r)

$ cp -r /home/test/test1/dir1 /home/test/test1/dir2

コピー先のディレクトリ(dir2)がない場合
ディレクトリ(dir1)をコピーしてディレクトリ(dir2)を作成しdir1内のファイルをコピーします。

コピー先のディレクトリ(dir2)がある場合
dir2配下にdir1が作成されます。
/home/test/test1/dir2/dir1

 

削除

ファイルを削除する(rm)

$ rm test3.txt

 

ファイルを削除ーする+削除の確認(rm -i)

$ rm -i test1.txt
rm: 通常ファイル `test1.txt' を削除しますか? y

削除する前に確認を行います。
削除する場合はyを、削除しない場合はnを入力します。

 

ディレクトリごと削除する(rm -r)

$ rm dir1
rm: `dir1' を削除できません: ディレクトリです
$ rm -r dir1

rmのみの場合、2行目のメッセージが出て削除できません。

 

移動

mv  移動元ファイル/ディレクトリ 移動先のパス

ファイルを移動する(mv)

$ mv test1.txt /home/test/test1/dir2/

現ディレクトリのtest1.txtを/home/test/test1/dir2/に移動する。

移動先に同名のファイルが存在したときは上書きされます。
→mv -i にすると上書きの場合に確認のメッセージが表示されます。

 

指定ディレクトリ配下の全てのファイルとディレクトリを移動する(mv)

$ mv /home/test/test1/dir1/* /home/test/test1/dir2/

/home/test/test1/dir1/配下にあるすべてのファイルとディレクトリを/home/test/test1/dir2/配下に移動する。
※ディレクトリも移動されるので注意。

 

存在しないディレクトリに移動させようとした時(mv)

$ mv /home/test/test1/dir1/* /home/test/test1/dir3/
mv: 宛先の `/home/test/test1/dir3/' はディレクトリではありません

移動先のディレクトリが存在しないときは移動できません。

 

ファイルを移動する+上書きの確認(mv -i)

$ mv -i test1.txt /home/test/test1
mv: `/home/test/test1/test1.txt' を上書きしますか? y

移動先のファイルが存在する場合、確認を行います。
上書きする場合はyを、上書きしない場合はnを入力します。

 

ファイルを強制的に上書きする(mv -f)

$ mv -f test1.txt /home/test/test1

移動先のファイルが存在する場合、強制的に上書きします。

 

ファイル名を変更する(mv)

$ mv test1.txt test9.txt

2つめの引数がファイル名の場合、ファイル名の変更になります。

※変更先に同名のファイルが存在する場合上書きされてしまうので注意。
→mv -i にすると上書きの場合に確認のメッセージが表示されます。

 

ディレクトリ

ディレクトリを作成する(mkdir)

$ mkdir test

testというディレクトリを作成します。

 

階層のディレクトリを作成する(mkdir -p)

$ mkdir test1/test2
mkdir: ディレクトリ `test1/test2' を作成できません: そのようなファイルやディレクトリはありません
$ mkdir -p test1/test2$

1行目のようにmkdirのみでは階層構造のディレクトリは作成できません。

3行目のようにオプションの-pをつけると作成できます。

home/testで上記コマンドを実行した場合、
/home/test/test1/test2が作成されます。

関連の記事

Linuxのよく使うコマンド(lsで一覧表示)
Linuxのよく使うコマンド(ディスク容量/ファイルシステム)

△上に戻る