리눅스에서 vi로 작업한 내용을 특정 시점으로 되돌릴 수 있나요?
글쓴이: knumis / 작성시간: 목, 2007/08/09 - 6:01오후
vi로 텍스트 작업 중, 실수로 최근에 기록한 라인들이 삭제된 채로 저장되었습니다.
중요한 기록인데, 어이없는 실수로 지워져버렸네요.
그 파일을 특정 시점의 상태로 되돌릴 수 있는 방법이 있을까요?
예를 들자면, 윈도우즈의 시스템 복원같은 기능 말입니다.
고수님들의 도움 요청 드립니다.
Forums:
실수록 라인을 지운
실수록 라인을 지운 후(수정)에 저장이 되었다면.
.. 돌릴수가 없습니다.
혹시나 알아 보았지만, 찾아 볼수 없었답니다;
있다면 저도 배워보고 싶습니다.
http://www.ikpil.com
감사합니다~
찾아봐 주셔서 감사합니다.
저도 알아보았는데, 못 찾겠더라구요.
방법을 알게되면 알려드리겠습니다~
도움되지 않을 수
도움되지 않을 수 있는 당연한 답변이지만...
vi가 아직 종료되지 않았다면 u 버튼을 눌러서 되돌릴 수 있습니다.
백업 파일이 있다면 뒤에 ~ 같은 것이 붙어있을 텐데, 이 파일에 혹시 내용이
있습니까?
파일 시스템에서 복구를 지원하는 것이 있습니까?
혹시나 지워진 내용이 있던 부분이 덮어써지지 않았고 내용의 일부를
알고 있다면 grep을 /dev/hda 같은 곳에 적용하여 (바이너리를 텍스트로
인식하여 처리, 찾은 곳의 앞과 뒤 몇 라인을 보여주는 옵션을 켭니다.)
하드디스크 전체에서 내용을 찾을 수도 있습니다. (무식한 방법)
지워진 부분이 파일의 끝부분이라면 발견될 가능성이 있을지도 모릅니다.
블로그: http://turtleforward.blogspot.com
블로그: http://turtleforward.blogspot.com
감사합니다.
덕분에 grep을 /dev/hda 에 적용할 수도 있다는 걸 알았네요.
감사합니다~ ^^
상황을 좀 더 구체적으로 말씀드리자면,
vi는 저장 후 종료한 상태라, u버튼을 이용한 되돌리기는 불가능하며,
백업 파일이 없습니다.
e2fsck 등을 이용해 지워진 파일을 복구하는 방법은 알고 있으나,
파일을 특정 시점의 상태로 되돌리는 방법은 찾지 못한 상태입니다.
알려주신 방법 중 grep을 이용하는 방법은 아래와 같이 적용하면 되는 거죠?
# grep -r --text -A100 "busybox,tinylogin, \
sysvinit" /dev/hda2
/dev/hda내로 들어가면
/dev/hda내로 들어가면 파일 구조는 의미가 없어지므로
-r은 의미가 없습니다.
-B100 정도도 달아주시면 앞 부분도 나오고 대소문자 무시하는
-i가 도움이 되기도 합니다. 그런데 하드디스크 크기만큼 시간이 걸립니다.
ㅜㅜ
블로그: http://turtleforward.blogspot.com
블로그: http://turtleforward.blogspot.com
댓글 달기