2020年2月

使用 ScreenFetch 和 Neofetch 与其他人轻松分享你的 Linux 环境。

你可能有很多原因想要与他人分享你的 Linux 配置。你可能正在寻求帮助来对系统上的问题进行故障排除,或者你对所创建的环境感到非常自豪,因此想向其他开源爱好者展示。

你可以在 Bash 提示符下使用 cat /proc/cpuinfolscpu 命令获取某些信息。但是,如果你想共享更多详细信息,例如你的操作系统、内核、运行时间、shell 环境,屏幕分辨率等,那么可以选择两个很棒的工具:screenFetch 和 Neofetch。

screenFetch

screenFetch 是 Bash 命令行程序,它可以产生非常漂亮的系统配置和运行时间的截图。这是方便的与它人共享系统配置的方法。

在许多 Linux 发行版上安装 screenFetch 很简单。

在 Fedora 上,输入:

$ sudo dnf install screenfetch

在 Ubuntu 上,输入:

$ sudo apt install screenfetch

对于其他操作系统,包括 FreeBSD、MacOS 等,请查阅 screenFetch 的 wiki 安装页面。安装 screenFetch 后,它可以生成详细而彩色的截图,如下所示:

 title=

ScreenFetch 还提供各种命令行选项来调整你的结果。例如,screenfetch -v 返回详细输出,逐行显示每个选项以及上面的显示。

screenfetch -n 在显示系统信息时消除了操作系统图标。

 title=

其他选项包括 screenfetch -N,它去除所有输出的颜色。screenfetch -t,它根据终端的大小截断输出。screenFetch -E,它可抑制错误输出。

请检查手册页来了解其他选项。screenFetch 在 GPLv3 许可证下的开源,你可以在它的 GitHub 仓库中了解有关该项目的更多信息。

Neofetch

Neofetch 是创建系统信息截图的另一个工具。它是用 Bash 3.2 编写的,在 MIT 许可证下开源。

根据项目网站所述,“Neofetch 支持近 150 种不同的操作系统。从 Linux 到 Windows,一直到 Minix、AIX 和 Haiku 等更晦涩的操作系统。”

 title=

该项目维护了一个 wiki,其中包含用于各种发行版和操作系统的出色的安装文档

如果你使用的是 Fedora、RHEL 或 CentOS,那么可以在 Bash 提示符下使用以下命令安装 Neofetch:

$ sudo dnf install neofetch

在 Ubuntu 17.10 及更高版本上,你可以使用:

$ sudo apt install neofetch

首次运行时,Neofetch 将 ~/.config/neofetch/config.conf 文件写入主目录(.config/config.conf),它让你可以自定义和控制 Neofetch 输出的各个方面。例如,你可以配置 Neofetch 使用图像、ASCII 文件、你选择的壁纸,或者完全不使用。config.conf 文件还让与它人分享配置变得容易。

如果 Neofetch 不支持你的操作系统或不提供所需选项,请在项目的 GitHub 仓库中打开一个问题。

总结

无论为什么要共享系统配置,screenFetch 或 Neofetch 都应该能做到。你是否知道在 Linux 上提供此功能的另一个开源工具?请在评论中分享你的最爱。


via: https://opensource.com/article/20/1/screenfetch-neofetch

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:wxy

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

无需适应其他人的眼光,而是使用 YaCY 搜索引擎定义你想要的互联网。

在我以前介绍 YaCy 入门的文章中讲述过 YaCy 这个 对等 peer-to-peer 式的搜索引擎是如何安装和使用的。YaCy 最令人兴奋的一点就是它事实上是一个本地客户端,全球范围内的每一个 YaCy 用户都是构成整个这个分布式搜索引擎架构的一个节点,这意味着每个用户都可以掌控自己的互联网搜索体验。

Google 曾经提供过 google.com/linux 这样的主题简便方式以便快速筛选出和 Linux 相关的搜索内容,这个小功能受到了很多人的青睐,但 Google 最终还是在 2011 年的时候把它下线了。

而 YaCy 则让自定义搜索引擎变得可能。

自定义 YaCy

YaCy 安装好之后,只需要访问 localhost:8090 就可以使用了。要自定义搜索引擎,只需要点击右上角的“ 管理 Administration ”按钮(它可能隐藏在小屏幕的菜单图标中)。

你可以在管理面板中配置 YaCy 对系统资源的使用策略,以及如何跟其它的 YaCy 客户端进行交互。

 title=

例如,点击侧栏中的“ 第一步 First steps ”按钮可以配置备用端口,以及设置 YaCy 对内存和硬盘的使用量;而“ 监控 Monitoring ”面板则可以监控 YaCy 的运行状况。大多数功能都只需要在面板上点击几下就可以完成了,例如以下几个常用的功能。

内网搜索应用

目前市面上也有不少公司推出了内网搜索应用,而 YaCy 可以免费为你提供一个。对于能够通过 HTTP、FTP、Samba 等协议访问的文件,YaCy 都可以进行索引,因此无论是作为私人的文件搜索还是企业内部的本地共享文件搜索,YaCy 都可以实现。它可以让内部网络中的用户使用你个人的 YaCy 实例来查找共享文件,于此同时保持对内部网络以外的用户不可见。

网络配置

YaCy 在默认情况下就支持隐私和隔离。点击“ 用例与账号 Use Case & Account ”页面顶部的“ 网络配置 Network Configuration ”链接,即可进入网络配置面板设置对等网络。

 title=

爬取站点

YaCy 的分布式运作方式决定了它对页面的爬取是由用户驱动的。并没有一个大型公司对整个互联网上的所有可访问页面都进行搜索,对于 YaCy 来说也是这样,一个站点只有在被用户指定爬取的前提下,才会被 YaCy 爬取并进入索引。

YaCy 客户端提供了两种爬取页面的方式:你可以手动爬取,并让 YaCy 根据建议去爬取。

 title=

手动爬取

手动爬取是指由用户输入指定的网站 URL 并启动 YaCy 的爬虫任务。只需要点击“ 高级爬虫 Advanced Crawler ”并输入计划爬取的若干 URL,然后选择页面底部的“ 进行远程索引 Do Remote indexing ”选项,这个选项会让客户端向互联网广播它要索引的 URL,可选地接受这些请求的客户端可以帮助你爬取这些 URL。

点击页面底部的“ 开始新爬虫任务 Start New Crawl Job ”按钮就可以开始进行爬取了,我就是这样对一些常用和有用站点进行爬取和索引的。

爬虫任务启动之后,YaCy 会将这些 URL 对应的页面在本地生成和存储索引。在高级模式下,也就是本地计算机允许 8090 端口流量进出时,全网的 YaCy 用户都可以使用到这一份索引。

加入爬虫网络

尽管一些非常敬业的 YaCy 高级用户已经强迫症般地在互联网上爬取了很多页面,但对于全网浩如烟海的页面而言也只是沧海一粟。单个用户所拥有的资源远不及很多大公司的网络爬虫,但大量 YaCy 用户如果联合起来成为一个社区,能产生的力量就大得多了。只要开启了 YaCy 的爬虫请求广播功能,就可以让其它客户端参与进来爬取更多页面。

只需要在“ 高级爬虫 Advanced Crawler ”面板中点击页面顶部的“ 远程爬取 Remote Crawling ”,勾选“ 加载 Load ”旁边的复选框,就可以让你的客户端接受其它人发来的爬虫任务请求了。

 title=

YaCy 监控相关

YaCy 除了作为一个非常强大的搜索引擎,还提供了很丰富的主题和用户体验。你可以在“ 监控 Monitor ”面板中监控 YaCy 客户端的网络运行状况,甚至还可以了解到有多少人从 YaCy 社区中获取到了自己所需要的东西。

 title=

搜索引擎发挥了作用

你使用 YaCy 的时间越长,就越会思考搜索引擎如何改变自己的视野,因为你对互联网的体验很大一部分来自于你在搜索引擎中一次次简单查询的结果。实际上,当你和不同行业的人交流时,可能会注意到每个人对“互联网”的理解都有所不同。有些人会认为,互联网的搜索引擎中充斥着各种广告和推广,同时也仅仅能从搜索结果中获取到有限的信息。例如,假设有人不断搜索关于关键词 X 的内容,那么大部分商业搜索引擎都会在搜索结果中提高关键词 X 的权重,但与此同时,另一个关键词 Y 的权重则会相对降低,从而让关键词 Y 被淹没在搜索结果当中,即使这样对完成特定任务更好。

就像在现实生活中一样,走出虚拟的世界视野会让你看到一个更广阔的世界。尝试使用 YaCy,看看你发现了什么。


via: https://opensource.com/article/20/2/yacy-search-engine-hacks

作者:Seth Kenlon 选题:lujun9972 译者:HankChow 校对:wxy

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

Dino 是一个相对较新的开源 XMPP 客户端,它试图提供良好的用户体验,鼓励注重隐私的用户使用 XMPP 发送消息。

Dino:一个开源 XMPP 客户端

XMPP 可扩展通讯和表示协议 eXtensible Messaging Presence Protocol ) 是一个去中心化的网络模型,可促进即时消息传递和协作。去中心化意味着没有中央服务器可以访问你的数据。通信直接点对点。

我们中的一些人可能会称它为“老派”技术,可能是因为 XMPP 客户端通常用户体验非常糟糕,或者仅仅是因为它需要时间来适应(或设置它)。

这时候 Dino 作为现代 XMPP 客户端出现了,在不损害你的隐私的情况下提供干净清爽的用户体验。

用户体验

Dino 试图改善 XMPP 客户端的用户体验,但值得注意的是,它的外观和感受将在一定程度上取决于你的 Linux 发行版。你的图标主题或 Gnome 主题会让你的个人体验更好或更糟。

从技术上讲,它的用户界面非常简单,易于使用。所以,我建议你看下 Ubuntu 中的最佳图标主题GNOME 主题来调整 Dino 的外观。

Dino 的特性

Dino Screenshot

你可以将 Dino 用作 Slack、SignalWire 的替代产品,来用于你的业务或个人用途。

它提供了消息应用所需的所有基本特性,让我们看下你可以从中得到的:

  • 去中心化通信
  • 如果无法设置自己的服务器,它支持公共 XMPP 的服务器
  • 和其他流行消息应用相似的 UI,因此易于使用
  • 图像和文件共享
  • 支持多个帐户
  • 高级消息搜索
  • 支持 OpenPGPOMEMO 加密
  • 轻量级原生桌面应用

在 Linux 上安装 Dino

你可能会发现它列在你的软件中心中,也可能未找到。Dino 为基于 Debian(deb)和 Fedora(rpm)的发行版提供了可用的二进制文件。

Dino 在 Ubuntu 的 universe 仓库中,你可以使用以下命令安装它:

sudo apt install dino-im

类似地,你可以在 GitHub 分发包页面上找到其他 Linux 发行版的包。

如果你想要获取最新的,你可以在 OpenSUSE 的软件页面找到 Dino 的 .deb 和 .rpm (每日构建版)安装在 Linux 中。

在任何一种情况下,前往它的 Github 页面或点击下面的链接访问官方网站。

总结

在我编写这篇文章时快速测试过它,它工作良好,没有出过问题。我将尝试探索更多,并希望能涵盖更多有关 XMPP 的文章来鼓励用户使用 XMPP 的客户端和服务器用于通信。

你觉得 Dino 怎么样?你会推荐另一个可能好于 Dino 的开源 XMPP 客户端吗?在下面的评论中让我知道你的想法。


via: https://itsfoss.com/dino-xmpp-client/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

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

从普通的 Linux 用户到 Linux 创建者 Linus Torvalds,每个人都对 WireGuard 很感兴趣。什么是 WireGuard,它为何如此特别?

什么是 WireGuard?

WireGuard 是一个易于配置、快速且安全的开源 VPN,它利用了最新的加密技术。目的是提供一种更快、更简单、更精简的通用 VPN,它可以轻松地在树莓派这类低端设备到高端服务器上部署。

IPsec 和 OpenVPN 等大多数其他解决方案是几十年前开发的。安全研究人员和内核开发人员 Jason Donenfeld 意识到它们速度慢且难以正确配置和管理。

这让他创建了一个新的开源 VPN 协议和解决方案,它更加快速、安全、易于部署和管理。

WireGuard 最初是为 Linux 开发的,但现在可用于 Windows、macOS、BSD、iOS 和 Android。它仍在活跃开发中。

为什么 WireGuard 如此受欢迎?

除了可以跨平台之外,WireGuard 的最大优点之一就是易于部署。配置和部署 WireGuard 就像配置和使用 SSH 一样容易。

看看 WireGuard 设置指南。安装 WireGuard、生成公钥和私钥(像 SSH 一样),设置防火墙规则并启动服务。现在将它和 OpenVPN 设置指南进行比较——有太多要做的了。

WireGuard 的另一个好处是它有一个仅 4000 行代码的精简代码库。将它与 OpenVPN(另一个流行的开源 VPN)的 100,000 行代码相比。显然,调试 WireGuard 更加容易。

不要因其简单而小看它。WireGuard 支持所有最新的加密技术,例如 Noise 协议框架Curve25519ChaCha20Poly1305BLAKE2SipHash24HKDF 和安全受信任结构。

由于 WireGuard 运行在内核空间,因此可以高速提供安全的网络。

这些是 WireGuard 越来越受欢迎的一些原因。Linux 创造者 Linus Torvalds 非常喜欢 WireGuard,以至于将其合并到 Linux Kernel 5.6 中:

我能否再次声明对它的爱,并希望它能很快合并?也许代码不是完美的,但我不在乎,与 OpenVPN 和 IPSec 的恐怖相比,这是一件艺术品。

Linus Torvalds

如果 WireGuard 已经可用,那么将其包含在 Linux 内核中有什么大惊小怪的?

这可能会让新的 Linux 用户感到困惑。你知道可以在 Linux 上安装和配置 WireGuard VPN 服务器,但同时也会看到 Linux Kernel 5.6 将包含 WireGuard 的消息。让我向您解释。

目前,你可以将 WireGuard 作为内核模块安装在 Linux 中。而诸如 VLC、GIMP 等常规应用安装在 Linux 内核之上(在 用户空间中),而不是内部。

当将 WireGuard 安装为内核模块时,基本上需要你自行修改 Linux 内核并向其添加代码。从 5.6 内核开始,你无需手动添加内核模块。默认情况下它将包含在内核中。

在 5.6 内核中包含 WireGuard 很有可能扩展 WireGuard 的采用,从而改变当前的 VPN 场景

总结

WireGuard 之所以受欢迎是有充分理由的。诸如 Mullvad VPN 之类的一些流行的关注隐私的 VPN 已经在使用 WireGuard,并且在不久的将来,采用率可能还会增长。

希望你对 WireGuard 有所了解。与往常一样,欢迎提供反馈。


via: https://itsfoss.com/wireguard/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

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

在过去的几个月中,出现了一些新的桌面 BSD。之前有 HyperbolaBSD,它之前是 Hyperbola GNU/LinuxBSD 世界中的另一个新入者是 FuryBSD

FuryBSD:一个新的 BSD 发行版

从本质上讲,FuryBSD 是一个非常简单的小东西。根据它的网站:“FuryBSD 一个是基于 FreeBSD 的轻量级桌面发行版。” 它基本上是预配置了桌面环境,并预安装了多个应用的 FreeBSD。目地是快速地在你的计算机上运行基于 FreeBSD 的系统。

你可能会认为这听起来很像其他几个已有的 BSD,例如 NomadBSDGhostBSD。这些 BSD 与 FuryBSD 之间的主要区别在于 FuryBSD 与现有的 FreeBSD 更加接近。例如,FuryBSD 使用 FreeBSD 安装程序,而其他发行版则用了自己的安装程序和工具。

正如它的网站所说:“尽管 FuryBSD 可能类似于 PC-BSD 和 TrueOS 等图形化 BSD 项目,但 FuryBSD 是由不同的团队创建的,并且采用了不同与 FreeBSD 着重于紧密集成的方法。这样可以降低开销,并保持与上游的兼容性。”开发负责人还告诉我:“FuryBSD 的一个主要重点是使其成为一种小型现场版介质,并带有一些测试硬件驱动程序的辅助工具。”

当前,你可以进入 FuryBSD 主页并下载 XFCE 或 KDE 的 LiveCD。GNOME 版本正在开发中。

FuryBSD 的背后是谁

FuryBSD 的主要开发者是 Joe Maloney。Joe 多年来一直是 FreeBSD 的用户。他为 PC-BSD 等其他 BSD 项目做过贡献。他还与 GhostBSD 的创建者 Eric Turgeon 一起重写了 GhostBSD LiveCD。在此过程中,他对 BSD 有了更好的了解,并开始形成自己如何做一个发行版的想法。

Joe 与其他参与 BSD 世界多年的开发者一起加入了开发,例如 Jaron Parsons、Josh Smith 和 Damian Szidiropulosz。

FuryBSD 的未来

目前,FuryBSD 仅仅是预配置的 FreeBSD。但是,开发者有一份要改进的清单。包括:

  • 可靠的加载框架、第三方专有图形驱动、无线网络
  • 进一步整理 LiveCD 体验,以使其更加友好
  • 开箱即用的打印支持
  • 包含更多默认应用,以提供完整的桌面体验
  • 集成的 ZFS 复制工具,用于备份和还原
  • Live 镜像持久化选项
  • 默认自定义 pkg 仓库
  • 用于应用更新的持续集成
  • 桌面 FreeBSD 的质量保证
  • 自定义、色彩方案和主题
  • 目录服务集成
  • 安全加固

开发者非常清楚地表明,他们所做的任何更改都需要大量的思考和研究。他们不会改进某个功能,只会在它破坏一些东西时删除或者修改它。

FuryBSD desktop

你可以如何帮助 FuryBSD?

目前,该项目还很年轻。由于所有项目都需要帮助才能生存,所以我问 Joe 他们正在寻求什么样的帮助。他说:“我们可以帮助在论坛上回答问题、回答 GitHub 上的问题,完善文档。”他还说如果人们想增加对其他桌面环境的支持,欢迎发起拉取请求。

最后的想法

尽管我还没有尝试过,但是我对 FuryBSD 感觉不错。听起来项目在掌握中。十多年来,Joe Maloney 一直在思考如何达到最佳的 BSD 桌面体验。与大多数 Linux 发行版基本上都是经过重新设计的 Ubuntu 不同,FuryBSD 背后的开发者知道他们在做什么,并且他们在更看重质量而不是花哨的功能。

你对这个在不断增长的桌面 BSD 市场的新入者怎么看?你尝试过 FuryBSD 或者会尝试一下吗?请在下面的评论中告诉我们。

如果你觉得这篇文章有趣,请在 Hacker News 或 Reddit 等社交媒体上分享它。


via: https://itsfoss.com/furybsd/

作者:John Paul 选题:lujun9972 译者:geekpi 校对:wxy

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

除了压缩和解压缩文件外,你还可以使用 zip 命令执行许多有趣的操作。这是一些其他的 zip 选项以及它们如何提供帮助。

为了节省一些磁盘空间并将文件打包在一起进行归档,我们中的一些人已经在 Unix 和 Linux 系统上压缩文件数十年了。即使这样,并不是所有人都尝试过一些有趣的压缩工具的变体。因此,在本文中,我们将介绍标准的压缩和解压缩以及其他一些有趣的压缩选项。

基本的 zip 命令

首先,让我们看一下基本的 zip 命令。它使用了与 gzip 基本上相同的压缩算法,但是有一些重要的区别。一方面,gzip 命令仅用于压缩单个文件,而 zip 既可以压缩文件,也可以将多个文件结合在一起成为归档文件。另外,gzip 命令是“就地”压缩。换句话说,它会只留下一个压缩文件,而原始文件则没有了。 这是工作中的 gzip 示例:

$ gzip onefile
$ ls -l
-rw-rw-r-- 1 shs shs 10514 Jan 15 13:13 onefile.gz

而下面是 zip。请注意,此命令要求为压缩存档提供名称,其中 gzip(执行压缩操作后)仅使用原始文件名并添加 .gz 扩展名。

$ zip twofiles.zip file*
 adding: file1 (deflated 82%)
 adding: file2 (deflated 82%)
$ ls -l
-rw-rw-r-- 1 shs shs 58021 Jan 15 13:25 file1
-rw-rw-r-- 1 shs shs 58933 Jan 15 13:34 file2
-rw-rw-r-- 1 shs shs 21289 Jan 15 13:35 twofiles.zip

请注意,原始文件仍位于原处。

所节省的磁盘空间量(即获得的压缩程度)将取决于每个文件的内容。以下示例中的变化很大。

$ zip mybin.zip ~/bin/*
 adding: bin/1 (deflated 26%)
 adding: bin/append (deflated 64%)
 adding: bin/BoD_meeting (deflated 18%)
 adding: bin/cpuhog1 (deflated 14%)
 adding: bin/cpuhog2 (stored 0%)
 adding: bin/ff (deflated 32%)
 adding: bin/file.0 (deflated 1%)
 adding: bin/loop (deflated 14%)
 adding: bin/notes (deflated 23%)
 adding: bin/patterns (stored 0%)
 adding: bin/runme (stored 0%)
 adding: bin/tryme (deflated 13%)
 adding: bin/tt (deflated 6%)

unzip 命令

unzip 命令将从一个 zip 文件中恢复内容,并且,如你所料,原来的 zip 文件还保留在那里,而类似的 gunzip 命令将仅保留未压缩的文件。

$ unzip twofiles.zip
Archive: twofiles.zip
 inflating: file1
 inflating: file2
$ ls -l
-rw-rw-r-- 1 shs shs 58021 Jan 15 13:25 file1
-rw-rw-r-- 1 shs shs 58933 Jan 15 13:34 file2
-rw-rw-r-- 1 shs shs 21289 Jan 15 13:35 twofiles.zip

zipcloak 命令

zipcloak 命令对一个 zip 文件进行加密,提示你输入两次密码(以确保你不会“胖手指”),然后将该文件原位存储。你可以想到,文件大小与原始文件会有所不同。

$ zipcloak twofiles.zip
Enter password:
Verify password:
encrypting: file1
encrypting: file2
$ ls -l
total 204
-rw-rw-r-- 1 shs shs 58021 Jan 15 13:25 file1
-rw-rw-r-- 1 shs shs 58933 Jan 15 13:34 file2
-rw-rw-r-- 1 shs shs 21313 Jan 15 13:46 twofiles.zip <== slightly larger than
 unencrypted version

请记住,压缩包之外的原始文件仍处于未加密状态。

zipdetails 命令

zipdetails 命令将向你显示详细信息:有关压缩文件的详细信息,可能比你想象的要多得多。即使我们正在查看一个加密的文件,zipdetails 也会显示文件名以及文件修改日期、用户和组信息、文件长度数据等。请记住,这都是“元数据”。我们看不到文件的内容。

$ zipdetails twofiles.zip

0000 LOCAL HEADER #1 04034B50
0004 Extract Zip Spec 14 '2.0'
0005 Extract OS 00 'MS-DOS'
0006 General Purpose Flag 0001
 [Bit 0] 1 'Encryption'
 [Bits 1-2] 1 'Maximum Compression'
0008 Compression Method 0008 'Deflated'
000A Last Mod Time 4E2F6B24 'Tue Jan 15 13:25:08 2019'
000E CRC F1B115BD
0012 Compressed Length 00002904
0016 Uncompressed Length 0000E2A5
001A Filename Length 0005
001C Extra Length 001C
001E Filename 'file1'
0023 Extra ID #0001 5455 'UT: Extended Timestamp'
0025 Length 0009
0027 Flags '03 mod access'
0028 Mod Time 5C3E2584 'Tue Jan 15 13:25:08 2019'
002C Access Time 5C3E27BB 'Tue Jan 15 13:34:35 2019'
0030 Extra ID #0002 7875 'ux: Unix Extra Type 3'
0032 Length 000B
0034 Version 01
0035 UID Size 04
0036 UID 000003E8
003A GID Size 04
003B GID 000003E8
003F PAYLOAD

2943 LOCAL HEADER #2 04034B50
2947 Extract Zip Spec 14 '2.0'
2948 Extract OS 00 'MS-DOS'
2949 General Purpose Flag 0001
 [Bit 0] 1 'Encryption'
 [Bits 1-2] 1 'Maximum Compression'
294B Compression Method 0008 'Deflated'
294D Last Mod Time 4E2F6C56 'Tue Jan 15 13:34:44 2019'
2951 CRC EC214569
2955 Compressed Length 00002913
2959 Uncompressed Length 0000E635
295D Filename Length 0005
295F Extra Length 001C
2961 Filename 'file2'
2966 Extra ID #0001 5455 'UT: Extended Timestamp'
2968 Length 0009
296A Flags '03 mod access'
296B Mod Time 5C3E27C4 'Tue Jan 15 13:34:44 2019'
296F Access Time 5C3E27BD 'Tue Jan 15 13:34:37 2019'
2973 Extra ID #0002 7875 'ux: Unix Extra Type 3'
2975 Length 000B
2977 Version 01
2978 UID Size 04
2979 UID 000003E8
297D GID Size 04
297E GID 000003E8
2982 PAYLOAD

5295 CENTRAL HEADER #1 02014B50
5299 Created Zip Spec 1E '3.0'
529A Created OS 03 'Unix'
529B Extract Zip Spec 14 '2.0'
529C Extract OS 00 'MS-DOS'
529D General Purpose Flag 0001
 [Bit 0] 1 'Encryption'
 [Bits 1-2] 1 'Maximum Compression'
529F Compression Method 0008 'Deflated'
52A1 Last Mod Time 4E2F6B24 'Tue Jan 15 13:25:08 2019'
52A5 CRC F1B115BD
52A9 Compressed Length 00002904
52AD Uncompressed Length 0000E2A5
52B1 Filename Length 0005
52B3 Extra Length 0018
52B5 Comment Length 0000
52B7 Disk Start 0000
52B9 Int File Attributes 0001
 [Bit 0] 1 Text Data
52BB Ext File Attributes 81B40000
52BF Local Header Offset 00000000
52C3 Filename 'file1'
52C8 Extra ID #0001 5455 'UT: Extended Timestamp'
52CA Length 0005
52CC Flags '03 mod access'
52CD Mod Time 5C3E2584 'Tue Jan 15 13:25:08 2019'
52D1 Extra ID #0002 7875 'ux: Unix Extra Type 3'
52D3 Length 000B
52D5 Version 01
52D6 UID Size 04
52D7 UID 000003E8
52DB GID Size 04
52DC GID 000003E8

52E0 CENTRAL HEADER #2 02014B50
52E4 Created Zip Spec 1E '3.0'
52E5 Created OS 03 'Unix'
52E6 Extract Zip Spec 14 '2.0'
52E7 Extract OS 00 'MS-DOS'
52E8 General Purpose Flag 0001
 [Bit 0] 1 'Encryption'
 [Bits 1-2] 1 'Maximum Compression'
52EA Compression Method 0008 'Deflated'
52EC Last Mod Time 4E2F6C56 'Tue Jan 15 13:34:44 2019'
52F0 CRC EC214569
52F4 Compressed Length 00002913
52F8 Uncompressed Length 0000E635
52FC Filename Length 0005
52FE Extra Length 0018
5300 Comment Length 0000
5302 Disk Start 0000
5304 Int File Attributes 0001
 [Bit 0] 1 Text Data
5306 Ext File Attributes 81B40000
530A Local Header Offset 00002943
530E Filename 'file2'
5313 Extra ID #0001 5455 'UT: Extended Timestamp'
5315 Length 0005
5317 Flags '03 mod access'
5318 Mod Time 5C3E27C4 'Tue Jan 15 13:34:44 2019'
531C Extra ID #0002 7875 'ux: Unix Extra Type 3'
531E Length 000B
5320 Version 01
5321 UID Size 04
5322 UID 000003E8
5326 GID Size 04
5327 GID 000003E8

532B END CENTRAL HEADER 06054B50
532F Number of this disk 0000
5331 Central Dir Disk no 0000
5333 Entries in this disk 0002
5335 Total Entries 0002
5337 Size of Central Dir 00000096
533B Offset to Central Dir 00005295
533F Comment Length 0000
Done

zipgrep命令

zipgrep 命令将使用 grep 类的功能来找到压缩文件中的特定内容。如果文件已加密,则需要为要检查的每个文件输入为加密所提供的密码。如果只想检查归档文件中单个文件的内容,请将其名称添加到 zipgrep 命令的末尾,如下所示。

$ zipgrep hazard twofiles.zip file1
[twofiles.zip] file1 password:
Certain pesticides should be banned since they are hazardous to the environment.

zipinfo 命令

zipinfo 命令提供有关压缩文件内容的信息,无论是否加密。这包括文件名、大小、日期和权限。

$ zipinfo twofiles.zip
Archive: twofiles.zip
Zip file size: 21313 bytes, number of entries: 2
-rw-rw-r-- 3.0 unx 58021 Tx defN 19-Jan-15 13:25 file1
-rw-rw-r-- 3.0 unx 58933 Tx defN 19-Jan-15 13:34 file2
2 files, 116954 bytes uncompressed, 20991 bytes compressed: 82.1%

zipnote 命令

zipnote 命令可用于从 zip 归档中提取注释或添加注释。要显示注释,只需在命令前面加上归档名称即可。如果之前未添加任何注释,你将看到类似以下内容:

$ zipnote twofiles.zip
@ file1
@ (comment above this line)
@ file2
@ (comment above this line)
@ (zip file comment below this line)

如果要添加注释,请先将 zipnote 命令的输出写入到文件:

$ zipnote twofiles.zip > comments

接下来,编辑你刚刚创建的文件,将注释插入到 (comment above this line) 行上方。然后使用像这样的 zipnote 命令添加注释:

$ zipnote -w twofiles.zip < comments

zipsplit 命令

当归档文件太大时,可以使用 zipsplit 命令将一个 zip 归档文件分解为多个 zip 归档文件,这样你就可以将其中某一个文件放到小型 U 盘中。最简单的方法似乎是为每个部分的压缩文件指定最大大小,此大小必须足够大以容纳最大的所包含的文件。

$ zipsplit -n 12000 twofiles.zip
2 zip files will be made (100% efficiency)
creating: twofile1.zip
creating: twofile2.zip
$ ls twofile*.zip
-rw-rw-r-- 1 shs shs 10697 Jan 15 14:52 twofile1.zip
-rw-rw-r-- 1 shs shs 10702 Jan 15 14:52 twofile2.zip
-rw-rw-r-- 1 shs shs 21377 Jan 15 14:27 twofiles.zip

请注意,提取的文件是如何依次命名为 twofile1twofile2 的。

总结

zip 命令及其一些压缩工具变体,对如何生成和使用压缩文件归档提供了很多控制。


via: https://www.networkworld.com/article/3333640/linux/zipping-files-on-linux-the-many-variations-and-how-to-use-them.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:wxy 校对:wxy

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