大家好,我是良许。

在抖音上做直播已经整整 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. 后端开发之chrome开发者模式-copy

    1. 场景描述 java开发前后端分离模式越来越流行,后端人员可以直接使用swagger进行接口调试(前后端分离之Swagger2),但是调试的时候,需要设置入参,假如该模块不是软件老王开发的,接别人 ...

  2. Iceberg治理服务Amoro---配置Prometheus + Grafana看板

    一.基础资料 1.mac安装Prometheus + Grafana https://www.cnblogs.com/robots2/p/18689540 2.配置文档 https://amoro.a ...

  3. 微信分享前端开发全程详解含iOS、安卓、H5、ReactNative以及微信开放标签的适配和使用

    2024年9月,本人在做微信分享前端部分的iOS.安卓和H5的页面和功能时踩了不少坑,于是写了这篇文章,内容包括微信分享在上面三个端的技术点和坑点.解决办法,微信开放标签的相关适配,以及ReactNa ...

  4. autohue.js:让你的图片和背景融为一体,绝了!

    需求 先来看这样一个场景,拿一个网站举例 这里有一个常见的网站 banner 图容器,大小为为 1910*560 ,看起来背景图完美的充满了宽度,但是图片原始大小时,却是: 它的宽度只有 1440 , ...

  5. sprintf用法详解

    sprintf 将字串格式化. 在头文件 #include< stdio.h >中 语法: int sprintf(string format, mixed [args]...); 返回值 ...

  6. C# Lambda || Linq 效率问题

    255条数据 static void Main() { List<IPEndPoint> list = new List<IPEndPoint>(); for (int i = ...

  7. Shell - 集群监控脚本合集

    node_heart_check.sh #!/bin/bash scriptPath=$(dirname "$0") for ip in `cat /etc/hosts | gre ...

  8. deepseek:微信公众号网页授权能否获知是否关注公众号

    在微信公众号开发中,网页授权(OAuth2.0)可以获取用户的基本信息(如 openid.昵称.头像等),但默认情况下,网页授权无法直接获取用户是否关注公众号.这是因为网页授权的设计初衷是为了获取用户 ...

  9. 【Python-Json】自定义类输入json序列化、json的读取与写入

    AI 问答 Question json支持numpy数组么 Answer 不幸的是,标准的 JSON格式 不直接支持 NumPy 数组.JSON是一种用于存储和交换数据的文本格式,它有限的数据类型只包 ...

  10. Huawei Cloud EulerOS上安装sshpass

    下载源码 git clone https://github.com/kevinburke/sshpass.git 由于网络问题,这里我用了一个代理下载 git clone https://ghprox ...