大家好,我是良许。

在抖音上做直播已经整整 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. [车联网/以太网] SOME/IP 协议

    概述: SOME/IP 协议 车载以太网协议栈总共可划分为5层: 物理层 数据链路层 网络层 传输层 应用层 其中本文所要描述的SOME/IP就是一种应用层协议. SOME/IP协议内容按照AUTOS ...

  2. SpringBoot启动报错:HikariPool-1 - Exception during pool initialization.

    不说废话,直接上错误信息: 2020-06-23 10:48:19.899 INFO 10608 --- [ main] cn.wps.ep.account.sync.Application : St ...

  3. GitHub 图片无法加载(持续更新)

    问题 Github无法加载或不显示图片(头像等) 方法 打开路径 C:\Windows\System32\drivers\etc下的hosts文件增加如下内容: 注:hosts文件一般不能直接修改保存 ...

  4. Drawable图形定制

    设置背景设置背景 button或者textview我们想要自定义他的背景就需要用到Drawable中创建xml文件 例如 shape标签是用来控制背景的形状的 他下面的子标签有 stroke控制描边 ...

  5. Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到 Guid

    Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到 Guid 在软件开发中,数据库主键的选择,Guid 还是自增整数 ID,一直是一个备受开发者关注和讨 ...

  6. [ARC148C] Lights Out on Tree 题解

    在考场遇到了这道题,感觉很有意思. 当时直接想到的就是虚树,可惜打挂了. 后来改对了,写篇题解纪念一下. 首先看到 \(\sum M_i\le 2\times 10^5\),很容易想到虚树的数据范围. ...

  7. 升级 element-ui 2.15.7 后遇到 el-date-picker 警告问题

    近期把 element-ui 升级到了官网最新的 2.15.7 版本,无意间发现控制台出现了 Prop being mutated: "placement" 警告,完整警告:

  8. js提示Cannot read property ‘replace‘ of undefined

    JS提示Cannot read property 'replace' of undefined 出现这个错误的原因一般是传的参数为null 在传参之前加个是否为null的判断可以解决异常.

  9. Typecho 博客文章评论添加显示 UserAgent(UA)的功能

    本篇文章实现了为 Typecho 博客文章评论添加显示 UserAgent(UA)的功能 本功能可替代 UserAgent 插件,更美观.简洁且好看 效果显示 大概就是这样了,实际效果请看我的评论! ...

  10. Typecho 如何开启 HTTPS

    一般来说,我们直接开启 HTTPS 就行,开启后进去网站后台修改网站的 URL 即可. 但是我昨天发现,我的工具箱迁移服务器之后,前台看着是很正常的,但是后台的登陆页面引入的依然的 http 标头,所 ...