rm 명령 구성

rm 명령 구성

rm명령을 구성하고 싶습니다 . 사용자가 rm파일을 삭제하려고 입력하면 즉시 삭제하는 대신 해당 파일을 홈 폴더의 .trash로 전송해야 합니다. 누구든지 나를 도와줄 수 있나요?

답변1

libtrash와 함께 LD_PRELOAD를 사용할 수 있습니다.

바라보다:http://www.techrepublic.com/article/safely-delete-linux-files-with-libtrash/5034918

~/.trash 폴더에 있는 파일에 대한 하드 링크를 만들 수도 있습니다. 일반 파일(이전의 하드 링크)이 삭제되면 휴지통에서 삭제할 때까지 디스크에 남아 있습니다.

하드 링크를 생성하려면:

ln test.txt ~/.trash/test.txt

답변2

빠른 해결 방법은 다음 함수 선언을 ~.bashrc.

function rm() {
   mv "${@}" ~/.trash
}

지침:

  • rm와 간의 옵션 차이점은 mv주석으로 다룹니다.
  • 쓰레기통의 행동에 익숙해질 수도 있습니다. 이 수정 없이 다른 컴퓨터/계정에서 빠르게 삭제하면 큰 문제가 발생할 수 있습니다 ;-)

5센트만 주세요. 다음을 사용하세요.

alias rm='rm -i '

답변3

실제로 "rm" 명령의 이름을 바꾸거나 이동하는 것은 좋은 생각이 아니라는 점을 명심하십시오. 더 나은 접근 방식은 사용자 프로필에서 완전히 다른 스크립트를 사용하는 alias것 입니다.rm

.bash_profile에서 (bash를 기본 쉘로 사용한다고 가정)

alias rm='~/bin/deleteFile'

그런 다음 스크립트를 만들 수 있습니다 ~/bin/deleteFile. 필요에 맞게 다음을 복사/수정하세요.

#!/bin/bash
TODEL=$1
if [ "${TODEL:0:1}" == "/" ]; then  #full path?
  TRASH=~/trash-can/`dirname $1`
else                                #relative path.
  TRASH=~/trash-can/`pwd`/`dirname $1`  
fi
mkdir -p $TRASH 2> /dev/null
mv $TODEL $TRASH

이는 테스트되지 않았지만 필요에 따라 작동합니다. 해결해야 할 몇 가지 주의 사항이 있지만 이를 처리하는 방법을 결정하는 것은 사용자의 몫입니다. 즉, 파일을 삭제하고 같은 이름의 새 파일을 만든 다음 삭제하면 어떻게 되나요? 그리고 이 스크립트는 쓰레기를 정리하지 않습니다. 어쩌면 매주 예정된 작업이나 그와 비슷한 것일까요?

이는 직접 호출된 스크립트를 재정의하지 않으며 /bin/rmbash 구성 파일에 로드되지 않은 스크립트와 함께 사용되지도 않습니다. 이 스크립트를 어느 정도 신뢰하기 전에 고려해야 할 사항이 수백 가지가 있을 수 있습니다.

답변4

데비안에서는 ~./bash_aliases의 'alias rm='mv -t ~/home/.trash/ '와 같은 것이 작동해야 합니다. 그러나 별칭을 사용하는 것은 좋은 습관이 아닙니다.RM도착하다MV영구 삭제를 사용하려는 다른 사용자에게 영향을 미칠 수 있기 때문입니다.RM. 또한 별칭 경로로 이동하는 경우 정기적으로 휴지통을 비우도록 cron 작업을 설정해야 할 수도 있습니다.

여러 가지 대안이 주어졌을 때여기- 주로 타사 도구/스크립트.

관련 정보