ターゲットフォルダにファイルをコピーする

ターゲットフォルダにファイルをコピーする

パスが非常に長いファイルがあります。たとえば、次のようになります。

/opt/very/long/path/file1

このディレクトリのファイルをコピーしたいと思います。

cp /opt/very/long/path/file1 /opt/very/long/path/file2

私はこの長い道を繰り返すのを好まない。ターゲットフォルダに移動して、次のファイルをコピーできます。

cd /opt/very/long/path/
cp file1 file2

しかし、ディレクトリを変更したくありません。 1つの理由は、長いパスが多い場合は毎回ディレクトリに入る必要があるからです。

cd /opt/very/long/path/
cp file1 file2
cd /opt/other/very/very/long/path/
cp fileA fileB

別の理由は、コンテキストと明確な履歴を保存したいためです(各コマンドにはコピーされた内容と場所が表示されます)。

したがって、ディレクトリを変更しないことをお勧めします。

cp /opt/very/long/path/file1 /opt/very/long/path/file2
cp /opt/other/very/very/long/path/fileA /opt/other/very/very/long/path/fileB

しかし、私はその道を繰り返さなければなりません。

そんな近道がありますか?

cp /opt/very/long/path/file1 ./file2
cp /opt/other/very/very/long/path/fileA ./fileB

しかし、ドットは.「現在のディレクトリ」を意味します。「ターゲットディレクトリ」または「ソースディレクトリ」を表す文字は何ですか?

cp /opt/very/long/path/file1 <destination>/file2
cp /opt/other/very/very/long/path/fileA <destination>/fileB

ベストアンサー1

中かっこ拡張は、次の場合に便利です。

cp /opt/other/very/very/long/path/{fileA,fileB}

...次に展開されます。

cp /opt/other/very/very/long/path/fileA /opt/other/very/very/long/path/fileB

実際に実行されたとき。

コマンドは入力と同時に履歴に表示され、パスは保持されます。

$ history
  # ...
  508  cp /opt/other/very/very/long/path/{fileA,fileB}
  509  history

おすすめ記事