活久见!Linux命令行居然也可以用来查看图像?
在 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」,第一时间获取最新Linux干货!
- 公众号后台回复【资料】【面试】【简历】获取精选一线大厂面试、自我提升、简历等资料。
- 关注我的博客:lxlinux.net
活久见!Linux命令行居然也可以用来查看图像?的更多相关文章
- 活久见!TCP两次挥手,你见过吗?那四次握手呢?
活久见!TCP两次挥手,你见过吗?那四次握手呢? 文章持续更新,可以微信搜一搜「小白debug」第一时间阅读,回复[教程]获golang免费视频教程.本文已经收录在GitHub https://git ...
- Linux命令行与命令
Linux命令行与命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶 ...
- 核心系统命令实战 第一章Linux命令行简介
第一章Linux命令行简介 1.1 Linux命令行概述 1.1.1 Linux 命令行的开启和退出 开启:登陆账号密码进入系统 退出:exit/logout 快捷键:Ctrl+d 1.1.2 Li ...
- 40个超有趣的Linux命令行彩蛋和游戏
40个有趣的Linux命令行彩蛋和游戏,让你假装成日理万机的黑客高手.附一键安装脚本,在树莓派和ubuntu云主机上亲测成功,有些还可以在Windows的DOS命令行中运行. 本文配套B站视频:40个 ...
- 像黑客一样使用 Linux 命令行
前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...
- 详解Linux命令行下常用svn命令
1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...
- linux 命令行 光标移动技巧
linux 命令行 光标移动技巧 看一个真正的专家操作命令行绝对是一种很好的体验-光标在单词之间来回穿梭,命令行不同的滚动.在这里强烈建立适应GUI节目的开发者尝试一下在提示符下面工作.但是事情也不是 ...
- 在linux命令行下执行php 程序
如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...
- git代理,windows命令行代理,linux命令行代理
下载不动设置代理:git config --global http.proxy http://127.0.0.1:1080git config --global https.proxy https:/ ...
随机推荐
- Fortify Audit Workbench 笔记 SQL Injection SQL注入
SQL Injection SQL注入 Abstract 通过不可信来源的输入构建动态 SQL 指令,攻击者就能够修改指令的含义或者执行任意 SQL 命令. Explanation SQL injec ...
- golang Printf 函数有超过 10 个转义字符
verb 描述 %d 十进制整数 %x, %o, %b 十六进制.八进制.二进制整数 %f, %g, %e 浮点数:如 3.141593, 3.141592653589793, 3.141593e+0 ...
- JDBC封装-Java(新手)
JDBC的封装,自己总结的自己总结的自己总结的 dao (代码分层)命名规范: 1.com.XXX.dao 存放dao相关的类型 例如 StudentDAOImpl 处理 数据库的链接 存取数据 2. ...
- Natas23 Writeup(php弱类型)
Natas23: 一个登录页面,查看源码,发现关键代码: if(array_key_exists("passwd",$_REQUEST)){ if(strstr($_REQUEST ...
- 一明单词本持续更新ing...
introductionshuffingdeployspecifyingreliableclusters programming scalemachinesdeliveringsubmarineadd ...
- Cisco 综合配置(一)
要求: 1.内网所有PC及服务器都能访问外网 2.外网通过公网地址 202.101.100.3 访问内网服务器的Telnet服务 配置: PC.服务器都配置好自己的IP和默认网关:192.168.1. ...
- 题解 CF1304E 【1-Trees and Queries】
前言 这场比赛,在最后 \(5\) 分钟,我想到了这道题的 \(Idea\),但是,没有打完,比赛就结束了. 正文 题目意思 这道题目的意思就是说,一棵树上每次给 \(x\) 和 \(y\) 节点连 ...
- vscode快速生成html模板(vscode快捷键"!"生成html模板)
问题: 在vscode中新建test.html, 内容是空白的,输入"!",然后按tap键 ,没有生成常见的html模板,也就是如下: 输入! html html:5 DOCTYP ...
- 【笔记3-31】Python语言基础-序列sequence
序列sequence 可变序列 列表 list 字典 不可变序列 字符串 str 元祖 tuple 通过索引修改列表 del 删除元素 del my_list[2] 切片赋值只能是序列 .insert ...
- TensorFlow v2.0实现Word2Vec算法
使用TensorFlow v2.0实现Word2Vec算法计算单词的向量表示,这个例子是使用一小部分维基百科文章来训练的. 更多信息请查看论文: Mikolov, Tomas et al. " ...