ファイルやディレクトリのコピー・移動・名前の変更
ファイルやディレクトリのコピー
Linux でファイルやディレクトリのコピーを行うには cp コマンドを使います。 コピー (Copy) するので cp コマンドです。
コマンドのパターンは次の通りです。
$ cp コピー元 コピー先
コピー元やコピー先はファイルやディレクトリです。
それでは実際に試してみましょう。
現在、次のようなディレクトリやファイルを含むディレクトリにいるとします。
$ tree . ├── dir1 │ ├── bar │ └── foo ├── file1 └── file2 1 directory, 4 files
tree コマンドはディレクトリツリーを見るのに便利です。
この状態から file1 のコピーを file3 というファイル名で作るには、次のようにします。
$ cp file1 file3 # ファイルをコピー $ tree # もう一度ツリーを確認 . ├── dir1 │ ├── bar │ └── foo ├── file1 ├── file2 └── file3 # 確かに作成されている 1 directory, 5 files
ディレクトリを丸ごとコピーするには、-a オプションを使います。
$ cp -a dir1 dir2 $ tree . ├── dir1 │ ├── bar │ └── foo ├── dir2 │ ├── bar │ └── foo ├── file1 ├── file2 └── file3 2 directories, 7 files
尚、ディレクトリを丸ごとコピーするのに -r オプションも使えます。
-a オプションでは元のファイルのパーミッションやタイムスタンプ等の属性を保持します。 -r オプションではファイルの属性は保持されません。
ファイルやディレクトリの移動・名前の変更
ファイルやディレクトリの移動をするコマンドは mv コマンドです。 移動なので Move です。
使い方は cp コマンドとほぼ同様です。
$ mv 移動元 移動先
移動先はファイル名またはディレクトリを指定します。
実際にコマンドを実行してみます。
$ tree #現状を確認 . ├── dir1 │ ├── bar │ └── foo ├── file1 ├── file2 └── file3 1 directory, 5 files $ mv file1 dir1 #file1 の移動先にディレクトリ指定 $ tree . ├── dir1 │ ├── bar │ ├── file1 #移動した │ └── foo ├── file2 └── file3 1 directory, 5 files
mv コマンドはファイル名・ディレクトリ名の変更にも使います。
$ mv dir1 dir2 #dir1 を dir2 に変更 $ tree . ├── dir2 #ディレクトリ名が変わっている │ ├── bar │ └── foo ├── file1 ├── file2 └── file3 1 directory, 5 files
以上、cp コマンドと mv コマンドの基本的な使用方法について説明しました。