在 Linux 中有很多 GUI 应用程序可以查看图像,但是这对经常使用命令行来工作的人可能会觉得很繁琐。今天要介绍的是 3 个实用的 CLI 图像查看器来在终端上查看图像,让那些使用 CLI 的朋友能更加高效地工作。

1. FIM

FIM 是 Fbi IMproved 的缩略语,意思是 Fbi 改进版。

有些人可能还不了解 Fbi ,Fbi 全称 linux framebuffer imageviewer。它使用系统的 framebuffer 直接从命令行显示图像。它默认显示的图像格式有 bmp、gif、jpeg、PhotoCD、png、ppm、tiff 和 xwd 。对于其他格式,它会尝试使用 ImageMagick 来进行转换。

接下来我们就简单介绍一下它的安装和使用。对于更多Linux干货资料,可以在公众号「良许Linux」后台回复「资料」免费获取。

安装 FIM

FIM 可以在基于 deb 的系统(如 Ubuntu、Linux Mint)的默认存储库中使用,所以,这些用户可以用 apt-get 命令安装 FIM :

  1. $ sudo apt-get install fim

如果不能直接安装,那么可能就需要去 官方文档页面 “Download and build instructions” 这一部分下载源码并编译安装。

FIM 的使用

安装完后,你可以使用命令显示带有“自动缩放”选项( -a )的图像:

  1. $ fim -a dog.jpg

FIM 支持一次性打开多个文件,例如,当前目录有很多个 .jpg 文件,你可以使用通配符 * 来打开这些文件:

  1. $ fim -a * .jpg

或者,要打开目录中的所有图像,例如 Pictures

  1. $ fim Pictures/

我们还可以递归地打开文件夹及其子文件夹中的图像,然后对列表进行如下排序:

  1. $ fim -R Pictures/ --sort

要以 ASCII 格式呈现图像,可以使用 -t 选项:

  1. $ fim -t dog.jpg

退出 FIM 请按 ESC 或者 q

最后介绍一些用于控制 FIM 中图像的常用快捷键:

  • PageUp / Down:上一个图像/下一个图像
  • +/-:放大/缩小
  • a:自动缩放
  • w:合适宽度
  • h:合适身高
  • j / k:向下平移/向上平移
  • f / m:翻转/镜面反射
  • r / R:旋转(顺时针和逆时针)
  • ESC / q:退出

要想了解更多内容,请参考其手册页:

  1. $ man fim

对于更多Linux干货资料,可以在公众号「良许Linux」后台回复「资料」免费获取。

2. Viu

Viu 是使用 Rust 编程语言编写的免费开源 CLI 图像查看器。它的安装和使用也非常方便。使用 Viu 我们可以:

  • 显示主流的图像格式,包括 .jpg .png .gif 等。
  • 显示自定义尺寸的图像。
  • 直接从图像托管平台显示图像,例如 giphy 。
安装 Viu

由于 Viu 是用 Rust 编写的,我们可以使用 Cargo 包管理器安装它。没有安装 Rust 的请先安装好在进行后续操作。在 Linux 中安装 Rust 后,运行以下命令安装 Viu :

  1. $ cargo install viu

在 Arch Linux 及其衍生产品上,可以使用任何类似于 Yay 的 AUR 辅助程序安装:

  1. $ yay -S viu

Viu 也可以作为编译的二进制文件使用。下载最新的二进制文件

下载完后,使其可执行:

  1. $ chmod +x viu

然后将其移至相关的路径,例如 /usr/local/bin

  1. $ sudo mv viu /usr/local/bin/
Viu 的使用

Viu 的使用很简单,viu + 图像路径 ,然后敲 ENTER 键,例如:

  1. $ viu image.jpg

你还可以通过 -h 高度, -w 宽度 自定义图像尺寸,例如:

  1. $ viu image.jpg -w 40

若要在文件夹中一个接一个地显示多个图像,请使用如下通配符:

  1. $ viu Desktop/pic\ *

显示 gif 图:

  1. $ viu animated.gif

退出,只需按 CTRL + C

还有,它还可以显示图像托管站点的图像,例如 Giphy ,操作如下:

  1. $ curl -s https://media.giphy.com/media/6pUBXVTai18Iw/giphy.gif | viu -w 40

更多的 Viu 使用方法请参考它的帮助手册:

  1. $ viu --help

3.Lsix

与前两个不同,Lsix 仅在终端中显示缩略图。它类似于类 Unix 系统中的 'ls' 命令,但仅适用于图像。Lsix 是一个简单的 BASH 脚本,可以使用 Sixel 图形工具在终端中查看缩略图。

这个工具我之前有写过类似文章,可点击下面链接查看:

什么?Linux 终端也可以用来看女神照片?

看完的都是真爱,点个赞再走呗?您的「三连」就是良许持续创作的最大动力!

  1. 关注原创公众号「良许Linux」,第一时间获取最新Linux干货!
  2. 公众号后台回复【资料】【面试】【简历】获取精选一线大厂面试、自我提升、简历等资料。
  3. 关注我的博客:lxlinux.net

活久见!Linux命令行居然也可以用来查看图像?的更多相关文章

  1. 活久见!TCP两次挥手,你见过吗?那四次握手呢?

    活久见!TCP两次挥手,你见过吗?那四次握手呢? 文章持续更新,可以微信搜一搜「小白debug」第一时间阅读,回复[教程]获golang免费视频教程.本文已经收录在GitHub https://git ...

  2. Linux命令行与命令

    Linux命令行与命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶 ...

  3. 核心系统命令实战 第一章Linux命令行简介

    第一章Linux命令行简介 1.1 Linux命令行概述 1.1.1 Linux 命令行的开启和退出 开启:登陆账号密码进入系统 退出:exit/logout  快捷键:Ctrl+d 1.1.2 Li ...

  4. 40个超有趣的Linux命令行彩蛋和游戏

    40个有趣的Linux命令行彩蛋和游戏,让你假装成日理万机的黑客高手.附一键安装脚本,在树莓派和ubuntu云主机上亲测成功,有些还可以在Windows的DOS命令行中运行. 本文配套B站视频:40个 ...

  5. 像黑客一样使用 Linux 命令行

    前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...

  6. 详解Linux命令行下常用svn命令

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  7. linux 命令行 光标移动技巧

    linux 命令行 光标移动技巧 看一个真正的专家操作命令行绝对是一种很好的体验-光标在单词之间来回穿梭,命令行不同的滚动.在这里强烈建立适应GUI节目的开发者尝试一下在提示符下面工作.但是事情也不是 ...

  8. 在linux命令行下执行php 程序

    如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...

  9. git代理,windows命令行代理,linux命令行代理

    下载不动设置代理:git config --global http.proxy http://127.0.0.1:1080git config --global https.proxy https:/ ...

随机推荐

  1. java中的对象 方法 引用 等一些抽象的概念是什么意思呢?

    2020-03-14 最近这一段时间有点忙,好久都没有更新博客了,之后我会一直坚持下去的,和大家一同进步的. 这段时间一直在学java,相信刚开始学习java的小白,刚开始接触那么些抽象的概念一定和我 ...

  2. def跨域+jwt

    1.跨域 由于浏览器具有“同源策略”的限制.如果在同一个域下发送ajax请求,浏览器的同源策略不会阻止.如果在不同域下发送ajax,浏览器的同源策略会阻止. 总结 域相同,永远不会存在跨域. crm, ...

  3. Navicat15最新版本破解 亲测可用!!!

    1.下载Navicat Premium官网https://www.navicat.com.cn/下载最新版本下载安装 2.本人网盘链接:https://pan.baidu.com/s/1ncSaxId ...

  4. frida的简单实用

    一.环境 1.环境 1.手机运行服务端 2. 电脑端运行客户端3.进行端口转发 adb forward tcp:27042 tcp:27042 adb forward tcp:27043 tcp:27 ...

  5. windows git pull或者push代码时弹出安全框解决办法

    目录 1.打开控制面板->凭据管理器>删除已有的git凭证 2.新增一个凭证 @ 如果报如下错误: 1.打开控制面板->凭据管理器>删除已有的git凭证 2.新增一个凭证 网络 ...

  6. js String方法总结

    字符方法(3) charAt(pos: number): string; // 返回特定位置的字符. charCodeAt(index: number): number; // 返回表示给定索引的字符 ...

  7. java web 中base64传输的坑

    今天在项目中,前端需要向后端发送一张图片,使用toDataURL方法以base64编码的形式传输,在写好程序后,发现报错为base64不是有效的图片,反复排查后发现接口需要一张格式为png的图片,在前 ...

  8. 15. 获取类路径下文件对应的输入流(inputStream)方式

    //获取 inputStream 方式一Resource resource = new ClassPathResource("excel/template/test.xlsx"); ...

  9. docker系列详解<二>之常用命令

    此篇我们以从docker运行一个tomcat为例,进行一下操作: 拉取镜像 查看镜像 创建容器 查看运行状态 进入退出容器 停止容器 重启容器 删除容器 删除镜像 1.拉取tomcat镜像: 1).查 ...

  10. C# 基础知识系列- 3 集合数组

    简单的介绍一下集合,通俗来讲就是用来保管多个数据的方案.比如说我们是一个公司的仓库管理,公司有一堆货物需要管理,有同类的,有不同类的,总而言之就是很多.很乱.我们对照集合的概念对仓库进行管理的话,那么 ...