大家好,我是良许。

在抖音上做直播已经整整 5 个月了,我很自豪我一路坚持到了现在【笑脸】

最近我在做直播的时候,也开始学习鱼皮大佬,直播写代码。当然我不懂 Java 后端,因此就写写自己擅长的 Shell 脚本。

但是,由于我是在 Linux 终端上写代码,没办法向观众朋友们展示一些图片或者 PDF 文档,影响了一些直播效果。

这几天在查阅资料的时候,终于找到了一个神器,功能上可以实现我的需求。这个神器就是—— ranger

1. 什么是 ranger

ranger 是一款轻量级并且功能十分强大的 Linux 终端文件管理器,它跟 Vim 深度绑定。它不仅可以在终端直接查看文件内容,还可以快速编辑文件。

ranger 的界面十分清爽,可以显示目录的层次结构,可以允许你探索文件系统、搜索特定文件、切换目录等。

它一共由三列布局组成:

  • 左栏:上一级目录

  • 中栏:当前目录内容

  • 右栏:所选文件或文件夹的预览

除此之外, ranger 有哪些强大的功能呢?主要有以下:

  • 常用文件操作(创建/修改权限/复制/删除);
  • 类 Vim 控制台和快捷键;
  • 切换目录和浏览文件系统的快速方法;
  • 标签,书签,鼠标支持;
  • 视频缩略图预览;

接下来详细介绍 ranger 的用法。

2. 安装 ranger

由于 ranger 与 make、Git、Vim 所以在安装 ranger 之前,需要先安装好以上三个组件。

$ sudo apt install make git vim

不过这三个工具作为程序员基本上都已经安装好了。

ranger 几乎已经包含在所有 Linux 发行版,所以使用对应的包管理器基本上可以直接安装。

  • Debian/Ubuntu
$ sudo apt install ranger
  • CentOS/Fedora/RHEL
sudo yum install ranger

3. ranger 的基本用法

安装完成之后,只需要直接运行 ranger 这个命令就可以进入到 ranger 界面了。

进入到 ranger 界面之后,可以看到有一个对象被高亮显示。如果需要移动高亮块,除了使用箭头外,还可以使用 hjkl ,没错,跟 Vim 移动光标一样!

其实它的很多操作都跟 Vim 很类似,比如:

上页    ctrl + b/u
下页 ctrl + f/d 首行 gg
尾行 G 前进 L
后退 H
上级目录 h
下级目录 l 查找 f
搜索 /
查找下一个 n
查找上一个 N

文件管理:

新建目录/文件       :touch xxx
删除目录/文件 dD
修改目录/文件 cw/I/A
复制目录/文件 yy
粘贴目录/文件 pp
剪切目录/文件 dd
刷新目录/文件 R

如果嫌键盘麻烦,它可以直接使用鼠标点击操作!如果想打开某个文件,直接按下回车就行,想要退出 ranger ,敲下 q 就行。

更多操作可以查看文末官方 GitHub 介绍。

4. ranger 的配置文件

跟其它 Linux 程序一样,ranger 也是有很多配置文件,但需要你执行以下命令生成本地配置文件:

$ ranger --copy-config=all

然后,就会在 ~/.config/ranger 里生成四个主要的配置文件:

  • commands.py:定义了 ranger 的控制台命令;

  • rifle.py:定义了使用什么程序来打开文件;

  • rc.conf:ranger 按键绑定及设置;

  • scope.sh:定义了如何处理文件预览。

前文已经说过,ranger 与 Vim 已经深度绑定,如果你不喜欢 Vim 的操作方式,可以通过修改 rc.config 来修改配置。

5. 使用 ranger 预览文件

在正常情况下,我们需要查看一个文件的内容时,需要先打开才能查看。

有了 ranger 这个神器,你不需要打开文件,选中某个文件,立刻就能直接预览!

常用的文本文件,比如:.txt,.py,.docx,.epub,.pdf,完全不在话下,你甚至还可以直接预览图片及视频!

scope.sh 这个文件里,可以指定什么程序去预览这些文件。

6. 使用 ranger 预览图片

在一些终端工具,比如 urxvtiTerm2Kitty 和 Terminology ,可以支持图片预览。

(实测 MobaXtermXshell 都暂时还不支持直接图片预览,而是打开一个新窗口)

可以在 rc.conf 这个配置文件里,将 preview_images_method 这个变量设置为 true

7. 使用 ranger 预览 PDF 文件

默认情况下,ranger 是将 PDF 文件转为图片再显示。如果你想原汁原味显示 PDF 文件,可以打开 scope. sh 这个文件,然后把下面这段代码的注释打开:

接下来,你就可以正常预览 PDF 文件了。(但是我在MobaXtermXshell 实测都暂时还不支持直接预览,而是打开一个新窗口)

8. 控制台命令

就像 Vim 一样,ranger 也有控制台命令选项(就是界面最下面的那一行)。你可以通过键入: 然后跟上对应的命令来使用它们。

下面列出了一些有用的命令。

  • :bulkrename – 批量重命名
  • :openwith – 使用您选择的程序打开选择的文件
  • :touch 文件名 – 创建一个文件
  • :mkdir 文件名 – 创建目录
  • :shell <命令> – 在 shell 中运行命令 (bash/zsh 等)
  • :delete – 删除文件

这些命令同样也可以配合占位符和选项一起使用,实现现强大的功能。

占位符

  • %F – 替换突出显示的文件
  • %d – 替换当前目录
  • %s – 替换当前选择的文件
  • %t – 替换当前标记的文件

比如—— :delete %s  删除所有当前选择的文件。

选项

  • w – 查看外部命令的输出,像这样 :shell -w free
  • t - fork 控制台程序(在新的终端窗口中运行),像这样 :shell -t nano
  • f – fork GUI 程序,像这样 :shell -f firefox
  • r – 以 root 权限运行程序。

9. 小结

在本文里,我们介绍了怎样安装、设置和使用终端文件管理器 ranger。 它的工作与普通的文件管理器很类似,但由于它在终端中工作并支持各种脚本、按键绑定和命令,因此它比使用图形用户界面浏览文件更强大。

ranger 官方 GitHub 链接:https://github.com/ranger/ranger

Linux终端居然也可以做文件浏览器?的更多相关文章

  1. Electron为文件浏览器创建图标(三)

    在前面的文章中,请看之前文章,我们已经完成了使用 electron做文件浏览器这么一个应用,现在我们需要为应用创建图标操作.为应用创建图标以后,我们就可以从计算机中与其他应用区分开来,如果我们自己会做 ...

  2. 在Linux终端使用W3M浏览器下载文件

    在Linux终端使用W3M浏览器下载文件 W3M 是3个基于Linux系统命令行的WEB网站浏览工具(w3m/Links/Lynx) 对于需要验证cookie 和来源的页面,比如163的超大附件,直接 ...

  3. 在Linux终端管理文件你要知道的11个命令

    LS - 列表文件 ls命令列出目录中的文件. 默认情况下,使用ls列出当前目录下的文件. 2 你也可以列出文件递归-也就是说,列出所有文件在当前目录中的目录-使用ls -R.LS还可以列出在其他目录 ...

  4. Linux 终端访问 FTP 及 上传下载 文件

    今天同事问我一个问题,在Linux 下访问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上.google 一下. 方 ...

  5. Linux 终端訪问 FTP 及 上传下载 文件

    今天同事问我一个问题,在Linux 下訪问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上. google 一下. ...

  6. Linux 终端访问 FTP 及 上传下载 文件[转]

    1.      Linux 终端连接FTP [oracle@Dave ~]$ ftp 10.85.7.97 Connected to 10.85.7.97. 220 Serv-U FTP Server ...

  7. Linux 终端下解压文件失败问题

    Linux 终端下解压文件失败: # tar -zxvf *****.tar.bz2 tar 命令出错gzip: stdin: not in gzip format tar: Child return ...

  8. 如何在linux终端创建文件

    我们都知道可以用mkdir命令创建一个新的目录,但更多时候如果能直接创建一个文件(普通文件)会让人感觉更愉悦:这样就可以不用在去打开一个专门的创建文本文件的软件,然后还要设置文件名,保存路径那样的繁琐 ...

  9. 太高效了!玩了这么久的Linux,居然不知道这7个终端快捷键!

    大家好,我是良许. 作为 Linux 用户,大家肯定在 Linux 终端下敲过无数的命令.有的命令很短,比如:ls .cd .pwd 之类,这种命令大家毫无压力.但是,有些命令就比较长了,比如: $ ...

  10. 20个Linux命令及Linux终端的趣事

    20个Linux命令及Linux终端的趣事 . 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时我们应该如何获得一些 ...

随机推荐

  1. biancheng-socket编程

    http://c.biancheng.net/socket/ 网络编程就是编写程序使两台联网的计算机相互交换数据.这就是全部内容了吗?是的!网络编程要比想象中的简单许多.那么,这两台计算机之间用什么传 ...

  2. SpringBoot 项目模板-摆脱步步搭建

    本文以一个简单的电商订单系统为例,源代码请访问: git clone https://github.com/e-commerce-sample/order-backendgit checkout a4 ...

  3. java设计模式---总则

    设计模式总则 一.概述 1.什么是设计模式 设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结. 解释下: 分类编目:就是说可以找到一些特征去划分这些设计模式,从而进行分类. ...

  4. iptables使用详解(示例如何屏蔽docker 暴露的端口)

    [场景]搭建了一台CentOS虚拟机,并在上面搭了DOCKER,然后再DOCKER中安装Mysql.但只要将网络端口映射到宿主机上,那么外部网络就可以直接访问该数据.为此,我们需要使用防火墙(暂且不考 ...

  5. 点赞!TeleDB入选2024大数据星河案例!

    12月18日,由中国信息通信研究院和中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)共同组织的2024大数据"星河"案例入围名单正式发布,天翼云科技有限公司携手中 ...

  6. Flink On Yarn的两种部署模式

    一.内存Job管理模式yarn-per-job 使用介绍:常用的模式 二.内存集中管理模式yarn-session 使用介绍:当作业很少并且都较小,能快速执行完成时,可以使用.否则一般不会使用该模式 ...

  7. [ABC297F] Minimum Bounding Box 2 题解

    容斥真有趣. 有一个性质: 两个相同的子矩阵,对答案的贡献一定相同. 所以就只需要枚举矩阵大小即可. 我们设当前矩阵长 \(i\) 宽 \(j\)(对应的,\(H\) 为长,\(W\) 为宽),假如要 ...

  8. K230学习记录

    K230学习记录 参考自: # 立创·庐山派-K230-CanMV开发板资料与相关扩展板软硬件资料官网全部开源 # 开发板官网:www.lckfb.com # 技术支持常驻论坛,任何技术问题欢迎随时交 ...

  9. Math.atan2求角度解析

    我们求角度的时候, 第一反应应该是Math.tan(x/y)就得到角度了 但是这样求的是和y轴的夹角,如果以y轴正方向为0度,顺时针为正,则第三象限和第一象限的tan值一致,需要判断x,y和0的关系, ...

  10. Typecho如何添加微博表情包

    自从添加了蛆音娘表情包就想着去爬点其他地方的表情包- 使用教程跟蛆音娘一样 :点我查看 #表情包代码: "微博":{ "type": "usr&quo ...