파일 관리자

**파일 관리자**(file manager) 또는 **파일 브라우저**(file browser), **파일 탐색기**는 파일과 폴더를 관리하기 위한 사용자 인터페이스를 제공하는 컴퓨터 프로그램이다. 파일 또는 파일 그룹에 대해 수행되는 가장 일반적인 작업에는 생성, 열기(보기, 재생, 편집 또는 인쇄 등), 이름 바꾸기, 복사, 이동, 삭제 및 파일 검색뿐만 아니라 파일 특성, 속성 및 파일 권한 수정이 포함된다. 폴더와 파일은 디렉터리 구조에 따라 계층적 트리로 표시될 수 있다.

## 특징
### 파일 전송
그래픽 사용자 인터페이스 기반의 파일 관리자는 각각 "복사와 붙여넣기" 및 "잘라내어 붙여넣기"를 통한 파일 복사 및 이동을 지원할 수 있으며, 드래그 앤드 드롭 및 대상 경로를 선택하기 위한 별도의 메뉴를 통해서도 지원할 수 있다.

파일을 전송하는 동안 파일 관리자는 원본 및 대상 디렉터리, 백분율 및 크기로 표시된 전송 진행률, 진행 표시줄, 현재 전송 중인 파일 이름, 남은 파일 및 총 파일 수, 수치적 전송 속도 및 그래픽 전송 속도를 표시할 수 있다. 파일 전송을 일시 중지하는 기능을 통해 다른 소프트웨어에 전체 순차 읽기 액세스 권한을 일시적으로 부여하는 동시에, 나중에 파일 전송을 다시 시작하지 않고도 재개할 수 있다.

일부 파일 관리자는 선택한 각 파일을 원본에서 개별적으로 복사하고 삭제하여 여러 파일을 이동하는 반면, 다른 파일 관리자는 에 설명된 대로 선택한 모든 파일을 먼저 복사한 다음 나중에 원본에서 삭제한다.

대상 디렉터리에서 충돌하는 파일 이름은 이름 바꾸기, 덮어쓰기 또는 건너뛰기를 통해 처리될 수 있다. 이름 바꾸기는 일반적으로 숫자로 이루어진다. 덮어쓰기는 원본 파일이 더 새롭거나 크기가 다른 경우와 같이 조건부일 수 있다. 기술적으로 체크섬을 사용하여 파일을 비교할 수도 있지만, 그러려면 원본 및 대상 파일 전체를 읽어야 하므로 대용량 파일의 경우 프로세스 속도가 크게 느려진다.

### 사용자 인터페이스
일부 파일 관리자에는 앞뒤 탐색 버튼, 주소 표시줄, 탭 및 즐겨찾기 사이드바를 포함하여 웹 브라우저와 유사한 기능이 포함되어 있다.

### 네트워킹
일부 파일 관리자는 FTP, HTTP, NFS, SMB 또는 WebDAV와 같은 프로토콜을 통해 네트워크 연결을 제공한다. 이는 사용자가 파일 서버를 검색할 수 있게 하거나(서버의 파일 시스템을 로컬 파일 시스템처럼 연결하고 액세스함), 파일 서버 프로토콜에 대한 자체적인 전체 클라이언트 구현을 제공함으로써 이루어진다.

## 디렉터리 편집기
파일 관리자라는 용어가 사용되기 이전에는 디렉터리 편집기라는 용어가 사용되었다. 초기 디렉터리 편집기인 Dired는 1974년경 스탠퍼드 인공지능 연구소에서 스탠 쿠겔에 의해 개발되었다.

메릴랜드 대학교에서 EXEC 8용으로 디렉터리 편집기가 작성되었으며, 당시 다른 사용자들도 사용할 수 있었다. 이 용어는 1980년에 BSD에서 실행되는 **dired** 프로그램을 작성한 제이 레프루를 포함한 다른 개발자들에 의해 사용되었다. 이는 차례로 TOPS-20에서 실행되는 동일한 이름의 오래된 프로그램에서 영감을 받았다. **Dired**는 (이맥스 및 유사한 편집기용) 편집기 스크립트인 dired와 **ded**를 포함한 다른 프로그램에 영감을 주었다.

## 파일 목록 파일 관리자
파일 목록 파일 관리자는 정통 파일 관리자보다 덜 알려져 있고 더 오래되었다.

그러한 파일 관리자 중 하나는 neptune이었다. 이것은 1973-1974년 기간에 제록스 알토에서 실행되었다.
나중에 정통 파일 관리자에 포함될 몇 가지 동일한 기능을 갖추고 있었다.

또 다른 파일 관리자는 flist로, 1980년 이전에 대화식 모니터 시스템에 도입되었다.
이것은 저자인 테오 알케마의 언급에 따르면 1978년 말 이전에 시작된 FULIST의 변형이다.

flist 프로그램은 사용자의 미니디스크에 있는 파일 목록을 제공했으며, 모든 파일 특성별로 정렬을 허용했다. 파일 특성은 스크립트나 기능 키 정의로 전달될 수 있어 flist를 CMS EXEC, EXEC 2 또는 XEDIT 스크립트의 일부로 사용하기 간단하게 만들었다.

이 프로그램은 IBM VM/SP CMS에서만 실행되었지만, filelist(XEDIT 편집기를 통해 실행되는 스크립트) 및 OpenVMS에서 실행되는 역시 flist라고 불리는 프로그램, 유닉스에서 실행되는 FULIST(해당 내부 IBM 프로그램 이름에서 유래)를 포함하여 다른 운영 체제에서 실행되는 다른 프로그램에 영감을 주었다.

## 정통 파일 관리자
[섬네일|[텍스트 사용자 인터페이스를 갖춘 정통 파일 관리자인 미드나이트 커맨더]]
정통 파일 관리자(종종 "OFM"으로 약칭) 또는 명령 기반 파일 관리자는 일반적으로 3개의 창(2개의 패널과 1개의 명령줄 창)을 갖는 텍스트 메뉴 기반 파일 관리자이다. 정통 파일 관리자는 가장 오래 지속되는 파일 관리자 제품군 중 하나이다. 이 개념은 1980년대 중반으로 거슬러 올라간다. PathMinder는 1984년에, 노턴 커맨더는 1986년에 출시되었다. 노턴 커맨더 기반의 파일 관리자는 활발하게 개발되고 있으며 MS-DOS, 유닉스 및 윈도우용으로 수십 개의 구현이 존재한다. 니콜라이 베즈루코프는 OFM 표준에 대한 자체 기준 세트를 게시했다(1997년 6월자 버전 1.2).

### 특징
정통 파일 관리자에는 일반적으로 3개의 창이 있다. 두 개의 창은 패널이라고 불리며 화면 상단에 대칭으로 배치된다. 세 번째는 명령줄로, 본질적으로 전체 화면으로 확장할 수 있는 최소화된 명령(셸) 창이다. 한 번에 하나의 패널만 활성화된다. 활성 패널에는 "파일 커서"가 포함되어 있다. 패널은 크기 조절이 가능하며 숨길 수 있다. 활성 패널의 파일은 관리자가 수행하는 파일 작업의 원본 역할을 한다. 예를 들어, 활성 패널에서 수동 패널로 표시된 위치로 파일을 복사하거나 이동할 수 있다. 이 체계는 키보드가 기본 또는 유일한 입력 장치인 시스템에서 가장 효과적이다. 활성 패널은 현재 작업 디렉터리와 여기에 포함된 파일에 대한 정보를 보여준다. 수동(비활성) 패널은 동일하거나 다른 디렉터리의 내용(파일 작업의 기본 대상)을 보여준다. 사용자는 관련 파일 정보를 표시하는 열의 표시를 사용자 지정할 수 있다. 활성 패널과 수동 패널은 (흔히 Tab 키를 눌러) 전환할 수 있다.

다음 특징들은 정통 파일 관리자의 범주를 설명한다.
* 아래에 명령줄이 있는 두 패널 디렉터리 보기를 사용자에게 제시한다. 두 패널 중 하나를 활성화하도록 선택할 수 있으며 나머지는 수동이 된다. 활성 패널은 삭제 및 이름 바꾸기 작업의 작업 영역이 되고, 수동 패널은 복사 및 이동 작업의 대상 역할을 한다. 패널을 축소하여 그 뒤에 숨겨진 터미널 창을 노출할 수 있다. 일반적으로 터미널 창의 마지막 줄(명령줄)만 보인다.
* 명령줄에 입력된 셸 명령의 실행 결과를 볼 수 있게 해주는 관련 터미널 창을 사용하여 명령줄 인터페이스를 통해 기본 운영 체제 셸과 긴밀한 통합을 제공한다(예: 노턴 커맨더의 Ctrl-O 단축키를 통해).
* 사용자에게 광범위한 키보드 단축키를 제공한다.
* 파일 관리자는 사용자가 마우스를 사용할 필요가 없게 해준다.
* 사용자는 특정 파일 형식에 대해 호출되는 고유한 파일 연결 및 스크립트를 생성하고 이러한 스크립트를 계층적 트리(예: 사용자 스크립트 라이브러리 또는 사용자 메뉴)로 구성할 수 있다.
* 사용자는 소위 사용자 메뉴 또는 시작 메뉴 및 확장 메뉴를 통해 관리자의 기능을 확장할 수 있다.

기타 공통 기능은 다음과 같다.
* "활성" 및 "수동" 패널의 정보는 명령줄에서 명령을 구성하는 데 사용될 수 있다. 예로는 현재 파일, 왼쪽 패널 경로, 오른쪽 패널 경로 등이 있다.
* (최소한) 가장 기본적인 파일 형식을 위한 내장 뷰어를 제공한다.
* 내장 편집기가 있다. 많은 경우, 편집기는 패널의 특정 요소를 편집 중인 텍스트로 추출할 수 있다.
* 압축 아카이브 보기 또는 FTP 연결을 통한 파일 작업과 같은 가상 파일 시스템(VFS)을 지원하는 경우가 많다.
* 이름에 노턴 커맨더의 이름을 따서 커맨더(commander)라는 단어가 들어가는 경우가 많다.
* 경로: 사용 중인 디렉터리의 원본/대상 위치를 표시한다.
* 디렉터리 크기, 디스크 사용량 및 디스크 이름에 대한 정보(일반적으로 패널 하단).
* 파일 이름, 확장자, 생성 날짜 및 시간, 최종 수정 및 권한(특성)에 대한 정보가 있는 패널.
* 디렉터리의 파일 수와 선택한 파일의 크기 합계가 있는 정보 패널.
* 탭 인터페이스(일반적으로 GUI 파일 관리자에서).
* 기능 키: F1–F10은 모든 정통 파일 관리자에서 동일한 기능을 가진다. 예: F5는 항상 활성 패널에서 비활성 패널로 파일을 복사하고, F6은 파일을 이동한다.

#### 탭 패널
일부 파일 관리자(예: 토탈 커맨더)에 탭 패널이 도입되면서 한 번에 둘 이상의 활성 및 수동 디렉터리를 조작할 수 있게 되었다.

#### 이식성
정통 파일 관리자는 가장 이식성이 뛰어난 파일 관리자 중 하나이다. 명령줄 및 그래픽 인터페이스를 모두 갖춘 거의 모든 플랫폼에서 사례를 찾아볼 수 있다. 인터페이스 표준이라고 주장하는 내용이 게시되어 있다는 점이 명령줄 관리자들 사이에서는 이례적이다. 또한 개발자들에 의해 활발하게 지원된다. 이를 통해 인터페이스를 많이 다시 배우지 않고도 서로 다른 플랫폼에서 동일한 작업을 수행할 수 있다.

#### 듀얼 패인 관리자
때때로 듀얼 패인(dual-pane) 관리자라고 불리기도 하는데, 이는 일반적으로 윈도우 파일 탐색기(아래 참조)와 같은 프로그램에 사용되는 용어이다. 하지만 정통 파일 관리자는 두 개의 대칭 창 아래(또는 뒤에 숨겨진) 명령줄 창을 포함하여 세 개의 창을 가진다. 게다가 이러한 프로그램의 대부분은 두 개의 큰 창 중 하나만 사용하고 나머지는 숨길 수 있게 해준다. 일부는 윈도우의 상황에 맞는 메뉴에 "두 개의 탐색기를 나란히 열기" 항목을 추가하기도 한다.

주목할 만한 것들은 다음과 같다.

* Altap Salamander
* Commander One
* Demos Commander
* Directory Opus
* DOS Navigator (DN) 및 파생판
* Double Commander
* emelFM2
* Far Manager
* ForkLift
* GNOME Commander
* IBM HandShaker
* Krusader
* 미드나이트 커맨더 (MC)
* muCommander
* 노턴 커맨더 (NC)
* PathMinder
* Ranger
* 토탈 커맨더
* Volkov Commander (VC)
* WinSCP
* XTree
* ZTreeWin

## 탐색형 파일 관리자
[섬네일|[윈도우 10의 파일 관리자, X: 드라이브의 내용을 표시하고 있다.]]
[섬네일|[Nemo (파일 관리자)|Nemo]]
**탐색형 파일 관리자**(navigational file manager)는 새로운 유형의 파일 관리자이다. GUI가 등장한 이후 데스크톱 컴퓨터에서 지배적인 유형의 파일 관리자가 되었다.

일반적으로 왼쪽 창에는 파일 시스템 트리가 있고 오른쪽 창에는 현재 디렉터리의 내용이 있는 두 개의 창이 있다. macOS의 경우, 파인더의 밀러 컬럼 보기(NeXTStep에서 유래)는 탐색형 파일 관리자 테마의 변형이다.
[섬네일|[그누스텝의 밀러 컬럼 브라우저는 탐색형 파일 관리자의 한 유형이다.]]

### 개념
* 창은 현재 보고 있는 위치를 표시한다.
* 보고 있는 위치(현재 디렉터리)는 디렉터리를 열거나, 뒤로 가기 버튼을 누르거나, 위치를 입력하거나, 파일 시스템의 전체 또는 일부를 나타내는 탐색 트리가 있는 추가 창을 사용하여 사용자가 변경할 수 있다.
* 아이콘은 파일, 프로그램 및 디렉터리를 나타낸다.

탐색형 파일 관리자의 인터페이스는 뒤로 및 앞으로 버튼, 그리고 종종 새로고침 버튼이 완비된 웹 브라우저와 유사한 경우가 많다. 대부분은 파일 또는 디렉터리 경로(또는 URI)를 입력할 수 있는 주소 표시줄도 포함하고 있다.

대부분의 탐색형 파일 관리자에는 두 개의 창이 있으며, 왼쪽 창은 파일 시스템의 트리 보기이다. 이는 정통 파일 관리자와 달리 두 창의 내용과 용도가 비대칭임을 의미한다.

왼쪽의 탐색 창에서 디렉터리를 선택하면 이를 현재 디렉터리로 지정하여 오른쪽의 내용 창에 그 내용을 표시한다. 그러나 디렉터리를 선택하지 않고 트리의 일부를 확장(+)하거나 축소(-)하면 오른쪽 창의 내용이 변경되지 않는다. 이 동작의 예외는 현재 디렉터리의 상위 디렉터리를 축소하는 경우에 적용되며, 이 경우 선택 항목이 축소된 상위 디렉터리로 다시 집중되어 내용 창의 목록이 변경된다.

한 위치에서 다른 위치로 이동하는 과정에서 반드시 새 창을 열 필요는 없다. 파일 관리자의 여러 인스턴스를 동시에 열고 드래그 앤드 드롭 및 클립보드 작업을 통해 서로 통신할 수 있으므로 여러 디렉터리를 동시에 보고 인스턴스 간에 잘라내어 붙여넣기 작업을 수행할 수 있다.

파일 작업은 드래그 앤드 드롭 및 편집기 메타포를 기반으로 한다. 사용자는 클립보드에 파일이나 디렉터리를 선택하여 복사한 다음 파일 시스템의 다른 위치나 파일 관리자의 다른 인스턴스에 붙여넣을 수 있다.

탐색형 파일 관리자의 주목할 만한 예는 다음과 같다.
* Directory Opus
* KDE의 돌핀
* MS-DOS/PC DOS의 도스 셸
* 윈도우의 파일 관리자
* macOS 파인더
* 그놈의 노틸러스 (v2.30부터 기본값)
* 파일 탐색기 (윈도우 탐색기)
* PC 툴스의 PC Shell
* DR DOS의 ViewMAX
* XTree / ZTreeWin

## 공간적 파일 관리자
[섬네일|[그놈 파일|노틸러스 파일 관리자에는 공간 모드가 있었으나, 그놈(과 함께 노틸러스) 버전 3.x가 출시되면서 제거되었다. 이 창들 각각은 열려 있는 디렉터리를 표시한다.]]
**공간적 파일 관리자**(spatial file manager)는 공간적 인터페이스 메타포를 사용하여 파일과 디렉터리를 실제 물리적 객체인 것처럼 표현한다. 공간적 파일 관리자는 사람들이 물리적 객체와 상호 작용하는 방식을 모방한다.

공간적 파일 관리자 개념 뒤에 있는 몇 가지 아이디어는 다음과 같다.

# 단일 창이 열려 있는 각 디렉터리를 나타낸다.
# 각 창은 모호하지 않고 변경 불가능하게 특정 디렉터리에 연결된다.
# 안정성: 파일, 디렉터리 및 창은 사용자가 이동하는 곳으로 가고, 사용자가 놓은 곳에 머물며("공간적 상태 보존"), 다른 모든 "물리적" 특성(크기, 모양, 색상 및 위치 등)을 유지한다.
# 동일한 항목은 한 번에 하나의 창에서만 볼 수 있다.

탐색형 파일 관리자에서와 같이 디렉터리를 열면 디렉터리를 나타내는 아이콘이 변경된다(예: 닫힌 서랍을 보여주는 이미지에서 열린 서랍으로 바뀌거나, 디렉터리 아이콘이 패턴으로 채워진 실루엣으로 바뀜). 그리고 해당 디렉터리를 나타내기 위해 새 창이 열린다.

어느 정도 공간적 메타포를 사용하는 파일 관리자의 예는 다음과 같다.
* 아미가의 워크벤치
* 애플의 매킨토시 파인더 5 ~ 9
* BeOS의 Tracker
* 디지털 리서치의 데스크톱 (Atari TOS에서 구현되었으며 PC용으로는 다소 축소된 버전으로 구현됨)
* E17 파일 관리자
* 버전 2.6부터의 그놈 노틸러스 (2.29까지 기본값, 3.0에서 완전히 제거됨)
* 하이쿠의 Tracker
* Konqueror (공간 모드로 전환하는 옵션이 있음)
* MATE의 Caja (단, 기본 모드는 탐색형임)
* OS/2의 Workplace Shell
* RISC OS Filer
* ROX-Filer 파일 관리자 (ROX Desktop)

제대로 작동하지 않는 공간적 파일 관리자:
* 윈도우 95의 윈도우 탐색기는 기본적으로 공간적 파일 관리자 모델로 설정되었다. 탐색형 파일 관리자로도 작동했기 때문에 디렉터리를 여러 창에서 열 수 있었고, 이로 인해 위의 모든 기준을 충족하지 못했다. 이후 버전에서는 공간 모델을 점차 포기했다.
* MacOS의 애플 파인더는 공간 모드와 탐색 모드의 유사한 통합으로 설계되었으며, 이는 공간 모드가 실제로 작동하지 않았음을 의미한다.

## 3D 파일 관리자

[섬네일|3D 파일 관리자의 한 예인 [File System Visualizer]]
섬네일|Cubix에서 동일한 특성을 공유하는 파일은 3D 환경의 큐브로 표시된다.

일부 프로젝트는 파일 및 디렉터리 구조를 표시하는 3차원 방식을 구현하려고 시도했다. 3차원 파일 탐색은 대중화되지 않았다. 정확한 구현은 프로젝트마다 다른 경향이 있으며 따라야 할 공통 표준이 없다.

3차원 파일 관리자의 예는 다음과 같다.
* File System Visualizer(fsv): 현대적인 유닉스 계열 시스템용 fsn의 오픈 소스 클론.
* tdfsb: WASD를 사용하여 디렉터리 안으로 날아가서 들어가는 오픈 소스 3D 파일 브라우저. 리눅스, FreeBSD 및 BeOS에서 실행된다.
* BumpTop: 스타일러스 및 터치스크린과 함께 사용하기 위해 고안된, 실제 물리학이 적용된 데스크톱의 3차원 표현을 사용하는 파일 관리자.
* Real Desktop: BumpTop과 유사한 데스크톱 교체 프로그램.
* Cubix 3D Filer: 다양한 특성에 따라 파일을 구성하는 윈도우 파일 관리자.
* GopherVR: 네트워크로 연결된 고퍼 리소스의 3D 시각화.

## 웹 기반 파일 관리자
웹 기반 파일 관리자는 일반적으로 PHP, Ajax, 펄, ASP 또는 기타 서버 사이드 스크립트 언어로 작성된 스크립트이다. 로컬 서버나 원격 서버에 설치하면 FTP 액세스 없이도 웹 브라우저를 사용하여 그곳에 위치한 파일과 디렉터리를 관리하고 편집할 수 있다.

더 고급스럽고 일반적으로 상업적으로 배포되는 웹 기반 파일 관리 스크립트를 사용하면 파일 관리자의 관리자가 각각 개별 계정 권한을 가진 안전한 개별 사용자 계정을 구성할 수 있다. 승인된 사용자는 웹 브라우저를 통해 언제 어디서나 서버나 개별 사용자 디렉터리에 저장된 문서에 액세스할 수 있다.

웹 기반 파일 관리자는 조직의 디지털 저장소 역할을 할 수 있다. 예를 들어 문서, 디지털 미디어, 출판 레이아웃 및 프레젠테이션을 저장, 관리하고 고객, 공급업체 및 원격 작업자 간에 또는 내부적으로만 공유할 수 있다.

동적 웹 저작물 관리 시스템(CMS)의 인기가 높아지고 기술 지식이 없는 웹사이트 운영자가 이러한 플랫폼으로 구동되는 웹사이트의 미디어를 관리해야 할 필요성이 커짐에 따라 웹 기반 파일 관리자가 점점 인기를 얻고 있다.

그 예로 PHP 및 자바스크립트 기반 FTP 클라이언트인 net2ftp가 있다.

## 파일 선택기

운영 체제에는 일반적으로 파일을 저장할 위치(대개 소프트웨어의 "다른 이름으로 저장" 옵션을 통해 액세스함)와 파일을 열 위치를 지정할 수 있는 파일 선택기가 포함되어 있다. 때로는 파일이나 대상 경로 대신 폴더가 선택되기도 한다.

일부 파일 선택기는 검색, 이동, 복사, 이름 바꾸기 및 경로를 클립보드에 복사하는 것과 같은 어느 정도의 파일 관리 기능도 허용한다.

일부 소프트웨어에는 사용자 지정된 파일 선택기가 있을 수 있다.

## 같이 보기
* 파일 탐색기
* 파인더 (소프트웨어)(macOS 파일 관리자)
* Nautilus (리눅스 GTK+ 파일관리자)
* 캉커러 (리눅스 KDE 파일관리자)
* 돌핀 (파일 관리자) (KDE 파일 관리자)

## 각주

## 외부 링크
*  About the Finder, by John Siracusa, Ars Technica, 2003. Retrieved 2010-12-26.
*  The Spatial Way, by Colin Charles, 2004. Retrieved 2010-12-26.