時々私はこれを行う必要性を感じます:
cp /really/long/path/to/file.txt /totally/different/long/path/to/copy.txt
使ってるからautojump
、得るカタログにすばやく簡単にアクセスできます。ただし、少なくともフルパスを入力しなくても、あるディレクトリから別のディレクトリにコピーするのは恥ずかしいです。
GUIファイルシステムエクスプローラではこれは簡単です。最初のディレクトリに移動します。コピーソースファイルに移動して2番目のディレクトリに移動します。生地。しかし、この場合、cp
2つのステップでコピーを完了できないようです。
次のようなことをしたいと思います。
(use autojump to navigate to the first directory)
$ copy file.txt
(use autojump to navigate to the second directory)
$ paste copy.txt
より長い入力の代わりに:
(use autojump to navigate to the first directory)
$ cp file.txt /totally/different/long/path/to/copy.txt
私が探している機能を提供するツールはありますか? OS X El CapitanでZshを使用しています。
答え1
次の作品はbash
まだ試していませんzsh
。
努力する:
echo ~- # Just to make sure you know what the "last directory" is
それから:
cp file.txt ~-/copy.txt
また見なさい:
答え2
@Stephen Harrisのコメントからインスピレーションを得た代替ソリューションは次のとおりです。
# You can "copy" any number of files, then "paste", "move" or
# "pasteln" them to pass them as arguments to cp, mv, or ln
# respectively. Just like a graphical filesystem manager. Each of the
# latter three functions defaults to the current directory as the
# destination.
function copy() {
emulate -LR zsh
radian_clipboard=()
for target; do
radian_clipboard+=(${target:a})
done
}
function paste() {
emulate -LR zsh
cp -R $radian_clipboard ${1:-.}
}
function move() {
emulate -LR zsh
mv $radian_clipboard ${1:-.}
}
function pasteln() {
emulate -LR zsh
ln -s $radian_clipboard ${1:-.}
}
使用例:
(autojump to first directory)
$ copy file.txt
(autojump to second directory)
$ paste copy.txt
ご覧のとおり、これらのエイリアスはコマンドを囲む非常に薄いラッパーであるため、ディレクトリをcp
2番目の引数として渡すか、複数のファイルまたはディレクトリを一度に渡すか、2番目の引数を省略して現在のディレクトリで機能することもできますmv
。ln -s
copy