Linux终端居然也可以做文件浏览器?
大家好,我是良许。
在抖音上做直播已经整整 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 预览图片
在一些终端工具,比如 urxvt
, iTerm2
, Kitty
和 Terminology
,可以支持图片预览。
(实测 MobaXterm
和 Xshell
都暂时还不支持直接图片预览,而是打开一个新窗口)
可以在 rc.conf
这个配置文件里,将 preview_images_method
这个变量设置为 true
。
7. 使用 ranger 预览 PDF 文件
默认情况下,ranger
是将 PDF 文件转为图片再显示。如果你想原汁原味显示 PDF 文件,可以打开 scope. sh
这个文件,然后把下面这段代码的注释打开:
接下来,你就可以正常预览 PDF 文件了。(但是我在MobaXterm
和 Xshell
实测都暂时还不支持直接预览,而是打开一个新窗口)
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终端居然也可以做文件浏览器?的更多相关文章
- Electron为文件浏览器创建图标(三)
在前面的文章中,请看之前文章,我们已经完成了使用 electron做文件浏览器这么一个应用,现在我们需要为应用创建图标操作.为应用创建图标以后,我们就可以从计算机中与其他应用区分开来,如果我们自己会做 ...
- 在Linux终端使用W3M浏览器下载文件
在Linux终端使用W3M浏览器下载文件 W3M 是3个基于Linux系统命令行的WEB网站浏览工具(w3m/Links/Lynx) 对于需要验证cookie 和来源的页面,比如163的超大附件,直接 ...
- 在Linux终端管理文件你要知道的11个命令
LS - 列表文件 ls命令列出目录中的文件. 默认情况下,使用ls列出当前目录下的文件. 2 你也可以列出文件递归-也就是说,列出所有文件在当前目录中的目录-使用ls -R.LS还可以列出在其他目录 ...
- Linux 终端访问 FTP 及 上传下载 文件
今天同事问我一个问题,在Linux 下访问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上.google 一下. 方 ...
- Linux 终端訪问 FTP 及 上传下载 文件
今天同事问我一个问题,在Linux 下訪问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上. google 一下. ...
- Linux 终端访问 FTP 及 上传下载 文件[转]
1. Linux 终端连接FTP [oracle@Dave ~]$ ftp 10.85.7.97 Connected to 10.85.7.97. 220 Serv-U FTP Server ...
- Linux 终端下解压文件失败问题
Linux 终端下解压文件失败: # tar -zxvf *****.tar.bz2 tar 命令出错gzip: stdin: not in gzip format tar: Child return ...
- 如何在linux终端创建文件
我们都知道可以用mkdir命令创建一个新的目录,但更多时候如果能直接创建一个文件(普通文件)会让人感觉更愉悦:这样就可以不用在去打开一个专门的创建文本文件的软件,然后还要设置文件名,保存路径那样的繁琐 ...
- 太高效了!玩了这么久的Linux,居然不知道这7个终端快捷键!
大家好,我是良许. 作为 Linux 用户,大家肯定在 Linux 终端下敲过无数的命令.有的命令很短,比如:ls .cd .pwd 之类,这种命令大家毫无压力.但是,有些命令就比较长了,比如: $ ...
- 20个Linux命令及Linux终端的趣事
20个Linux命令及Linux终端的趣事 . 命令:sl (蒸汽机车) 你可能了解 ‘ls’ 命令,并经常使用它来查看文件夹的内容.但是,有些时候你可能会拼写成 ‘sl’ ,这时我们应该如何获得一些 ...
随机推荐
- 后端开发之chrome开发者模式-copy
1. 场景描述 java开发前后端分离模式越来越流行,后端人员可以直接使用swagger进行接口调试(前后端分离之Swagger2),但是调试的时候,需要设置入参,假如该模块不是软件老王开发的,接别人 ...
- Iceberg治理服务Amoro---配置Prometheus + Grafana看板
一.基础资料 1.mac安装Prometheus + Grafana https://www.cnblogs.com/robots2/p/18689540 2.配置文档 https://amoro.a ...
- 微信分享前端开发全程详解含iOS、安卓、H5、ReactNative以及微信开放标签的适配和使用
2024年9月,本人在做微信分享前端部分的iOS.安卓和H5的页面和功能时踩了不少坑,于是写了这篇文章,内容包括微信分享在上面三个端的技术点和坑点.解决办法,微信开放标签的相关适配,以及ReactNa ...
- autohue.js:让你的图片和背景融为一体,绝了!
需求 先来看这样一个场景,拿一个网站举例 这里有一个常见的网站 banner 图容器,大小为为 1910*560 ,看起来背景图完美的充满了宽度,但是图片原始大小时,却是: 它的宽度只有 1440 , ...
- sprintf用法详解
sprintf 将字串格式化. 在头文件 #include< stdio.h >中 语法: int sprintf(string format, mixed [args]...); 返回值 ...
- C# Lambda || Linq 效率问题
255条数据 static void Main() { List<IPEndPoint> list = new List<IPEndPoint>(); for (int i = ...
- Shell - 集群监控脚本合集
node_heart_check.sh #!/bin/bash scriptPath=$(dirname "$0") for ip in `cat /etc/hosts | gre ...
- deepseek:微信公众号网页授权能否获知是否关注公众号
在微信公众号开发中,网页授权(OAuth2.0)可以获取用户的基本信息(如 openid.昵称.头像等),但默认情况下,网页授权无法直接获取用户是否关注公众号.这是因为网页授权的设计初衷是为了获取用户 ...
- 【Python-Json】自定义类输入json序列化、json的读取与写入
AI 问答 Question json支持numpy数组么 Answer 不幸的是,标准的 JSON格式 不直接支持 NumPy 数组.JSON是一种用于存储和交换数据的文本格式,它有限的数据类型只包 ...
- Huawei Cloud EulerOS上安装sshpass
下载源码 git clone https://github.com/kevinburke/sshpass.git 由于网络问题,这里我用了一个代理下载 git clone https://ghprox ...