휴지통(컴퓨터 용어)
1. 개요
사용 가치를 잃은 파일의 삭제 전 임시 대기소격 폴더.
Microsoft Windows를 비롯해 대부분의 운영체제에서 볼 수 있다. 영문판 기준으로 윈도우에는 'Recycle Bin'이라는 이름으로 등록되어 있으나, macOS와 많은 리눅스 배포판에는 'Trash'라는 이름으로 등록되어 있다. 리눅스 민트에서는 휴지통이라는 이름이다. 윈도우에서는 'Recycle Bin'이라는 이름 때문인지 휴지통이 처음으로 도입된 윈도우 95부터 근래의 윈도우 10까지 휴지통 아이콘에 재활용 마크가 꾸준히 새겨져 있다.
2. 역사
휴지통이 컴퓨터에 처음으로 등장한 것은 1983년에 애플에서 개발한 Apple Lisa의 'Wastebasket'이다. 이후 Mac OS에서 'Trash'로 개명되었으며, 1987년에 나온 Mac OS 4부터는 휴지통의 상태에 따라 아이콘이 바뀌도록 구현했는데 휴지통에 파일이 있을 경우 내용물이 차 있는 휴지통 아이콘을, 비어 있을 경우 텅 빈 휴지통 아이콘을 표시하는 이 아이디어는 지금에 와서는 별 게 아닌 것처럼 보이지만 당시만 하더라도 대단히 획기적인 기능으로 인식되었다. 스티브 잡스가 애플에서 쫓겨나 개발한 NeXTSTEP에도 이 휴지통은 그대로 살아 있었다.
빌 게이츠가 초창기의 윈도우를 개발하던 당시, '창 겹침' 기능과 더불어 휴지통 기능을 자신이 개발하던 윈도우에 포함하려 했으나, 애플과의 특허 소송에 휘말려 결국 Windows 1.0 출시 때에는 휴지통 기능이 빠진 채 시장에 나오게 된 에피소드는 이 시대의 컴덕들에겐 꽤 유명한 일화. 하지만 미 법원에서 휴지통 '''아이콘'''에 대해서만 애플의 저작권을 인정하였고 구현 방식에 대한 고유 권리는 인정하지 않음에 따라 다른 소프트웨어 개발사들이 유사 기능을 개발 및 구현할 수 있게 되었으며, 마이크로소프트에서도 Windows 95에 휴지통 기능을 탑재하여 출시하였다.
2.1. 아이콘 변천사
Windows의 경우 Windows 95의 디자인이 Windows 98[1] 에서 살짝 변형되었으며, 이후 Windows 2000의 디자인이 Windows Me에도 사용되었다. Windows XP에서 디자인이 한번 변경되었으며, Windows Vista에서 바뀐 디자인이 Windows 8.1까지 사용되었다. Windows 10 테스트 버전[2] 에서 휴지통 아이콘이 변경되었으나, 정식 출시되면서 우측의 디자인으로 적용되었다.
Macintosh의 경우 1984년의 오리지널 디자인을 시작으로, 1991년 Mac OS 7의 디자인, 1997년 Mac OS 8의 디자인을 거쳐 2001년 OS X(현. macOS)의 디자인이 자그마치 13년이나 쓰였다. 2014년 OS X 10.10 요세미티에서 아이콘이 현재와 같이 변경되었다. 참고로 1984년의 오리지널 디자인에 꽉 찬 휴지통 아이콘은 없었으며 1987년에 상태에 따른 아이콘 변화가 적용되었다.
3. 동작 방식
사용자가 운영체제 상에서 파일에 삭제(Delete) 명령을 내리거나, 휴지통 아이콘 위에 파일을 끌어다 놓으면 이 휴지통 안으로 파일이 이동하게 된다. 여기로 이동한 파일은 휴지통 내에 대기 상태로 있다가, 이후 사용자가 휴지통을 비우게 되면 완전히 사라지게 된다. 만일, 사용자가 여기에 든 파일을 복원(Restore)하게 되면 파일이 원래 있던 위치에 되살아난다.
휴지통은 드라이브 종류가 '로컬 디스크'로 인식되는 경우에만 생성되며, '플로피 디스크 드라이브'나 '이동식#s-1.1 디스크'로 인식되는 경우에는 생성되지 않는다. 따라서 USB 메모리에 저장된 파일은 휴지통으로 이동되지 않고 바로 삭제된다. MTP(Media Transfer Protocol) 방식의 이동식 메모리로 인식되는 스마트폰이나 디지털 카메라에서도 휴지통이 생성되지 않기 때문에 파일을 삭제할 경우 바로 삭제된다. 외장하드의 경우에는 '로컬 디스크'로 인식되기 때문에 휴지통이 생성되며, 외장하드에서 휴지통으로 보낸 파일은 다른 컴퓨터로 이동해도 그대로 남아있다. 또한 2012~2015년 사이에 생산된 USB 메모리 중 일부의 경우에도 '로컬 디스크'로 인식되기 때문에 휴지통이 생성된다.
이유는 단순한데 이동식 디스크의 경우 경로는 동일하지만 실제로는 다른 디스크가 삽입되어있을 가능성이 높기 때문이다. 즉 사용자가 USB 플래시 메모리를 연결하여 드라이브 문자 H:를 할당받은 상태에서 플래시 메모리 안에 있던 특정 자료를 휴지통으로 옮긴 뒤 플래시 메모리를 연결 해제하고난 뒤 다른 플래시 메모리를 연결하면 분명 다른 플래시 메모리임에도 이 메모리 또한 드라이브 문자 H:를 할당받게 되며, 이 상태에서 휴지통 파일을 복원하면 문제가 발생하기 때문이다. 가령 고의로 바이러스로 감염시킨 파일을 이동식 디스크로 이동시켜 휴지통으로 옮긴 다음 목표 대상이 이동식 디스크를 꽃으면 복원시키는 식으로 침투시키거나 등. 또 지금은 상관없는 이야기지만, 과거에는 이동식 디스크의 용량이 매우 작아서 휴지통을 둘 여유가 없었기 때문이기도 하다. 플로피 디스크에 휴지통이 없는 이유도 동일하다.
윈도우에서는 드라이브 최상위에서 시스템 폴더를 찾아보면 '$RECYCLE.BIN'이 있는데[3] , 이 폴더가 바로 휴지통의 역할을 하는 폴더이다. 이 폴더는 하나의 파티션에 하나씩 있는데, 이는 파일 복원 시에 드라이브 내의 원래의 위치로 복원하기 위한 것이다. 여러 드라이브의 파일을 휴지통에 넣을 경우 모든 드라이브의 파일이 하나의 휴지통에 다 들어간듯이 보이지만, 실제론 드라이브마다 따로 분리되어 보관된다. 휴지통 설정에 들어가 보면 드라이브별로 휴지통의 용량을 설정할 수 있는 것을 확인할 수 있다.
macOS에서는 시스템의 경우 휴지통 폴더의 경로가 '디바이스 → Users → 사용자 이름 → .Trash'이며, 파인더의 이동(Go) → 폴더로 이동(Go to Folder) 메뉴에서 '~/.Trash' 또는 '/Users/user_name/.Trash'를 입력하면 내용을 볼 수 있다. UMS 방식의 이동식 메모리인 경우 드라이브 최상위에 '.Trashes' 폴더라는 이름으로 생성되며, 윈도우에서도 숨김 파일 표시 옵션을 통해 메모리 내의 해당 폴더를 확인할 수 있다. MTP 방식은 상술한 이유도 있을 뿐더러 '''마이크로소프트가 개발한 방식'''이기 때문에 당연히 존재하지 않는다.
휴지통에 파일이 너무 많이 쌓이면 컴퓨터가 느려진다. 휴지통은 파일 시스템 입장에선 사실 평범한 폴더에 불과하기 때문이다. 한 폴더에 너무 많은(보통 1만 개 이상) 파일이 쌓여 있으면 인덱싱 작업에 큰 부담이 걸려 느려진다. 파일 시스템은 데이터베이스처럼 커서 오브젝트를 통해 파일 리스트에 접근하는 게 아니라 한 번에 가져오려고 하기 때문이다. 그 외에 휴지통 때문에 하드 디스크가 거의 차서 파일이 단편화되는 경우에도 느려진다. 사실 최적화 프로그램 사용 시에도 휴지통 내의 파일을 모두 지우려 하기 때문에 컴퓨터의 성능과 관련이 없다고 하기도 힘들다.
SSD 보급 초창기에 TRIM 명령 활성화를 위해 휴지통을 비활성화하라는 식의 최적화 팁이 퍼지기도 했는데, 성능상의 이득은 거의 없고 오히려 파일을 실수로 삭제했을 때 복구하기 어렵기 때문에 권장하지 않는다. 그냥 휴지통을 주기적으로 비워주는 것이 훨씬 좋다. 아마 TRIM을 제대로 지원하지 않는 Windows XP, Windows Vista가 현역으로 쓰이던 시절에 나온 팁일 가능성이 높다.
4. 복구
휴지통 비우기로 소멸된 파일은 기본적으로는 복구할 수 없으나, 복원 프로그램을 이용해 복구할 수 있긴 하다. 이는 휴지통을 비우더라도 파일의 위치정보만 삭제하는 것이지, 실제 파일까지 삭제하는 것은 아니기 때문이다. 하지만 소멸된 지 오래될수록 데이터가 온전히 남아 있을 가능성은 낮아지며, 소거 프로그램을 사용하면 더 확실하게 삭제가 된다. 다만 이는 저장매체가 하드 디스크일 경우에만 해당되며, SSD의 경우에는 OS에서 TRIM 명령을 날리는 것만으로도 파일이 완전 삭제되기 때문에[4] 별도의 프로그램 없이도 파일을 완전히 소거할 수 있다.
5. 여담
- Shift+Delete를 동시에 눌러 휴지통을 거치지 않고 바로 삭제 시키는 방법도 있는데, 여기에 버릇을 들이면 휴지통에 들어갈 일이 없어진다. 심지어 휴지통 설정을 건드리면[5] 그냥 Delete 버튼을 누르자마자 즉시 삭제되기 때문에 사람에 따라선 처음부터 이렇게 설정해놓는 경우도 있다. 다만 실수로 중요한 파일을 삭제해버려서 골치아파지는 경우도 있다.
- Windows 8부터는 휴지통 기본 설정이 '파일 삭제 전에 확인'이 비활성화 되어 있도록 바뀌었기 때문에 기존 설정에서는 파일을 삭제할 때 경고창을 띄우지 않는다.
- "휴지통을 삭제하면 어떻게 되나요?"라고 질문하는 경우도 종종 보이는데, 시스템 폴더기 때문에 삭제할 수 없다. 실제 폴더($RECYCLE.BIN)를 삭제하는 건 가능하지만 휴지통이란 시스템은 그대로이기 때문에 금방 자동으로 복구된다. 하지만 개인 설정에서 바탕 화면 표시 여부는 결정할 수 있다. 즉, 원하는 대로 바탕 화면에서 숨기거나 보이도록 설정할 수 있다는 것. Windows Vista와 Windows 7, Windows 8, Windows 8.1에서는 개인 설정 → 바탕 화면 아이콘 설정에서, Windows 10에서는 개인 설정 → 테마 → 바탕 화면 아이콘 설정에서 해당 옵션을 통해 휴지통 아이콘의 표시를 설정 및 해제할 수 있다.
- Windows Vista에서는 휴지통에 삭제 메뉴가 존재했다. 개인 설정에서 숨기는 것과 같은 기능이지만 많은 사람들이 휴지통이 없어진 것으로 오인했기 때문인지 Windows 7부터는 다시 삭제 메뉴가 없어졌다.
- Windows XP까지만 해도 '내 문서', '내 컴퓨터' 등의 아이콘은 바탕 화면에 표시하지 않는 옵션이 있었던 데 반해, 휴지통은 해당 옵션이 없었다. 다만 Windows NT 계열 운영체제(Home Edition 제외)에서는 로컬 그룹 정책 편집기(gpedit.msc)를 통해 바탕 화면에서 휴지통을 없앨 수 있었다. 상술했듯이 Windows Vista부터 휴지통의 바탕 화면 표시 여부를 결정할 수 있어 이러한 문제가 해소되었다.
- 비교적 운영체제의 트윅이 쉬웠던 XP 시절까지만 해도[6] 트윅 앱을 사용하는 등 운영 체제에 변형을 가했을 경우 바탕 화면에서 휴지통이 사라져 버리는 경우가 종종 있었다. 이럴 때에는 새 폴더를 하나 만들고 이름을 휴지통.{645FF040-5081-101B-9F08-00AA002F954E}로[7] 변경하면 휴지통 아이콘이 생긴다.
- 마찬가지로 XP까지만 해도 바탕 화면의 다른 아이콘들과 달리 휴지통은 이름 변경이 불가능해 레지스트리 변경이나 트윅 앱을 이용해 이름을 변경했다. 비스타부터 운영체제 상에서 휴지통의 이름 변경을 지원한다.
- macOS에서는 Bin It!이라는 앱으로 휴지통의 트윅이 가능하다. iOS의 시계, 캘린더 아이콘처럼 휴지통이 실시간으로 어느 정도 채워졌는지 확인할 수 있으며, 뱃지 알림 표시, 아이콘 변경, 투명도 설정, 위치 고정 등의 옵션을 제공한다.
- 모바일 운영체제에서도 기능을 구현한 경우가 있는데, 안드로이드에서는 ASUS 파일 관리자, Xplore 등의 앱에 휴지통 기능이 있고, 파이 업데이트 이후 갤러리 앱에 휴지통 기능이 새로 추가되었고,[8] iOS는 사진 앱의 '최근 삭제된 항목'이 휴지통과 비슷한 역할을 한다. One UI 2.0 이상의 삼성 갤럭시 스마트폰을 사용한다면 File Guardian 이라는 앱을 설치해서 휴지통을 구현할 수 있다.
- 케장콘 중에 휴지통(들어가면 못나옴)이란 것이 존재한다.
- MS-DOS에도 휴지통 비슷한 기능이 있는데, UNDELETE 프로그램의 작동방식을 삭제감시자로 설정하면 메모리에 상주하면서 삭제 명령이 내려지면 해당 파일을 삭제하지 않고
라는 디렉토리로 이동한다.C:\SENTRY
[1] 98에서의 디자인은 XP에서도 사용할 수 있으며, 프로그램 제거 아이콘으로도 등장한다.[2] 확인된 유출 버전: 10.0.10009/테크니컬 프리뷰로는 공개되지 않음.[3] 정확히는 Windows Vista부터 Windows 10까지. Windows 9x는 'Recycled'였으며, Windows 2000과 Windows XP는 'RECYCLER'였다.[4] 이는 SSD의 경우 HDD와는 달리 덮어쓰기(Overwrite)가 되지 않고 소거(Erase) 명령을 내려서 데이터를 삭제해야만 새로운 데이터를 쓸 수 있는 특성을 지녔기 때문이다. TRIM은 이러한 소거 명령을 일괄적으로 내리는 것. 일반적으로 파일을 삭제하거나, 시스템이 유휴 상태일 때에 자동으로 TRIM이 실행된다. 또는 별도로 실행하는 것도 가능하다.[5] 휴지통 아이콘에 우클릭 → 속성 → '파일을 휴지통에 버리지 않고 삭제할 때 바로 제거'에 체크.[6] 이 때문에 마이크로소프트에서도 Tweak UI라는 앱을 제공했다.[7] 확장자로 된 부분은 휴지통의 레지스트리 고유 값이다.[8] 파이 베타에서도 사용 가능하다.