Seth Kenlon 发布的文章

KDE 很适合在 Linux 上进行基于终端的日程安排。konsolekalendar 命令让你从终端查看和管理 iCal 日历。

 title=

我是一个 KDE 用户,多年来我一直在 Plasma 桌面上进行着看似无尽的探索。如果你在公开场合问我,我可能会声称自己对我每天使用的桌面了如指掌。但实际上,我只是刚刚触及到表面而已。似乎每天我都能学到一个新的 KDE 技巧,让我的生活变得更轻松或更有趣,我最新的发现是 konsolekalendar 命令,它让你从终端查看和管理 iCal 日历。

Akonadi

Akonadi 项目是一个底层 KDE 框架,帮助 Plasma 桌面跟踪所有的个人信息管理器(PIM)数据。它主要是为开发者服务的,包括很多可以让程序员用来创建应用的库,通过这些程序你可以访问你的联系人、笔记、电子邮件、日历等等。Akonadi 中包括一些终端命令,比如 akonadictl 可以启动和停止 Akonadi 服务,但它们大多是为了排除故障。然而,konsolekalendar 是一个面向用户的命令,可以让你完全访问 Kontact 套件的所有数据,包括 KMail、Notes 和日历。

如果你正在运行 KDE 的 Plasma 桌面,那么你已经安装了 Kontact 套件。

 title=

你也安装好了 Akonadi 和它的工具,所以你所需要的基于终端的日历完成了!

从终端查看你的日历

由于 NextCloudRadicale 等项目的存在,你可以托管自己的 iCal 日历服务,或者你可能已经在流行的供应商(例如,Google)那里拥有一个 iCal 账户。当你使用 Kontact 管理日历时,你订阅了一个日历对象(用 Akonadi 的术语说是一个“ 集合 collection ”)。当你对你的本地日历进行更新时,这些变化会被送回你的 iCal 服务器以同步你的日历服务器和客户端。

无论你是否使用过 Kontact 的日历功能,你在 Kontact 中都有一些默认的日历对象。你有一个叫个人日历生日和纪念日的日历对象。

以下是如何显示当天的日历(默认为个人日历):

$ konsolekalendar
Date:   Saturday, January 15, 2022
        10:00 AM - 11:00 AM
Summary: Covid booster shot
UID: 8d8a1e38-c88c-4d84-99e5-23...
----------------------------------
Date:   Saturday, January 15, 2022
        12:00 PM - 01:00 PM
Summary: Lunch
UID: 7aa89a...
----------------------------------
Date:   Saturday, January 15, 2022
        01:00 PM - 04:45 PM
Summary: Afternoon coding
UID: 9cde38b...
----------------------------------
Date:   Saturday, January 15, 2022
        06:00 PM - 10:00 PM
Summary: Planescape game
UID: c73f7e98-722f-48a2-8006-66...
----------------------------------

添加一个事件

要查看你订阅的所有日历,请使用 --list-calendars 选项:

$ konsolekalendar --list-calendars
----------------------------------
3  - (Read only) Birthdays & Anniversaries
11 - Personal Calendar
60 - (Read only) Open Invitations
61 - (Read only) Declined Invitations
66 - Dnd
67 - Work
68 - Museum

左边的数字是日历的 ID。要添加一个事件到一个特定的日历,请使用 --calendar 选项,然后是日历 ID:

$ konsolekalendar --add --calendar 66 \
--date 2022-01-16 \
--time 20:00 --end-time 23:59 \
--summary "Another game" \
--description "Remember to bring dice" \
Success: "Another game" inserted

删除一个事件

你也可以删除事件。每个事件都有一个唯一的 ID(UID),在每个事件列表的底部提供:

$ konsolekalendar --list
Date:   Saturday, January 15, 2022
        06:00 PM - 10:00 PM
Summary: Planescape game
UID: c73f7e98-722f-48a2-8006-66aa8ddcf789

要删除一个事件,请使用 --delete 选项,同时使用 --uid 选项:

$ konsolekalendar --delete \
--uid c73f7e98-722f-48a2-8006-66aa8ddcf789

终端中的 Akonadi

你用 konsolekalendar 所做的一切都会立即在 Akonadi 中执行,并在 Kontact 中得到同样快的反映。使用一个并不意味着你必须放弃另一个。由于它们共享 Akonadi 后端,两者查看和编辑相同的数据。konsolekalendar 命令是一项正在进行的工作。未来的计划包括与 Kontact 的笔记和日记部分的整合,而且还有很多比本文所涉及的更多的选项。如果你在使用 KDE 桌面,试试 konsolekalendar,体验一下终端的 PIM!


via: https://opensource.com/article/22/2/manage-calendar-linux-konsolekalender-kde

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

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

pass 是一个经典的 UNIX 式密码管理系统,使用 GnuPG(GPG)作为加密方式,终端是它的主要界面。

 title=

如今,我们每个人都有几十个密码。幸运的是,这些密码大部分几乎都是网站的,你可能通过互联网浏览器访问大部分网站,而许多浏览器都有内置的密码管理器。最流行的互联网浏览器也有一个同步的功能,可以帮助你在各种设备上运行的浏览器之间分发密码,所以当你需要时,绝不会找不到你的登录信息。如果这不能够满足你,还有类似 BitWarden 这样优秀的开源项目也可以托管你加密后的密码,确保只有你自己才能解锁它们。这些方案有助于你轻松维护独特的密码,我使用这些方便系统来管理一些密码。但是我的主密码存储库比以上这些方式简单的多。我主要是使用 pass ,这是一个经典的 UNIX 式密码管理系统,使用 GnuPG(GPG)作为加密方式,终端是它的主要界面。

安装 pass

你可以从你的发行版仓库中安装 pass 命令。

在 Fedora、Mageia 和类似的发行版上,你可以用你的包管理器来安装它:

$ sudo dnf install pass

在 Elementary、Mint 和其它基于 Debian 的发行版上:

$ sudo apt install pass

在 macOS 上,你可以使用 Homebrew 来安装它:

$ brew install pass

设置 GnuPG

在使用 pass 之前,你需要一个有效的 PGP( 良好隐私 Pretty Good Privacy )密钥。如果你已经维护了一个 PGP 密钥,你可以跳过这个步骤,或者你可以选择为使用 pass 而创建一个新的密钥。最常见的开源 PGP 实现是 GnuPG(GPG),它随 Linux 一起提供。对于 macOS,你可以从 gpgtools.org、Homebrew 或者 Macports 安装它。要创建 GnuPG 密码,运行这个命令:

$ gpg --generate-key

你会被提示输入你的名字和电子邮件,并且为密钥创建一个密码。你的密钥是一个数字文件,你的密码只有你自己知道。它俩组合起来能够“加锁”和“解锁”加密信息,比如包含密码的文件。

GPG 密钥更像是一个房门钥匙或者汽车钥匙,如果你失去了它,它“锁起来”的任何东西都会变得无法获得。仅仅知道你的密码是不够的。

如果你已经管理了几个 SSH 密钥,你可能已经习惯了这一点了。如果你对数字加密密钥是个新手,可能得花些时间来适应。备份你的 ~/.gnupg 目录,这样当你下次心血来潮决定尝试一个令人兴奋的新发行版时,你就不会意外地删除它。

做一个备份,并保持备份安全。

设置 pass

要开始使用 pass ,你必须初始化一个 密码仓库 ,它定义为一个储存位置,配置为使用特定加密密钥。你可以通过与密钥相关联的名称或数字指纹来指明要用于密码存储的 GPG 密钥。你自己的名字通常更容易选择:

$ pass init seth
mkdir: created directory '/home/seth/.password-store/'
Password store initialized for seth

如果你忘记了你的名称,你可以使用 gpg 命令查看数字指纹和关联你名称的密钥:

$ gpg --list-keys
gpg --list-keys
/home/seth/.gnupg/pubring.kbx
-----------------------------
pub  ed25519 2022-01-06 [SC] [expires: 2024-01-06]
     2BFF94286461216C907CBA52F067996F13EF10D8
uid  [ultimate] Seth Kenlon <[[email protected]][7]>
sub  cv25519 2022-01-06 [E] [expires: 2024-01-06]

用指纹初始化密码库与用你的名字初始化密码库基本相同:

$ pass init 2BFF94286461216C907CBA52F067996F13EF10D8

存储密码

使用 pass add 命令添加密码到你的密码仓库:

$ pass add [www.example.com][8]
Enter password for [www.example.com][8]:

提示你键入你要添加的密码。

密码现在存储到了你的密码仓库中。你可以自己查看一下:

$ ls /root/.password-store/
www.example.com.gpg

当然,这个文件是不可读的,并且你尝试对它运行 catless 时,在你的终端上会显示乱码(如果扰乱了你的显示,可以使用 reset 命令来恢复你的终端。)

用 pass 编辑密码

我使用不同的用户名称进行不同的上网活动,所以网站的用户名常常和密码同样重要。pass 是有这个功能的,即使它默认状态下并不提示你。你可以使用 pass edit 命令添加用户名到密码文件:

$ pass edit www.example.com

这会打开一个编辑器(一般是你设置为 EDITOR 或者 VISUAL 环境变量 的编辑器) 显示 www.example.com 文件的内容。目前,那仅仅是一个密码,但是你可以添加用户名甚至网址或者你想要添加的任何信息。它是个加密了的文件,所以你可以把你要放的任何东西放到里边。

bd%dc$3a49af49498bb6f31bc964718C
user: seth123
url: example.com

保存文件然后关闭。

从 pass 获取密码

要查看密码文件的内容,使用 pass show 命令:

$ pass show www.example.com
bd%dc$3a49af49498bb6f31bc964718C
user: seth123
url: www.example.org

查找密码

有时候很难记住一个密码是归入到 www.example.com 还是 example.com,又或者一些类似 app.example.com 的网址。此外,一些网站架构使用不同的 URL 来实现不同的网站功能,所以你可能在 www.example.com 网址下填写过密码,你同时也用相同的登录信息在合作网站 www.example.org 下使用过密码。

如果有疑问,可以使用 grep 命令。pass grep 命令显示整个搜索项目的实例,无论是在文件名中还是在文件内容中:

$ pass grep example
www.example.com:
url: www.example.org

在浏览器中使用 pass

我使用 pass 来获取互联网密码以外的信息,但是网站是我经常需要密码的地方。我常常在电脑上的某个地方打开一个终端,所以我通过 Alt+Tab 键切换到终端用 pass 来获取信息并不麻烦。但是我并不这么做是因为有一些插件可以将 pass 与网页浏览器整合在一起。

pass 托管脚本

首先,安装 pass 托管脚本:

$ curl -sSL github.com/passff/passff-host/release/latest/download/install_host_app.sh

这个脚本放置了一个 Python 脚本,帮助你的浏览器访问你的密码和 GPG 密码。用你所用的浏览器的名字运行它(或者不写参数,查看全部选项):

$ bash ./install_host_app.sh firefox

如果你使用多个浏览器,你可以为每一个浏览器安装它。

pass 附件

一旦你已经安装了这个托管程序,你可以为你的浏览器安装一个附件或者扩展。在你的浏览器附件或者扩展管理器里搜索 PassFF 插件。

 title=

安装了这个附件,然后关闭并重新打开浏览器。

导航到一个你在密码仓库中存有密码的网站。在你的登录文本框右侧会显示一个小小的 “P” 图标。

 title=

点击 “P” 按钮会看到你的密码仓库中与你网站名称匹配的一个列表。

 title=

点击“纸和笔”的图标填写表单,或者通过“纸飞机”的图标填写并自动提交表单。

轻松的密码管理,而且完全整合了!

尝试用 pass 作为你的 Linux 密码管理器

对于那些想用日常使用的工具来管理密码和个人信息的用户来说,pass 命令是一个很好的选择。如果你已经依赖 GPG 和终端,那么你可能会喜欢 pass 系统。对于那些不想让他们的密码被束缚在特定程序上的用户来说,这也是一个重要的选择。可能你并不只使用一个浏览器,或者你不喜欢这种想法,即如果你决定停止使用一个应用程序,可能很难从它那里提取你的密码。使用 pass ,你可以在一个 UNIX 式的直接系统中保持对你的秘密的控制。


via: https://opensource.com/article/22/1/manage-passwords-linux-terminal

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

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

了解对新的储存设备分区的基础知识,然后下载我们的速查表,让信息近在咫尺。

 title=

在 21 世纪,我们往往认为数据存储是理所当然的。我们有许多存储介质,相对价格便宜,而且有许多不同的可用类型。然而,不论你获得的免费云存储空间有多少,没有比有一个物理硬盘空间来存储重要的数据更好了(或容量真的很大的,而当你又在一个慢速网络上时)。然而,没有几块硬盘买回来就是现成的,至少在理想的状况下可以直接使用的。无论你是买了一块新硬盘,还用不同分区安装一个系统,你需要知道怎么在 Linux 上为磁盘分区。

这篇文章介绍了 GNU Parted ,它磁盘分区最好的工具之一。如果你偏向使用图形化程序,而不算终端命令行,请阅读我的《为 Linux 格式化驱动器》这篇文章。

磁盘标签、分区和文件系统

技术上来说,一个硬盘驱动器不需要很多软件,就可用作存储设备。然而,在没有分区表和文件系统等现代惯例的情况下使用硬盘是困难的、不切实际的,而且对你的数据不安全。

关于硬盘驱动器,这里有三个你需要知道的重要概念:

  • 磁盘标签 disk label (或者 分区表 partition table )是放置在磁盘驱动器起始位置的元数据,它告诉计算机可用的存储是何种类型、以及它在磁盘驱动器的位置等信息。
  • 分区 partition 是一个识别文件系统位置的边界。举个例子,如果你有一个 512GB 的硬盘,你可以用占用所有磁盘容量(512GB)分成一个分区,或者分成两个分区,每个占用 256GB ,或者分成三个分区,占用各种不同大小的空间等等。
  • 文件系统 filesystem 是一个硬盘驱动器和计算机两者约定俗成的存储方案。计算机必须知道怎样读取文件系统来拼凑存储在驱动器上的数据,并且必须知道怎样写入数据到文件系统并保持数据的完整性。

GNU Parted 程序管理着前两个概念:磁盘标签和分区。Parted 对文件系统有所了解,但是它把文件系统的实现细节交给了其他类似 mkfs 这样的工具。

下载 GNU Parted 速查表

确定磁盘驱动器的位置

使用 GNU Parted 之前,你必须确定你的驱动器在你的系统上的位置。首先,将你要格式化的磁盘驱动器连接到你的系统,然后用 parted 命令查看连接到你的计算机的设备:

$ parted /dev/sda print devices
/dev/sda (2000GB)
/dev/sdb (1000GB)
/dev/sdc (1940MB)

你最新连接设备的名称在字母表上晚于连接时间更长的设备。举个例子,/dev/sdc 最有可能是我刚刚连接的磁盘。我能通过它的容量大小来确认,相比于我的工作站上的主要驱动器的 TB 大小来说,因为我知道我插入的 U 盘只有 2GB(1940MB,足够接近)大小。如果你不能确定,你可以得到的更多关于你想要分区的驱动器的信息:

$ parted /dev/sdc print
Model: Yoyodyne Tiny Drive 1.0 (scsi)    
Disk /dev/sdc: 1940MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  2048kB  1024kB  BS           Bloat  Hidden
 2      2049kB  1939MB  1937MB  FAT32        MyDrive

有些驱动器比其他驱动器有更多的元数据。这个磁盘表明它的物理驱动器品牌是 Yoyodyne ,此外,在磁盘的起始处包含了一个小的隐藏分区,后面是一个兼容 Windows 的臃肿的 FAT32 分区。这确实是我要重新打算格式化的驱动器。

继续之前,确认 你已经确定了要分区的正确驱动器。 对错误的驱动器重新分区会导致数据丢失。 为了安全起见,在本文中所有具有潜在破环性的命令都指向在你的系统中不太可能有的 /dev/sdX 设备。

创建磁盘标签(或者分区表)

要在磁盘上创建一个分区,驱动器必须要有一个 磁盘标签 disk label 。磁盘标签也被叫做 分区表 partition table ,所以 Parted 对两个术语都接受。

要创建一个磁盘卷标,使用 mklabelmktable 子命令:

$ parted /dev/sdX mklabel gpt

这个命令在 /dev/sdX 的驱动器前面创建了一个 gpt 标签,删除了任何可能存在的标签。这是一个快速的过程,因为所有被替换的信息都是关于分区的元数据。

创建分区

要在磁盘创建分区,使用 mkpart 子命令,后跟可选的分区名称,再跟分区的开始和结束位置。如果你在磁盘上只需要一个分区,那么大小调整是容易的:开始位置输入 1 ,结束位置输入 100% 。使用 --align opt 参数允许 Parted 调整分区边界位置便于磁盘获得最佳性能:

$ parted /dev/sdX --align opt \
mkpart example 1 100%

print 子命令查看你的新分区:

$ parted /dev/sdX print
Model: Yoyodyne Tiny Drive 1.0 (scsi)
Disk /dev/sdi: 1940MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size  
 1      1049kB  1939MB  1938MB

你不必将整个磁盘用作一个分区。分区的优势是在一个磁盘上可以存在多个文件系统,它们之间不会相互干扰。在确定分区大小的时候,你可以使用 unit 子命令来设置你想用的测量方法。Parted 可以理解 扇区 sector 柱面 cylinder 磁头 head 字节 byte 、KB、MB、GB、TB 和百分比。(LCTT 译注:具体使用方法请参阅手册页)

你也可以指定你打算使用的分区的文件系统。这并不会创建文件系统,但是它为你以后方便使用提供了元数据。

将磁盘对半分,一个是 XFS 文件系统,另一个是 EXT4 文件系统:

$ parted /dev/sdX --align opt \
mkpart xfs 1 50%
$ parted /dev/sdX --align opt \
mkpart ext4 51% 100%

命名分区

除了标记分区用于什么文件系统之外,你也可以为每个分区命名。一些文件管理器和工具可以读取分区名称,能够帮助你区分驱动器。例如,我经常有几个不同的驱动器连接到我的媒体工作站,每个属于一个不同的项目。当创建这些驱动器的时候,我同时命名了分区和文件系统,这样,无论我怎么看我的系统,有重要数据的位置都会被清楚地标示出来。

要命名一个分区,你必须知道它的序号:

$ parted /dev/sdX print
[...]
Number  Start   End     Size   File system  Name     Flags
 1      1049kB  990MB   989MB  xfs          example
 2      1009MB  1939MB  930MB  ext4         noname

要命名分区 1:

$ parted /dev/sdX name 1 example
$ parted /dev/sdX print
[...]
Number  Start   End     Size   File system  Name     Flags
 1      1049kB  990MB   989MB  xfs          example
 2      1009MB  1939MB  930MB  ext4         noname

创建文件系统

要让你的驱动器能够正常使用,你必须在新分区上创建一个文件系统。GNU Parted 并不做这些,因为它只是一个分区管理器。在磁盘上创建文件系统的 Linux 命令是 mkfs,但也有一些有用的工具可以让你用来创建特定类型的文件系统。例如,mkfs.ext4 创建 EXT4 文件系统,mkfs.xfs 创建 XFS 文件系统等等。

你的分区位于磁盘驱动器的“内部” ,所以你不是在 /dev/sdX 上创建文件系统,而是在 /dev/sdX1 上为第一个分区创建文件系统,在 /dev/sdX2 上为第二个分区创建,以此类推。

这里是一个创建 XFS 文件系统的例子:

$ sudo mkfs.xfs -L mydrive /dev/sdX1

下载我们的速查表

Parted 是一个灵活而强大的工具。你可以发出命令,如本文所示的那样,或者激活一个交互模式以不断 “连接” 你指定的驱动器:

$ parted /dev/sdX
(parted) print
[...]
Number  Start   End     Size   File system  Name     Flags
 1      1049kB  990MB   989MB  xfs          example
 2      1009MB  1939MB  930MB  ext4         noname

(parted) name 1 mydrive
(parted)

如果你打算经常使用 Parted ,下载我们的 GNU Parted 速查表,让信息近在咫尺。


via: https://opensource.com/article/21/4/linux-parted-cheat-sheet

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

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

在 KDE 上创建、检查和扩展压缩的档案。

 title=

当我完成一个项目时,我经常喜欢把为这个项目创建的所有文件放到一个档案中。这不仅可以 节省空间,而且可以让这些文件远离我的视线,防止它们在我使用 findgrep 搜索我当前想要的文件时作为结果出现。一旦文件被归档,它们就会被你的文件系统视为一个单独的对象,这意味着你不能像浏览普通文件夹那样来浏览它们。你可以把它们解压缩来列出档案的内容,或者打开一个终端,运行适当的归档命令,比如 tar 命令。又或者你可以使用一个像 Ark 这样的应用程序来列出、预览、修改和管理你的档案。

在 Linux 上安装 Ark

KDE Plasma 桌面预装了 Ark,你也可以从软件包管理器中获取。在 Fedora、Mageia 和类似的系统中,你可以运行:

$ sudo dnf install ark

在 Debian、Elementary 和类似的系统中,你可以运行:

$ sudo apt install ark

你也可以从 Flathub获取并安装它的 Flatpak 包

创建一个档案

熟悉归档的最好方法就是自己创建一个档案,然后探索它。所有的这些都可以通过 Ark 来完成。

首先,从你的应用程序菜单中启动 Ark,然后进入“ 档案 Archive ”菜单,选择“ 新建 New ”。

 title=

(图源 Seth Kenlon / CC BY-SA 4.0

给你的档案设置一个文件名,使用默认的压缩设置,并将档案保存到你的主目录。

Ark 不会自动创建空的档案,但在你设置好名称和位置后,只要你向其中添加文件,Ark 就会立即创建一个档案。

要向即将建立的档案中添加文件,只需将该文件拖入 Ark 窗口即可。

 title=

(图源 Seth Kenlon / CC BY-SA 4.0

归档有两个好处:合并和压缩。通过把文件添加到档案里,你将许多文件整合到了同一个地方。因为它们已经存在于档案中,所以,如果你想要摆脱这些文件的干扰,你完全以把原始的副本删除掉。

要查看你通过压缩文件节省了多少磁盘空间,你可以进入“ 档案 Archive ”菜单,选择“ 属性 Properties ”。它会显示出文件在归档前/后的大小,同时还有很多其他有用的元数据。

 title=

(图源 Seth Kenlon / CC BY-SA 4.0

Ark 可以做的事情还有很多,但是现在先关闭 Ark,假装你已经使用完毕。你的档案会存放在你声明保存它的位置(在这个例子中,它的名字是 example.tar.gz,位于我的用户主目录中。)

查看档案中的文件

Ark 可以打开任何档案,就像打开一个普通的文件夹一样。要在 Ark 中打开一个档案,只需在文件管理器中左键点击它(单击/双击,取决于你的系统设置)。你也可以右键点击它,并选择“ 用 Ark 打开 Open with Ark ”。

一旦档案在 Ark 中打开,你就可以在文件管理器中进行大部分操作,包括删除文件、添加新文件、预览文件内容等等。

从档案中删除文件

有时候,你会把一个文件放到一个你不需要的档案中。此时,当你想从档案中删除一个文件时,你可以右键单击该文件并选择“ 删除 Delete ”。

 title=

(图源 Seth Kenlon / CC BY-SA 4.0

向档案中添加文件

向档案中添加文件是更加容易的。你只需从文件管理器中把该文件拖拽到 Ark 里。另外,你也可以选择 Ark 右键菜单中“ 添加文件 Add Files ”。

从档案中提取单个文件

当处理一个档案时,许多人会选择解开整个档案,然后寻找他们真正需要的一两个文件。对于小型档案,这勉强说得过去,但对于大型档案来说,这会占用你大量的时间和磁盘空间,哪怕只是暂时的。

有了 Ark,你可以只提取你需要的文件,只要把它们从 Ark 窗口拖到你要保存的地方就行。另外,你也可以选择右键菜单中的“ 提取 Extract ”。

预览档案中的文件

事实上,你并不总是需要提取文件。如果你只是需要快速查看一个文件,Ark 或许可以向你展示一个文件的预览,而不需要将其解压到你的硬盘上。

要预览一个文件,在 Ark 中双击它即可。

 title=

(图源 Seth Kenlon / CC BY-SA 4.0

开始归档吧

在 Linux 桌面上管理档案是非常简单和直观的。Ark 是一个很好的归档工具,许多其他的 Linux 桌面也有类似的工具。因此,即使你不使用 Ark,其他类似的工具也能帮助到你。对我来说,归档很大程度上让我保持了文件的有条不紊、节约了磁盘空间。Ark 的存在使得我们可以很方便地和档案打交道。


via: https://opensource.com/article/22/2/archives-files-linux-ark-kde

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

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

学习 Linux 终端命令、参数的区别,以及如何使用它们来控制你的计算机。

 title=

距离我的住处几条街远的地方,有一家咖啡馆,我在每个周日都会去那里参加固定的 “ 龙与地下城 Dungeons & Dragons ”(D&D) 游戏。他们有一份菜单,前几次我去点餐时,我总是要翻看好几分钟,才能确定要点些什么。熟悉了之后,我就不用看菜单了,因为我清楚地知道他们在卖什么,也清楚地知道自己想要什么。现在点餐对我来说很简单,只要说一声“老规矩”就好了,接下来就是等待一杯咖啡、一碗薯片和烤饼被送来(通常不方便的是,在我们 做出决定 roll for initiative 的那一刻,但这也不是他们的问题)。(LCTT 译注: 做出决定 roll for initiative 是 D&D 玩家的黑话,它指的是在比赛开始前掷骰子的行为)

与餐厅的菜单类似,计算机的图形界面也为用户提供了操作选项。这里有图标、窗口和按钮,你可以搜索你想要的东西,点击项目,拖动其他项目,操纵图形界面,直到你的任务完成。不过,一段时间后,这可能会变得繁琐,甚至是效率低下。既然你清楚地知道需要做什么,那么,如果只需告诉计算机你想要发生什么,无需耗费大量的体力和脑力来搜索项目、舞动鼠标,就能达到目的,岂不是更好吗?

Linux 终端是什么

Linux 终端是一个基于文本的交互界面,它是用来控制 Linux 计算机的。虽然它只是帮助 Linux 用户完成任何特定任务的众多工具之一,但是它被广泛地认为是最有效的方法。除了编写代码,这无疑是最直接的方法。事实上,它是如此受欢迎,以至于苹果公司将操作系统的基础改为 Unix,从而获得了 Bash 和 Z shell,而微软公司开发了它自己的开源命令行 PowerShell

Linux 命令是什么

命令 commands 是一种特殊的关键词,你可以在终端中使用它,告诉计算机去执行一个动作。大多数命令是很小的应用程序,它们与你的操作系统的其他部分一起安装。你可能没有意识到它们的存在,因为它们通常被保存在相对模糊的目录中,如 /bin/sbin/usr/bin/usr/sbin,但你的终端知道在哪里可以找到它们(多亏了一个叫 PATH 的东西)。其他的命令是内置在终端中的。你不必担心一个命令是安装的还是内置的,无论是哪一种,终端都能执行。更棒的是,在大多数 Linux 发行版上,当终端找不到一个命令时,它会在互联网上搜索提供该命令的软件包,然后会主动为你提供安装软件包、运行该命令的服务。

下面是一个简单的命令:

$ ls

ls 命令是 “list” 的缩写,它会列出当前目录的内容。试一试吧!先打开一个终端窗口,然后打开一个文件管理器窗口(Linux 上叫 “ 文件 Files ”,macOS 上叫 “ 访达 Finder ”,Windows 上叫 “ 资源管理器 Windows Explorer ”)。比较一下这两个窗口,它们是同一数据的两种不同表现方式。

Linux 命令中的参数是什么

参数 argument 是命令中的任意一个“不是命令本身”的部分。例如,要列出一个特定目录的内容,你可以提供该目录的名称作为参数。

$ ls Documents

在这个例子中,ls 是命令,Documents 是参数。该命令将列出 Documents 目录的内容。

Linux 命令中的选项是什么

命令的 选项 option ,也叫 标志 flag 开关 switch ,它是命令参数的一部分。命令参数是跟在命令后面的任何东西,而选项通常(但不总是)用一个连接号(-)或两个连接号(--)来划分。请看下面这个例子:

$ ls --classify Documents

在这个例子中,--classify 是一个选项。它也有一个简短的版本,因为终端用户更喜欢少打点字来提高效率。

$ ls -F Documents

短的选项通常可以合并。下面是一个 ls 命令,它将 -l 选项与 --human-readable-h)、--classify-F) 和 --ignore-backups-B) 选项结合了起来:

$ ls -lhFB

一些选项本身可以带参数。例如,ls--format 选项可以让你改变信息的呈现方式。默认情况下,目录的内容是以列的形式提供给你的,但如果你需要它们显示为逗号分隔的列表,你可以把 --format 设置为 comma

$ ls --format=comma Documents
alluvial, android-info.txt, arduinoIntro, dmschema,
headers.snippet, twine, workshop.odt

等于号(=)是可选的,所以这样做也可以:

$ ls --format comma Documents
alluvial, android-info.txt, arduinoIntro, dmschema,
headers.snippet, twine, workshop.odt

学习使用 Linux 终端

学习如何使用终端可以提高工作效率和生产力,同时也可以使计算变得非常有趣。当我运行一个精心设计的命令时,我常常会坐下来,为我在空白屏幕上输入几个字就能实现的事情而惊叹。终端可是和很多东西相关 —— 编程、诗歌、拼图和实用主义,但无论你如何看待,它都是一个值得学习的持续创新。

在阅读和练习了这些文章中的课程后,你可以下载我们的免费电子书 系统管理员的 Bash 脚本指南,在终端中获得更多乐趣。


via: https://opensource.com/article/21/8/linux-terminal

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

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

在编译开源代码的同时在 Linux 上玩电子游戏。

 title=

我喜欢一款可以让自己沉浸数小时的好游戏,但我并不总是能够忽略工作而消失在电子游戏中。尽管如此,我还是喜欢不时的接受有趣的挑战,当我的计算机忙于做一些我需要等待的事情时,我最喜欢启动的两个应用程序是来自 KDE 游戏包的游戏:KBlocksKolf

KBlocks

我最喜欢的电子游戏是这种从方块从天上掉下来,最好是落成一排,当方块相邻时就会神奇的消失的游戏。KBlocks 就是这样的,它的实现很棒。它可以使用左箭头右箭头控制方块进行旋转,使用下箭头让方块更快的下落,使用空格键直接落下方块,不同的难度级别,方块下落的速度不同。

 title=

(Seth Kenlon, CC BY-SA 4.0

KBlocks 的默认主题是古埃及,这对游戏的玩法没有影响,但对于古埃及的爱好者来说可能是愉快的游戏体验。不过,你可以在“ 配置 KBlocks Configure KBlocks ”菜单项中更改主题。有一个名为 “Plasma” 的替代主题,或者你可以单击“ 获取新主题 Get New Themes ”按钮并下载由用户贡献的主题。

 title=

(Seth Kenlon, CC BY-SA 4.0)

主题纯粹是美学方面的事情,但就艺术类型的人而言,为休闲游戏创建主题可能是为开源项目作出贡献的一种有趣方式。

引导我进入 KDE Plasma 桌面的游戏

我承认,KBlocks 对我来说很难放下。事实上,正是我在会议期间玩游戏的愿望让我在 Emacs 中找到了 M-x tetris 命令,这反过来又让我发现并爱上了 Linux。这个游戏有很大的魅力。也许 KBlocks 将成为你发现 KDE Plasma 桌面的途径?

Kolf

我不喜欢现实生活中的高尔夫,但在电脑上,迷你高尔夫结合了模拟物理和有趣的关卡设计,既令人愉快,又令人沮丧。Kolf 的目标如你所料:将高尔夫球打入洞中。当然,目的地总是在拐角处、需要越过山丘、经过池塘或者在墙后,因此你的目标是计算球速、摩擦力、坡度和轨迹,使其完美地让球回到球洞并尽可能少的击打球。

 title=

(Seth Kenlon, CC BY-SA 4.0

它从来没有看起来那么简单,而且我认为看着高尔夫球从物体上反弹,并滚下你从未打算让它靠近的山丘,这永远不会过时。

设计自己的球场

当你尝试设计自己的迷你高尔夫球场时,乐趣才真正开始。是的,Kolf 有一个关卡编辑器,你可以在其中建造墙壁、放置池塘、山丘和沙坑,添加弹球式保险杠等等。

 title=

(Seth Kenlon, CC BY-SA 4.0

因为 Kolf 可以是多人游戏,所以给每个玩家五分钟的时间来设计一个关卡,然后看看谁在谁的关卡上做的最好,这特别有趣。

Linux KDE 游戏

这绝不是 KDE 项目中仅有的两款游戏。还有许多其它游戏,包括卡牌游戏、拼图游戏和街机游戏。KDE 游戏包的好处是,它们包含了你可以随时走开的游戏,而且它们只需要你一点点的注意力。我在编译代码时使用这些游戏来消磨时间。有时候我并不能完整的玩完一局游戏,但我总是很欣赏这种心理状态的微妙转变。


via: https://opensource.com/article/22/2/casual-gaming-linux-kde

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

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