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 - コマンドを実行することにより、
/etcに戻ってきたのが確認できます。
自分のホームディレクトリに移動する場合は、以下のコマンドで簡単に戻ることができます。
cd ~
または
cd $HOME
チルダ(~)は自分のホームディレクトリを示しているので、cdコマンドの移動先に~を指定すると
ホームディレクトリに移動できます。
また、$HOMEには、ホームディレクトリの文字列が環境変数として格納されているので、
$HOMEを移動先のディレクトリに指定すると、$HOMEに設定されている文字列が展開され、ホームディレクトリに移動できます。
以下、実行例です。
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コマンドを実行し出力された番号を!を付けて実行すれば、
再実行することができます。
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を使用します。
以下の操作になります。
sakura@stream11 ~ (reverse-i-search)`':
sakura@stream11 ~ (reverse-i-search)`ssh': history | grep ssh | tail -10
尚、上記のようにsshで接続したいのに、直近のsshコマンドが表示されない場合、ホスト名やIPアドレスを入力してみるのもよいのかもしれません。
以下は、83と入力したときの出力です。
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シェルのちょっと便利な使い方でした。