トップ > Linuxらしい使い方を覚える >
ファイルやディレクトリの操作(作成・改名・移動・削除・複製)

  

ファイルやディレクトリを作成・改名・移動・削除・複製するには

前の記事ではディレクトリツリーがどんなモノで、どうやってディレクトリツリー内を探索するかを解説しました。 この記事では、ファイルやディレクトリを作成・改名・移動・削除・複製する方法を紹介します。

ディレクトリの作成と改名および削除

まずは、ディレクトリの作成と改名および削除から解説します。 ここではホームディレクトリの下に testdir という名前のディレクトリを作成し、その下にさらに dir1 と dir2 の2つのディレクトリを作成してみます。

端末を開き、キーボードから mkdir testdir と入力して、Enterキーを押してください。


mkdir testdir

 
  
mkdir コマンドでディレクトリを作成することができます。 "MaKe DIRectory" から連想して覚えましょう。

以下のようにホームディレクトリの下に testdir ディレクトリを作成します。

taro@myhostname:~$ mkdir testdir
taro@myhostname:~$

では、ディレクトリが作成されたことを確認してみましょう。 キーボードから ls -l と入力して、Enterキーを押してください。


ls -l

 

以下のように testdir が作成されていることが確認できます。

taro@myhostname:~$ ls -l
合計 36
drwxr-xr-x 2 taro taro 4096  6月 10 13:11 Desktop
drwxr-xr-x 2 taro taro 4096  6月 10 13:11 Documents
drwxr-xr-x 2 taro taro 4096  6月 10 13:11 Downloads
drwxr-xr-x 2 taro taro 4096  6月 10 13:11 Music
drwxr-xr-x 2 taro taro 4096  6月 10 13:11 Pictures
drwxr-xr-x 2 taro taro 4096  6月 10 13:11 Public
drwxr-xr-x 2 taro taro 4096  6月 10 13:11 Templates
drwxr-xr-x 2 taro taro 4096  6月 10 13:11 Videos
drwxrwxr-x 2 taro taro 4096  6月 25 19:51 testdir
taro@myhostname:~$

このように mkdir コマンドでディレクトリを作成することができます。

では次に、testdir ディレクトリの下に dir1 ディレクトリを作成します。 ただし、dir1 を ddr1 と打ち間違えてみます。 キーボードから mkdir testdir/ddr1 と入力して、Enterキーを押してください。


mkdir testdir/ddr1

 

以下のように testdir ディレクトリの下に ddr1 ディレクトリを作成します。

taro@myhostname:~$ mkdir testdir/ddr1
taro@myhostname:~$

では、ディレクトリが作成されたことを確認しましょう。 キーボードから ls -l testdir と入力して、Enterキーを押してください。


ls -l testdir

 

以下のように testdir の下に ddr1 というディレクトリが作成されています。 ま、打ち間違えていますけど。

taro@myhostname:~$ ls -l testdir
合計 4
drwxrwxr-x 2 taro taro 4096  6月 25 19:57 ddr1
taro@myhostname:~$

では、たった今打ち間違えて作成した ddr1 ディレクトリを正しい dir1 に改名しましょう。 ディレクトリを改名するには mv コマンドを使用します。 キーボードから mv testdir/ddr1 testdir/dir1 と入力して、Enterキーを押してください。


mv testdir/ddr1 testdir/dir1

 
  
mv コマンドでファイルやディレクトリを移動や改名することができます。 "MoVe" から連想して覚えましょう。
  
最後の引数に指定されている testdir/dir1 というディレクトリは存在しません。 そのため mv コマンドは "改名の指示" だと解釈してくれます。

以下のように ddr1 を dir1 に改名します。

taro@myhostname:~$ mv testdir/ddr1 testdir/dir1
taro@myhostname:~$

ディレクトリが改名されたことを確認しましょう。 キーボードから ls -l testdir と入力して、Enterキーを押してください。


ls -l testdir

 

以下のように testdir の下に dir1 というディレクトリがあります。 無事に改名されています。

taro@myhostname:~$ ls -l testdir
合計 4
drwxrwxr-x 2 taro taro 4096  6月 25 19:57 dir1
taro@myhostname:~$

では、たった今改名した dir1 ディレクトリを削除してみましょう。 ディレクトリの削除方法を説明するため、あえて削除します。

キーボードから rmdir testdir/dir1 と入力して、Enterキーを押してください。


rmdir testdir/dir1

 
  
rmdir コマンドでディレクトリを削除することができます。 "ReMove DIRectory" から連想して覚えましょう。
  
rmdir コマンドで削除されたディレクトリはゴミ箱には移動しません。 ゴミ箱の機能を使いたければ、ファイルマネージャから作業しましょう。

以下のように何も表示されませんが、ディレクトリは削除されています。 エラーが表示されないということは成功したということです。

taro@myhostname:~$ rmdir testdir/dir1
taro@myhostname:~$

念の為ディレクトリが削除されたことを確認しておきましょう。 キーボードから ls -l testdir と入力して、Enterキーを押してください。


ls -l testdir

 

以下のようにディレクトリが削除されたことがわかります。

taro@myhostname:~$ ls -l testdir
合計 0
taro@myhostname:~$

では、dir1 ディレクトリを再度作成しましょう。 ただし、dir1 だけでなく dir2 ディレクトリも同時に作成します。 キーボードから mkdir testdir/dir1 testdir/dir2 と入力して、Enterキーを押してください。


mkdir testdir/dir1 testdir/dir2

 

以下のように dir1 と dir2 の2つのディレクトリをまとめて作成します。

taro@myhostname:~$ mkdir testdir/dir1 testdir/dir2
taro@myhostname:~$

このように、複数のディレクトリをまとめて作成することもできます

では、2つのディレクトリが作成されたことを確認しておきましょう。 キーボードから ls -l testdir と入力して、Enterキーを押してください。


ls -l testdir

 

以下のように2つのディレクトリが作成されていることがわかります。

taro@myhostname:~$ ls -l testdir
合計 8
drwxrwxr-x 2 taro taro 4096  6月 25 20:16 dir1
drwxrwxr-x 2 taro taro 4096  6月 25 20:16 dir2
taro@myhostname:~$

ではここで、再度 dir1 と dir2 を作成させてみましょう。 つまり、すでに存在するディレクトリの作成です

キーボードから mkdir testdir/dir1 testdir/dir2 と入力して、Enterキーを押してください。


mkdir testdir/dir1 testdir/dir2

 

以下のようにエラーとなります。

taro@myhostname:~$ mkdir testdir/dir1 testdir/dir2
mkdir: ディレクトリ `testdir/dir1' を作成できません: ファイルが存在します
mkdir: ディレクトリ `testdir/dir2' を作成できません: ファイルが存在します
taro@myhostname:~$

このように、すでに存在するディレクトリを作成しようとするとエラーとなります。 ただし、すでにディレクトリが存在していてもエラーにはしないオプション -p があります。

オプション -p を試してみましょう。 キーボードから mkdir -p testdir/dir1 testdir/dir2 と入力して、Enterキーを押してください。


mkdir -p testdir/dir1 testdir/dir2

 

以下のようにエラーは発生しません。

taro@myhostname:~$ mkdir -p testdir/dir1 testdir/dir2
taro@myhostname:~$

このように mkdir コマンドに -p オプションを付けることでディレクトリが既存の場合でもエラーは発生しなくなります。

ファイルの作成

では次に dir1 と dir2 ディレクトリの下にいくつかのファイルを作成してみます。 なお、どのファイルも空の状態で作成します

空のファイルを作成するには touch コマンドを使います。 キーボードから touch testdir/dir1/file1a と入力して、Enterキーを押してください。


touch testdir/dir1/file1a

 
  
touch コマンドで空のファイルを作成することができます。
  
なお touch コマンドは空のファイルを作成するためのコマンドではなく、ファイルやディレクトリの最終変更日時を更新するためのコマンドです。 ファイルが存在しない場合に限り、空のファイルを作成してから最終変更日時を更新します。

以下のように dir1 ディレクトリの下に file1a というファイルを作成します。

taro@myhostname:~$ touch testdir/dir1/file1a
taro@myhostname:~$

では、dir1 ディレクトリの内容を確認してみましょう。 キーボードから ls -l testdir/dir1 と入力して、Enterキーを押してください。


ls -l testdir/dir1

 

以下のようにファイル file1a が作成されていることが確認できます。

taro@myhostname:~$ ls -l testdir/dir1
合計 0
-rw-rw-r-- 1 taro taro 0  6月 25 20:18 file1a
taro@myhostname:~$

このように touch コマンドを使って空のファイルを作成することができます。 ファイルの最終変更日時は、もちろんコマンド実行時の日時です。

続いて、同じく dir1 ディレクトリに、file1b と file1c と file1d の3つのファイルを作成します。

file1b と file1c と file1d の3つファイルをまとめて作成しましょう。 キーボードから touch testdir/dir1/file1b testdir/dir1/file1c testdir/dir1/file1d と入力して、Enterキーを押してください。


touch testdir/dir1/file1b testdir/dir1/file1c testdir/dir1/file1d

 

以下のように3つのファイルをまとめて作成します。

taro@myhostname:~$ touch testdir/dir1/file1b testdir/dir1/file1c testdir/dir1/file1d
taro@myhostname:~$

では、dir1 ディレクトリの内容を確認してみましょう。 キーボードから ls -l testdir/dir1 と入力して、Enterキーを押してください。


ls -l testdir/dir1

 

以下のように file1b と file1c と file1d というファイルも作成されています。

taro@myhostname:~$ ls -l testdir/dir1
合計 0
-rw-rw-r-- 1 taro taro 0  6月 25 17:22 file1a
-rw-rw-r-- 1 taro taro 0  6月 25 17:23 file1b
-rw-rw-r-- 1 taro taro 0  6月 25 17:23 file1c
-rw-rw-r-- 1 taro taro 0  6月 25 17:23 file1d
taro@myhostname:~$

このように dir1 ディレクトリには file1a file1b file1c file1d という4つのファイルが作成されました。

ファイルの改名と移動

続いては、ファイルの改名と移動を行ってみましょう。 dir1 に作成した以下の、

  1. file1a
  2. file1b
  3. file1c

の3つのファイルを、

  1. file2a
  2. file2b
  3. file2c

に改名し、さらに dir2 ディレクトリに移動します。


まずは file1a から作業します。 file1a を file2a に改名します。 なお、dir2 への移動はまだ行いません。

では、file1a を file2a に改名しましょう。 キーボードから mv testdir/dir1/file1a testdir/dir1/file2a と入力して、Enterキーを押してください。


mv testdir/dir1/file1a testdir/dir1/file2a

 
  
最後の引数に指定されている testdir/dir1/file2a というファイルは存在しません。 そのため mv コマンドは "改名の指示" だと解釈してくれます。

以下のように testdir/dir1/file1a を testdir/dir1/file2a に改名します。

taro@myhostname:~/testdir/dir1$ mv testdir/dir1/file1a testdir/dir1/file2a
taro@myhostname:~/testdir/dir1$

ファイルが改名されたことを確認しましょう。 キーボードから ls -l testdir/dir1 と入力して、Enterキーを押してください。


ls -l testdir/dir1

 

以下のようにファイル file1a が file2a に改名されていることが確認できます。

taro@myhostname:~$ ls -l testdir/dir1
合計 0
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file1b
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file1c
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file1d
-rw-rw-r-- 1 taro taro 0  6月 25 20:18 file2a
taro@myhostname:~$

続いては file1b の作業です。 file1b を file2b に改名します。 なお、このファイルも dir2 への移動はまだ行いません。

改名はホームディレクトリからではなく、ディレクトリ dir1 に移動してから実施します。 では、カレントディレクトリを dir1 ディレクトリに移動しましょう。 キーボードから cd testdir/dir1 と入力して、Enterキーを押してください。


cd testdir/dir1

 

以下のようにディレクトリ dir1 に移動します。

taro@myhostname:~$ cd testdir/dir1
taro@myhostname:~/testdir/dir1$

では、カレントディレクトリにある file1a を file2a に改名します。 キーボードから mv file1b file2b と入力して、Enterキーを押してください。


mv file1b file2b

 

以下のように file1a を file2a に改名します。

taro@myhostname:~/testdir/dir1$ mv file1b file2b
taro@myhostname:~/testdir/dir1$

ファイルが改名されたことを確認しましょう。 キーボードから ls -lと入力して、Enterキーを押してください。


ls -l

 

以下のようにファイル file1b が file2b に改名されていることが確認できます。

taro@myhostname:~/testdir/dir1$ ls -l
合計 0
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file1c
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file1d
-rw-rw-r-- 1 taro taro 0  6月 25 20:18 file2a
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file2b
taro@myhostname:~/testdir/dir1$

ではここで、file2a と file2b をまとめて dir2 へ移動しましょう。 ファイルを移動するためのコマンドは、これまた mv コマンドです。 キーボードから mv file2a file2b ../dir2 と入力して、Enterキーを押してください。


mv file2a file2b ../dir2

 
  
最後の引数に指定されている ../dir2 は既存のディレクトリです。 そのため mv コマンドは "移動の指示" だと解釈してくれます。

以下のように file2a と file2b をディレクトリ dir2 に移動します。

taro@myhostname:~/testdir/dir1$ mv file2a file2b ../dir2
taro@myhostname:~/testdir/dir1$

ファイルが移動されたことを確認しましょう。 キーボードから ls -lと入力して、Enterキーを押してください。


ls -l

 

以下のようにファイル file2a と file2b が見当たらなくなりました。

taro@myhostname:~/testdir/dir1$ ls -l
合計 0
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file1c
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file1d
taro@myhostname:~/testdir/dir1$

移動先のディレクトリ dir2 も見ておきましょう。 キーボードから ls -l ../dir2 と入力して、Enterキーを押してください。


ls -l ../dir2

 

以下のようにファイル file2a と file2b が移動していることが確認できます。

taro@myhostname:~/testdir/dir1$ ls -l ../dir2
合計 0
-rw-rw-r-- 1 taro taro 0  6月 25 20:18 file2a
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file2b
taro@myhostname:~/testdir/dir1$

では、改名と移動の仕上げとして file1c を改名しつつ dir2 へ移動します。 ファイルの改名と移動を同時に実行します。 なお、使用するコマンドは、またまた mv コマンドです。 キーボードから mv file1c ../dir2/file2c と入力して、Enterキーを押してください。


mv file1c ../dir2/file2c

 
  
最後の引数に指定されている ../dir2/file2c というファイルは存在しませんが、ディレクトリ ../dir2 は存在します。 そのため mv コマンドは "改名と移動の指示" だと解釈してくれます。

以下のように file1c を file2c に改名しつつディレクトリ dir2 に移動します。

taro@myhostname:~/testdir/dir1$ mv file1c ../dir2/file2c
taro@myhostname:~/testdir/dir1$

ファイルが移動されたことを確認しましょう。 キーボードから ls -l ../dir2 と入力して、Enterキーを押してください。


ls -l ../dir2

 

以下のようにファイル file2c が移動していることが確認できます。

taro@myhostname:~/testdir/dir1$ ls -l ../dir2
合計 0
-rw-rw-r-- 1 taro taro 0  6月 25 20:18 file2a
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file2b
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file2c
taro@myhostname:~/testdir/dir1$

ファイルの上書きと削除

では次に、ファイルの上書きと削除を行ってみます。 dir1 に作成した以下の、

  1. file1d

を dir2 に移動した、

  1. file2c

に上書きします。 さらに続けて、file2c を削除します。


では dir1/file1d を dir2/file2c に上書きしましょう。 使用するコマンドは相変わらず mv コマンドです。 キーボードから mv file1d ../dir2/file2c と入力して、Enterキーを押してください。


mv file1d ../dir2/file2c

 
  
最後の引数に指定されている ../dir2/file2c というファイルは存在します。 そのため mv コマンドは "上書きの指示" だと解釈してくれます。

以下のように file1d を ../dir2/file2c に上書きします。

taro@myhostname:~/testdir/dir1$ mv file1d ../dir2/file2c
taro@myhostname:~/testdir/dir1$

ファイルが改名されたことを確認しましょう。 キーボードから ls -l ../dir2 と入力して、Enterキーを押してください。


ls -l ../dir2

 

以下のようにファイルは3つのままです。 dir1/file1d が dir2/file2c に上書きされたためファイルの増減はありません。

taro@myhostname:~/testdir/dir1$ ls -l ../dir2
合計 0
-rw-rw-r-- 1 taro taro 0  6月 25 20:18 file2a
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file2b
-rw-rw-r-- 1 taro taro 0  6月 25 20:21 file2c
taro@myhostname:~/testdir/dir1$

では、移動したばかりの file2c を削除しましょう。 ファイルを削除するためのコマンドは rm コマンドです。 キーボードから rm ../dir2/file2c と入力して、Enterキーを押してください。


rm ../dir2/file2c

 
  
rm コマンドでファイルを削除することができます。 "ReMove" から連想して覚えましょう。
  
rm コマンドで削除されたファイルはゴミ箱には移動しません。 ゴミ箱の機能を使いたければ、ファイルマネージャから作業しましょう。

以下のようにファイル file2c が削除されます。

taro@myhostname:~/testdir/dir1$ rm ../dir2/file2c
taro@myhostname:~/testdir/dir1$

このようにオプションを指定せずに rm コマンドを実行すると、何の確認も行われずにファイルが削除されてしまいます

削除するかどうかを確認したい場合には -i オプションを付ける必要があります。

では、file2b も削除してしまいましょう、-i オプションを付けて。 キーボードから rm -i ../dir2/file2b と入力して、Enterキーを押してください。


rm -i ../dir2/file2b

 

以下のように削除するかどうかを尋ねられるので y と入力してEnterキーを押してください。

taro@myhostname:~/testdir/dir1$ rm -i ../dir2/file2b
rm: 通常の空ファイル '../dir2/file2b' を削除しますか?  

以下のように削除されます。

taro@myhostname:~/testdir/dir1$ rm -i ../dir2/file2b
rm: 通常の空ファイル '../dir2/file2b' を削除しますか? y
taro@myhostname:~/testdir/dir1$

このように -i オプションを付けて rm コマンドを実行することで、確認しながらファイルを削除することができます。

ディレクトリの移動

続いては、ディレクトリの移動について解説します。 ここでは、ディレクトリ dir2 を、ディレクトリ dir1 の下に移動してみます。 つまり、dir2 は dir1 子になるというわけです。

ディレクトリの移動も mv コマンドで実施します。 キーボードから mv ../dir2 . と入力して、Enterキーを押してください。


mv ../dir2 .

 
  
カレントディレクトリは ~/testdir/dir1 です。 そのため最後の引数の .(ピリオド) は ~/testdir/dir1 を表します。

以下のように dir2 を dir1 の下に移動します。

taro@myhostname:~/testdir/dir1$ mv ../dir2 .
taro@myhostname:~/testdir/dir1$

では、dir1 を覗いてみましょう。 キーボードから ls -l と入力して、Enterキーを押してください。


ls -l

 

以下のように dir2 が移動しています。 成功です。

taro@myhostname:~/testdir/dir1$ ls -l
合計 4
drwxrwxr-x 2 taro taro 4096  6月 25 20:54 dir2
taro@myhostname:~/testdir/dir1$

中身のあるディレクトリの削除

では、最後に後始末を行いましょう。 ホームディレクトリの下の testdir ディレクトリを削除します。 まずは、ホームディレクトリに戻りましょう。

キーボードから cd と入力して、Enterキーを押してください。


cd

 

以下のようにホームディレクトリに戻ります。

taro@myhostname:~/testdir/dir1$ cd
taro@myhostname:~$

では、testdir ディレクトリを削除しましょう。 キーボードから rmdir testdir と入力して、Enterキーを押してください。


rmdir testdir

 

以下のようにエラーが発生します。

taro@myhostname:~$ rmdir testdir
rmdir: 'testdir' を削除できません: ディレクトリは空ではありません
taro@myhostname:~$

エラーが発生した理由は、削除しようとしたディレクトリが空ではなかったからです。

それなら、ディレクトリが空でない場合でも削除することができるオプションを付ければいいのでしょうか。 いいえ、そんなオプションはありません

rmdir コマンドは空のディレクトリを削除するためのコマンドであり、空でなければ絶対に削除することはできません

ちょっとわかりにくいのですが、空ではないディレクトリを削除するには rm コマンドに -r オプションを付けて実行します。 キーボードから rm -r testdir と入力して、Enterキーを押してください。


rm -r testdir

 

以下のように testdir ディレクトリが下位のファイルやディレクトリと一緒に削除されます。

taro@myhostname:~$ rm -r testdir/
taro@myhostname:~$

このように rm コマンドに -r オプションを付けることで、空ではないディレクトリも削除することができます。 なお、オプションの意味は以下の通りです。

オプション 説明
-r ディレクトリ内のファイルやディレクトリをたどって処理する
  
ディレクトリ内のファイルやディレクトリをたどりつつ、確認しながら削除する場合は、オプション -r ではなく -ri とします。
  

ファイルやディレクトリの複製(コピー)

ファイルやディレクトリを複製(コピー)する方法を説明していませんでしたので、ここで解説しておきます。 ファイルやディレクトリの複製には cp コマンドを使用します。

  
"CoPy" から連想して覚えましょう。

cp コマンドは、

cp source destination

のように2つのパスを受け取ります。 なお、destination が、存在しないのか、ファイルなのか、ディレクトリなのかで挙動が変化します。

destination が存在しなければ source が destination という名前で複製されます。 source と destination は同じ内容になります。

destination がファイルである場合には source が destination に上書きされます。 つまりこの場合も source と destination は同じ内容になります。 元々の destination の内容は失われます。

destination がディレクトリである場合には source が destination ディレクトリの下に source という名前のまま複製されます。 つまり source と destination/source が同じ内容になります。

オプションについて

cp コマンドにはいくつか注意しなければならないことがあります。 それは、

  1. ファイルの最終変更日時はどうするか
  2. ディレクトリの場合に中身も複製するのか
  3. 特殊なファイルはどう複製するのか

というような点です。

通常、複製先のファイルの最終変更日時は複製元と同じでよい場合がほとんどだと思います。

また、ディレクトリを複製する場合には、含まれているファイルやディレクトリも含めて複製することでしょう。

特殊なファイルというのは後ほど紹介するシンボリックリンクなどのことですが、これらは特殊な状態を維持したまま複製するのが安全です。

そのような場合に指定すべきオプションが -p と -R と -d です。 なお、それぞれのオプションの意味は以下の通りです。

オプション 説明
-p ファイルの属性(所有者やアクセス権や最終変更日時など)を複製元と合わせる
-R 特殊なファイルは特殊な状態を維持する
ディレクトリの場合は中身をたどって複製する
-d シンボリックリンクはシンボリックリンクとして複製する
-a -pRd と同じ

結局どうすればいいのか

cp コマンドを利用する場合には常に -a オプションを指定しておくのがいいでしょう。 可能な限り、複製元の状態を維持したままの複製が行われます。

オプション -a では対応できない状況になった時に cp コマンドのマニュアルを参照して解決方法を探してください。

  

まとめ

mkdir コマンドでディレクトリを作成し、rmdir コマンドでディレクトリを削除することができます。

なお、ディレクトリの中身が空でない場合には rmdir コマンドではなく rm コマンドに -r オプションを付けて実行しなくてはなりません。 rm コマンドはファイルを削除するためのコマンドですが、空でないディレクトリを削除するためにも使用します。

操作/コマンド 説明
mkdir directory ディレクトリ directory を作成する
rmdir directory ディレクトリ directory を削除する
※ディレクトリが空でなければ削除できない
rm filename ファイル filename を削除する
※確認せずに削除する
rm -i filename ファイル filename を削除する
※確認して削除する
rm -r dirname ディレクトリ dirname を下位のファイルやディレクトリごと削除する
※確認せずに削除する
rm -ri dirname ディレクトリ dirname を下位のファイルやディレクトリごと削除する
※確認しながら削除する

空のファイルを作成するには touch コマンドを利用します。 なお、touch コマンドはファイルやディレクトリの最終変更日時を更新するのが本来の役目です。

操作/コマンド 説明
touch filename ファイル filename の最終変更日時を更新する
※ファイルが存在しなければ作成する

ファイルやディレクトリの複製には cp コマンドを使用します。 cp コマンドは、

cp -a source destination

のように2つのパスを受け取ります。 なお、destination が、存在しないのか、ファイルなのか、ディレクトリなのかで挙動が変化します。

destination が存在しないかファイルである場合には source が destination に上書きされます。 source と destination は同じ内容になります。

destination がディレクトリである場合には source が destination ディレクトリの下に source という名前のまま複製されます。 source と destination/source は同じ内容になります。

操作/コマンド 説明
cp -a source destination - destinationが存在しないなら -
source を destination に複製する

- destinationがファイルなら -
source で destination を上書きする
※destinationの内容は失われる

- destinationがディレクトリなら -
source を destination の下に複製する

ファイルやディレクトリの改名や移動には mv コマンドを使います。 mv コマンドは、

mv source destination

や、

mv source1 source2 destination

のように2つ以上のパスを受け取ります。 なお、destination が、存在しないのか、ファイルなのか、ディレクトリなのかで挙動が変化します。

destination が存在しなければ改名に、ファイルであれば上書きに、ディレクトリであれば移動になります。

操作/コマンド 説明
mv source destination - destinationが存在しないなら -
source を destination に改名する

- destinationがファイルなら -
source で destination を上書きする
※destinationの内容は失われる
※sourceは消える

- destinationがディレクトリなら -
source を destination に移動する
メニュー