휴지통 디렉터리는 어떻게 작동하나요?

휴지통 디렉터리는 어떻게 작동하나요?

그래서 저는 휴지통(휴지통)에서 항목을 이동하고 복원하는 프로그램을 작성하느라 바쁩니다. 현재는 항목을 휴지통으로 이동할 수 있지만 파일 관리자를 사용하여 휴지통에서 복원하려고 하면 실패합니다.

휴지통 디렉토리는 삭제될 파일을 저장하고 파일에 대한 데이터를 저장하기 위한 ~/.local/share/Trash2개의 폴더를 포함하고 있습니다 . 응용 프로그램에 있는 내 파일의 이름은 올바르게 지정되어 문제가 되지 않으며 info/ 폴더에 저장된 세부 정보도 가져옵니다. 그런데 파일 관리자로 삭제한 뒤 휴지통에서 복원하면 문제가 없는데, 제 코드로 휴지통으로 옮겼을 때는 수동으로 옮겨야 복원이 되더라구요....files/info/

내 응용 프로그램의 몇 가지 예는 다음과 같습니다.

$ nrash todelete.txt
> Moved to trash

위의 내용은 다음을 생성합니다. (휴지통/파일 내부)

todelete.txt

(휴지통/메시지에 있음)

todelete.txt.trashinfo

내부에 -.trashinfo다음 내용을 포함하는 파일:

[Trash Info]
Path=/home/netsu/Documents/todelete.txt
DeletionDate=2021-10-08T18:24:04

대신 파일 관리자에서 삭제된 파일의 .trashinfo에서 다음을 찾을 수 있습니다.

[Trash Info]
Path=/home/netsu/Documents/pp.txt
DeletionDate=2021-10-08T18:25:02

둘 다 똑같지만 작동 방식이 다릅니다... 물건을 쓰레기통으로 옮길 때 뭔가 빠진 것이 있는 걸까요? 파일 관리자가 해당 폴더에 배치한 파일은 복구할 수 있는데 내가 거기에 배치한 파일은 복구할 수 없는 이유는 무엇입니까? 이것은 Linux 배포판에서 가비지가 작동하는 일반적인 방식입니까, 아니면 배포판/데스크톱 환경에 따라 변경됩니까?

참고: 파일 관리자에서 파일을 열면 휴지통에 표시되지만 복구할 수는 없습니다.

  • 배급: 솔루스
  • 독일어: Matt
  • 파일 관리자: Caja

답변1

그래서 복원이 안되는 이유는 간단합니다. 이 링크에서https://specations.freedesktop.org/trash-spec/trashspec-latest.html(Abdullah에게 감사드립니다!) 아래에 명시되어 있습니다.정크 디렉토리의 내용저것

파일이나 디렉터리가 삭제되면 구현에서는 먼저 $trash/info에 해당 파일을 만들어야 합니다.

정보 파일을 만들기 전에 파일/폴더를 이동했는데, 이로 인해 위의 문제가 발생했습니다. 또한 휴지통/휴지통의 작동 방식을 이해하는 데 관심이 있는 사람이라면 게시된 링크를 읽어 보시기 바랍니다.

관련 정보