SK 发布的文章

你好,Vim用户!今天,我偶然发现了一个很酷的程序来提高 Vim 的使用技巧。Vim 是编写和编辑代码的绝佳编辑器。然而,你们中的一些人(包括我)仍在陡峭的学习曲线中挣扎。再也不用了!来看看 PacVim,一款可帮助你学习 Vim 命令的命令行游戏。PacVim 的灵感来源于经典游戏 PacMan,它以一种好玩有趣的方式为你提供了大量的 Vim 命令练习。简而言之,PacVim 是一种深入了解 vim 命令的有趣而自由的方式。请不要将 PacMan 与 pacman (arch Linux 包管理器)混淆。 PacMan 是 20 世纪 80 年代发布的经典流行街机游戏。

在本简要指南中,我们将看到如何在 Linux 中安装和使用 PacVim。

安装 PacVim

首先按如下链接安装 Ncurses 库和开发工具

请注意,如果没有 gcc 4.8.X 或更高版本,这款游戏可能无法正确编译和安装。我在 Ubuntu 18.04 LTS 上测试了 PacVim,并且完美运行。

安装 Ncurses 和 gcc 后,运行以下命令来安装 PacVim。

$ git clone https://github.com/jmoon018/PacVim.git
$ cd PacVim
$ sudo make install

使用 PacVim 学习 Vim 命令

启动 PacVim 游戏

要玩这个游戏,只需运行:

$ pacvim [LEVEL_NUMER] [MODE]

例如,以下命令以普通模式启动游戏第 5 关。

$ pacvim 5 n

这里,5 表示等级,n表示模式。有两种模式:

  • n – 普通模式。
  • h – 困难模式。

默认模式是 h,这很难:

要从头开始(0 级),请运行:

$ pacvim

以下是我 Ubuntu 18.04 LTS 的示例输出。

要开始游戏,只需按下回车。

现在开始游戏。阅读下一节了解如何玩。

要退出,请按下 ESCq

以下命令以困难模式启动游戏第 5 关。

$ pacvim 5 h

或者,

$ pacvim 5

如何玩 PacVim?

PacVim 的使用与 PacMan 非常相似。

你必须跑过屏幕上所有的字符,同时避免鬼魂(红色字符)。

PacVim有两个特殊的障碍:

  1. 你不能移动到墙壁中(黄色)。你必须使用 vim 动作来跳过它们。
  2. 如果你踩到波浪字符(青色的 ~),你就输了!

你有三条生命。每次打赢 0、3、6、9 关时你都会获得新生命。总共有 10 关,从 0 到 9,打赢第 9 关后,游戏重置为第 0 关,但是鬼魂速度变快。

获胜条件

使用 vim 命令将光标移动到字母上并高亮显示它们。所有字母都高亮显示后,你就会获胜并进入下一关。

失败条件

如果你碰到鬼魂(用红色 G 表示)或者波浪字符,你就会失去一条命。如果命小于 0 条,你将会输掉整个游戏。

这是实现的命令列表:

作用
q退出游戏
h向左移动
j向下移动
k向上移动
l向右移动
w向前移动到下一个 word 开始
W向前移动到下一个 WORD 开始
e向前移动到下一个 word 结束
E向前移动到下一个 WORD 结束
b向后移动到下一个 word 开始
B向后移动到下一个 WORD 开始
$移动到行的末尾
0移动到行的开始
gg/1G移动到第一行的开始
数字加 G移动到由数字给出的行的开始
G移到最后一行的开头
^移到当前行的第一个 word
1337 cheatz(打赢当前关)

玩过几关之后,你可能会注意到 vim 的使用有改善。一段时间后继续玩这个游戏,直到你掌握 Vim 的使用。

建议阅读:

今天就是这些。希望这篇文章有用。PacVim 好玩又有趣并且让你有事做。同时,你应该能够彻底学习足够的 Vim 命令。试试看,你不会感到失望。

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

干杯!


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

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

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

Ohcount 是一个简单的命令行工具,可用于分析源代码并打印代码的总行数。它不仅仅是代码行计数器,还可以在含有大量代码的目录中检测流行的开源许可证,例如 GPL。此外,Ohcount 还可以检测针对特定编程 API(例如 KDE 或 Win32)的代码。在编写本指南时,Ohcount 目前支持 70 多种流行的编程语言。它用 C 语言编写,最初由 Ohloh 开发,用于在 www.openhub.net 中生成报告。

在这篇简短的教程中,我们将介绍如何安装和使用 Ohcount 来分析 Debian、Ubuntu 及其变体(如 Linux Mint)中的源代码文件。

Ohcount – 代码行计数器

安装

Ohcount 存在于 Debian 和 Ubuntu 及其派生版的默认仓库中,因此你可以使用 APT 软件包管理器来安装它,如下所示。

$ sudo apt-get install ohcount

用法

Ohcount 的使用非常简单。

你所要做的就是进入你想要分析代码的目录并执行程序。

举例来说,我将分析 coursera-dl 程序的源代码。

$ cd coursera-dl-master/
$ ohcount

以下是 Coursera-dl 的行数摘要:

如你所见,Coursera-dl 的源代码总共包含 141 个文件。第一列说明源码含有的编程语言的名称。第二列显示每种编程语言的文件数量。第三列显示每种编程语言的总行数。第四行和第五行显示代码中由多少行注释及其百分比。第六列显示空行的数量。最后一列和第七列显示每种语言的全部代码行数以及 coursera-dl 的总行数。

或者,直接使用下面的完整路径。

$ ohcount coursera-dl-master/

路径可以是任何数量的单个文件或目录。目录将被递归探测。如果没有给出路径,则使用当前目录。

如果你不想每次都输入完整目录路径,只需 cd 进入它,然后使用 ohcount 来分析该目录中的代码。

要计算每个文件的代码行数,请使用 -i 标志。

$ ohcount -i

示例输出:

当您使用 -a 标志时,ohcount 还可以显示带标注的源码。

$ ohcount -a

如你所见,显示了目录中所有源代码的内容。每行都以制表符分隔的语言名称和语义分类(代码、注释或空白)为前缀。

有时候,你只是想知道源码中使用的许可证。为此,请使用 -l 标志。

$ ohcount -l
lgpl3, coursera_dl.py
gpl coursera_dl.py

另一个可用选项是 -re,用于将原始实体信息打印到屏幕(主要用于调试)。

$ ohcount -re

要递归地查找给定路径内的所有源码文件,请使用 -d 标志。

$ ohcount -d

上述命令将显示当前工作目录中的所有源码文件,每个文件名将以制表符分隔的语言名称为前缀。

要了解更多详细信息和支持的选项,请运行:

$ ohcount --help

对于想要分析自己或其他开发人员开发的代码,并检查代码的行数,用于编写这些代码的语言以及代码的许可证详细信息等,ohcount 非常有用。

就是这些了。希望对你有用。会有更好的东西。敬请关注!

干杯!


via: https://www.ostechnix.com/ohcount-the-source-code-line-counter-and-analyzer/

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

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

正如你了解的,Arch Linux 是一个滚动版本和 DIY(自己动手)发行版。因此,在经常更新时必须小心,特别是从 AUR 等第三方存储库安装或更新软件包。如果你不知道自己在做什么,那么最终很可能会破坏系统。你有责任使 Arch Linux 更加稳定。但是,我们都会犯错误,要时刻小心是很难的。有时候,你想更新到最新的版本,但你可能会被破损的包卡住。不要惊慌!在这种情况下,你可以简单地回滚到旧的稳定包。这个简短的教程描述了如何在 Arch Linux 中以及它的变体,如 Antergos,Manjaro Linux 中降级一个包,

在 Arch Linux 中降级一个包

在 Arch Linux 中,有一个名为 “downgrade” 的实用程序,可帮助你将安装的软件包降级为任何可用的旧版本。此实用程序将检查你的本地缓存和远程服务器(Arch Linux 仓库)以查找所需软件包的旧版本。你可以从该列表中选择任何一个旧的稳定的软件包并进行安装。

该软件包在官方仓库中不可用,你需要添加非官方的 archlinuxfr 仓库。

为此,请编辑 /etc/pacman.conf 文件:

$ sudo nano /etc/pacman.conf

添加以下行:

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

保存并关闭文件。

使用以下命令来更新仓库:

$ sudo pacman -Sy

然后在终端中使用以下命令安装 “Downgrade” 实用程序:

$ sudo pacman -S downgrade

示例输出:

resolving dependencies...
 looking for conflicting packages...

Packages (1) downgrade-5.2.3-1

Total Download Size: 0.01 MiB
 Total Installed Size: 0.10 MiB

:: Proceed with installation? [Y/n]

“downgrade” 命令的典型用法是:

$ sudo downgrade [PACKAGE, ...] [-- [PACMAN OPTIONS]]

让我们假设你想要将 opera web 浏览器 降级到任何可用的旧版本。

为此,运行:

$ sudo downgrade opera

此命令将从本地缓存和远程镜像列出所有可用的 opera 包(新旧两种版本)。

示例输出:

Available packages:

 1) opera-37.0.2178.43-1-x86_64.pkg.tar.xz (local)
 2) opera-37.0.2178.43-1-x86_64.pkg.tar.xz (remote)
 3) opera-37.0.2178.32-1-x86_64.pkg.tar.xz (remote)
 4) opera-36.0.2130.65-2-x86_64.pkg.tar.xz (remote)
 5) opera-36.0.2130.65-1-x86_64.pkg.tar.xz (remote)
 6) opera-36.0.2130.46-2-x86_64.pkg.tar.xz (remote)
 7) opera-36.0.2130.46-1-x86_64.pkg.tar.xz (remote)
 8) opera-36.0.2130.32-2-x86_64.pkg.tar.xz (remote)
 9) opera-36.0.2130.32-1-x86_64.pkg.tar.xz (remote)
 10) opera-35.0.2066.92-1-x86_64.pkg.tar.xz (remote)
 11) opera-35.0.2066.82-1-x86_64.pkg.tar.xz (remote)
 12) opera-35.0.2066.68-1-x86_64.pkg.tar.xz (remote)
 13) opera-35.0.2066.37-2-x86_64.pkg.tar.xz (remote)
 14) opera-34.0.2036.50-1-x86_64.pkg.tar.xz (remote)
 15) opera-34.0.2036.47-1-x86_64.pkg.tar.xz (remote)
 16) opera-34.0.2036.25-1-x86_64.pkg.tar.xz (remote)
 17) opera-33.0.1990.115-2-x86_64.pkg.tar.xz (remote)
 18) opera-33.0.1990.115-1-x86_64.pkg.tar.xz (remote)
 19) opera-33.0.1990.58-1-x86_64.pkg.tar.xz (remote)
 20) opera-32.0.1948.69-1-x86_64.pkg.tar.xz (remote)
 21) opera-32.0.1948.25-1-x86_64.pkg.tar.xz (remote)
 22) opera-31.0.1889.174-1-x86_64.pkg.tar.xz (remote)
 23) opera-31.0.1889.99-1-x86_64.pkg.tar.xz (remote)
 24) opera-30.0.1835.125-1-x86_64.pkg.tar.xz (remote)
 25) opera-30.0.1835.88-1-x86_64.pkg.tar.xz (remote)
 26) opera-30.0.1835.59-1-x86_64.pkg.tar.xz (remote)
 27) opera-30.0.1835.52-1-x86_64.pkg.tar.xz (remote)
 28) opera-29.0.1795.60-1-x86_64.pkg.tar.xz (remote)
 29) opera-29.0.1795.47-1-x86_64.pkg.tar.xz (remote)
 30) opera-28.0.1750.51-1-x86_64.pkg.tar.xz (remote)
 31) opera-28.0.1750.48-1-x86_64.pkg.tar.xz (remote)
 32) opera-28.0.1750.40-1-x86_64.pkg.tar.xz (remote)
 33) opera-27.0.1689.76-1-x86_64.pkg.tar.xz (remote)
 34) opera-27.0.1689.69-1-x86_64.pkg.tar.xz (remote)
 35) opera-27.0.1689.66-1-x86_64.pkg.tar.xz (remote)
 36) opera-27.0.1689.54-2-x86_64.pkg.tar.xz (remote)
 37) opera-27.0.1689.54-1-x86_64.pkg.tar.xz (remote)
 38) opera-26.0.1656.60-1-x86_64.pkg.tar.xz (remote)
 39) opera-26.0.1656.32-1-x86_64.pkg.tar.xz (remote)
 40) opera-12.16.1860-2-x86_64.pkg.tar.xz (remote)
 41) opera-12.16.1860-1-x86_64.pkg.tar.xz (remote)

select a package by number:

只需输入你选择的包号码,然后按回车即可安装。

就这样。当前安装的软件包将被降级为旧版本。

另外阅读:在 Arch Linux 中如何将所有软件包降级到特定日期

那么,如何避免已损坏的软件包并使 Arch Linux 更加稳定?

在更新 Arch Linux 之前查看 Arch Linux 新闻论坛,看看是否有任何已报告的问题。过去几周我一直在使用 Arch Linux 作为我的主要操作系统,以下是我在这段时间内发现的一些简单提示,以避免在 Arch Linux 中安装不稳定的软件包。

  1. 避免部分升级。这意味着永远不要运行 pacman -Sy <软件包名称>。此命令将在安装软件包时部分升级你的系统。相反,优先使用 pacman -Syu 来更新系统,然后使用 package -S <软件包名称> 安装软件包。
  2. 避免使用 pacman -Syu -force 命令。-force 标志将忽略程序包和文件冲突,并且可能会以破损的程序包或损坏的系统结束。
  3. 不要跳过依赖性检查。这意味着不要使用 pacman -Rdd <软件包名称>。此命令将在删除软件包时避免依赖性检查。如果你运行这个命令,另一个重要的包所需的关键依赖也可以被删除。最终,它会损坏你的 Arch Linux。
  4. 定期备份重要数据和配置文件以避免数据丢失总是一个好习惯。
  5. 安装第三方软件包和 AUR 等非官方软件包时要小心。不要安装那些正在经历重大发展的软件包。

有关更多详细信息,请查看 Arch Linux 维护指南

我不是 Arch Linux 专家,我仍然在学习如何使它更稳定。如果你有任何技巧让 Arch Linux 保持稳定和安全,请在下面的评论部分保持稳定和安全告诉我,我将洗耳恭听。

希望这可以有帮助。目前为止这就是全部了。我很快会再次在这里与另一篇有趣的文章。在此之前,请继续关注。

干杯!


via: https://www.ostechnix.com/downgrade-package-arch-linux/

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

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

Bittorrent 已经存在了很长时间,它可以从互联网上共享和下载数据。市场上有大量的 GUI 和 CLI 的 Bittorrent 客户端。有时,你不能坐下来等待你的下载完成。你可能想要立即观看内容。这就是 BTFS 这个不起眼的文件系统派上用场的地方。使用 BTFS,你可以将种子文件或磁力链接挂载为目录,然后在文件树中作为只读目录。这些文件的内容将在程序读取时按需下载。由于 BTFS 在 FUSE 之上运行,因此不需要干预 Linux 内核。

安装 BTFS

BTFS 存在于大多数 Linux 发行版的默认仓库中。

在 Arch Linux 及其变体上,运行以下命令来安装 BTFS。

$ sudo pacman -S btfs

在Debian、Ubuntu、Linux Mint 上:

$ sudo apt-get install btfs

在 Gentoo 上:

# emerge -av btfs

BTFS 也可以使用 Linuxbrew 包管理器进行安装。

$ brew install btfs

用法

BTFS 的使用非常简单。你所要做的就是找到 .torrent 文件或磁力链接,并将其挂载到一个目录中。种子文件或磁力链接的内容将被挂载到你选择的目录内。当一个程序试图访问该文件进行读取时,实际的数据将按需下载。此外,像 lscatcp 这样的工具能按照预期的方式来操作种子。像 vlcmplayer 这样的程序也可以不加修改地工作。玩家甚至不知道实际内容并非物理存在于本地磁盘中,而是根据需要从 peer 中收集。

创建一个目录来挂载 torrent/magnet 链接:

$ mkdir mnt

挂载 torrent/magnet 链接:

$ btfs video.torrent mnt

cd 到目录:

$ cd mnt

然后,开始观看!

$ vlc <path-to-video.mp4>

给 BTFS 一些时间来找到并获取网站 tracker。一旦加载了真实数据,BTFS 将不再需要 tracker。

要卸载 BTFS 文件系统,只需运行以下命令:

$ fusermount -u mnt

现在,挂载目录中的内容将消失。要再次访问内容,你需要按照上面的描述挂载 torrent。

BTFS 会将你的 VLC 或 Mplayer 变成爆米花时间。挂载你最喜爱的电视节目或电影的种子文件或磁力链接,然后开始观看,无需下载整个种子内容或等待下载完成。种子或磁力链接的内容将在程序访问时按需下载。

就是这些了。希望这些有用。还会有更好的东西。敬请关注!

干杯!


via: https://www.ostechnix.com/btfs-a-bittorrent-filesystem-based-on-fuse/

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

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

今天,我们要了解 Orbital AppsORBOpen Runnable Bundle)apps(开放可运行程序包),一个自由的、跨平台的开源程序集合。所有 ORB 程序都是可移动的。你可以将它们安装在你的 Linux 系统或 USB 驱动器上,以便你可以在任何系统上使用相同的程序。它们不需要 root 权限,并且没有依赖关系。所有必需的依赖关系都包含在程序中。只需将 ORB 程序复制到 USB 驱动器并将其插入到任何 Linux 系统中就立即开始使用它们。所有设置和配置以及程序的数据都将存储在 USB 驱动器上。由于不需要在本地驱动器上安装程序,我们可以在联机或脱机的计算机上运行应用程序。这意味着我们不需要 Internet 来下载任何依赖。

ORB 程序压缩了 60%,因此我们甚至可以从小型 USB 驱动器存储和使用它们。所有 ORB 应用程序都使用 PGP / RSA 进行签名,并通过 TLS 1.2 进行分发。所有应用程序打包时都不做任何修改,甚至不会重新编译。以下是当前可用的便携式 ORB 应用程序列表。

  • abiword
  • audacious
  • audacity
  • darktable
  • deluge
  • filezilla
  • firefox
  • gimp
  • gnome-mplayer
  • hexchat
  • inkscape
  • isomaster
  • kodi
  • libreoffice
  • qbittorrent
  • sound-juicer
  • thunderbird
  • tomahawk
  • uget
  • vlc
  • 未来还有更多

Orb 是开源的,所以如果你是开发人员,欢迎协作并添加更多程序。

下载并使用可移动 ORB 程序

正如我已经提到的,我们不需要安装可移动 ORB 程序。但是,ORB 团队强烈建议你使用 ORB 启动器 来获得更好的体验。 ORB 启动器是一个小的安装程序(小于 5MB),它可帮助你启动 ORB 程序,并获得更好,更流畅的体验。

让我们先安装 ORB 启动器。为此,下载 ORB 启动器。你可以手动下载 ORB 启动器的 ISO 并将其挂载到文件管理器上。或者在终端中运行以下任一命令来安装它:

$ wget -O - https://www.orbital-apps.com/orb.sh | bash

如果你没有 wget,请运行:

$ curl https://www.orbital-apps.com/orb.sh | bash

询问时输入 root 用户和密码。

就是这样。Orbit 启动器已安装并可以使用。

现在,进入 ORB 可移动程序下载页面,并下载你选择的程序。在本教程中,我会下载 Firefox。

下载完后,进入下载位置并双击 ORB 程序来启动它。点击 Yes 确认。

Firefox ORB 程序能用了!

同样,你可以立即下载并运行任何程序。

如果你不想使用 ORB 启动器,请将下载的 .orb 安装程序设置为可执行文件,然后双击它进行安装。不过,建议使用 ORB 启动器,它可让你在使用 ORB 程序时更轻松、更顺畅。

就我测试的 ORB 程序而言,它们打开即可使用。希望这篇文章有帮助。今天就是这些。祝你有美好的一天!

干杯!!


via: https://www.ostechnix.com/orbitalapps-new-generation-ubuntu-linux-applications/

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

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

在我们之前的教程中,我们讨论了如何使用 gzip 和 bzip2 压缩和解压缩文件。在本教程中,我们将学习如何在 Linux 归档文件。归档和压缩有什么不同吗?你们中的一些人可能经常认为这些术语有相同的含义。但是,这两者完全不同。归档是将多个文件和目录(相同或不同大小)组合成一个文件的过程。另一方面,压缩是减小文件或目录大小的过程。归档通常用作系统备份的一部分,或者将数据从一个系统移至另一个系统时。希望你了解归档和压缩之间的区别。现在,让我们进入主题。

归档文件和目录

归档文件和目录最常见的程序是:

  1. tar
  2. zip

这是一个很大的话题,所以,我将分两部分发表这篇文章。在第一部分中,我们将看到如何使用 tar 命令来归档文件和目录。

使用 tar 命令归档文件和目录

Tar 是一个 Unix 命令,代表 Tape Archive(磁带归档)。它用于将多个文件(相同或不同大小)组合或存储到一个文件中。在 tar 实用程序中有 4 种主要的操作模式。

  1. c – 从文件或目录中建立归档
  2. x – 提取归档
  3. r – 将文件追加到归档
  4. t – 列出归档的内容

有关完整的模式列表,参阅 man 手册页。

创建一个新的归档

为了本指南,我将使用名为 ostechnix 的文件夹,其中包含三种不同类型的文件。

$ ls ostechnix/
file.odt image.png song.mp3

现在,让我们为 ostechnix 目录创建一个新的 tar 归档。

$ tar cf ostechnix.tar ostechnix/

这里,c 标志指的是创建新的归档,f 是指定归档文件。

同样,对当前工作目录中的一组文件创建归档文件,使用以下命令:

$ tar cf archive.tar file1 file2 file 3

提取归档

要在当前目录中提取归档文件,只需执行以下操作:

$ tar xf ostechnix.tar

我们还可以使用 C 标志(大写字母 C)将归档提取到不同的目录中。例如,以下命令将归档文件提取到 Downloads 目录中。

$ tar xf ostechnix.tar -C Downloads/

或者,转到 Downloads 文件夹并像下面一样提取其中的归档。

$ cd Downloads/
$ tar xf ../ostechnix.tar

有时,你可能想要提取特定类型的文件。例如,以下命令提取 “.png” 类型的文件。

$ tar xf ostechnix.tar --wildcards "*.png"

创建 gzip 和 bzip 格式的压缩归档

默认情况下,tar 创建归档文件以 .tar 结尾。另外,tar 命令可以与压缩实用程序 gzipbzip 结合使用。文件结尾以 .tar 为扩展名使用普通 tar 来归档文件,文件以 tar.gz.tgz 结尾使用 gzip 归档并压缩文件,文件以 tar.bz2.tbz 结尾使用 bzip 归档并压缩。

首先,让我们来创建一个 gzip 归档:

$ tar czf ostechnix.tar.gz ostechnix/

或者:

$ tar czf ostechnix.tgz ostechnix/

这里,我们使用 z 标志来使用 gzip 压缩方法压缩归档文件。

你可以使用 v 标志在创建归档时查看进度。

$ tar czvf ostechnix.tar.gz ostechnix/
ostechnix/
ostechnix/file.odt
ostechnix/image.png
ostechnix/song.mp3

这里,v 指显示进度。

从一个文件列表创建 gzip 归档文件:

$ tar czf archive.tgz file1 file2 file3

要提取当前目录中的 gzip 归档文件,使用:

$ tar xzf ostechnix.tgz

要提取到其他文件夹,使用 -C 标志:

$ tar xzf ostechnix.tgz -C Downloads/

现在,让我们创建 bzip 归档。为此,请使用下面的 j 标志。

创建一个目录的归档:

$ tar cjf ostechnix.tar.bz2 ostechnix/

$ tar cjf ostechnix.tbz ostechnix/

从一个列表文件中创建归档:

$ tar cjf archive.tar.bz2 file1 file2 file3

$ tar cjf archive.tbz file1 file2 file3

为了显示进度,使用 v 标志。

现在,在当前目录下,让我们提取一个 bzip 归档。这样做:

$ tar xjf ostechnix.tar.bz2

或者,提取归档文件到其他目录:

$ tar xjf ostechnix.tar.bz2 -C Downloads

一次创建多个目录和/或文件的归档

这是 tar 命令的另一个最酷的功能。要一次创建多个目录或文件的 gzip 归档文件,使用以下文件:

$ tar czvf ostechnix.tgz Downloads/ Documents/ ostechnix/file.odt

上述命令创建 DownloadsDocuments 目录和 ostechnix 目录下的 file.odt 文件的归档,并将归档保存在当前工作目录中。

在创建归档时跳过目录和/或文件

这在备份数据时非常有用。你可以在备份中排除不重要的文件或目录,这是 –exclude 选项所能帮助的。例如你想要创建 /home 目录的归档,但不希望包括 DownloadsDocumentsPicturesMusic 这些目录。

这是我们的做法:

$ tar czvf ostechnix.tgz /home/sk --exclude=/home/sk/Downloads --exclude=/home/sk/Documents --exclude=/home/sk/Pictures --exclude=/home/sk/Music

上述命令将对我的 $HOME 目录创建一个 gzip 归档,其中不包括 DownloadsDocumentsPicturesMusic 目录。要创建 bzip 归档,将 z 替换为 j,并在上例中使用扩展名 .bz2

列出归档文件但不提取它们

要列出归档文件的内容,我们使用 t 标志。

$ tar tf ostechnix.tar
ostechnix/
ostechnix/file.odt
ostechnix/image.png
ostechnix/song.mp3

要查看详细输出,使用 v 标志。

$ tar tvf ostechnix.tar
drwxr-xr-x sk/users 0 2018-03-26 19:52 ostechnix/
-rw-r--r-- sk/users 9942 2018-03-24 13:49 ostechnix/file.odt
-rw-r--r-- sk/users 36013 2015-09-30 11:52 ostechnix/image.png
-rw-r--r-- sk/users 112383 2018-02-22 14:35 ostechnix/song.mp3

追加文件到归档

文件或目录可以使用 r 标志添加/更新到现有的归档。看看下面的命令:

$ tar rf ostechnix.tar ostechnix/ sk/ example.txt

上面的命令会将名为 sk 的目录和名为 exmple.txt 添加到 ostechnix.tar 归档文件中。

你可以使用以下命令验证文件是否已添加:

$ tar tvf ostechnix.tar
drwxr-xr-x sk/users 0 2018-03-26 19:52 ostechnix/
-rw-r--r-- sk/users 9942 2018-03-24 13:49 ostechnix/file.odt
-rw-r--r-- sk/users 36013 2015-09-30 11:52 ostechnix/image.png
-rw-r--r-- sk/users 112383 2018-02-22 14:35 ostechnix/song.mp3
drwxr-xr-x sk/users 0 2018-03-26 19:52 sk/
-rw-r--r-- sk/users 0 2018-03-26 19:39 sk/linux.txt
-rw-r--r-- sk/users 0 2018-03-26 19:56 example.txt

TL;DR

创建 tar 归档:

  • 普通 tar 归档: tar -cf archive.tar file1 file2 file3
  • Gzip tar 归档: tar -czf archive.tgz file1 file2 file3
  • Bzip tar 归档: tar -cjf archive.tbz file1 file2 file3

提取 tar 归档:

  • 普通 tar 归档: tar -xf archive.tar
  • Gzip tar 归档: tar -xzf archive.tgz
  • Bzip tar 归档: tar -xjf archive.tbz

我们只介绍了 tar 命令的基本用法,这些对于开始使用 tar 命令足够了。但是,如果你想了解更多详细信息,参阅 man 手册页。

$ man tar

好吧,这就是全部了。在下一部分中,我们将看到如何使用 Zip 实用程序来归档文件和目录。

干杯!


via: https://www.ostechnix.com/how-to-archive-files-and-directories-in-linux-part-1/

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

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