如何使用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 条评论
登录 后参与评论

相关文章

来自专栏我和PYTHON有个约会

Django来敲门~第一部分【8.网页中的css/js/image处理】

通常情况下,网页开发时,页面中的样式是通过外部css样式进行处理的,外部的css文件加载在Django中,需要进行简单的处理

9420
来自专栏软件测试经验与教训

Fiddler用法整理

读书与实践是获取知识的主要渠道,学习的权力只掌握在每个人自己手中,让学习成为一种生活的习惯,这比任何名牌大学的校徽重要得多!

20510
来自专栏技术小讲堂

探寻ASP.NET MVC鲜为人知的奥秘(1):对LESS的支持

在ASP.NET MVC3中(从那时开始),我们拥有了对js和css等文件的捆绑(Bundling)和压缩(Minification)的能力,这是ASP.NET...

28860
来自专栏IT可乐

HTML中的超链接

超链接:也叫URL(Uniform Resource Locator),就是统一资源定位器。一般效果是我们点击网页上某个地方,网页会自动跳转到另外一个地方。 一...

39650
来自专栏云+创业计划

静态网站在腾讯云上的托管

可以把静态网站中的各类资源,如图片、音视频、脚本文件等内容,可以存放至腾讯云对象存储(COS),把网站逻辑部署至腾讯云服务器(CVM)。当用户向网站发起访问时,...

2K20
来自专栏禅林阆苑

weex 踩坑笔记 【原创】

weex 踩坑笔记 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com/cs...

536100
来自专栏张戈的专栏

借助PageSpeed,为Nginx网站服务器提速

网站加载速度越快,访客互动性、留住率和转换率就越高,这早已不是什么秘密。网站每延迟 100 毫秒,亚马逊的销售额就会减少 1%;延迟增加 500 毫秒,这意味着...

42270
来自专栏建站达人秀

如何搭建 Express 网站

Express 是一种保持最低程度规模的灵活 Node.js Web 应用程序框架,为 Web 和移动应用程序提供一组强大的功能。nenggou 使用您提议的各...

53020
来自专栏前端吧啦吧啦

手把手教你全家桶之React(一)

16830
来自专栏崔庆才的专栏

只会用Selenium爬网页?Appium爬App了解一下

4.2K60

扫码关注云+社区

领取腾讯云代金券