データベース技術調査ブログ

LinuxやPostgreSQL、Oracleデータベース、AWSの知識をアウトプットしていきます

【備忘コマンド】Linux

よく忘れるけど便利なLinuxのコマンドを備忘録として残しておきます。
(.bash_profileを編集しようとバックアップ取ったときにちょっと思い出したので、、、)

ファイルのバックアップを取るときに日付を付与

dateコマンドをフォーマットして末尾につけます。

`date +"%Y%m%d"` を末尾につけてあげるだけです。

「2019年4月16日」だと「20190416」のようになります。

使用例

[oracle@localhost ~]$ # .bash_profileのバックアップをする例
[oracle@localhost ~]$ cd /home/oracle
[oracle@localhost ~]$ mkdir backup
[oracle@localhost ~]$ cp -p .bash_profile ./backup/.bash_profile`date +"%Y%m%d"`
[oracle@localhost ~]$ ls -a ./backup/.bash_profile`date +"%Y%m%d"`
./backup/.bash_profile20190416



【おまけ】時分秒までつけたいとき
[oracle@localhost ~]$ date +"%Y%m%d-%H%M%S"
20190416-233752


個人的には時分秒はやりすぎじゃない感はありますが、
使う場面はなくはないのかな(´-ω-`)


diffコマンドのオプションは-yがおすすめ

それでは、先ほど取得したバックアップと編集後のファイルを比較してみましょう。
(viで編集済み)

ここで登場、diffコマンド

「-y」オプションをつけると左右に並ぶので見やすさアップです。

-yオプション

[oracle@localhost ~]$ diff -y /home/oracle/.bash_profile /home/oracle/backup/.bash_profile`date +"%Y%m%d"`
# .bash_profile                                                 # .bash_profile

# Get the aliases and functions                                 # Get the aliases and functions
if [ -f ~/.bashrc ]; then                                       if [ -f ~/.bashrc ]; then
        . ~/.bashrc                                                     . ~/.bashrc
fi                                                              fi

# User specific environment and startup programs                # User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin                           PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH                                                     export PATH
umask 022                                                     <
export ORACLE_BASE=/u01/app/oracle                            <
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1    <
export PATH=$ORACLE_HOME/bin:$PATH                            <
export ORACLE_SID=orcl                                        <
export LANG=ja_JP.UTF-8                                       <
export NLS_LANG=Japanese_Japan.AL32UTF8                       <



オプションなし

[oracle@localhost ~]$ diff /home/oracle/.bash_profile /home/oracle/backup/.bash_profile`date +"%Y%m%d"`
13,19d12
< umask 022
< export ORACLE_BASE=/u01/app/oracle
< export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
< export PATH=$ORACLE_HOME/bin:$PATH
< export ORACLE_SID=orcl
< export LANG=ja_JP.UTF-8
< export NLS_LANG=Japanese_Japan.AL32UTF8


個人的にはいつもどっちがどっちなのかわからなくなるので「-y」をつけたい派です。

え、途中で改行されて見ずらいって?

なら横長の画面を使えばいいじゃない...(^-^;)

最後に

コマンドのオプションすら忘れてもすぐに調べられる時代ですが、
そんな時代だからこそ便利なコマンドは空で打てたいなって思う今日この頃です。
(と言いつつ備忘録を残す)