パスが非常に長いファイルがあります。たとえば、次のようになります。
/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