나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2024-11-03 19:41:44

휴지통(컴퓨터 용어)


1. 개요2. 역사
2.1. 아이콘 변천사
3. 동작 방식
3.1. 운영체제별 상세
4. 복구5. 여담

1. 개요

사용 가치를 잃은 파일의 삭제 전 임시 대기소격 폴더.

Microsoft Windows를 비롯해 대부분의 운영체제에서 볼 수 있다.[1] 영문판 기준으로 윈도우에는 'Recycle Bin'이라는 이름으로 등록되어 있으나, macOS와 많은 리눅스 배포판에는 'Trash'라는 이름으로 등록되어 있다. 리눅스 민트에서는 휴지통이라는 이름이다. 윈도우에서는 'Recycle Bin'이라는 이름 때문인지 휴지통이 처음으로 도입된 윈도우 95부터 근래의 윈도우 11까지 휴지통 아이콘에 재활용 마크가 꾸준히 새겨져 있다.

휴지통 모양의 컴퓨터도 있다카더라

2. 역사

파일:휴지통(Apple Lisa).png 파일:휴지통(Windows 95).png
PC 역사상 최초의 휴지통인 Apple Lisa의 Wastebasket 현 휴지통의 기반이 된 Windows 95의 휴지통
휴지통이 컴퓨터에 처음으로 등장한 것은 1983년에 애플에서 개발한 Apple Lisa의 'Wastebasket'이다. 이후 Mac OS에서 'Trash'로 개명되었으며, 1987년에 나온 Mac OS 4부터는 휴지통의 상태에 따라 아이콘이 바뀌도록 구현했는데 휴지통에 파일이 있을 경우 내용물이 차 있는 휴지통 아이콘을, 비어 있을 경우 텅 빈 휴지통 아이콘을 표시하는 이 아이디어는 지금에 와서는 별 게 아닌 것처럼 보이지만 당시만 하더라도 대단히 획기적인 기능으로 인식되었다. 스티브 잡스가 애플에서 쫓겨나 개발한 NeXTSTEP에도 이 휴지통은 그대로 살아 있었다.

빌 게이츠가 초창기의 윈도우를 개발하던 당시, '창 겹침' 기능과 더불어 휴지통 기능을 자신이 개발하던 윈도우에 포함하려 했으나, 애플과의 특허 소송에 휘말려 결국 Windows 1.0 출시 때에는 휴지통 기능이 빠진 채 시장에 나오게 된 에피소드는 이 시대의 컴덕들에겐 꽤 유명한 일화. 하지만 미 법원에서 휴지통 아이콘에 대해서만 애플의 저작권을 인정하고 구현 방식에 대한 고유 권리는 인정하지 않음에 따라 다른 소프트웨어 개발사들이 유사 기능을 개발 및 구현할 수 있게 되었으며, 마이크로소프트에서도 Windows 95에 휴지통 기능을 탑재하여 출시하였다.

2.1. 아이콘 변천사

파일:휴지통아이콘변천사.gif 파일:윈도우11휴지통아이콘.gif
휴지통 아이콘의 변천사 Windows 11에서 변경된 디자인

Windows의 경우 Windows 95의 디자인이 Windows 98[2]에서 살짝 변형되었으며, 이후 Windows 2000의 디자인이 Windows Me에도 사용되었다. Windows XP에서 디자인이 한번 변경되었으며, Windows Vista에서 바뀐 디자인이 Windows 8.1까지 사용되었다.[3] Windows 10 테스트 버전[4]에서 휴지통 아이콘이 변경되었으나, 정식 출시되면서 우측의 디자인으로 적용되었다. Windows 11의 아이콘은 Windows 10 버전의 아이콘을 정면으로 배치한 것이다.

Macintosh의 경우 1984년의 오리지널 디자인을 시작으로, 1991년 Mac OS 7의 디자인, 1997년 Mac OS 8의 디자인을 거쳐 2001년 OS X의 디자인이 자그마치 13년이나 쓰였다. 2014년 OS X 10.10 요세미티에서 아이콘이 현재와 같이 변경되었다. 참고로 1984년의 오리지널 디자인에 꽉 찬 휴지통 아이콘은 없었으며, 상태에 따른 아이콘 변화가 적용된 것은 1987년이다.

3. 동작 방식

사용자가 운영체제 상에서 파일에 삭제(Delete) 명령을 내리거나, 휴지통 아이콘 위에 파일을 끌어다 놓으면 이 휴지통 안으로 파일이 이동하게 된다. 여기로 이동한 파일은 휴지통 내에 대기 상태로 있다가, 이후 사용자가 휴지통을 비우게 되면 완전히 사라지게 된다. 만일, 사용자가 여기에 든 파일을 복원(Restore)하게 되면 파일이 원래 있던 위치에 되살아난다.

휴지통은 드라이브 종류가 '로컬 디스크'로 인식되는 경우에만 생성되며, '플로피 디스크 드라이브'나 '이동식 디스크'로 인식되는 경우에는 생성되지 않는다. 따라서 USB 메모리에 저장된 파일은 휴지통으로 이동되지 않고 바로 삭제된다. MTP(Media Transfer Protocol) 방식의 이동식 메모리로 인식되는 스마트폰이나 디지털 카메라에서도 휴지통이 생성되지 않기 때문에 파일을 삭제할 경우 바로 삭제된다. 외장하드의 경우에는 '로컬 디스크'로 인식되기 때문에 휴지통이 생성되며, 외장하드에서 휴지통으로 보낸 파일은 다른 컴퓨터로 이동해도 그대로 남아있다. 또한 2012~2015년 사이에 생산된 USB 메모리 중 일부의 경우에도 '로컬 디스크'로 인식되기 때문에 휴지통이 생성된다.

이유는 단순한데, 이동식 디스크의 경우 경로는 동일하지만 실제로는 다른 디스크가 삽입되어 있을 가능성이 높기 때문이다. 즉 사용자가 USB 플래시 메모리를 연결하여 드라이브 문자 H:를 할당받은 상태에서 플래시 메모리 안에 있던 특정 자료를 휴지통으로 옮긴 뒤, 플래시 메모리를 연결 해제하고 다른 플래시 메모리를 연결하면 분명 다른 플래시 메모리임에도 이 메모리 또한 드라이브 문자 H:를 할당받게 되며, 이 상태에서 휴지통 파일을 복원하면 문제가 발생하기 때문이다. 가령 고의로 바이러스로 감염시킨 파일을 이동식 디스크로 이동시켜 휴지통으로 옮긴 다음 목표 대상이 이동식 디스크를 꽂으면 복원시키는 식으로 침투시키는 등. 또 지금은 상관없는 이야기지만, 과거에는 이동식 디스크의 용량이 매우 작아서 휴지통을 둘 여유가 없었기 때문이기도 하다. 플로피 디스크에 휴지통이 없는 이유도 동일하다.

휴지통에 파일이 너무 많이 쌓이면 컴퓨터가 느려진다. 휴지통은 파일 시스템 입장에선 하나의 폴더에 불과하기 때문이다. 한 폴더에 너무 많은(보통 1만 개 이상) 파일이 쌓여 있으면 인덱싱 작업에 큰 부담이 걸려 느려진다. 파일 시스템은 데이터베이스처럼 커서 오브젝트를 통해 파일 리스트에 접근하는 게 아니라 한 번에 가져오려고 하기 때문이다. 그 외에 휴지통 때문에 하드 디스크가 거의 차서 파일이 단편화되는 경우에도 느려진다. 사실 최적화 프로그램 사용 시에도 휴지통 내의 파일을 모두 지우려 하기 때문에 컴퓨터의 성능과 관련이 없다고 하기도 힘들다.

SSD 보급 초창기에 TRIM 명령 활성화를 위해 휴지통을 비활성화하라는 식의 최적화 팁이 퍼지기도 했는데, 성능상의 이득은 거의 없고 오히려 파일을 실수로 삭제했을 때 복구하기 어렵기 때문에 권장하지 않는다. 그냥 휴지통을 주기적으로 비워주는 것이 훨씬 좋다. 아마 TRIM을 제대로 지원하지 않는 Windows XP, Windows Vista가 현역으로 쓰이던 시절에 나온 팁일 가능성이 높다.

3.1. 운영체제별 상세

윈도우에서는 드라이브 최상위에서 시스템 폴더를 찾아보면 '$RECYCLE.BIN'이 있는데[5], 이 폴더가 바로 휴지통의 역할을 하는 폴더이다. 이 폴더는 하나의 파티션에 하나씩 있는데, 이는 파일 복원 시에 드라이브 내의 원래의 위치로 복원하기 위한 것이다. 여러 드라이브의 파일을 휴지통에 넣을 경우 모든 드라이브의 파일이 하나의 휴지통에 다 들어간듯이 보이지만, 실제론 드라이브마다 따로 분리되어 보관된다. 휴지통 설정에 들어가 보면 드라이브별로 휴지통의 용량을 설정할 수 있는 것을 확인할 수 있다.

기본적으로는 숨겨져 있어 폴더를 볼 수 없다. 해당 폴더로 들어가면 '휴지통'이라는 폴더가 있는데, 그게 바로 휴지통의 실제 위치이다.
명령 프롬프트에서 dir/a[6]을 입력하면 S-1-5-21로 시작하는 폴더로 구성되어 있다.

macOS에서는 시스템의 경우 휴지통 폴더의 경로가 '디바이스 → Users → 사용자 이름 → .Trash'이며, Finder의 이동(Go) → 폴더로 이동(Go to Folder) 메뉴에서 '~/.Trash' 또는 '/Users/user_name/.Trash'를 입력하면 내용을 볼 수 있다. UMS 방식의 이동식 메모리인 경우 드라이브 최상위에 '.Trashes' 폴더라는 이름으로 생성되며, 윈도우에서도 숨김 파일 표시 옵션을 통해 메모리 내의 해당 폴더를 확인할 수 있다. MTP 방식은 상술한 이유도 있을 뿐더러 마이크로소프트가 개발한 방식이기 때문에 당연히 존재하지 않는다.

리눅스에서는 정확히 말하면 휴지통이라는 개념이 없다. 여러 배포판에 보이는 휴지통은 DE 또는 파일 매니저 단에서 구현된 것이며, rm등의 명령어로 삭제하는 파일은 그 즉시 사라진다. 굳이 찾고자 한다면 보통 ~/.local/share/Trash 폴더에서[7] 찾을 수 있다. 이 안에는 또 2종류(expunged 제외)의 디렉토리가 있는데, files/ 에는 유저가 삭제한 파일들이 그대로 들어 있으며 info/ 에는 삭제된 파일과 1:1로 대응되는 삭제 정보 파일[8]이 들어 있다. 정보 파일에는 언제 파일이 삭제되었는지, 삭제되기 전 위치는 어디인가 등을 ini형식으로 기록해 두어 이 정보를 파싱하면 해당 파일을 제자리로 되돌려 놓을 수 있다(자세한 내용은 표준 문서 참고). 역으로 중요할지도 모르는 파일을 /files에 mv해두어 안전하게 삭제(이동)하는 것도 가능하나 .trashinfo를 직접 만들 자신이 없다면 trash-cli패키지의 trash명령어를 사용할 수도 있다. 어쨌튼 리눅스를 처음 접해서 그래픽 환경이 익숙한 유저가 아니라면 거의 쓸 일도 볼 일도 없다. 유닉스 명령어인 rm과 정규표현식(blob)을 사용하는 게 훨씬 쉽고 빠르기 때문.

4. 복구

휴지통 비우기로 소멸된 파일은 기본적으로는 복구할 수 없으나, 복원 프로그램을 이용해 복구할 수 있긴 하다. 이는 휴지통을 비우더라도 파일의 위치 정보만 삭제하는 것이지, 실제 파일까지 삭제하는 것은 아니기 때문이다(HLF). 하지만 소멸된 지 오래될수록 데이터가 온전히 남아 있을 가능성은 낮아지며, 소거 프로그램을 사용하면 더 확실하게 삭제가 된다. 다만 이는 저장매체가 하드 디스크일 경우에만 해당되며, SSD의 경우에는 OS에서 TRIM 명령을 날리는 것만으로도 파일이 완전 삭제되기 때문에[9] 별도의 프로그램 없이도 파일을 완전히 소거할 수 있다. 더 자세한 내용은 포맷소거 프로그램 & 복원 프로그램 문서 참고.

5. 여담


[1] 다만 이 문서에 있는 다수의 내용은 윈도우를 기준으로 서술된 부분이 많으니 주의할 것.[2] 98에서의 디자인은 XP에서도 사용할 수 있으며, 프로그램 제거 아이콘으로도 등장한다.[3] 베타 시절을 포함하면 롱혼 빌드 4074(2004년 4월)부터 사용해 Windows에서 가장 오래 쓰인 휴지통 아이콘이다. 다만 베타 시절에는 휴지통 아이콘의 좌우가 정식 버전의 반대였다.[4] 확인된 유출 버전: 10.0.10009/테크니컬 프리뷰로는 공개되지 않음.[5] 정확히는 Windows Vista부터 Windows 10까지. Windows 9x는 'Recycled'였으며, Windows 2000Windows XP는 'RECYCLER'였다.[6] PowerShell에서는 ls -Force를 입력한다. 숨김 폴더를 강제로 표시하는 스위치이다.[7] 정확히는 $XDG_DATA_HOME/Trash이다. 그리고 MacOS처럼 .Trash가 아님에 유의하자.[8] 확장자는 .trashinfo이며, 정식 명칭은 Linux Trash Metadata File.[9] 이는 SSD의 경우 HDD와는 달리 덮어쓰기(Overwrite)가 되지 않고 소거(Erase) 명령을 내려서 데이터를 삭제해야만 새로운 데이터를 쓸 수 있는 특성을 지녔기 때문이다. TRIM은 이러한 소거 명령을 일괄적으로 내리는 것. 일반적으로 파일을 삭제하거나, 시스템이 유휴 상태일 때에 자동으로 TRIM이 실행된다. 또는 별도로 실행하는 것도 가능하다.[10] 휴지통 아이콘에 우클릭 → 속성 → '파일을 휴지통에 버리지 않고 삭제할 때 바로 제거'에 체크.[11] 설정 앱의 디자인이 상당히 바뀌었지만 이 설정만큼은 같은 장소에 있다.[12] 이 때문에 마이크로소프트에서도 Tweak UI라는 앱을 제공했다.[13] 확장자로 된 부분은 휴지통의 레지스트리 고유 값이다.[14] 파이 베타에서도 사용 가능하다.

파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r170
, 2번 문단
에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r170 (이전 역사)
문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)