ステップ2 CPを実行する方法

ステップ2 CPを実行する方法

時々私はこれを行う必要性を感じます:

cp /really/long/path/to/file.txt /totally/different/long/path/to/copy.txt

使ってるからautojump得るカタログにすばやく簡単にアクセスできます。ただし、少なくともフルパスを入力しなくても、あるディレクトリから別のディレクトリにコピーするのは恥ずかしいです。

GUIファイルシステムエクスプローラではこれは簡単です。最初のディレクトリに移動します。コピーソースファイルに移動して2番目のディレクトリに移動します。生地。しかし、この場合、cp2つのステップでコピーを完了できないようです。

次のようなことをしたいと思います。

(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

ご覧のとおり、これらのエイリアスはコマンドを囲む非常に薄いラッパーであるため、ディレクトリをcp2番目の引数として渡すか、複数のファイルまたはディレクトリを一度に渡すか、2番目の引数を省略して現在のディレクトリで機能することもできますmvln -scopy

関連情報