날짜별로 Linux 명령 행 히스토리 검색


20

일주일 전 특정 날에 bash 명령 줄에 입력 한 내용을보고 싶습니다. 명령 행 히스토리를 검색하는 방법이 있습니까? 아마도 아래와 같은 것입니까?

> history --include-date | grep 2012-02-27`


zsh를 사용하는 경우 :history -E
Vahid

답변:


32

기본적 History으로 명령을 실행 한 시간은 기록하지만 표시하지는 않습니다. 그 이유는 History명령 을 실행할 때 HISTTIMEFORMAT시간 형식을 지정하는 방법을 알려주 는 환경 변수를 찾습니다 . 값을 null설정하거나 설정하지 않으면 기본적으로 시간이 표시되지 않습니다.

시간이 몇 가지 예

[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %t '
[qweet@superbox ~]$ history
    1  2012-03-06        su -
    2  2012-03-06        jbach@mobiletribe.net
    3  2012-03-06        mysql
    4  2012-03-06        ll
    5  2012-03-06        cd /opt/
    6  2012-03-06        ll
    7  2012-03-06        exit
    8  2012-03-06        ll
    9  2012-03-06        ls -lsa
   10  2012-03-06        cd ../
   11  2012-03-06        ll
   12  2012-03-06        ll
....

그러나 이것이 전부는 아닙니다. (가)부터 HISTTIMEFORMAT소요 strftime(당신이 찾을 수있는 값을 여기 BTW), 당신은 마법의 모든 종류의 것들을 할 수 있습니다. 그러나 원하는 작업에 대해 다음이 작동합니다.

[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %T %t'
[qweet@superbox ~]$ history | grep -e "2012-03-06 14:48"
 1006  2012-03-06 14:48:05      export HISTTIMEFORMAT='%F %T %t'
 1007  2012-03-06 14:48:07      history
 ...

또한 HISTTIMEFORMAT을 유지하려면 원하는대로 추가하십시오 bashrc.

echo 'HISTTIMEFORMAT="variables here"' >> ~/.bashrc

터미널에서 새 탭을 열거 나 로그 아웃 및 로그인하면 변경 사항이 표시됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.