SK 发布的文章

GNU Ncurses 是一个允许用户编写基于文本的用户界面(TUI)的编程库。许多基于文本的游戏都是使用这个库创建的。一个受欢迎的例子是 PacVim,这是一款学习 VIM 命令的 CLI 游戏。在这篇简要的指南中,我将解释如何在类 Unix 操作系统中安装 Ncurses 库。

在 Linux 中安装 Ncurses 库

Ncurses 在大多数 Linux 发行版的默认仓库中都有。例如,你可以使用以下命令将其安装在基于 Arch 的系统上:

$ sudo pacman -S ncurses

在RHEL、CentOS 上:

$ sudo yum install ncurses-devel

在 Fedora 22 和更新版本上:

$ sudo dnf install ncurses-devel

在 Debian、Ubuntu、Linux Mint 上:

$ sudo apt-get install libncurses5-dev libncursesw5-dev

默认仓库中的 GNU ncureses 可能有点老了。如果你想要最新的稳定版本,可以从源代码进行编译和安装,如下所示。

这里下载最新的 ncurses 版本。在写这篇文章时,最新版本是 6.1。

$ wget https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.1.tar.gz

解压 tar 文件:

$ tar xzf ncurses-6.1.tar.gz

这将在当前目录中创建一个名为 ncurses-6.1 的文件夹。cd 到该目录:

$ cd ncurses-6.1
$ ./configure --prefix=/opt/ncurses

最后,使用以下命令进行编译和安装:

$ make
$ sudo make install

使用命令验证安装:

$ ls -la /opt/ncurses

就是这样。Ncurses 已经安装在 Linux 发行版上。继续使用 Ncurses 创建漂亮的 TUI。

还会有更多的好东西。敬请关注!

干杯!


via: https://www.ostechnix.com/how-to-install-ncurses-library-in-linux/

作者:SK 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Linux 上有许多 GUI 图片浏览器。但我尚未听说或使用过任何在终端中显示图片的应用程序。幸运的是,我刚刚发现了一个可用于在终端中显示图像的名叫 FIM 的图像查看器。FIM 引起了我的注意,是因为与大多数 GUI 图片浏览器相比,它非常轻巧。毫不迟疑,让我们来看看它能做什么。

使用 FIM 在终端中显示图像

FIM 意即 Fbi IMproved。对于那些不知道的人,Fbi 是指 Linux 中的 frame buffer imageviewer。它使用系统的帧缓冲器直接从命令行显示图像。默认情况下,它能用终端显示 bmp、gif、jpeg、PhotoCD、png、ppm、tiff 和 xwd。对于其他格式,它会尝试使用 ImageMagick 的转换。

FIM 基于 Fbi,它是一款高度可高度定制及脚本化的图像浏览器,非常适合使用 Vim 文本编辑器或 Mutt 等软件的用户。它会以全屏显示图像,并可通过键盘快捷键控制(如调整大小、翻转、缩放)。与 Fbi 不同的是,FIM 是通用的:它可以打开许多文件格式,并且可以在以下视频模式下显示图片:

  • 使用 Linux framebuffer 设备,以图形方式呈现
  • 在 X / Xorg 下,使用 SDL 库,以图形方式呈现
  • 在 X / Xorg 下,使用 Imlib2 库,以图形方式呈现。
  • 在任何文本控制台中使用 AAlib 库呈现为 ASCII 字符画

FIM 是完全免费且开源的。

安装 FIM

基于 DEB 的系统,如 Ubuntu、Linux Mint, 可从默认的仓库中获取 FIM 图像查看器。因此,你可以使用如下命令安装fbi:

$ sudo apt-get install fim

如果它在你使用的 Linux 发行版的仓库中不包含 FIM,则可以下载源代码进行编译和安装,如下所示。

wget http://download.savannah.nongnu.org/releases/fbi-improved/fim-0.6-trunk.tar.gz
wget http://download.savannah.nongnu.org/releases/fbi-improved/fim-0.6-trunk.tar.gz.sig
gpg --search 'dezperado autistici org'
#按照屏幕上的说明,从密钥服务器导入密钥
gpg --verify fim-0.6-trunk.tar.gz.sig
tar xzf fim-0.6-trunk.tar.gz
cd fim-0.6-trunk
./configure --help=short
#阅读./configure --help=short 的输出:你可以在 ./configure 中添加选项
./configure
make
su -c“make install”

FIM用法

安装完成后,您可以使用以下命令以“自动缩放”显示的图像:

$ fim -a dog.jpg

这里是我的 Ubuntu 主机的示例输出。

正如你在上面的屏幕截图中看到的,FIM 没有使用任何外部 GUI 图片浏览器。相反,它使用我们系统的帧缓冲器来显示图像。

如果当前目录中有多个 .jpg 文件,可以使用通配符打开所有文件,如下所示。

$ fim -a * .jpg

要打开目录中的所有图像,例如 Pictures,请运行:

$ fim Pictures/

我们也可以在文件夹及其子文件夹中递归地打开图像,然后像下面那样对列表进行排序。

$ fim -R Pictures/ --sort

要以 ASCII 格式渲染图像,可以使用 -t 标志。

$ fim -t dog.jpg

要退出 Fim,请按 ESCq

键盘快捷键

您可以使用各种键盘快捷键来管理图像。例如,要加载下一张图像和之前的图像,请按下 PgUp / PgDown 键。成倍放大或缩小,请使用 + / - 键。以下是用于在FIM中控制图像的常用按键。

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

有关完整详细信息,请参阅手册页。

$ man fim

那么,就是这样。希望这对你有所帮助。后续还会介绍更多的优秀工具。敬请关注!

干杯!


via: https://www.ostechnix.com/how-to-display-images-in-the-terminal/

作者:SK 选题:lujun9972 译者:KevinSJ 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Cron 是您可以在任何类 Unix 操作系统中找到的最有用的实用程序之一。它用于安排命令在特定时间执行。这些预定的命令或任务被称为 “Cron 任务”。Cron 通常用于运行计划备份、监视磁盘空间、定期删除不再需要的文件(例如日志文件)、运行系统维护任务等等。在本简要指南中,我们将看到 Linux 中 Cron 任务的基本用法。

Cron 任务入门指南

cron 任务的典型格式是:

分钟(0-59) 小时(0-24) 日(1-31) 月(1-12) 星期(0-6) 要执行的命令

只需记住 cron 任务的格式或打印下面的插图并将其放在你桌面上即可。

在上图中,星号表示特定的时间块。

要显示当前登录用户的 crontab 文件的内容:

$ crontab -l

要编辑当前用户的 cron 任务,请执行以下操作:

$ crontab -e

如果这是第一次编辑此文件,会询问你使用哪个编辑器来编辑此文件。

no crontab for sk - using an empty one

Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed

Choose 1-4 [1]:

选择适合你的编辑器。这里是一个示例 crontab 文件的样子。

在这个文件中,你需要添加你的 cron 任务。

要编辑其他用户的 crontab,例如 ostechnix,请执行:

$ crontab -u ostechnix -e

让我们看看一些例子。

每分钟 执行一次 cron 任务,需使用如下格式。

* * * * * <command-to-execute>

要每 5 分钟运行一次 cron 任务,请在 crontab 文件中添加以下内容。

*/5 * * * * <command-to-execute>

要在每 1/4 个小时(每 15 分钟)运行一次 cron 任务,请添加以下内容:

*/15 * * * * <command-to-execute>

要每小时的第 30 分钟运行一次 cron 任务,请运行:

30 * * * * <command-to-execute>

您还可以使用逗号定义多个时间间隔。例如,以下 cron 任务每小时运行三次,分别在第 0、 5 和 10 分钟运行:

0,5,10 * * * * <command-to-execute>

每半小时运行一次 cron 任务:

*/30 * * * * <command-to-execute>

每小时运行一次:

0 * * * * <command-to-execute>

每 2 小时运行一次:

0 */2 * * * <command-to-execute>

每天运行一项(在 00:00 运行):

0 0 * * * <command-to-execute>

每天凌晨 3 点运行:

0 3 * * * <command-to-execute>

每周日运行:

0 0 * * SUN <command-to-execute>

或使用,

0 0 * * 0 <command-to-execute>

它将在每周日的午夜 00:00 运行。

星期一至星期五每天运行一次,亦即每个工作日运行一次:

0 0 * * 1-5 <command-to-execute>

这项工作将于 00:00 开始。

每个月运行一次:

0 0 1 * * <command-to-execute>

于每月第 1 天的 16:15 运行:

15 16 1 * * <command-to-execute>

每季度运行一次,亦即每隔 3 个月的第 1 天运行:

0 0 1 */3 * <command-to-execute>

在特定月份的特定时间运行:

5 0 * 4 * <command-to-execute>

每个四月的 00:05 运行。

每 6 个月运行:

0 0 1 */6 * <command-to-execute>

这个定时任务将在每六个月的第一天的 00:00 运行。

每年运行:

0 0 1 1 * <command-to-execute>

这项 cron 任务将于 1 月份的第一天的 00:00 运行。

我们也可以使用以下字符串来定义任务。

@reboot 在每次启动时运行一次。 @yearly 每年运行一次。 @annually(和 @yearly 一样)。 @monthly 每月运行一次。 @weekly 每周运行一次。 @daily 每天运行一次。 @midnight (和 @daily 一样)。 @hourly 每小时运行一次。

例如,要在每次重新启动服务器时运行任务,请将此行添加到您的 crontab 文件中。

@reboot <command-to-execute>

要删除当前用户的所有 cron 任务:

$ crontab -r

还有一个名为 crontab.guru 的专业网站,用于学习 cron 任务示例。这个网站提供了很多 cron 任务的例子。

有关更多详细信息,请查看手册页。

$ man crontab

那么,就是这样。到此为止,您应该对 cron 任务以及如何实时使用它们有了一个基本的了解。后续还会介绍更多的优秀工具。敬请关注!!

干杯!


via: https://www.ostechnix.com/a-beginners-guide-to-cron-jobs/

作者:SK 选题:lujun9972 译者:KevinSJ 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

你们大多数人可能用过或听说过 Youtube-dl,这个命令行程序可以从包括 Youtube 在内的 100+ 网站下载视频。我偶然发现了一个类似的工具,名字叫做 You-Get。这是一个 Python 编写的命令行下载器,可以让你从 Youtube、Facebook、Twitter 等很多热门网站下载图片,音频和视频(LCTT 译注:首先,它们得是存在的网站)。目前该下载器支持 80+ 站点,点击这里查看所有支持的网站。

You-Get 不仅仅是一个下载器,它还可以将在线视频导流至你的视频播放器。更进一步,它还允许你在 Google 上搜索视频,只要给出搜索项,You-Get 使用 Google 搜索并下载相关度最高的视频。另外值得一提的特性是,它允许你暂停和恢复下载过程。它是一个完全自由、开源及跨平台的应用,适用于 Linux、MacOS 及 Windows。

安装 You-Get

确保你已经安装如下依赖项:

  • Python 3
  • FFmpeg (强烈推荐) 或 Libav
  • (可选) RTMPDump

有多种方式安装 You-Get,其中官方推荐采用 pip 包管理器安装。如果你还没有安装 pip,可以参考如下链接:

需要注意的是,你需要安装 Python 3 版本的 pip

接下来,运行如下命令安装 You-Get:

$ pip3 install you-get

可以使用命令升级 You-Get 至最新版本:

$ pip3 install --upgrade you-get

开始使用 You-Get

使用方式与 Youtube-dl 工具基本一致。

下载视频

下载视频,只需运行:

$ you-get https://www.youtube.com/watch?v=HXaglTFJLMc

输出示例:

site: YouTube
title: The Last of The Mohicans by Alexandro Querevalú
stream:
 - itag: 22
 container: mp4
 quality: hd720
 size: 56.9 MiB (59654303 bytes)
 # download-with: you-get --itag=22 [URL]

Downloading The Last of The Mohicans by Alexandro Querevalú.mp4 ...
 100% ( 56.9/ 56.9MB) ├███████████████████████████████████████████████████████┤[1/1] 752 kB/s

下载视频前,你可能希望查看视频的细节信息。You-Get 提供了 –info-i 参数,使用该参数可以获得给定视频所有可用的分辨率和格式。

$ you-get -i https://www.youtube.com/watch?v=HXaglTFJLMc

或者

$ you-get --info https://www.youtube.com/watch?v=HXaglTFJLMc

输出示例如下:

site: YouTube
title: The Last of The Mohicans by Alexandro Querevalú
streams: # Available quality and codecs
 [ DASH ] ____________________________________
 - itag: 137
 container: mp4
 quality: 1920x1080
 size: 101.9 MiB (106816582 bytes)
 # download-with: you-get --itag=137 [URL]

- itag: 248
 container: webm
 quality: 1920x1080
 size: 90.3 MiB (94640185 bytes)
 # download-with: you-get --itag=248 [URL]

- itag: 136
 container: mp4
 quality: 1280x720
 size: 56.9 MiB (59672392 bytes)
 # download-with: you-get --itag=136 [URL]

- itag: 247
 container: webm
 quality: 1280x720
 size: 52.6 MiB (55170859 bytes)
 # download-with: you-get --itag=247 [URL]

- itag: 135
 container: mp4
 quality: 854x480
 size: 32.2 MiB (33757856 bytes)
 # download-with: you-get --itag=135 [URL]

- itag: 244
 container: webm
 quality: 854x480
 size: 28.0 MiB (29369484 bytes)
 # download-with: you-get --itag=244 [URL]

[ DEFAULT ] _________________________________
 - itag: 22
 container: mp4
 quality: hd720
 size: 56.9 MiB (59654303 bytes)
 # download-with: you-get --itag=22 [URL]

默认情况下,You-Get 会下载标记为 “DEFAULT” 的格式。如果你对格式或分辨率不满意,可以选择你喜欢的格式,使用格式对应的 itag 值即可。

$ you-get --itag=244 https://www.youtube.com/watch?v=HXaglTFJLMc

下载音频

执行下面的命令,可以从 soundcloud 网站下载音频:

$ you-get 'https://soundcloud.com/uiceheidd/all-girls-are-same-999-prod-nick-mira'
Site: SoundCloud.com
Title: ALL GIRLS ARE THE SAME (PROD. NICK MIRA)
Type: MP3 (audio/mpeg)
Size: 2.58 MiB (2710046 Bytes)

Downloading ALL GIRLS ARE THE SAME (PROD. NICK MIRA).mp3 ...
 100% ( 2.6/ 2.6MB) ├███████████████████████████████████████████████████████┤[1/1] 983 kB/s

查看音频文件细节,使用 -i 参数:

$ you-get -i 'https://soundcloud.com/uiceheidd/all-girls-are-same-999-prod-nick-mira'

下载图片

运行如下命令下载图片:

$ you-get https://pixabay.com/en/mountain-crumpled-cyanus-montanus-3393209/

You-Get 也可以下载网页中的全部图片:

$ you-get https://www.ostechnix.com/pacvim-a-cli-game-to-learn-vim-commands/

搜索视频

你只需向 You-Get 传递一个任意的搜索项,而无需给出有效的 URL;You-Get 会使用 Google 搜索并下载与你给出搜索项最相关的视频。(LCTT 译注:Google 的机器人检测机制可能导致 503 报错导致该功能无法使用)。

$ you-get 'Micheal Jackson'
Google Videos search:
Best matched result:
site: YouTube
title: Michael Jackson - Beat It (Official Video)
stream:
 - itag: 43
 container: webm
 quality: medium
 size: 29.4 MiB (30792050 bytes)
 # download-with: you-get --itag=43 [URL]

Downloading Michael Jackson - Beat It (Official Video).webm ...
 100% ( 29.4/ 29.4MB) ├███████████████████████████████████████████████████████┤[1/1] 2 MB/s

观看视频

You-Get 可以将在线视频导流至你的视频播放器或浏览器,跳过广告和评论部分。(LCTT 译注:使用 -p 参数需要对应的 vlc/chrominum 命令可以调用,一般适用于具有图形化界面的操作系统)。

以 VLC 视频播放器为例,使用如下命令在其中观看视频:

$ you-get -p vlc https://www.youtube.com/watch?v=HXaglTFJLMc

或者

$ you-get --player vlc https://www.youtube.com/watch?v=HXaglTFJLMc

类似地,将视频导流至以 chromium 为例的浏览器中,使用如下命令:

$ you-get -p chromium https://www.youtube.com/watch?v=HXaglTFJLMc

在上述屏幕截图中,可以看到并没有广告和评论部分,只是一个包含视频的简单页面。

设置下载视频的路径及文件名

默认情况下,使用视频标题作为默认文件名,下载至当前工作目录。当然,你可以按照你的喜好进行更改,使用 –output-dir-o 参数可以指定路径,使用 –output-filename-O 参数可以指定下载文件的文件名。

$ you-get -o ~/Videos -O output.mp4 https://www.youtube.com/watch?v=HXaglTFJLMc

暂停和恢复下载

CTRL+C 可以取消下载。一个以 .download 为扩展名的临时文件会保存至输出路径。下次你使用相同的参数下载时,下载过程将延续上一次的过程。

当文件下载完成后,以 .download 为扩展名的临时文件会自动消失。如果这时你使用同样参数下载,You-Get 会跳过下载;如果你想强制重新下载,可以使用 –force-f 参数。

查看命令的帮助部分可以获取更多细节,命令如下:

$ you-get --help

这次的分享到此结束,后续还会介绍更多的优秀工具,敬请期待!

感谢各位阅读!


via: https://www.ostechnix.com/you-get-a-cli-downloader-to-download-media-from-80-websites/

作者:SK 选题:lujun9972 译者:pinewall 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Font Finder 是旧的 Typecatcher 的 Rust 实现,用于从 Google 的字体存档中轻松搜索和安装 Google Web 字体。它可以帮助你在 Linux 桌面上安装数百种免费和开源字体。如果你正在为你的 Web 项目和应用以及其他任何地方寻找好看的字体,Font Finder 可以轻松地为你提供。它是用 Rust 编程语言编写的自由、开源的 GTK3 应用程序。与使用 Python 编写的 Typecatcher 不同,Font Finder 可以按类别过滤字体,没有 Python 运行时依赖关系,并且有更好的性能和更低的资源消耗。

在这个简短的教程中,我们将看到如何在 Linux 中安装和使用 Font Finder。

安装 Font Finder

由于 Fond Finder 是使用 Rust 语言编写的,因此你需要向下面描述的那样在系统中安装 Rust。

安装 Rust 后,运行以下命令安装 Font Finder:

$ cargo install fontfinder

Font Finder 也可以从 flatpak app 安装。首先在你的系统中安装 Flatpak,如下面的链接所述。

然后,使用命令安装 Font Finder:

$ flatpak install flathub io.github.mmstick.FontFinder

在 Linux 中使用 Font Finder 搜索和安装 Google Web 字体

你可以从程序启动器启动 Font Finder,也可以运行以下命令启动它。

$ flatpak run io.github.mmstick.FontFinder

这是 Font Finder 默认界面的样子。

正如你所看到的,Font Finder 的用户界面非常简单。所有 Google Web 字体都列在左侧窗格中,相应字体的预览显示在右侧窗格中。你可以在预览框中输入任何单词以查看单词在所选字体中的外观。在左上方还有一个搜索框,可以让你快速搜索你选择的字体。

默认情况下,Font Finder 显示所有类型的字体。但是,你可以通过搜索框上方的类别下拉框中的分类显示字体。

要安装字体,只需选择它并点击顶部的 “Install” 按钮即可。

你可以在任何文本处理程序中测试新安装的字体。

同样,要删除字体,只需从 Font Finder 面板中选择它并单击 “Uninstall” 按钮。就这么简单!

左上角的设置按钮(齿轮按钮)提供了切换到暗色预览的选项。

如你所见,Font Finder 非常简单,完全可以像在主页上宣传的那样完成工作。如果你正在寻找安装 Google Web 字体的程序,Font Finder 就是这样的一个程序。

今天就是这些。希望这有帮助。还有更好的东西。敬请关注!

干杯!


via: https://www.ostechnix.com/font-finder-easily-search-and-install-google-web-fonts-in-linux/

作者:SK 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

配图

烹饪让爱变得可见,不是吗?确实!烹饪也许是你的热情或爱好或职业,我相信你会维护一份烹饪日记。保持写烹饪日记是改善烹饪习惯的一种方法。有很多方法可以记录食谱。你可以维护一份小日记/笔记或将配方的笔记存储在智能手机中,或将它们保存在计算机中文档中。这有很多选择。今天,我介绍 HeRM's,这是一个基于 Haskell 的命令行食谱管理器,能为你的美食食谱做笔记。使用 Herm's,你可以添加、查看、编辑和删除食物配方,甚至可以制作购物清单。这些全部来自你的终端!它是免费的,是使用 Haskell 语言编写的开源程序。源代码在 GitHub 中免费提供,因此你可以复刻它,添加更多功能或改进它。

HeRM's - 一个命令食谱管理器

安装 HeRM's

由于它是使用 Haskell 编写的,因此我们需要首先安装 Cabal。 Cabal 是一个用于下载和编译用 Haskell 语言编写的软件的命令行程序。Cabal 存在于大多数 Linux 发行版的核心软件库中,因此你可以使用发行版的默认软件包管理器来安装它。

例如,你可以使用以下命令在 Arch Linux 及其变体(如 Antergos、Manjaro Linux)中安装 cabal:

sudo pacman -S cabal-install

在 Debian、Ubuntu 上:

sudo apt-get install cabal-install

安装 Cabal 后,确保你已经添加了 PATH。为此,请编辑你的 ~/.bashrc

vi ~/.bashrc

添加下面这行:

PATH=$PATH:~/.cabal/bin

:wq 保存并退出文件。然后,运行以下命令更新所做的更改。

source ~/.bashrc

安装 cabal 后,运行以下命令安装 herms

cabal install herms

喝一杯咖啡!这将需要一段时间。几分钟后,你会看到一个输出,如下所示。

[...]
Linking dist/build/herms/herms ...
Installing executable(s) in /home/sk/.cabal/bin
Installed herms-1.8.1.2

恭喜! Herms 已经安装完成。

添加食谱

让我们添加一个食谱,例如 Dosa。对于那些想知道的,Dosa 是一种受欢迎的南印度食物,配以 sambar(LCTT 译注:扁豆和酸豆炖菜,像咖喱汤) 和酸辣酱。这是一种健康的,可以说是最美味的食物。它不含添加的糖或饱和脂肪。制作一个也很容易。有几种不同的 Dosas,在我们家中最常见的是 Plain Dosa。

要添加食谱,请输入:

herms add

你会看到一个如下所示的屏幕。开始输入食谱的详细信息。

要变换字段,请使用以下键盘快捷键:

  • Tab / Shift+Tab - 下一个/前一个字段
  • Ctrl + <箭头键> - 导航字段
  • [Meta 或者 Alt] + <h-j-k-l> - 导航字段
  • Esc - 保存或取消。

添加完配方的详细信息后,按下 ESC 键并点击 Y 保存。同样,你可以根据需要添加尽可能多的食谱。

要列出添加的食谱,输入:

herms list

要查看上面列出的任何食谱的详细信息,请使用下面的相应编号。

herms view 1

要编辑任何食谱,使用:

herms edit 1

完成更改后,按下 ESC 键。系统会询问你是否要保存。你只需选择适当的选项。

要删除食谱,命令是:

herms remove 1

要为指定食谱生成购物清单,运行:

herms shopping 1

要获得帮助,运行:

herms -h

当你下次听到你的同事、朋友或其他地方谈到好的食谱时,只需打开 Herm's,并快速记下,并将它们分享给你的配偶。她会很高兴!

今天就是这些。还有更好的东西。敬请关注!

干杯!!


via: https://www.ostechnix.com/herms-commandline-food-recipes-manager/

作者:SK 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出