【Linux】history コマンド

history コマンドについて解説します。

history コマンドで過去のコマンド履歴を確認することができます。

 

 

 

設定の確認

 

■現在の histroy の履歴数の確認

[root@DESKTOP-KSVJFCR ~]# echo $HISTSIZE ← history コマンドで表示される数
1000
[root@DESKTOP-KSVJFCR ~]# echo $HISTFILESIZE ← .bash_history ファイルで表示される数
1000
[root@DESKTOP-KSVJFCR ~]#

 

 

 

■history の履歴を保存するファイル

[root@DESKTOP-KSVJFCR ~]# ls -la 
total 20 
dr-xr-x--- 1 root root  512 Jan  7 17:20 . 
drwxr-xr-x 1 root root  512 Jan  7 17:03 .. 
-rw------- 1 root root 6921 Aug  8 21:48 anaconda-ks.cfg 
drwxr-xr-x 1 root root  512 Jan  7 17:20 .aws 
-rw------- 1 root root 1787 Oct 22 20:28 .bash_history 
-rw-r--r-- 1 root root   18 Dec 29  2013 .bash_logout 
-rw-r--r-- 1 root root  176 Dec 29  2013 .bash_profile 
-rw-r--r-- 1 root root  240 Oct 22 20:13 .bashrc 
drwxr-xr-x 1 root root  512 Jan  7 17:12 .cache 
-rw-r--r-- 1 root root  100 Dec 29  2013 .cshrc 
-rw------- 1 root root 6577 Aug  8 21:48 original-ks.cfg 
drwxr----- 1 root root  512 Oct 22 19:52 .pki 
-rw-r--r-- 1 root root  129 Dec 29  2013 .tcshrc 
[root@DESKTOP-KSVJFCR ~]#

 

 

 

■.bash_history の中身

[root@DESKTOP-KSVJFCR ~]# cat .bash_history
ls
cd mnt
ls
df -h
fdisk -l
yum update
ping www.baidu.com
ps -ef
ps
make
ifconfig
cd /
ls
cd proc/
ls
cd ..
ls

 

 

 

 

 

コマンド実行日時の追加及び HISTFILESIZE の設定

 

■/etc/profile ファイルの編集

[root@DESKTOP-KSVJFCR ~]# vi /etc/profile 
# /etc/profile 
 
# System wide environment and startup programs, for login setup 
# Functions and aliases go in /etc/bashrc 
 
# It's NOT a good idea to change this file unless you know what you 
# are doing. It's much better to create a custom.sh shell script in 
# /etc/profile.d/ to make custom changes to your environment, as this 
# will prevent the need for merging in future updates. 
 
pathmunge () { 
    case ":${PATH}:" in 
        *:"$1":*) 
            ;; 
        *) 
            if [ "$2" = "after" ] ; then 
                PATH=$PATH:$1 
            else 
                PATH=$1:$PATH 
            fi 
    esac 

 
 
if [ -x /usr/bin/id ]; then 
    if [ -z "$EUID" ]; then 
        # ksh workaround 
        EUID=`/usr/bin/id -u` 
        UID=`/usr/bin/id -ru` 
    fi 
    USER="`/usr/bin/id -un`" 
    LOGNAME=$USER 
    MAIL="/var/spool/mail/$USER" 
fi 
 
# Path manipulation 
if [ "$EUID" = "0" ]; then 
    pathmunge /usr/sbin 
    pathmunge /usr/local/sbin 
else 
    pathmunge /usr/local/sbin after 
    pathmunge /usr/sbin after 
fi 
 
HOSTNAME=`/usr/bin/hostname 2>/dev/null` 
#HISTSIZE=1000 ← デフォルトでは 1000 行。HISTFILESIZE の設定はありません。

HISTSIZE=10000

HISTFILESIZE=10000

HISTTIMEFORMAT='%Y/%m/%d %H:%M:%S ' ← 最後に半角スペースを入れます。
if [ "$HISTCONTROL" = "ignorespace" ] ; then 
    export HISTCONTROL=ignoreboth 
else 
    export HISTCONTROL=ignoredups 
fi 
 
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 
 
# By default, we want umask to get set. This sets it for login shell 
# Current threshold for system reserved uid/gids is 200 
# You could check uidgid reservation validity in 
# /usr/share/doc/setup-*/uidgid file 
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then 
    umask 002 
else 
    umask 022 
fi 
 
for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do 
    if [ -r "$i" ]; then 
        if [ "${-#*i}" != "$-" ]; then 
            . "$i" 
        else 
            . "$i" >/dev/null 
        fi 
    fi 
done 
 
unset i 
unset -f pathmunge 
[root@DESKTOP-KSVJFCR ~]#

 

 


 

■設定を反映

[root@DESKTOP-KSVJFCR ~]# source /etc/profile
[root@DESKTOP-KSVJFCR ~]#

 

 

 

■結果を確認

[root@DESKTOP-KSVJFCR ~]# history

 

~ 省略 ~

 

169 2020/01/07 18:21:06  aws ec2 describe-security-groups --filters "Name=group-name,Values=Test-EC2-Instance-001-sg" 
170 2020/01/07 18:21:06 aws ec2 describe-security-groups --filters "Name=group-name,Values=Test-EC2-Instance-001-sg"
171 2020/01/07 18:21:06 aws ec2 describe-security-groups --filters "Name=group-name,Values=Test-EC2-Instance-001-sg" --table
172 2020/01/07 18:21:06 aws ec2 describe-security-groups --filters "Name=group-name,Values=Test-EC2-Instance-001-sg" --output table
173 2020/01/07 18:21:06 history
174 2020/01/07 18:21:06 echo $HISTFILESIZE
175 2020/01/07 18:21:06 echo $HISTSIZE
176 2020/01/07 18:21:06 ls -la
177 2020/01/07 18:21:06 cat .bash_history
178 2020/01/07 18:21:06 exit
179 2020/01/07 18:21:12 ls -lah
180 2020/01/07 18:21:22 cat .bash_history
181 2020/01/07 18:26:34 cat /etc/profile
182 2020/01/07 18:28:35 vi /etc/profile
183 2020/01/07 18:29:27 cat /etc/profile
184 2020/01/07 18:29:31 df -h
185 2020/01/07 18:32:10 ls -la
186 2020/01/07 18:32:16 cat .bash_profile
187 2020/01/07 18:32:26 cat .bashrc
188 2020/01/07 18:41:50 vi /etc/profile
189 2020/01/07 18:43:52 source /etc/profile
190 2020/01/07 18:44:10 history
191 2020/01/07 18:45:03 vi /etc/profile
192 2020/01/07 18:45:15 source /etc/profile
193 2020/01/07 18:45:20 history
194 2020/01/07 18:47:24 vi /etc/profile
195 2020/01/07 18:47:45 source /etc/profile
196 2020/01/07 18:47:48 history
[root@DESKTOP-KSVJFCR ~]#

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください