在 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 :

$ sudo apt-get install fim

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

FIM 的使用

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

$ fim -a dog.jpg

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

$ fim -a * .jpg

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

$ fim Pictures/

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

$ fim -R Pictures/ --sort

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

$ fim -t dog.jpg

退出 FIM 请按 ESC 或者 q

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

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

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

$ man fim

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

2. Viu

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

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

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

$ cargo install viu

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

$ yay -S viu

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

下载完后,使其可执行:

$ chmod +x viu

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

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

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

$ viu image.jpg

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

$ viu image.jpg -w 40

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

$ viu Desktop/pic\ *

显示 gif 图:

$ viu animated.gif

退出,只需按 CTRL + C

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

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

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

$ 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. oracle单机数据库搭建巨详细文档

    规划 环境:redhat6.9 安装包:p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip 数据 ...

  2. 何为引用法---细谈C++引用

    何为引用...给已有的变量取别名 ; int &a = num;//此处 &不是取地址 而是标明 a是引用变量(a 是 num的别名) 注意: 1.引用必须初始化 2.引用一旦初始化 ...

  3. js中字符串 stringObject 的 replace() 方法

    一.定义 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的字符串. 二.语法 stringObject.replace(regexp/substr,repl ...

  4. react 脚手架装后 运行eject报错 的 正确运行方式

    git init git add . git commit -m 'init' npm run eject 或者 cnpm run eject

  5. 为什么 select count(*) from t,在 InnoDB 引擎中比 MyISAM 慢?

    统计一张表的总数量,是我们开发中常有的业务需求,通常情况下,我们都是使用 select count(*) from t SQL 语句来完成.随着业务数据的增加,你会发现这条语句执行的速度越来越慢,为什 ...

  6. 前端html学习笔记

    一 HTML介绍 1. Web服务的本质 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.li ...

  7. 北邮OJ 89. 统计时间间隔 java版

    89. 统计时间间隔 时间限制 1000 ms 内存限制 65536 KB 题目描述 给出两个时间(24小时制),求第一个时间至少要经过多久才能到达第二个时间.给出的时间一定满足的形式,其中x和y分别 ...

  8. Redis 6.0 新增功能 - ACL

    Redis 6.0 ACL 期待已久的ACL终于来了,大家知道在redis集群中只有一个db,在多项目操作时可以通过key前缀来区分,但是还是能获取其它key,这样就带来了安全风险. Access C ...

  9. 用卷积神经网络和自注意力机制实现QANet(问答网络)

    欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/ ,学习更多的机器学习.深度学习的知识! 在这篇文章中,我们将解决自然语言处理(具体是指问答)中最具挑战性 ...

  10. 干货|Python基础入门 课程笔记(三)

    目录 列表 元组 字典 三元表达式 一.列表 前面学习的字符串可以用来存储一串信息,那么想一想,如果现在有很多人,总不能每个人都起一个变量名把?那岂不得疯~ 咱们可以使用列表. (1)列表得格式和输出 ...