라즈베리파이/라즈베리파이 일반

리눅스 삭제 파일 즉시 복원 솔루션(소스 포함, 유닉스, 리눅스, 라즈베리파이 등 다수)

아크리엑터 2021. 6. 22. 21:27
반응형

 

trashfolder

배경

1998년도인가에 만들었던 유닉스/리눅스용 trash folder 프로그램입니다.

Command Line Interface의 터미널에서 rm명령어로 파일을 삭제했을 때, 복원할 수 있는 기능을 제공합니다.

Trash Folder의 단점인 휴지통 비우기를 하지 않아서, 서버의 디스크를 모두 잡아먹는 경우를 없애기 위해서, 특정 일자(이틀)가 경과된 파일은 rm명령어를 사용했을 때, 먼저 삭제를 한 후에 실제 파일을 삭제하도록 하였습니다. 서버의 다양한 사용자들을 통제(?)하기 위한 기능입니다.

폴더를 삭제하고 난 후에 삭제한 폴더를 한꺼번에 복원하는 기능은 제공하지 않습니다. 하지만, 파일별로 복원하는 기능을 제공합니다.

이렇게 만든 사유는 삭제를 했을 때, 중요한 파일을 복원할 수 있으면 RISK를 대비할 수 있어서, 폴더를 일괄로 복원하는 기능은 만들지를 않았습니다.

컴파일

$ make

gcc -g -Wall -c -o trash.o trash.c

gcc -g -Wall -o trash trash.o

$ make install

cp trash ~/.trash/trash

Warning 2개 나오는 것은 무시한다.

설치방법

bash shell에서는 .profile 의 마지막에 아래 내용을 추가한다

alias rm='~/.trash/trash'

사용방법

  • 삭제명령: 기존 rm 명령과 동일하다.
  • 파일복원: rm -u
  • 종료방법: Ctrl-X
  • 상하이동: 커서키 또는 J, K 키
  • 파일복원: Enter
  • 선택 : Space
  • 삭제 : Ctrl-D

Original rm 사용 방법

  • OS에서 제공하는 기본적인 rm 명령어를 사용하기 위해서는 command line 의 맨 앞에 ''를 시작하게 한다.
  • $ \rm *.tmp

Screen Shot

 

github 에 소스파일을 저장 및 공개해두었습니다. 

https://github.com/mynuji/trashfolder

 

mynuji/trashfolder

Trash Folder For Linux/Unix. Contribute to mynuji/trashfolder development by creating an account on GitHub.

github.com

 

가져가실 때, 광고 한번 클릭 해주시면 감사.. ^^

반응형