mc(Midnight Commander)是一个功能强大的终端文件管理器,提供类似Norton Commander的双面板界面。它集成了文件管理、文件查看、编辑、复制、移动、权限修改等功能,是Linux系统管理员和开发者的得力工具。
mc [选项] [目录]
常用形式:
# 启动mc
mc
# 在指定目录启动
mc /path/to/directory
# 以指定用户身份启动
mc -u username
# Ubuntu/Debian
sudo apt update
sudo apt install mc
# CentOS/RHEL
sudo yum install mc
# Fedora
sudo dnf install mc
# Arch Linux
sudo pacman -S mc
# openSUSE
sudo zypper install mc
# macOS (Homebrew)
brew install mc
# 下载源码
wget https://midnight-commander.org/downloads/mc-4.8.28.tar.xz
# 解压
tar -xf mc-4.8.28.tar.xz
cd mc-4.8.28
# 编译安装
./configure
make
sudo make install
+-----------------------------------+
| 菜单栏 [Left] [File] [Command] ...|
+-----------------+-----------------+
| 左面板 | 右面板 |
| /home/user | /var/log |
| | |
| .. | .. |
| Documents/ | syslog |
| Downloads/ | auth.log |
| Music/ | kern.log |
| Pictures/ | dpkg.log |
| | |
| | |
+-----------------+-----------------+
| 状态栏 [INS] [2/10] 50% |
+-----------------------------------+
主要区域:
- 菜单栏:提供各种功能菜单
- 双面板:左右两个文件列表面板
- 命令行:底部命令输入行
- 状态栏:显示状态信息和按键提示
| 快捷键 | 功能 |
|---|---|
Tab |
在左右面板间切换 |
F1 |
帮助 |
F3 |
查看文件 |
F4 |
编辑文件 |
F5 |
复制文件 |
F6 |
移动/重命名文件 |
F7 |
创建目录 |
F8 |
删除文件 |
F9 |
激活菜单栏 |
F10 |
退出mc |
Insert |
标记/取消标记文件 |
Ctrl + Enter |
复制文件名到命令行 |
Alt + ? |
快速查看文件 |
Ctrl + O |
隐藏/显示面板(临时切换到shell) |
Ctrl + R |
刷新面板 |
Ctrl + U |
交换左右面板 |
# 启动mc
mc
# 在指定目录启动
mc /var/log
# 导航操作:
# - 方向键:在文件列表中移动
# - Enter:进入目录或打开文件
# - Tab:在左右面板间切换
# - Ctrl + \:跳转到目录
# 在mc中进行文件操作:
# F5:复制选中的文件到另一面板
# F6:移动选中的文件到另一面板
# F8:删除选中的文件
# Insert:标记多个文件
# +:使用通配符标记文件(如 *.txt)
# -:取消标记文件
# 操作流程示例:
# 1. 用方向键选择文件
# 2. 按F5复制文件
# 3. 确认目标路径
# 4. 开始复制
# 文件查看和编辑:
# F3:使用内置查看器查看文件
# F4:使用内置编辑器编辑文件
# Alt + ?:快速查看(显示在另一面板)
# 在内置查看器中:
# - 方向键:滚动
# - F10:退出查看器
# - /:搜索文本
# 在内置编辑器中:
# - F2:保存文件
# - F10:退出编辑器
# - F1:帮助
# 目录管理:
# F7:创建新目录
# Ctrl + \:快速跳转目录
# Alt + ,:显示目录树
# Backspace:返回上级目录
# 创建目录示例:
# 1. 按F7
# 2. 输入目录名
# 3. 按Enter创建
# 批量复制日志文件
# 1. 启动mc:mc /var/log
# 2. 按+键,输入 *.log 标记所有日志文件
# 3. 按F5复制
# 4. 切换到目标目录(如 /backup/logs)
# 5. 确认复制
# 批量重命名文件
# 1. 选择要重命名的文件
# 2. 按F6移动
# 3. 在目标路径中输入新文件名模式
# 4. 确认重命名
# 连接到FTP服务器
# 1. 按F9激活菜单
# 2. 选择"Left"或"Right"菜单
# 3. 选择"Shell link"或"FTP link"
# 4. 输入连接信息:
# - ftp://username:password@hostname
# - sftp://user@hostname
# 或使用命令行参数:
mc ftp://user@example.com
mc sftp://user@server.com
# 管理系统文件
# 1. 使用sudo启动mc:sudo mc
# 2. 浏览系统目录:/etc, /var, /usr
# 3. 编辑配置文件:选择文件,按F4
# 4. 查看日志文件:选择文件,按F3
# 权限管理:
# 1. 选择文件
# 2. 按F9 → File → Chmod
# 3. 设置权限
# 4. 确认更改
# 管理项目文件
# 1. 启动mc到项目目录:mc /path/to/project
# 2. 使用内置编辑器编辑代码文件
# 3. 比较文件差异:
# - 选择两个文件
# - F9 → File → Compare files
# 4. 查找文件:
# - F9 → Command → Find file
# - 输入搜索模式
# mc配置文件位置:
~/.config/mc/ini
~/.config/mc/panels.ini
~/.config/mc/mc.ext
# 常用配置选项:
[Midnight-Commander]
confirm_exit=1
use_internal_edit=1
editor_font=Monospace 12
# 按键绑定配置:
~/.config/mc/mc.keymap
# 颜色方案:
~/.config/mc/skins/
# 配置使用vim作为默认编辑器
# 编辑 ~/.config/mc/ini:
[Midnight-Commander]
use_internal_edit=0
# 设置EDITOR环境变量
export EDITOR=vim
# 或者直接在mc中配置:
# F9 → Options → Configuration
# 取消选中"Use internal edit"
# 设置"External editor"为vim
# 配置 ~/.config/mc/mc.ext
# 示例:为Python文件设置语法高亮
shell/.py
Open=/usr/bin/less -R %f
View=%view{ascii} /usr/bin/pygmentize -f terminal %f
# 为图片文件设置预览
regex/\.(jpg|jpeg|png|gif)$
Open=%cd %f
View=%view{ascii} /usr/bin/identify -verbose %f
# 创建自定义菜单项
# 编辑 ~/.config/mc/menu
+ t t "Tail Log File"
@cat %f | tail -n 50
+ i i "File Information"
@file %f
@stat %f
# 使用命令行模式
# 在mc中按Ctrl + O临时切换到shell
# 执行命令后按Ctrl + O返回mc
# 在脚本中使用mc进行文件选择
#!/bin/bash
# 使用mc作为文件选择对话框
selected_file=$(mc -S /tmp/mc_script)
echo "选择的文件: $selected_file"
| 鼠标操作 | 功能 |
|---|---|
| 单击文件 | 选择文件 |
| 双击文件 | 打开/进入文件或目录 |
| 右键文件 | 显示上下文菜单 |
| 拖动文件 | 移动文件到另一面板 |
| Ctrl + 拖动 | 复制文件到另一面板 |
| 滚轮 | 滚动文件列表 |
| 单击面板标题 | 激活目录输入框 |
Ctrl + O临时切换到shell,执行命令后按Ctrl + O返回+键可以使用通配符批量标记文件Alt + ?快速查看文件内容~/.config/mc/mc.ext来自定义文件类型处理Ctrl + \快速跳转到目录F9然后按对应字母可以快速访问菜单项~/.config/mc/目录