GNU Midnight Commander
(midnight-commander.org)- GNU Midnight Commander는 시각적이고 강력한 양쪽 패널 파일 관리자임
- 텍스트 기반 환경에서 작동하며, 파일 복사, 이동, 삭제, 디렉터리 트리 관리 등의 기능 제공
- 내부 뷰어, 에디터, 차이점 뷰어 등 다양한 내장 기능 포함
- ncurses 또는 S-Lang 라이브러리를 활용하여 콘솔, X 터미널, SSH, 원격 셸 등 거의 모든 환경에서 동작 가능함
- GPLv3+ 라이선스의 오픈소스 소프트웨어로, 사용자 및 개발자에게 자유롭고 강력한 도구 제공
프로젝트 소개
-
GNU Midnight Commander(또는
mc
)는 시각적인 양쪽 패널을 가진 파일 관리자로, 텍스트 모드에서 작동하며 풍부한 기능을 갖추고 있음 - GPL에 기반한 자유 소프트웨어로, 누구나 사용 및 수정 가능함
주요 기능 및 특장점
- 전체화면 텍스트 기반 인터페이스에서 파일 복사, 이동, 삭제 뿐만 아니라, 디렉터리 전체 구조까지 쉽게 관리할 수 있음
- 내장 뷰어, 에디터, Diff 뷰어 기능 제공으로, 텍스트 파일 확인·편집 및 파일 간의 차이 파악이 용이함
- ncurses와 S-Lang 같은 범용적인 텍스트 인터페이스 라이브러리를 사용하여, 일반 콘솔, X 윈도우 터미널, SSH, 모든 종류의 원격 셸 등 다양한 환경에서 사용자 경험을 동일하게 제공함
설치 및 소스 코드
- 대부분의 패키지 매니저에서 쉽게 설치 가능함
- 소스는 OSU OSL에 미러링되어 있고, 공식 GitHub 저장소에서 개발 중임
문서 및 도움말
-
F1
키를 이용한 상황별 온라인 도움말이 제공되어, 사용 중 바로 도움 받을 수 있음 - 활용도가 높은 메뉴얼 페이지를 공식 문서로 제공함
테마 및 커스터마이징
- 다양한 컬러 스킴과 스킨 테마 지원
- 배포본에 포함된 스킨 참고 가능하며, 원하는 경우 직접 개발하여 적용 가능함
오픈소스 커뮤니티 기여 및 지원
- 사용자, 기여자 모두 활발히 참여 가능하며, 커뮤니티를 통한 피드백과 지원이 이루어짐
Hacker News 의견
-
Midnight Commander를 정말 사랑해서 내가 사용하는 모든 시스템에 설치함, 파일 시스템을 탐색하거나 기본 작업을 하는 데 훨씬 더 효율적이고 쾌적함, 단축키를 배우고 다른 커맨드라인 도구와 함께 잘 활용하면 진가를 발휘함, 예를 들어 MC에서 Ctrl+O를 누르면 현재 디렉토리의 일반 셸 프롬프트로 전환되고 다시 Ctrl+O를 누르면 MC로 돌아올 수 있어 이러한 방식으로 MC와 셸 각각의 장점을 효율적으로 조합할 수 있음
- NAS에서 파일을 옮길 때 특히 MC를 활용함, 정말 훌륭함, GUI 파일 매니저 중에서는 Dolphin이 최고라고 생각함, 현재 디렉토리에 통합 셸이 있고, 뷰 분할이 가능하며 ssh나 SFTP URL을 바로 열 수 있음, 로컬 작업에서는 Dolphin과 그 셸 조합이 압도적으로 편리함
- Ctrl+O 말고도 (한 줄) 셸 프롬프트가 항상 가능하고, <Ctrl+X>로 흥미로운 통합 기능을 쓸 수 있음, 예를 들어 현재 패널에서 여러 파일을 시각적으로 선택한 후, "/tmp/foo.tgz"로 tar 압축을 하고 싶을 때, tar czf /tmp/foo.tgz <Ctrl+X><T> 처럼 처리 가능함
- 아쉬운 점은 기본적으로 vim 키바인딩을 지원하지 않음, 시스템 전반/다양한 TUI 도구에서 키 조작 일관성을 원함
- 나는 네가 MC를 좋아하는 것보다 더 좋아함, 내 워크플로우와 파일 관리 사고방식에 완전히 녹아 있음
- 흥미롭게도 최신 GNOME에도 유사 기능이 추가됨, 현재 디렉토리를 터미널에 열 수 있는 “Ctrl + .” 단축키가 들어감
GNOME 49 릴리즈 참고
-
Midnight Commander가 훌륭한 도구임에는 동의하지만, 요즘 세대들은 우리가 잃어버린 무엇이 있는지 잘 모르는 것 같음, Norton Commander 시절에는 빠른 기본 파일 작업이 듀얼 패널 덕분만은 아니었고, 하드웨어와의 조화를 염두에 둔 세심한 소프트웨어 설계 덕분이었음, 가장 효율적으로 쓰려면 클래식 IBM PC 넘패드를 써야 했고, 큰 +, 큰 0, [num]/*- 키 등이 핵심이었음, 기능키는 키보드 위쪽에 줄지어 있고, ESC는 즉각 동작했음, 이런 짜임새 덕분에 모든 파일 선택/옮기기같은 작업이 손 빠른 움직임 하나로 끝났음, 요즘 키보드의 =키 옆 +로 같은 동작을 해보면 결코 같지 않다는 점을 알 수 있음
- ESC의 딜레이 문제는 사실 mc의 문제가 아니고 터미널 에뮬레이터에서 escape sequences를 처리하기 위해 발생하는 것임, 빠르게 두 번 누르면 거의 DOS와 비슷한 속도를 얻을 수 있음
- "모든 파일 선택"은 사실 * 키 하나였고, (아무 선택 없음 전제) +와 Enter는 한 파일 선택/실행용이었음
- 제대로 만든 키보드만 있다면 여전히 그 때의 효율성을 누릴 수 있음, 그리고 오랜 기간 노트북을 구부정하게 쓸 거라면 넘패드 사용 여부보다 더 큰 문제가 있을 것임
- Norton Commander 하면 Intel Pentium 시절이 떠오름, 좌우 패널로 전체를 조감하면서 작업하는 건 현재는 beyond compare를 사용함
- 0.1초의 차이가 중요하다 주장하지만, 실제론 손의 위치를 크게 옮기는 비효율이 있음, 흔히 사용하는 Ctrl+A 조합이 훨씬 낫고, 한 손으로도 여러 작업이 가능함
-
dual-pane 파일 매니저의 공식 명칭이 "Orthodox File Manager(OFM)"라는 점이 흥미로움, 주로 동유럽·구 소련에서 인기였던 문화적 농담 같기도 함
관련 유래 자세한 자료- "정통(orthodox)"이라는 용어는 내부적으로 명령을 중심에 두고, UI 요소는 그 명령을 트리거하는 역할만 하게 설계된 GUI 방식을 의미함, 이런 설계는 Vim, Emacs, StumpWM 등 해킹이 쉬운 많은 소프트웨어에서 볼 수 있음, 플러그인 API에 얽매이지 않고 기능 확장이 가능함, 위에서 링크된 기사에 자세한 내용이 있음
- "Orthodox File Manager"라는 용어는 사실 글쓴이가 만든 밈에 가까움, 20~25년 전 이 분야의 강력한 유저/개발자들이 모인 그룹에서도 이 용어는 일반적이지 않았고, 조롱이나 농담으로 쓰일 때가 많았음, 하지만 Dr. Nikolai처럼 용어에 집착하면 언젠가 퍼뜨릴 수 있음을 보여줌
- 러시아에서 "orthodox"는 단순 종교적 의미를 넘어서 “정통 방법”, “온전한 방식”의 의미로 더 자주 사용됨, 부정형이 붙으면 피자에 파인애플 얹는다는 식의 '이단적' 내지 잘못된 방식까지 암시하게 됨
- 동유럽에서 OFM이 인기였던 이유는 당시에 Unix 기반 문화가 없었기 때문임, 컴퓨터 매니아들은 대부분 DOS 유저였고, 개인적으로는 이들이 셸 언어를 제대로 배우려 하지 않아 좀 실망스러웠음
- 위 기사 외에도 Wikipedia 'Orthodox file manager' 참고 가능함
-
OFM이 처음 등장했을 때는, 특정 기능이 OS/2, Unix, Linux, Windows NT 등에서 동작하지 않는 이유를 해설하는 데 많은 시간이 들었음, 예전 MS/PC/DR-DOS만이 특정 시스템 리소스 직접 다루기(PSP 조작, 비디오 RAM/키보드 버퍼 접근 등) 같은 것이 가능했음, 파일이 항상 확장자를 갖는 것도 아니고, 타임스탬프 형식도 여럿, 심볼릭 링크 등등 새로운 개념을 익혀야 했음, 요즘은 DOS식 사고방식이 크게 줄었고, 오히려 MS/PC/DR-DOS 도구가 현대 초보자들에게 더 낯설게 느껴짐, 예전 도구들은 8.3 파일명, 시스템 파일에만 특수 그래픽, Alt키 누를 때마다 UI 변화 등 독특한 특징이 있었음
-
이런 도구를 보면 늘 어린 시절 소련(USSR)에서 컴퓨터를 배우던 시절 Norton Commander를 떠올려 추억에 젖음, 하지만 오늘날 내가(그리고 아마 대부분의 사람들이) 컴퓨터를 쓰는 방식은 완전히 다름, 디렉토리 계층이 얕고 빈번한 파일 관리 작업을 할 일이 많지 않음, 자료가 대부분 클라우드나 앱 내부에 연결되어 있기 때문임(코딩 프로젝트도 IDE에서 곧장 접근함), 리눅스 시스템을 관리할 때도 MC 스타일로 계층을 타고 들어가기 보다는 랜덤하게 접근하거나 특정 파일만 편집할 일이 많음, 여전히 MC 스타일 인터페이스가 가장 잘 맞는 현대적 사용 사례가 궁금함
- 나는 Windows에서 Total Commander를 항상 사용함, Explorer보다 디렉터리 구조 탐색, WSL 볼륨 관리, 키보드 접근, 탭/북마크 활용, 인터페이스의 일관성과 안정성 면에서 훨씬 뛰어남, 기타 장점을 다 말하려면 시간이 부족함
- Windows에서는 mc로 WSL2 파일 시스템을 탐색하고, Linux에서는 GUI가 없는 리모트 서버 관리에 MC를 씀, SSH로 여러 대의 노트북 간 파일을 옮기는 데도 활용함
- 예전에 Windows 설치 후 가장 먼저 FAR를 설치하곤 했던 기억이 있음
- 업무와 개인 용도 모두에서 MC를 꾸준히 사용함(NC 쓰던 시절 포함), 내가 써본 모든 GUI 파일 탐색기보다 훨씬 빠르고 생산적임, 특히 재귀적으로 파일 찾기→패널화(panelize)는 최고임, 여러 파일 동시 선택, 두 패널로 클라우드/리모트/SSH 드라이브 간 복사, 디렉터리 히스토리로 빠른 이동, 폴더 비교 등 정말 다양한 기능에 만족함, MC에서는 Esc-C로 원하는 경로로 바로 이동하고, 파일 이름 첫 글자 입력, F4로 즉시 편집까지 가능함
-
mc를 제대로 사용할 수 없었음, 다양한 GUI 파일 관리자를 오래 써왔던 사람으로서 단축키가 직관적이지 않게 느껴졌음, 안타깝게도 pure CLI로 SSH에서 파일 작업을 하는 건 굉장히 번거롭고 실수 위험도 큼, 다행히 최근 nnn 파일 매니저를 찾아서 내 기대에 맞는 기본 키 조작을 지원하고, 워크플로우가 크게 개선됨
nnn 파일매니저 위키- 나도 비슷함, 내가 파일 관리에 가장 빠르고 쉽게 쓰는 건 coreutils(필요시 rsync/zmv/zcp 조합)임, 어디에 접속하든(로컬, 서버, 라우터 등) 항상 동일한 툴세트라서 좋음, GUI 파일 매니저는 멀티미디어(사진, 영화, PDF 등) 용도로만 씀
- 이 도구는 GenX 코드에 강렬하게 맞춰진 느낌임, Norton Commander를 써본 적 없으면 별로 쓸 이유가 없음
- 역시 nnn은 훨씬 가볍게 느껴지며, 부가적인 .rc 파일을 관리할 필요도 없어 여러 시스템에서 즉시 사용 가능함
- mc의 키 조작이 직관적이지 않다는 데 공감하지만, 사실 80년대부터 Norton Commander에서 그대로 전해진 것임
-
MC는 사용하지 않지만 예전에 Amiga의 Directory Opus에서 영감을 얻어 비슷한 그래픽 파일매니저를 만든 적 있음, GTK+가 나온 90년대 후반에 C프로그래밍과 Linux에 푹 빠져서, 듀얼-패널 파일 매니저를 만드는 프로젝트로 연결됨, 정말 멋진 경험이었음
Directory Opus 소개- 2016년 이후 새로운 버전이 없다는 것이 약간 아쉬움, 여전히 유용하게 쓰는 사람이 많음, 아마도 가장 많이 요청받았던 개선사항은 GTK2에서 GTK3로의 전환일 텐데, 이걸 하고 싶지 않은 이유도 충분히 이해함
gentoo 프로젝트 - Directory Opus가 아직도 Windows에서 판매 중이고 60달러임이 흥미로움, 요즘 누가 사는지 궁금해짐
- 2016년 이후 새로운 버전이 없다는 것이 약간 아쉬움, 여전히 유용하게 쓰는 사람이 많음, 아마도 가장 많이 요청받았던 개선사항은 GTK2에서 GTK3로의 전환일 텐데, 이걸 하고 싶지 않은 이유도 충분히 이해함
-
예전엔 XTree Gold를 썼고 아주 좋았음, Midnight Commander는 소문만 들었고 직접 써보지는 않았음, 언젠가 꼭 써볼 생각임, 그런데 왜 MS edit.com, qbasic 같은 TUI 스타일이 요즘 TUI 전통에서 잘 남아있지 않은지 의문임, 어릴 적 그 인터페이스가 정말 좋았는데, modern terminal이나 textual/ratatui 앱에서도 이런 인터페이스가 많이 보이지 않음, MS-DOS보다 화면 좌표 기반 터미널을 TUI앱 기반으로 쓰는 게 더 자연스러울 것 같은데, 현대 터미널 에뮬레이터가 이 부분에서는 오히려 MS-DOS보다 떨어진 느낌임, 최근 edit의 리라이트가 이 TUI 스타일의 부활을 이끌 수 있기를 기대함
MS edit 오픈소스 소식- DOS용 TUI 앱에 대한 추억이 많이 남아 있음, 단순한 향수일지도 모르겠지만, 40kB .COM, 100kB .EXE로도 많은 일을 멋지게 구현했던 그 시절이 마치 마법처럼 느껴짐
- 예전엔 DM.COM이라는 잘 알려지지 않은 파일 매니저를 주로 썼음, 내 DOS 파일관리 1순위였음, 다운로드 정보는 curl 'gopher://sdf.org/0/users/jmccue/repository/dm220.txt' > dm220.txt
-
"Lynx-like motion" 패널 옵션과 Quick view를 활성화하면 소스 트리 전체를 살펴보기에 최적임, Debian ftp-masters도 이를 라이선스 검토 플러그인과 함께 적극적으로 활용함
Debian 관련 사례 -
수십 년째 mc를 써 오고 있음, 예전 프로그래머 시절에는 mcedit(내장 에디터)만으로 PHP 시스템 전체를 개발한 적도 있음, vim을 몰랐으니 mcedit의 코드 하이라이팅 기능이 엄청 도움이 됐음
- mcedit에서 실제로 코드 하이라이트를 본 적이 없음, Prolog 파일 주로 보고 있었는데, .pl 확장자면 Perl식 하이라이트라도 나올법 한데 조금 궁금함
- 그간 Notepad++나 SciTE(scintilla.org)를 더 많이 써왔음, 워낙 다양한 언어와 플랫폼을 쓰니까 여러 인코딩을 다루는 데 일관된 선택이 되어줌, mc/mcedit도 멋지지만, 보안상 락다운된 환경에서는 심플하고 휴대성 좋은 것이 필요했고, 보통 루트 권한 없이도 쓸 수 있는 범용 에디터가 더 쓸모 있었음