web-dev-qa-db-ja.com

コピー時に宛先ディレクトリに「エイリアス」を使用するにはどうすればよいですか?

.bashrcファイルなどのスタートアップファイルを頻繁に編集します
次に、それらを~/Dropnot/level1/setups/bash1などの別の方向にコピーします。

そのようなファイルをエイリアスのようなもので上記の場所にcpできる方法はありますか?
現在、alias n='cd ~/Dropnot/level1/setups/bash1'でCDを作成するためのエイリアスがあります。

渡したファイルを処理できるものが欲しいのですが。

4
Michael Durrant

そうそう、できます!

  1. ~/.bash_aliasesファイルを開き、ファイルの最後に次のように入力します(存在しない場合は新しい~/.bash_aliasesを作成します)。

    alias mycp='cp ~/.bashrc ~/Dropnot/level1/setups/bash1'
    

    これにより、エイリアスmycpmycpに別の名前を付けることができます)が作成され、~/.bashrcファイルが目的の場所にコピーされます。

  2. 長いパスを含むシェル変数を作成し、長いパスの代わりに変数を使用することができます。たとえば、~/.bashrc

    export fav_path=/usr/share/help/nl/gnome-help/figures/
    

    およびsource ~/.bashrcを使用して、

    cp ~/.bashrc "$fav_path"
    

スペースを含むパスには、必ず"を使用してください。

5
jobin

GNU cp(Linuxでは答えはおそらくyesです)がある場合は、-tオプションを使用できます。

alias fcp="cp -t ~/Dropnot/level1/setups/bash1"

fcp somefileを実行すると、ファイルは常に~/Dropnot/level1/setups/bash1ディレクトリに配置されます。複数の引数も同様に機能します(たとえば、fcp somefile otherfile1は両方とも~/Dropnot/level1/setups/bash1に移動します)

GNU cpが利用できない場合は、いつでも次の関数を使用できます。

fcp () {
  cp "$@" ~/Dropnot/level1/setups/bash1
}
2
Graeme

あなたはこのようなことを意味しますか:

alias c='cp ~/.bashrc ~/Dropnot/level1/setups/bash1'

代わりに、ファイルをそこに移動し、シンボリックリンクを使用してコピーを完全に回避することをお勧めします。

mv ~/.bashrc ~/Dropnot/level1/setups/bash1/
ln -s ~/Dropnot/level1/setups/bash1/ ~/.bashrc

私はこれを何年もの間 dotfiles に使用しており、バックアップを維持するのに非常に役立ちました。

0
l0b0