专栏首页如何使用Midnight Commander,一个可视文件管理器

如何使用Midnight Commander,一个可视文件管理器

简介

对于初学者来说,使用命令行工具来管理Linux服务器上的文件的方式可能是令人生畏的,耗时的,有时甚至是会带来风险的。而资深使用者会希望切换到更合适的工具来处理不同位置的文件和目录。基于文本用户界面(TUI)的文件管理器,Midnight Commander,是一个可以同时帮助Linux初学者和资深使用者的工具。

TUI以基于可视化的方式来实现用户与其系统之间的交互,而非基于输入命令。虽然其与图形用户界面(GUI)相比缺乏可视化组件,但TUI提供了窗口,面板,菜单和鼠标的支持。

预备知识

注意本指南是为非root权限的用户编写的。需要提升权限的命令会带有前缀sudo。如果您不熟悉该sudo命令,请参阅用户和组指南。

本教程中的方法已经在Debian 9上系统上经过测试。安装Midnight Commander的过程没有特殊要求,它适用于所有Linux发行版。如此说来,该文件管理器本应该在所有Linux发行版上都相同,但是特定的发行版可能不会打包完全相同的Midnight Commander版本(在本例中其为4.8.18),这可能会导致该工具在不同的操作系统实现上具有很小的差异。

安装Midnight Commander

首先,安装程序命令:

  1. 在Debian或Ubuntu上: sudo apt-get install mc
  2. 在Centos上: sudo yum install mc

启动Midnight Commander

  1. 使用命令提示符启动Midnight Commander: mc 请谨记,除非您需要修改或删除该用户拥有的文件/目录,否则请不要以root权限来启动。由于大多数情况下读取或复制root拥有的对象不需要特殊权限,因此请尝试以普通用户权限运行mc
  2. 默认情况下,Midnight Commander使用蓝色背景颜色并高亮重要的菜单项。可以使用以下指令关闭颜色: mc --nocolor

屏幕交互

  1. 文件管理器垂直切分为两个面板,这背后的逻辑是因为复制和移动的操作是从一处到另一个处完成的。在底部,您将看到十个标记的矩形: 帮助菜单查看,(此外还有7种)。 标签前面的数字代表您需要按下以执行相关操作的功能键。例如,按F10将退出程序并返回到shell界面。
  2. 在这十个按钮之上,你会看到用户名@主机名:~$。这表明允许您在当前工作目录中键入命令。可以尝试输入: touch test ENTER键确认后,您将在活动面板中看到一个新文件。现在,我们不使用任何命令就删除该文件。使用箭头键,按UPDOWN,直到命名的test文件高亮。现在按F8,将会弹出一个对话框并要求确认,使用ENTER键进行确认。如果您选中错误文件并按了F8,则可以取消该操作。
  3. 在屏幕顶部,您可以看到带有文本的彩色条: LeftFileCommandOptionsRight。 这些是下拉菜单,可以通过按F9然后使用箭头键进行导航来访问这些菜单。按F9键,然后按向下箭头键多次,直到Tree高亮,按ENTER确认。该面板现在将更改为树视图显示文件和目录。
  4. 一旦你按下F9键,一些字母会高亮显示,例如命令中的C,这些是可以用来对菜单进行更快导航的关键。回到之前:按F9,然后是l(L),再是g,这会返回到File listing(文件列表)。选择输入字段后,按住ALT键,之后按下需高亮的字母。
  5. 快捷键是可让您快速访问特定操作的键位组合。例如,按CTRL + O,这可以使您在后台运行Midnight Commandar的时候专注于命令行,更准确说就是查看之前的命令输出。您可以通过点击相同组合键快速返回界面。
  6. 您还可以使用鼠标指针单击界面元素。

使用两个面板来处理文件和目录

  1. 使用TAB键在左右垂直面板间切换。
  2. 使用F10关闭Midnight Commander程序。在两个面板中打开临时工作目录: cd /tmp && mc 该目录是一个包含临时文件的目录,这些文件将在下次启动时删除,因此我们可以在此目录下自由试验。
  3. F7创建目录并命名为test
  4. 使用箭头键,导航到test目录并按ENTER进入(创建目录后,test目录应该可以高亮显示了)。
  5. 创建九个空文件: touch file{1..9}
  6. 目标是将三个文件从/tmp/test复制到/tmp。使用箭头键导航到file1文件,一旦高亮后,按INSERT三次,再按F5之后按ENTER将所有三个文件复制到对面面板中打开的工作目录。
    选择的替代方法是:按住SHIFT键,然后按UPDOWN箭头键 - *表示选择相反项 - -表示取消选择与相模式匹配的所有对象(例如,输入f*将取消以“f”开头的每个文件或目录选择对象) - +表示按模式进行选择 在这些匹配模式中,*代表零个或多个字符,而?代表一个字符。因此“f*e”将匹配“fe”,“file”,“fiiiile”或以“f”开头并以“e”结尾的任何其他内容。“a?c”匹配“abc”,“adc”,“azc”但不匹配“ac”。“a”和“c”之间需要且仅需要一个字符。 如果您更喜欢使用鼠标,则右键单击将进行单独选择。按住右键并拖动将选择多个条目。
  7. F4将在默认编辑器中打开一个文件。在Debian上,如果您之前从未使用过编辑器,则会获得此输出:
Select an editor. To change later, run 'select-editor'. 
1. /bin/nano <---- easiest 
2. /usr/bin/mcedit 
3. /usr/bin/vim.basic 
4. /usr/bin/vim.tiny  
Choose 1-4 [1]:
  • 建议你在这里选择2,因为mcedit集成在Midnight Commander上,比使用nano进行操作更容易。按F9激活编辑器菜单可以访问大量功能,按F10或者ESC可以退出程序。

注意: 可以通过按两次ESC取消MC中的操作。

有用的提示和技巧

  1. 访问父目录或“提升”一个级别的过程可能会有点无趣,因为您必须一直滚动或导航到/ ..的目录人口。按F9,再按o,然后按p。这将带您进入Panel options,您可以在其中激活Lynx-like motion。(高亮选中它,然后按空格或用鼠标点击它。)开启该模式后,你只需按LEFT箭头键就提升一个目录和按RIGHT箭头键就可以进入一个目录。
  2. 另一个可以节省时间的工具是Midnight Commander的用户菜单。返回/tmp/test之前创建九个文件的位置。按F2并调出用户菜单。选择“ Compress the current subdirectory (tar.gz)进行压缩文件。选择存档的名称后,将在/tmp(正在压缩的目录的上一级)创建该名称。如果高亮该.tar.gz文件并按ENTER键,您会发现它将像常规目录一样打开。这允许您简单复制(F5)复制到对面面板的工作目录来浏览存档和提取文件。
  3. 要查找目录的大小(实际上就是它包含的所有文件的大小),请高亮选中该目录,然后按CTRL + SPACE
  4. 要进行搜索,请在目录树索引中向上提升,直到达到顶层/(称为根目录)。现在按F9,再按c,然后按f。“ 查找文件”对话框打开后,键入*.gz。这将在系统上找到任何可访问的gzip存档。在结果对话框中,按l(L)选中Panelize。所有结果将被输送到您的一个面板,以便您轻松浏览,复制,查看等。如果从该列表中进入目录,则会丢失找到的文件列表,但您可以使用F9l(L),再z(从侧菜单选中Panelize)返回。
  5. 管理文件并不仅仅是在本地完成。Midnight Commander还支持通过基于SSH的安全文件传输协议SFTP来访问远程文件系统。这样,您就可以轻松地在服务器之间传输文件。 按F9,再按l(L),然后选择SFTP链接菜单入口。在标题为SFTP to machine的对话框中输入sftp://example@203.0.113.0。将example替换为您在远程计算机上创建的用户名并将203.0.113.1替换为服务器的IP地址。仅当另一端的服务器接受密码登录时,连接才能生效。如果您使用SSH密钥登录,则首先需要创建和/或编辑~/.ssh/config。它可能看起来像这样:
    您可以选择任何您想要的Host主机名,它只是一个标识符。IdentityFile是私有SSH密钥的路径。 设置配置文件后,通过在SFTP to machine对话框中输入之前对Host设置的主机名标识符来访问SFTP服务器。在此示例中,需要输入sftp_server

总结

Midnight Commander 拥有的功能比这里所列出的更多。在对默认设置进行许多自定义之前,最好通过复制~/.config/mc/目录到本地计算机来备份设置。您还可以通过将这些设置复制到其他服务器的同一位置来进行配置克隆。

本文的版权归 PantaZheng 所有,如需转载请联系作者。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mc命令

    mc是一个基于字符的目录浏览器和文件管理器,其将熟悉的图形文件管理器和常见的命令行工具联系在一起,mc的设计基于文件管理器中双目录窗格的设计,其中同时显示两个目...

    WindrunnerMax
  • NVIDIA Jetson OpenCV开发实战教程(上)

    本系列为NVIDIA 2015年=2016年陆续录制的,但对于NVIDIA Jetson新手来说,学习OpenCV开发依旧很具有学习意义。总共9节课。

    GPUS Lady
  • Linux 常用命令全拼

    JavaEdge
  • 一文了解十大 Linux 命令行工具!

    作为一名程序员,Linux命令行是每天必用的工具。我整理了一些能够提高日常生产力的小工具。一些工具可以作为系统自带命令的替代品,另一些则提供操作系统没有的功能。...

    昱良
  • 将 Fedora Linux 系统添加到企业域中

    在企业互联网场景中,一般情况下最广泛使用的基于 Linux 的操作系统是 Red Hat Enterprise Linux(RHEL),它主要用于服务器,但也...

    用户1880875
  • linux 命令英文全称

    su:Swith user  切换用户,切换到root用户 cat: Concatenate  串联 uname: Unix name  系统名称 df...

    幽鸿
  • 对比webpack,你更应该先掌握gulp【10分钟教你彻底掌握gulp】

    可能很多人对于gulp都相对陌生,特别是vue,react出现以后,渐渐淡出了做业务前端人员的视野,14到16年的时候应该是它最巅峰的时候,真正的是出道即巅峰,...

    童欧巴
  • 【Z投稿】如何使用文件方式管理各个机器的端口监控

    很多时候由于机器多。加上端口分布在各个OS机器上。对于监控管理起来是一件非常困难的事情。

    Zabbix
  • 《前端那些事》从0到1开发简单脚手架

    上一篇树酱讲《前端工程化那些事》,聊到脚手架,不过时间比较仓促,导致内容较少,而在我实践开发中,随着新项目愈来愈多,脚手架工具就起到提高效能的作用,借此机会跟小...

    树酱
  • 微软研发语音驱动,或将打开VR游戏新方向

    VRPinea
  • 开发工具备忘

    Harper
  • 我的Windows装机必备软件与生产力工具

    李拜六不开鑫
  • 【nodejs脚手架开发】命令处理-commandar篇

    官方文档:https://github.com/tj/commander.js/blob/master/Readme_zh-CN.md

    hasaki
  • 小程序 boilerplate cli 工具教程

    于是决定写个(100 行代码不到的) cli 工具解决痛点,另外选择了 npm package 的方式,方便维护。

    kmokidd
  • 什么是 WinSCP 转

    WinSCP 是一个 Windows 环境下使用的 SSH 的开源图形化 SFTP 客户端。同时支持 SCP 协议。它的主要功能是在本地与远程计算机间安全地复制...

    wuweixiang
  • node命令行工具之实现项目工程自动初始化的标准流程

    可以看出,传统的初始化步骤,花费的时间并不少。而且,人工操作的情况下,总有改漏的情况出现。这个缺点有时很致命。 甚至有马大哈,没有更新项目仓库地址,导致提交代码...

    我是leon
  • 《前端那些事》从0到1开发简单脚手架

    当我要开启一个新项目的开发,可以快速生成新项目的目录模板,而这个目录结构是每个项目统一个模版规范(目录规范),同时也设定了通用的配置包括如下

    树酱
  • MPQ Plugin for Total Commander

    今天在看MPQ文件格式, 在StormLib的网站上找到这么个东西: MPQ Plugin for Total Commander

    逍遥剑客
  • Git入门

    Git简介 粘贴一段维基百科的话: git是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)创作,于2005年以GPL发布。最初目...

    GavinZhou

扫码关注云+社区

领取腾讯云代金券