GNU/Linux >> Linux の 問題 >  >> Linux

[Bashのヒント]1つのコマンドでcpまたはmvとcdを実行する方法

先日、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関数

Linux
  1. LinuxでのChownコマンドとは何ですか?その使用方法

  2. tr コマンドの「-s」、「-t」、および「-c」オプションは Unix でどのように機能しますか?

  3. メールとは何ですか? どのようにナビゲートされますか?

  1. cURLコマンドとは何ですか?その使用方法は?

  2. Linuxでディレクトリとフォルダを削除する方法は?

  3. Linuxでユーザーをロックおよびロック解除する方法

  1. CentOS7および8にdigをインストールする方法

  2. 1つのコマンドでtarファイルをダウンロードおよび抽出する方法

  3. Linuxテールコマンド:それは何であり、それを使用する方法