일부 아카이브의 압축을 직접 풀고(또는 임시 프로젝트를 생성하고) 일부 파일을 볼 수 있는 임시 파일이 필요한 경우가 종종 있습니다. 특정 디렉터리에 소요되는 시간을 미리 예측하는 것은 불가능합니다.
이러한 디렉토리는 일반적으로 지저분한 홈 디렉토리와 /tmp
프로젝트 디렉토리입니다. 일반적 qqq
으로 와 같은 취약한 비밀번호와 같은 이름을 가지며 한 달이 지나면 설명하기 어려워집니다 1
.test
버려진 디렉토리를 관리하여 관심을 잃을 때 자동으로 정리되고 이름을 만들 필요가 없지만 이름을 부여하고 쉽게 유지할 수 있도록 도와주는 쉘 명령이나 외부 프로그램이 있습니까?
그러한 도구가 없다면 하나 만드는 것이 좋은 생각일까요?
답변1
당신이 언급한 모든 기능을 다루지는 않지만(임시 디렉토리를 쉽게 영구화), 나는 더 선호합니다코살로난다shell
이를 위해. 임시 디렉토리를 생성하고 그 안에서 새 쉘을 시작하며 쉘이 종료될 때 임시 디렉토리를 정리합니다.
쉘이 종료되기 전에 임시 디렉토리를 유지하기로 결정한 경우 일반적 USR1
으로 shell
;
kill -USR1 $PPID
종료하면 shell
임시 디렉토리가 있는 위치를 알려주며 보다 영구적인 위치로 이동할 수 있습니다.
그러한 도구가 없다면 하나 만드는 것이 좋은 생각일까요?
이것은 창조를 위한 최고의 도구입니다. 여러분은 이미 이 도구가 자신에게 적합하다는 것을 알고 있습니다.
답변2
난 그냥 사용 cd $(mktemp -d)
하고 해킹합니다. 일반적으로 이 물건은 내가 필요할 때까지 존재하지만 아무것도 하지 않으면 사라집니다.
내 OS가 재부팅 시 임시 파일을 삭제하도록 구성되어 있는 것 같습니다(기본적으로는 삭제하지 않음). 다른 배포판은 일정 기간 동안 활동이 없으면 임시 파일을 삭제하도록 자동으로 구성됩니다.
어느 쪽이든 나에게는 효과가 있습니다(그리고 아마도 당신에게도 마찬가지입니다).
답변3
"관심을 잃으면 자동으로 정리한다"는 말은 상당히 주관적이어서 사람마다 다를 수 있습니다. 즉, "자동"이라는 단어는 즉시 cron 유틸리티를 떠올리게 합니다. 이는 원하는 작업(또는 적어도 일부)을 수행하는 간단한 일회성 설정입니다. OP를 돕기 위해 가능한 모든 시나리오와 고급 사용법을 다루지는 않습니다.
개요:
- 임의의 이름으로 사전 할당된 접미사를 사용하여 디렉터리를 생성하려면 별칭을 정의합니다.
- 임시 디렉토리를 생성할 때마다 mktemp 대신 이 별칭을 사용하십시오. 실행하면 임시 디렉터리 이름을 뱉어내고 항상 /tmp에 디렉터리를 생성합니다.
- 크론 작업을 실행하여 특정 조건(예: 30일 이상)에 따라 이러한 임시 디렉터리를 찾아 삭제합니다.
자세한 단계:
mktmpdir이라는 별칭을 정의합니다(~/bash_aliases 또는 ~/.bashrc에 넣을 수 있음).
alias mktmpdir='mktemp -d --suffix=.delme'
-d (파일이 아닌 디렉터리 생성)
--suffix=.delme(항상 디렉터리에 .delme라는 접미사를 추가합니다. 마침표에 주의하세요)
crontab -e
30일 이상 전에 수정된 디렉토리를 제거하는 추가 cron 작업을 실행합니다 (find 명령에는 많은 옵션이 있으므로 매뉴얼 페이지를 읽으십시오).
0 5 * * 0 find /tmp -type d -ctime +30 -name *.delme -user YourUserName -exec rm -rf {} +
옵션 설명:
- 0 5 * * 0(일요일 오전 5시에 이 작업 실행)
- -type d(디렉토리만 해당)
- -ctime +30 (30일 이상)