先日、1つのコマンドでcdとlsを実行する方法を学びました。 。今日は、さらにもう1つのクールなBashのヒントを紹介します- cp
またはmv
およびcd
1つのコマンドで。意味-ファイル/ディレクトリをある場所から別の場所にコピーまたは移動し、cd
すぐに宛先ディレクトリに移動します。もちろん、これはワンライナーで行うことができます 指図。たとえば、次のコマンドを使用して、ファイル/ディレクトリを別のディレクトリにコピーまたは移動し、宛先ディレクトリにcdすることができます。
cp source destination && cd destination
または、
mv source destination && cd destination
ただし、今は行いません。単純なbash関数を使用します cpまたはmvコマンドとcdコマンドを組み合わせて、単一のコマンドとして実行します。このトリックは、BASHをサポートするすべてのUnixライクなシステムで機能するはずです。
1つのコマンドでcpまたはmvとcdを実行する方法
~/.bashrc
を開きます お気に入りのエディタのファイル:
$ nano ~/.bashrc
最後に次の行を追加します:
#cp and cd in one command cpcd (){ if [ -d "$2" ];then cp $1 $2 && cd $2 else cp $1 $2 fi } #mv and cd in one command mvcd (){ if [ -d "$2" ];then mv $1 $2 && cd $2 else mv $1 $2 fi }

ファイルを保存して閉じます。次のコマンドを実行して、変更を有効にします。
$ source ~/.bashrc
ここで、ファイル/ディレクトリをある場所から別の場所にコピーまたは移動すると、自動的に宛先の場所に移動します。
いくつかのサンプルディレクトリとファイルを作成しましょう。
$ mkdir dir1 dir2
$ touch file1 file2
次に、コマンドを使用してfile1をdir1にコピーします。
$ cpcd file1 dir1
$ pwd /home/sk/dir1
ご覧のとおり、上記のコマンドはfile1
をコピーします dir1
へ その後、自動的にcd
dir1
に 場所。
次に、file2
を移動します dir2
へ コマンドの使用:
$ cd
$ mvcd file2 dir2
$ pwd /home/sk/dir2
このコマンドはfile2
をコピーします dir2
へ そしてそれは自動的にcd
dir2
に 場所。
出力例:

これがお役に立てば幸いです。
その他のBashのヒント
- Linuxでフルネームを2回入力せずにファイルの名前を変更する
- さまざまなタイプのファイルアーカイブを抽出するためのBash関数