Ⅰ. trash-cli 란?
리눅스와 macOS 환경에서 터미널만으로 파일을 안전하게 삭제하고, 필요 시 손쉽게 복원할 수 있는 커맨드라인 휴지통 관리 도구입니다. 기존의 rm 명령어는 파일을 완전 삭제하여 복구가 어려운 반면, trash-cli는 파일을 즉시 삭제하지 않고 운영체제 표준 휴지통 위치(~/.local/share/Trash)로 이동시킵니다.
Freedesktop.org Trash Specification라는 표준을 준수해, GUI 환경(예: GNOME, KDE)에서 사용하는 휴지통과 동일한 파일 저장 및 관리 방식을 채택합니다. 파일은 삭제 시 원본 경로와 삭제 일자 등의 메타정보(.trashinfo 파일)와 함께 보관되어, 언제든지 원위치로 복원이 가능합니다. 시스템 안정성과 데이터 보존성을 높이면서, 실수로 인한 데이터 손실 위험을 최소화하는 강력한 삭제 솔루션입니다.
Ⅱ. trash-cli 주요 특징
ⅰ. 표준 호환성
1) Freedesktop.org 가치 체계에 맞춰 데스크톱 휴지통과 공용 공간을 사용합니다.
2) GNOME, KDE 등 주요 데스크톱 환경과 완벽 연동되어 터미널과 GUI 간 데이터 일관성을 유지합니다.
ⅱ. 안전한 삭제
1) 삭제 시 파일을 즉시 완전 제거하지 않고, 휴지통으로 이동해 복구 가능하도록 합니다.
2) 실수로 삭제한 파일도 손쉽게 복원할 수 있어 업무 환경의 안전망 역할을 수행합니다.
ⅲ. 편리한 복원 기능
1) 파일명, 원본 저장 위치, 삭제 시각 등 복원에 필요한 메타정보를 함께 저장합니다.
2) 복원은 쉬운 명령어로 수행되며, 복원할 파일을 선택하는 대화형 모드도 지원합니다.
ⅳ. 스크립트 및 자동화 친화
1) 쉘 스크립트, alias 설정 등을 통해 기존 rm 명령을 대체하거나 배치 작업에 통합 가능
2) 운영 및 개발환경에서 삭제 정책을 표준화하는 자동화 작업에 이상적입니다.
Ⅲ. trash-cli 설치 방법
배포판 / 플랫폼 | 설치 명령어 |
Ubuntu / Debian | apt update && sudo apt install trash-cli |
Redhat / Fedora | dnf install trash-cli |
Arch Linux | pacman -S trash-cli |
macOS | brew install trash |
Windows (WSL) | Linux 배포판 내 위 리눅스 명령어 사용 |
Ⅳ. trash-cli 사용 방법
사용 방법 | 설명 |
trash-put <파일명> | 파일을 휴지통으로 이동시킵니다. |
trash-list | 휴지통에 있는 파일 목록을 보여줍니다. |
trash-restore <파일명> | 휴지통에서 파일을 복원합니다. |
trash-empty | 휴지통을 비웁니다. |
trash-rm <파일명> | 휴지통에서 파일을 영구 삭제합니다. |
trash-version | trash-cli 버전을 확인합니다. |
trash-help | 명령어 사용법을 보여줍니다. |
Ⅴ. trash-cli 기본 사용법
ⅰ. 파일 삭제
# example.txt 파일을 휴지통으로 이동 trash-put example.txt # 디렉터리도 이동 가능 trash-put -r myfolder/ |
ⅱ. 휴지통 목록 조회
# 삭제된 항목들의 번호, 원본 위치, 삭제 시간 확인 trash-list |
ⅲ. 파일 복원
# trash-list 결과에서 지정한 번호로 복원 trash-restore 2 # 대화명 모드에서 복원할 파일 선택 trash-restore |
ⅳ. 휴지통 비우기
# 휴지통 내 모든 항목 완전 삭제 trash-empty # 30일 이상 된 항목만 삭제 trash-empty 30 |
Ⅵ. trash-cli 활용방안 및 팁
ⅰ. rm 명령어 대체
# ~/.bashrc 또는 ~/.zshrc에 다음 설정 추가 alias rm='trash-put' alias rr='/usr/bin/rm -rf' # 실제 삭제 시 사용 |
실수로 rm을 입력해도 파일이 휴지통으로 이동해 안전하게 관리할 수 있습니다.
ⅱ. 스크립트 내 통합
# 배치 작업 시 임시파일 삭제를 안전하게 처리 #!/bin/bash for f in *.tmp; do trash-put "$f" done # 7일 지난 휴지통 파일 자동 삭제 trash-empty 7 |
크론(Cron) 작업 등 자동화 환경에 쉽게 적용 가능.
ⅲ. GUI 휴지통과 동기화
GNOME 파일 관리자, KDE Dolphin 등과 동일한 휴지통 위치를 사용하므로, 터미널과 GUI 환경 모두에서 삭제 및 복원이 일관되게 확장됩니다. GUI에서 삭제한 파일도 trash-cli로 복원 가능하며, 반대도 마찬가지입니다.
ⅳ. 프로젝트별 휴지통 분리
# 프로젝트 루트에 맞춘 별도 휴지통 설정 가능 export TRASH_HOME="$PROJECT_ROOT/.trash" alias rm="trash-put --trashdir $TRASH_HOME" |
여러 프로젝트가 공존하는 환경에서 휴지통 파일 충돌을 방지하고 별도 관리가 가능합니다.
'시스템(Linux)' 카테고리의 다른 글
리눅스 디스크 파티션 방식 비교(Standard, LVM, LVM Thin Provisioning)에 대해 알아보겠습니다. (1) | 2025.07.08 |
---|---|
SSH 서비스가 비정상 종료 되었을 때 원인 분석 및 조치 방법에 대해 알아보겠습니다. (0) | 2025.07.04 |
Linux 커널 매개변수를 실시간으로 조회 및 수정하는 sysctl 명령어에 대해 알아보겠습니다. (0) | 2025.07.03 |
리눅스 무결성 검사 도구인 AIDE(Advanced Intrusion Detection Environment)에 대해 알아보겠습니다. (0) | 2025.06.05 |
리눅스 보안 로그(/var/log/secure)에 대해 알아보겠습니다. (0) | 2025.06.03 |