如何在 Linux 中从一个 PDF 文件中移除密码
我知道这个 PDF 文件的密码,但是我不想透露密码。作为代替,我只想移除密码并发送文件给他。Media
via https://linux.cn/article-10321-1.html
我知道这个 PDF 文件的密码,但是我不想透露密码。作为代替,我只想移除密码并发送文件给他。Media
via https://linux.cn/article-10321-1.html
如何在 Linux 中从一个 PDF 文件中移除密码
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/07/234454fw5uhgh80umgcl88.png">Media</a>今天,我碰巧分享一个受密码保护的 PDF 文件给我的一个朋友。我知道这个 PDF 文件的密码,但是我不想透露密码。作为代替,我只想移除密码并发送文件给他。我开始在因特网上查找一些简单的方法来从 PDF 文件中移除密码保护。在快速 google 搜索后,在 Linux 中,我带来四种方法来从一个 PDF 文件中移除密码。有趣的事是,在几年以前我已经做过这事情但是我忘记了。如果你想知道,如何在 Linux 中从一个 PDF 文件移除密码,继续读!它是不难的。在Linux中从一个PDF文件中移除密码方法 1 – 使用 Qpdf<strong>Qpdf</strong> 是一个 PDF 转换软件,它被用于加密和解密 PDF 文件,转换 PDF 文件到其他等效的 PDF 文件。 Qpdf 在大多数 Linux 发行版中的默认存储库中是可用的,所以你可以使用默认的软件包安装它。例如,Qpdf 可以被安装在 Arch Linux 和它的衍生版,使用 <a href="https://www.ostechnix.com/getting-started-pacman/">pacman</a> ,像下面显示。<pre class="prettyprint linenums">$ sudo pacman -S qpdf</pre>在 Debian、Ubuntu、Linux Mint 上:<pre class="prettyprint linenums">$ sudo apt-get install qpdf</pre>现在,让我们使用 qpdf 从一个 pdf 文件移除密码。我有一个受密码保护的 PDF 文件,名为 secure.pdf。每当我打开这个文件时,它提示我输入密码来显示它的内容。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/07/234458mixslisxmuuxisrp.png">Media</a>我知道上面 PDF 文件的密码。然而,我不想与任何人共享密码。所以,我将要做的事是简单地移除 PDF 文件的密码,使用 Qpdf…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/07/234454fw5uhgh80umgcl88.png">Media</a>今天,我碰巧分享一个受密码保护的 PDF 文件给我的一个朋友。我知道这个 PDF 文件的密码,但是我不想透露密码。作为代替,我只想移除密码并发送文件给他。我开始在因特网上查找一些简单的方法来从 PDF 文件中移除密码保护。在快速 google 搜索后,在 Linux 中,我带来四种方法来从一个 PDF 文件中移除密码。有趣的事是,在几年以前我已经做过这事情但是我忘记了。如果你想知道,如何在 Linux 中从一个 PDF 文件移除密码,继续读!它是不难的。在Linux中从一个PDF文件中移除密码方法 1 – 使用 Qpdf<strong>Qpdf</strong> 是一个 PDF 转换软件,它被用于加密和解密 PDF 文件,转换 PDF 文件到其他等效的 PDF 文件。 Qpdf 在大多数 Linux 发行版中的默认存储库中是可用的,所以你可以使用默认的软件包安装它。例如,Qpdf 可以被安装在 Arch Linux 和它的衍生版,使用 <a href="https://www.ostechnix.com/getting-started-pacman/">pacman</a> ,像下面显示。<pre class="prettyprint linenums">$ sudo pacman -S qpdf</pre>在 Debian、Ubuntu、Linux Mint 上:<pre class="prettyprint linenums">$ sudo apt-get install qpdf</pre>现在,让我们使用 qpdf 从一个 pdf 文件移除密码。我有一个受密码保护的 PDF 文件,名为 secure.pdf。每当我打开这个文件时,它提示我输入密码来显示它的内容。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/07/234458mixslisxmuuxisrp.png">Media</a>我知道上面 PDF 文件的密码。然而,我不想与任何人共享密码。所以,我将要做的事是简单地移除 PDF 文件的密码,使用 Qpdf…
为什么未来的学校是开放式的
一个学生对现代教育并不那么悲观的观点。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/08/132045udrlgeuqgqgqka0e.png">Media</a>最近有些人和我说现代教育会是什么样子,我回答说:就像过去一百年一样。我们为什么会对我们的教育体系保持悲观态度呢?这不是一个悲观的观点,而是一个务实的观点。任何花时间在学校的人都会有同样的感觉,我们对教导年轻人的方式固执地抵制变革。随着美国学校开始新的一年,大多数学生回到了桌子排成一排排的教室。教学环境主要以教师为中心,学生的进步由卡内基单位和 A-F 评分来衡量,而合作通常被认为是作弊。我们从哪能够找到证据指出这种工业化模式正在产生所预想的结果?每个孩子都得到个人关注,以培养对学习的热爱,并发展出当今创新经济中茁壮成长所需的技能,我们很可能对现状非常满意。 但是,任何真实客观地看待当前的指标都表明要从基本开始改变。但我的观点并非悲观。 事实上,非常乐观。尽管我们可以很容易的阐述现代教育的问题所在,但我也知道一个例子,教育利益相关者愿意走出那些舒适的环境,并挑战这个对变革无动于衷的体系。教师要与同龄人进行更多的合作,并采取更多方式公开透明的对原型创意进行展示,从而为学生带来真正的创新 —— 而不是通过技术重新包装传统&#…
一个学生对现代教育并不那么悲观的观点。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/08/132045udrlgeuqgqgqka0e.png">Media</a>最近有些人和我说现代教育会是什么样子,我回答说:就像过去一百年一样。我们为什么会对我们的教育体系保持悲观态度呢?这不是一个悲观的观点,而是一个务实的观点。任何花时间在学校的人都会有同样的感觉,我们对教导年轻人的方式固执地抵制变革。随着美国学校开始新的一年,大多数学生回到了桌子排成一排排的教室。教学环境主要以教师为中心,学生的进步由卡内基单位和 A-F 评分来衡量,而合作通常被认为是作弊。我们从哪能够找到证据指出这种工业化模式正在产生所预想的结果?每个孩子都得到个人关注,以培养对学习的热爱,并发展出当今创新经济中茁壮成长所需的技能,我们很可能对现状非常满意。 但是,任何真实客观地看待当前的指标都表明要从基本开始改变。但我的观点并非悲观。 事实上,非常乐观。尽管我们可以很容易的阐述现代教育的问题所在,但我也知道一个例子,教育利益相关者愿意走出那些舒适的环境,并挑战这个对变革无动于衷的体系。教师要与同龄人进行更多的合作,并采取更多方式公开透明的对原型创意进行展示,从而为学生带来真正的创新 —— 而不是通过技术重新包装传统&#…
关于 top 工具的 6 个替代方案
我并不会说它们比 top 更好或者可以完全替代 top,但多了解一些类似的工具总是好的。Media
via https://linux.cn/article-10323-1.html
我并不会说它们比 top 更好或者可以完全替代 top,但多了解一些类似的工具总是好的。Media
via https://linux.cn/article-10323-1.html
关于 top 工具的 6 个替代方案
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/08/134540t9h4rrsd9k68pahm.jpg">Media</a>在 GitHub 和 GitLab 上,不断有来自世界各地的开源应用程序和工具涌现。其中有全新的应用程序,也有针对现有各种被广泛使用的 Linux 程序的替代方案。在本文档中,我会介绍一些针对 <a href="https://www.ostechnix.com/the-top-command-tutorial-with-examples-for-beginners/">top</a> 工具(也就是命令行任务管理器程序)的替代方案。top 工具的替代方案在本文中,将会介绍以下 6 种 top 工具的替代方案:HtopVtopGtopGotopPtopHegemon如果后续有更多类似的工具,原作者会在原文进行更新。如果你对此有兴趣,可以持续关注。Htophtop 是一个流行的开源跨平台交互式进程管理器,也是我最喜欢的系统活动监控工具。htop 是对原版 top 工具的扩展。它最初只是用于 Linux 系统,后来开发者们不断为其添加对其它类 Unix 操作系统的支持,包括 FreeBSD 和 Mac OS。htop 还是一个自由开源软件,它基于 ncurses 并按照 GPLv2 发布。和原版的 top 工具相比,htop 工具有这些优势:htop 比 top 启动更快htop 支持横向滚动和纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行在 top 工具中进行杀死进程、更改进程优先级这些操作时,需要输入进程 ID,而在 htop 工具中则不需要输入在 htop 中可以同时杀死多个进程在 top 中每次输入一个未预设的键都要等待一段时间,尤其是在多个键组成转义字符串的时候就更麻烦了在很多 Linux 发行版的默认软件仓库中,都带有了…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/08/134540t9h4rrsd9k68pahm.jpg">Media</a>在 GitHub 和 GitLab 上,不断有来自世界各地的开源应用程序和工具涌现。其中有全新的应用程序,也有针对现有各种被广泛使用的 Linux 程序的替代方案。在本文档中,我会介绍一些针对 <a href="https://www.ostechnix.com/the-top-command-tutorial-with-examples-for-beginners/">top</a> 工具(也就是命令行任务管理器程序)的替代方案。top 工具的替代方案在本文中,将会介绍以下 6 种 top 工具的替代方案:HtopVtopGtopGotopPtopHegemon如果后续有更多类似的工具,原作者会在原文进行更新。如果你对此有兴趣,可以持续关注。Htophtop 是一个流行的开源跨平台交互式进程管理器,也是我最喜欢的系统活动监控工具。htop 是对原版 top 工具的扩展。它最初只是用于 Linux 系统,后来开发者们不断为其添加对其它类 Unix 操作系统的支持,包括 FreeBSD 和 Mac OS。htop 还是一个自由开源软件,它基于 ncurses 并按照 GPLv2 发布。和原版的 top 工具相比,htop 工具有这些优势:htop 比 top 启动更快htop 支持横向滚动和纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行在 top 工具中进行杀死进程、更改进程优先级这些操作时,需要输入进程 ID,而在 htop 工具中则不需要输入在 htop 中可以同时杀死多个进程在 top 中每次输入一个未预设的键都要等待一段时间,尤其是在多个键组成转义字符串的时候就更麻烦了在很多 Linux 发行版的默认软件仓库中,都带有了…
如何在 Ubuntu 18.04 LTS 中配置 IP 地址
在 Ubuntu 18.04 LTS 中配置 IP 地址的方法和以往使用的配置方法有很大的不同。和旧版本的不同之处在于,Ubuntu 18.04 使用 Netplan 来配置 IP 地址Media
via https://linux.cn/article-10324-1.html
在 Ubuntu 18.04 LTS 中配置 IP 地址的方法和以往使用的配置方法有很大的不同。和旧版本的不同之处在于,Ubuntu 18.04 使用 Netplan 来配置 IP 地址Media
via https://linux.cn/article-10324-1.html
如何在 Ubuntu 18.04 LTS 中配置 IP 地址
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/100932s1ac5lcvvvm6f5f1.jpg">Media</a>在 Ubuntu 18.04 LTS 中配置 IP 地址的方法和以往使用的配置方法有很大的不同。和旧版本的不同之处在于,Ubuntu 18.04 使用 <strong>Netplan</strong> 来配置 IP 地址,<strong>Netplan</strong> 是一个新的命令行网络配置工具。其实在 Ubuntu 17.10 的时候 Ubuntu 开发者就已经介绍过 Netplan 了。接下来要介绍的新的 IP 配置方法不会再用到 /etc/network/interfaces 这个文件,取而代之的是一个 YAML 文件。默认的 Netplan 配置文件一般在 /etc/netplan 目录下。 在这篇教程中,我们会去学习在 <strong>Ubuntu 18.04 LTS</strong> 的最小化服务器中配置静态 IP 和动态 IP 。在 Ubuntu 18.04 LTS 中配置静态 IP 地址首先先找到 Netplan 默认的网络配置文件所在之处:<pre class="prettyprint linenums">$ ls /etc/netplan/50-cloud-init.yaml</pre>我们可以看到,默认的网络配置文件是 50-cloud-init.yaml ,这是一个 YAML 文件。然后我们再看一下这个文件的内容是什么:<pre class="prettyprint linenums">$ cat /etc/netplan/50-cloud-init.yaml</pre>我在之前安装 Ubuntu 18.04 的时候为了从 DHCP 服务器获取 IP 地址已经已经做过了网卡的相关配置,所以详细配置直接看下图:<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/100932lxoff3pq4cg4siiu.png">Media</a>可以看到这边有两个网卡,分别是 enp0s3 和 enp0s8 ,并且这两个网卡都配置为从 DHCP 服务器中获取 IP。现在我们给这两个网卡都配置为静态 IP 地址,先用任意一种编辑器来编辑配置文件。<pre class="prettyprint linenums">$ sudo nano /etc/netplan/50-cloud-init.yaml</pre>接下来我们分别添加 IP 地址、子网掩码、网关、DNS 服务器等配置。分别用 192.168.225.50 作为网卡 enp0s3 的 IP 地址, 192.168.225.51 作为&…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/100932s1ac5lcvvvm6f5f1.jpg">Media</a>在 Ubuntu 18.04 LTS 中配置 IP 地址的方法和以往使用的配置方法有很大的不同。和旧版本的不同之处在于,Ubuntu 18.04 使用 <strong>Netplan</strong> 来配置 IP 地址,<strong>Netplan</strong> 是一个新的命令行网络配置工具。其实在 Ubuntu 17.10 的时候 Ubuntu 开发者就已经介绍过 Netplan 了。接下来要介绍的新的 IP 配置方法不会再用到 /etc/network/interfaces 这个文件,取而代之的是一个 YAML 文件。默认的 Netplan 配置文件一般在 /etc/netplan 目录下。 在这篇教程中,我们会去学习在 <strong>Ubuntu 18.04 LTS</strong> 的最小化服务器中配置静态 IP 和动态 IP 。在 Ubuntu 18.04 LTS 中配置静态 IP 地址首先先找到 Netplan 默认的网络配置文件所在之处:<pre class="prettyprint linenums">$ ls /etc/netplan/50-cloud-init.yaml</pre>我们可以看到,默认的网络配置文件是 50-cloud-init.yaml ,这是一个 YAML 文件。然后我们再看一下这个文件的内容是什么:<pre class="prettyprint linenums">$ cat /etc/netplan/50-cloud-init.yaml</pre>我在之前安装 Ubuntu 18.04 的时候为了从 DHCP 服务器获取 IP 地址已经已经做过了网卡的相关配置,所以详细配置直接看下图:<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/100932lxoff3pq4cg4siiu.png">Media</a>可以看到这边有两个网卡,分别是 enp0s3 和 enp0s8 ,并且这两个网卡都配置为从 DHCP 服务器中获取 IP。现在我们给这两个网卡都配置为静态 IP 地址,先用任意一种编辑器来编辑配置文件。<pre class="prettyprint linenums">$ sudo nano /etc/netplan/50-cloud-init.yaml</pre>接下来我们分别添加 IP 地址、子网掩码、网关、DNS 服务器等配置。分别用 192.168.225.50 作为网卡 enp0s3 的 IP 地址, 192.168.225.51 作为&…
如何在 Linux 上管理字体
虽然在 Linux 平台上尚未找到完美的字体渲染方案,但开源平台做的很好一件事的就是允许用户轻松地管理他们的字体。Media
via https://linux.cn/article-10325-1.html
虽然在 Linux 平台上尚未找到完美的字体渲染方案,但开源平台做的很好一件事的就是允许用户轻松地管理他们的字体。Media
via https://linux.cn/article-10325-1.html
如何在 Linux 上管理字体
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/111530pvtueaeqvajzjptz.jpg">Media</a>我不仅写技术文档,还写小说。并且因为我对 GIMP 等工具感到满意,所以我也(LCTT 译注:此处应指使用 GIMP)为自己的书籍创作了封面(并为少数客户做了图形设计)。艺术创作取决于很多东西,包括字体。虽然字体渲染已经在过去的几年里取得了长足进步,但它在 Linux 平台上仍是个问题。如果你在 Linux 和 macOS 平台上比较相同字体的外观,差别是显而易见的,尤其是你要盯着屏幕一整天的时候。虽然在 Linux 平台上尚未找到完美的字体渲染方案,但开源平台做的很好一件事的就是允许用户轻松地管理他们的字体。通过选择、添加、缩放和调整,你可以在 Linux 平台上相当轻松地使用字体。此处,我将分享一些这些年来我的一些技巧,可以帮我在 Linux 上扩展“字体能力”。这些技巧将对那些在开源平台上进行艺术创作的人有特别的帮助。因为 Linux 平台上有非常多可用的桌面界面(每种界面以不同的方式处理字体),因此当桌面环境成为字体管理的中心时,我将主要聚焦在 GNOME 和 KDE 上。话虽如此,让我们开始吧。添加新字体在相当长的一段时间里,我都是一个字体收藏家,甚至有些人会说我有些痴迷。从我使用 Linux 的早期开始,我就总是用相同的方法向我的桌面添加字体。有两种方法可以做到这一点:使字体按…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/111530pvtueaeqvajzjptz.jpg">Media</a>我不仅写技术文档,还写小说。并且因为我对 GIMP 等工具感到满意,所以我也(LCTT 译注:此处应指使用 GIMP)为自己的书籍创作了封面(并为少数客户做了图形设计)。艺术创作取决于很多东西,包括字体。虽然字体渲染已经在过去的几年里取得了长足进步,但它在 Linux 平台上仍是个问题。如果你在 Linux 和 macOS 平台上比较相同字体的外观,差别是显而易见的,尤其是你要盯着屏幕一整天的时候。虽然在 Linux 平台上尚未找到完美的字体渲染方案,但开源平台做的很好一件事的就是允许用户轻松地管理他们的字体。通过选择、添加、缩放和调整,你可以在 Linux 平台上相当轻松地使用字体。此处,我将分享一些这些年来我的一些技巧,可以帮我在 Linux 上扩展“字体能力”。这些技巧将对那些在开源平台上进行艺术创作的人有特别的帮助。因为 Linux 平台上有非常多可用的桌面界面(每种界面以不同的方式处理字体),因此当桌面环境成为字体管理的中心时,我将主要聚焦在 GNOME 和 KDE 上。话虽如此,让我们开始吧。添加新字体在相当长的一段时间里,我都是一个字体收藏家,甚至有些人会说我有些痴迷。从我使用 Linux 的早期开始,我就总是用相同的方法向我的桌面添加字体。有两种方法可以做到这一点:使字体按…
9 个鲜为人知的 Python 数据科学库
除了 pandas、scikit-learn 和 matplotlib,还要学习一些用 Python 进行数据科学的新技巧。Media
via https://linux.cn/article-10326-1.html
除了 pandas、scikit-learn 和 matplotlib,还要学习一些用 Python 进行数据科学的新技巧。Media
via https://linux.cn/article-10326-1.html
9 个鲜为人知的 Python 数据科学库
除了 pandas、scikit-learn 和 matplotlib,还要学习一些用 Python 进行数据科学的新技巧。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/115459xoovm8j1z8bvu86z.jpg">Media</a>Python 是一种令人惊叹的语言。事实上,它是世界上增长最快的编程语言之一。它一次又一次地证明了它在各个行业的开发者和数据科学者中的作用。Python 及其库的整个生态系统使其成为全世界用户的恰当选择,无论是初学者还是高级用户。它成功和受欢迎的原因之一是它的一组强大的库,使它如此动态和快速。在本文中,我们将看到 Python 库中的一些数据科学工具,而不是那些常用的工具,如 pandas、scikit-learn 和 matplotlib。虽然像 pandas、scikit-learn 这样的库是机器学习中最常想到的,但是了解这个领域的其他 Python 库也是非常有帮助的。Wget提取数据,尤其是从网络中提取数据,是数据科学家的重要任务之一。<a href="https://pypi.org/project/wget/">Wget</a> 是一个免费的工具,用于从网络上非交互式下载文件。它支持 HTTP、HTTPS 和 FTP 协议,以及通过 HTTP 代理进行访问。因为它是非交互式的,所以即使用户没有登录,它也可以在后台工作。所以下次你想下载一个网站或者网页上的所有图片,wget 会提供帮助。安装:<pre class="prettyprint linenums">$ pip install wget</pre>例子:<pre class="prettyprint linenums">import wgeturl = 'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3'filename = wget.download(url)100% [................................................] 3841532 / 3841532filename'razorback.mp3'</pre>钟摆对于在 Python 中处理日期时间感到沮丧的人来说, <a href="https://github.com/sdispater/pendulum">Pendulum</a> 库是很有帮助的z…
除了 pandas、scikit-learn 和 matplotlib,还要学习一些用 Python 进行数据科学的新技巧。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/115459xoovm8j1z8bvu86z.jpg">Media</a>Python 是一种令人惊叹的语言。事实上,它是世界上增长最快的编程语言之一。它一次又一次地证明了它在各个行业的开发者和数据科学者中的作用。Python 及其库的整个生态系统使其成为全世界用户的恰当选择,无论是初学者还是高级用户。它成功和受欢迎的原因之一是它的一组强大的库,使它如此动态和快速。在本文中,我们将看到 Python 库中的一些数据科学工具,而不是那些常用的工具,如 pandas、scikit-learn 和 matplotlib。虽然像 pandas、scikit-learn 这样的库是机器学习中最常想到的,但是了解这个领域的其他 Python 库也是非常有帮助的。Wget提取数据,尤其是从网络中提取数据,是数据科学家的重要任务之一。<a href="https://pypi.org/project/wget/">Wget</a> 是一个免费的工具,用于从网络上非交互式下载文件。它支持 HTTP、HTTPS 和 FTP 协议,以及通过 HTTP 代理进行访问。因为它是非交互式的,所以即使用户没有登录,它也可以在后台工作。所以下次你想下载一个网站或者网页上的所有图片,wget 会提供帮助。安装:<pre class="prettyprint linenums">$ pip install wget</pre>例子:<pre class="prettyprint linenums">import wgeturl = 'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3'filename = wget.download(url)100% [................................................] 3841532 / 3841532filename'razorback.mp3'</pre>钟摆对于在 Python 中处理日期时间感到沮丧的人来说, <a href="https://github.com/sdispater/pendulum">Pendulum</a> 库是很有帮助的z…
Emacs 系列(三): Org 模式的补充
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/195006oz8xr841oko616x3.png">Media</a>这是 <a href="https://changelog.complete.org/archives/tag/emacs2018">Emacs 和 Org 模式系列</a>的第三篇。Todo 的跟进及关键字当你使用 Org 模式来跟进你的 TODO 时,它有多种状态。你可以用 C-c C-t 来快速切换状态。我将它设为这样:<pre class="prettyprint linenums">(setq org-todo-keywords '( (sequence "TODO(t!)" "NEXT(n!)" "STARTED(a!)" "WAIT(w@/!)" "OTHERS(o!)" "|" "DONE(d)" "CANCELLED(c)")))</pre>在这里,我设置了一个任务未完成的五种状态:TODO、NEXT、STARTED、WAIT 及 OTHERS。每一个状态都有单个字的快捷键(t、n、a 等)。管道符(|)之后的状态被认为是“完成”的状态。我有两个“完成”状态:DONE(已经完成)及 CANCELLED(还没完成,但由于其它的原因无法完成)。! 的含义是记录某项更改为状态的时间。我不把这个添加到完成的状态,是因为它们已经被记录了。@ 符号表示带理由的提示,所以当切换到 WAIT 时,Org 模式会问我为什么,并将这个添加到笔记中。以下是项目状态发生变化的例子:<pre class="prettyprint linenums">** DONE This is a test CLOSED: [2018-03-02 Fri 03:05] - State "DONE" from "WAIT" [2018-03-02 Fri 03:05] - State "WAIT" from "TODO" [2018-03-02 Fri 03:05] \\ waiting for pigs to fly - State "TODO" from "NEXT" [2018-03-02 Fri 03:05] - State "NEXT" from "TODO" [2018-03-02 Fri 03:05]</pre>在这里,最新的项目在最上面。议程模式,日程及期限当你处在一个待办事项时,C-c C-s 或 C-c C-d 可以为其设置相应的日程或期限。这些都是在议程模式中的功能。它们的区别在于其意图和表现。日程是你希望在某个时候完成的事情,而期限是在某个特定的时间应该完成的事情。默认情况下,议程视图将在项目௚…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/195006oz8xr841oko616x3.png">Media</a>这是 <a href="https://changelog.complete.org/archives/tag/emacs2018">Emacs 和 Org 模式系列</a>的第三篇。Todo 的跟进及关键字当你使用 Org 模式来跟进你的 TODO 时,它有多种状态。你可以用 C-c C-t 来快速切换状态。我将它设为这样:<pre class="prettyprint linenums">(setq org-todo-keywords '( (sequence "TODO(t!)" "NEXT(n!)" "STARTED(a!)" "WAIT(w@/!)" "OTHERS(o!)" "|" "DONE(d)" "CANCELLED(c)")))</pre>在这里,我设置了一个任务未完成的五种状态:TODO、NEXT、STARTED、WAIT 及 OTHERS。每一个状态都有单个字的快捷键(t、n、a 等)。管道符(|)之后的状态被认为是“完成”的状态。我有两个“完成”状态:DONE(已经完成)及 CANCELLED(还没完成,但由于其它的原因无法完成)。! 的含义是记录某项更改为状态的时间。我不把这个添加到完成的状态,是因为它们已经被记录了。@ 符号表示带理由的提示,所以当切换到 WAIT 时,Org 模式会问我为什么,并将这个添加到笔记中。以下是项目状态发生变化的例子:<pre class="prettyprint linenums">** DONE This is a test CLOSED: [2018-03-02 Fri 03:05] - State "DONE" from "WAIT" [2018-03-02 Fri 03:05] - State "WAIT" from "TODO" [2018-03-02 Fri 03:05] \\ waiting for pigs to fly - State "TODO" from "NEXT" [2018-03-02 Fri 03:05] - State "NEXT" from "TODO" [2018-03-02 Fri 03:05]</pre>在这里,最新的项目在最上面。议程模式,日程及期限当你处在一个待办事项时,C-c C-s 或 C-c C-d 可以为其设置相应的日程或期限。这些都是在议程模式中的功能。它们的区别在于其意图和表现。日程是你希望在某个时候完成的事情,而期限是在某个特定的时间应该完成的事情。默认情况下,议程视图将在项目௚…
30 个 Openstack 经典面试问题和解答
现在,大多数公司都试图将它们的 IT 基础设施和电信设施迁移到私有云, 如 OpenStack。如果你打算面试 OpenStack 管理员这个岗位,那么下面列出的这些面试问题可能会帮助你通过面试。Media
via https://linux.cn/article-10328-1.html
现在,大多数公司都试图将它们的 IT 基础设施和电信设施迁移到私有云, 如 OpenStack。如果你打算面试 OpenStack 管理员这个岗位,那么下面列出的这些面试问题可能会帮助你通过面试。Media
via https://linux.cn/article-10328-1.html
30 个 Openstack 经典面试问题和解答
现在,大多数公司都试图将它们的 IT 基础设施和电信设施迁移到私有云, 如 OpenStack。如果你打算面试 OpenStack 管理员这个岗位,那么下面列出的这些面试问题可能会帮助你通过面试。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/212017yh2n305q2wti155i.jpg">Media</a>Q:1 说一下 OpenStack 及其主要组件?答: OpenStack 是一系列开源软件,这些软件组成了一个云供给软件,也就是 OpenStack,意即开源软件或项目栈。下面是 OpenStack 的主要关键组件:<strong>Nova</strong> – 用于在计算级别管理虚拟机,并在计算或管理程序级别执行其他计算任务。<strong>Neutron</strong> – 为虚拟机、计算和控制节点提供网络功能。<strong>Keystone</strong> – 为所有云用户和 OpenStack 云服务提供身份认证服务。换句话说,我们可以说 Keystone 是一个提供给云用户和云服务访问权限的方法。<strong>Horizon</strong> – 用于提供图形用户界面。使用图形化管理界面可以很轻松地完成各种日常操作任务。<strong>Cinder</strong> – 用于提供块存储功能。通常来说 OpenStack 的 Cinder 中集成了 Chef 和 ScaleIO 来共同为计算和控制节点提供块存储服务。<strong>Swift</strong> – 用于提供对象存储功能。通常来说,Glance 管理的镜像是存储在对象存储空间的。像 ScaleIO 这样的外部存储也可以提供对象存储,可以很容易的集成 Glance 服务。<strong>Glance</strong> – 用于提供镜像服务。使用 Glance 的管理平台来上传和下载云镜像。<strong>Heat</strong> – 用于提供编排服务或功能。使用 Heat 管理平台可以轻松地将虚拟机作&#…
现在,大多数公司都试图将它们的 IT 基础设施和电信设施迁移到私有云, 如 OpenStack。如果你打算面试 OpenStack 管理员这个岗位,那么下面列出的这些面试问题可能会帮助你通过面试。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/212017yh2n305q2wti155i.jpg">Media</a>Q:1 说一下 OpenStack 及其主要组件?答: OpenStack 是一系列开源软件,这些软件组成了一个云供给软件,也就是 OpenStack,意即开源软件或项目栈。下面是 OpenStack 的主要关键组件:<strong>Nova</strong> – 用于在计算级别管理虚拟机,并在计算或管理程序级别执行其他计算任务。<strong>Neutron</strong> – 为虚拟机、计算和控制节点提供网络功能。<strong>Keystone</strong> – 为所有云用户和 OpenStack 云服务提供身份认证服务。换句话说,我们可以说 Keystone 是一个提供给云用户和云服务访问权限的方法。<strong>Horizon</strong> – 用于提供图形用户界面。使用图形化管理界面可以很轻松地完成各种日常操作任务。<strong>Cinder</strong> – 用于提供块存储功能。通常来说 OpenStack 的 Cinder 中集成了 Chef 和 ScaleIO 来共同为计算和控制节点提供块存储服务。<strong>Swift</strong> – 用于提供对象存储功能。通常来说,Glance 管理的镜像是存储在对象存储空间的。像 ScaleIO 这样的外部存储也可以提供对象存储,可以很容易的集成 Glance 服务。<strong>Glance</strong> – 用于提供镜像服务。使用 Glance 的管理平台来上传和下载云镜像。<strong>Heat</strong> – 用于提供编排服务或功能。使用 Heat 管理平台可以轻松地将虚拟机作&#…
udev 入门:管理设备事件的 Linux 子系统
创建这样一个脚本,当指定的设备插入时触发你的计算机去做一个指定动作。Media
via https://linux.cn/article-10329-1.html
创建这样一个脚本,当指定的设备插入时触发你的计算机去做一个指定动作。Media
via https://linux.cn/article-10329-1.html
udev 入门:管理设备事件的 Linux 子系统
创建这样一个脚本,当指定的设备插入时触发你的计算机去做一个指定动作。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/221138aqmuwpuu5uxlw85w.jpg">Media</a>udev 是一个为你的计算机提供设备事件的 Linux 子系统。通俗来讲就是,当你的计算机上插入了像网卡、外置硬盘(包括 U 盘)、鼠标、键盘、游戏操纵杆和手柄、DVD-ROM 驱动器等等设备时,代码能够检测到它们。这样就能写出很多可能非常有用的实用程序,而它已经很好了,普通用户就可以写出脚本去做一些事情,比如当某个硬盘驱动器插入时,执行某个任务。这篇文章教你去如何写一个由一些 udev 事件触发的 <a href="https://linux.die.net/man/8/udev">udev</a> 脚本,比如插入了一个 U 盘。当你理解了 udev 的工作原理,你就可以用它去做各种事情,比如当一个游戏手柄连接后加载一个指定的驱动程序,或者当你用于备份的驱动器连接后,自动执行备份工作。一个初级的脚本使用 udev 的最佳方式是从一个小的代码块开始。不要指望从一开始就写出完整的脚本,而是从最简单的确认 udev 触发了某些指定的事件开始。对于你的脚本,依据你的目标,并不是在任何情况下都能保证你亲眼看到你的脚本运行结果的,因此需要在你的脚本日志中确认它成功触发了。而日志文件通常放在 /var 目录下,但那个目录通常是 root 用户的领地。对于测试目的,可以使用 /tmp&…
创建这样一个脚本,当指定的设备插入时触发你的计算机去做一个指定动作。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/221138aqmuwpuu5uxlw85w.jpg">Media</a>udev 是一个为你的计算机提供设备事件的 Linux 子系统。通俗来讲就是,当你的计算机上插入了像网卡、外置硬盘(包括 U 盘)、鼠标、键盘、游戏操纵杆和手柄、DVD-ROM 驱动器等等设备时,代码能够检测到它们。这样就能写出很多可能非常有用的实用程序,而它已经很好了,普通用户就可以写出脚本去做一些事情,比如当某个硬盘驱动器插入时,执行某个任务。这篇文章教你去如何写一个由一些 udev 事件触发的 <a href="https://linux.die.net/man/8/udev">udev</a> 脚本,比如插入了一个 U 盘。当你理解了 udev 的工作原理,你就可以用它去做各种事情,比如当一个游戏手柄连接后加载一个指定的驱动程序,或者当你用于备份的驱动器连接后,自动执行备份工作。一个初级的脚本使用 udev 的最佳方式是从一个小的代码块开始。不要指望从一开始就写出完整的脚本,而是从最简单的确认 udev 触发了某些指定的事件开始。对于你的脚本,依据你的目标,并不是在任何情况下都能保证你亲眼看到你的脚本运行结果的,因此需要在你的脚本日志中确认它成功触发了。而日志文件通常放在 /var 目录下,但那个目录通常是 root 用户的领地。对于测试目的,可以使用 /tmp&…
你和 Linux 极客只差一个 LFS:LFS 8.3 中文翻译版本发布!
不用羡慕那些说起这些就头头是道是 Linux 极客们,其实你和他们之间只是差一个 LFS 而已。Media
via https://linux.cn/article-8438-1.html
不用羡慕那些说起这些就头头是道是 Linux 极客们,其实你和他们之间只是差一个 LFS 而已。Media
via https://linux.cn/article-8438-1.html
你和 Linux 极客只差一个 LFS:LFS 8.3 中文翻译版本发布!
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201704/23/093951rv6hy3d1xhhedvxd.jpg">Media</a>很多同学都已经学习了 Linux ,可能已经在自己的机器上安装过 Linux,甚至都能搭建个简单的个人博客,也有可能编译部署过邮件服务器之类的软件,可是感觉仍然对 Linux 有点摸不着,颇有隔靴挠痒的感受。总是好奇 Linux 内核是怎么回事,究竟里面有点什么?总是好奇 Linux 是怎么启动起来的,那个什么 GRUB 怎么知道读取引导信息?总是好奇设备怎么就可以被当成文件操作,为什么可以从 <code>/proc</code> 读到进程的信息?总是好奇如何才能构建一个操作系统,从无到有的做成一个可引导的 Linux 启动盘?不用羡慕那些说起这些就头头是道是 Linux 极客们,其实你和他们之间只是差一个 LFS 而已。什么?请听我娓娓道来~LFS 是什么?<a href="http://www.linuxfromscratch.org/lfs/">LFS</a>(英文 Linux From Scratch 的缩写),中文释意为“从零开始构建的 Linux”。好吧!看起来很高大上 OTZ,可它到底是什么东西呢?感觉上它好像经常和 RedHat,Debain 这类发行版混在一起,那它应该也是个发行版吧!这样理解其实也没有什么不对,但比起发行版来,它其实更像一本书。书本只提供知识,它只教你做,不会帮你做。这才是 LFS 和别的发行版的本质区别。这本书可以教你如何亦步亦趋的从零开始搭建一个具体而微的 Linux 系统,没错,就是从零开始,是不是有一种上帝视角௚…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201704/23/093951rv6hy3d1xhhedvxd.jpg">Media</a>很多同学都已经学习了 Linux ,可能已经在自己的机器上安装过 Linux,甚至都能搭建个简单的个人博客,也有可能编译部署过邮件服务器之类的软件,可是感觉仍然对 Linux 有点摸不着,颇有隔靴挠痒的感受。总是好奇 Linux 内核是怎么回事,究竟里面有点什么?总是好奇 Linux 是怎么启动起来的,那个什么 GRUB 怎么知道读取引导信息?总是好奇设备怎么就可以被当成文件操作,为什么可以从 <code>/proc</code> 读到进程的信息?总是好奇如何才能构建一个操作系统,从无到有的做成一个可引导的 Linux 启动盘?不用羡慕那些说起这些就头头是道是 Linux 极客们,其实你和他们之间只是差一个 LFS 而已。什么?请听我娓娓道来~LFS 是什么?<a href="http://www.linuxfromscratch.org/lfs/">LFS</a>(英文 Linux From Scratch 的缩写),中文释意为“从零开始构建的 Linux”。好吧!看起来很高大上 OTZ,可它到底是什么东西呢?感觉上它好像经常和 RedHat,Debain 这类发行版混在一起,那它应该也是个发行版吧!这样理解其实也没有什么不对,但比起发行版来,它其实更像一本书。书本只提供知识,它只教你做,不会帮你做。这才是 LFS 和别的发行版的本质区别。这本书可以教你如何亦步亦趋的从零开始搭建一个具体而微的 Linux 系统,没错,就是从零开始,是不是有一种上帝视角௚…
NASA 在开放科学方面做了些什么
在这篇文章中我们主要讨论了 NASA 的积极努力,这些努力包括他们通过开源实践来促进科学研究的积极作用。Media
via https://linux.cn/article-10330-1.html
在这篇文章中我们主要讨论了 NASA 的积极努力,这些努力包括他们通过开源实践来促进科学研究的积极作用。Media
via https://linux.cn/article-10330-1.html