bash는 역사를 지키지 않습니다.


19

우분투 12.04를 실행하고 어떤 이유로 bash가 내 명령 기록을 유지하지 않습니다. 이 ~/.bash_history파일에는 몇 달 전에 입력 한 3 개의 명령 만 포함되어 있습니다.

이 문제를 어떻게 해결할 수 있습니까?

편집 : 여기 내 관련 내용이 있습니다 .bashrc:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

에서 bash 기록 설정을 확인하십시오 .bashrc.
jokerdino

@ jokerdino thx, 나는 질문을 편집했다. 표준 설정입니다 (만지지 않았습니다).
yohbs

"echo $ SHELL"의 결과는 무엇입니까?
Aaron

@ BryceAtNetwork23/bin/bash
yohbs

3
시도해야 할 또 다른 것은 권한을 확인하는 것입니다.~/.bash_history
reverendj1

답변:


24

루트 : 루트는 .bash_history를 소유 할 수 있습니다 ( 루트는 소유자가 아니어야하며 사용자는 소유자가되어야합니다! ).이 경우 다음을 수행해야합니다.

$chown user:user .bash_history

이것은 sudo bash를 많이 할 때 마술처럼 일어날 수 있습니다!


와우, 나는 이것을 완전히 포기하고 그것에 대해 잊어 버렸습니다 ... +1하고 받아들입니다.
yohbs 2013 년

네 이것은 sudo bash를 많이 할 때 분명히 발생합니다! :-)
mahatmanich

2

gnome-terminal ??을 사용한다고 가정하면 .bash_history에 대한 권한을 확인하십시오. 그것은해야한다-rw-r--r--

터미널에서 그렇게하려면 ls -la |grep .bash세 파일 모두에 대해 위의 권한이 있어야합니다. 그렇지 않으면 .bash_history를 삭제하고 다시 시작한 다음 기록이 작성되었는지 확인하십시오.

기록은 터미널이 닫히거나 종료 된 후에 만 ​​기록됩니다.


1

위에서 언급했듯이, 이것은 루트-> 사용자 소유권 변경으로 수정 될 수 있습니다. 초기 권한은-rw-r--r-- 다른 변형 및 루트 소유권 일 수 있습니다.

내 경우에는 .bash_history루트 만 소유했지만 사용자가 소유 해야하는 것은 모두 .bash_ *입니다.


1
우분투에 오신 것을 환영합니다 :) 이것은 3 년 된 답변이며 이미 언급 한 해결책은 이미 다른 답변에 있습니다 .. 그냥 투표하십시오 :)
storm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.