bashのちょっと便利な使い方 †bash(シェル)で操作をしている時に、こんな時、こんなふうに使うと便利だよ!というTipsを以下に記します。 以前いたディレクトリに戻る †cdコマンドでディレクトリ移動したあと、以前のディレクトリに戻りたい場合、以下のコマンドで簡単に戻ることができます。 cd - cdコマンドのオプションに-(ハイフン)のみ指定しEnterキーを押します。 以下、実行例です。 sakura@stream:~$ cd /etc/ sakura@stream:/etc$ cd /var/log/postgresql/ sakura@stream:/var/log/postgresql$ cd - /etc sakura@stream:/etc$ pwd /etc /etcに移動したあと、/var/log/postgres/に移動し、cd - コマンドを実行することにより、 ホームディレクトリに移動する †自分のホームディレクトリに移動する場合は、以下のコマンドで簡単に戻ることができます。 cd ~ または cd $HOME チルダ(~)は自分のホームディレクトリを示しているので、cdコマンドの移動先に~を指定すると 以下、実行例です。 sakura@stream:~$ cd /etc/ sakura@stream:/etc$ echo $HOME /home/sakura sakura@stream:/etc$ cd $HOME sakura@stream:~$ cd /var sakura@stream:/var$ cd ~ sakura@stream:~$ pwd /home/sakura sakura@stream:~$ 過去のコマンドを再度実行する(historyを使用) †過去に実行したコマンドを再実行したい場合は、historyコマンドを実行し出力された番号を!を付けて実行すれば、 sakura@stream11 $ history | grep ssh | tail -10 321 ssh sakura@192.168.1.32 322 ssh sakura@192.168.1.38 323 ssh sakura@192.168.1.38 324 ssh sakura@192.168.1.38 325 ssh sakura@192.168.1.83 342 ssh sakura@192.168.1.83 358 ssh sakura@192.168.1.83 上記のように左側に番号が表示されます。 !番号 例えば上記で表示された358番を実行したい場合は、 !358 となります。 Ctrl+rでコマンド再実行 †直近のコマンドを検索し実行するには、Ctrl+rを使用します。
尚、上記のようにsshで接続したいのに、直近のsshコマンドが表示されない場合、ホスト名やIPアドレスを入力してみるのもよいのかもしれません。 sakura@stream11 ~ (reverse-i-search)`83': ssh sakura@192.168.1.83 日付のディレクトリを作成したい・ファイル名に日付に付与したい †dateコマンドのオプションを使うことにより、簡単に実現することができます。 `date +%Y%m%d` ファイル名に現在日付を付与する †ファイル名の後部に日付を付けた例を以下に記します。 sakura@stream11 ~ $ echo HELLO > hello_`date +%Y%m%d` sakura@stream11 ~ $ cat hello_20180417 HELLO 現在日付のディレクトリを作成する †現在日付のディレクトリを作成する例を以下に記します。 sakura@stream11 ~ $ mkdir `date +%Y%m%d` sakura@stream11 ~ $ ls -F | grep / 20180417/ 以上、bashシェルのちょっと便利な使い方でした。 |