Flatpak 新手指南
Flatpak 作为分发桌面应用的新框架可以让开发者完全摆脱这些负担。开发者只需构建一个 Flatpak app 就可以在多种发行版上安装使用。Media
via https://linux.cn/article-10459-1.html
Flatpak 作为分发桌面应用的新框架可以让开发者完全摆脱这些负担。开发者只需构建一个 Flatpak app 就可以在多种发行版上安装使用。Media
via https://linux.cn/article-10459-1.html
Flatpak 新手指南
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/20/113109d3443v33qv66vb4y.jpg">Media</a>以前,我们介绍 Ubuntu 推出的 <a href="http://www.ostechnix.com/introduction-ubuntus-snap-packages/">Snaps</a>。Snaps 是由 Canonical 公司为 Ubuntu 开发的,并随后移植到其他的 Linux 发行版,如 Arch、Gentoo、Fedora 等等。由于一个 snap 包中含有软件的二进制文件和其所需的所有依赖和库,所以可以在无视软件版本、在任意 Linux 发行版上安装软件。和 Snaps 类似,还有一个名为 Flatpak 的工具。也许你已经知道,为不同的 Linux 发行版打包并分发应用是一件多么费时又复杂的工作,因为不同的 Linux 发行版的库不同,库的版本也不同。现在,Flatpak 作为分发桌面应用的新框架可以让开发者完全摆脱这些负担。开发者只需构建一个 Flatpak app 就可以在多种发行版上安装使用。这真是又酷又棒!用户也完全不用担心库和依赖的问题了,所有的东西都和 app 打包在了一起。更重要的是 Flatpak app 们都自带沙箱,而且与宿主操作系统的其他部分隔离。对了,Flatpak 还有一个很棒的特性,它允许用户在同一个系统中安装同一应用的多个版本,例如 VLC 播放器的 2.1 版、2.2 版、2.3 版。这使开发者测试同一个软件的多个版本变得更加方便。在本文中,我们将指导你如何在 GNU/Linux 中安装 Flatpak。安装 FlatpakFlatpak 可以在大多数的主流 Linux 发行版上安装使用,如 Arch Linux、Debian、Fedora、Gentoo、Red Hat、Linux Mint、openSUSE、Solus、Mageia 还有 Ubuntu。在 Arch Linux 上,使用这一条命令来安装 Flatpak:<pre class="prettyprint linenums">$ sudo pacman -S flatpak</pre>对于 Debian 用…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/20/113109d3443v33qv66vb4y.jpg">Media</a>以前,我们介绍 Ubuntu 推出的 <a href="http://www.ostechnix.com/introduction-ubuntus-snap-packages/">Snaps</a>。Snaps 是由 Canonical 公司为 Ubuntu 开发的,并随后移植到其他的 Linux 发行版,如 Arch、Gentoo、Fedora 等等。由于一个 snap 包中含有软件的二进制文件和其所需的所有依赖和库,所以可以在无视软件版本、在任意 Linux 发行版上安装软件。和 Snaps 类似,还有一个名为 Flatpak 的工具。也许你已经知道,为不同的 Linux 发行版打包并分发应用是一件多么费时又复杂的工作,因为不同的 Linux 发行版的库不同,库的版本也不同。现在,Flatpak 作为分发桌面应用的新框架可以让开发者完全摆脱这些负担。开发者只需构建一个 Flatpak app 就可以在多种发行版上安装使用。这真是又酷又棒!用户也完全不用担心库和依赖的问题了,所有的东西都和 app 打包在了一起。更重要的是 Flatpak app 们都自带沙箱,而且与宿主操作系统的其他部分隔离。对了,Flatpak 还有一个很棒的特性,它允许用户在同一个系统中安装同一应用的多个版本,例如 VLC 播放器的 2.1 版、2.2 版、2.3 版。这使开发者测试同一个软件的多个版本变得更加方便。在本文中,我们将指导你如何在 GNU/Linux 中安装 Flatpak。安装 FlatpakFlatpak 可以在大多数的主流 Linux 发行版上安装使用,如 Arch Linux、Debian、Fedora、Gentoo、Red Hat、Linux Mint、openSUSE、Solus、Mageia 还有 Ubuntu。在 Arch Linux 上,使用这一条命令来安装 Flatpak:<pre class="prettyprint linenums">$ sudo pacman -S flatpak</pre>对于 Debian 用…
理解 Linux 中的 /etc/services 文件
这篇文章将帮助你了解 Linux 中 /etc/services 文件,包括它的内容,格式以及重要性。Media
via https://linux.cn/article-10460-1.html
这篇文章将帮助你了解 Linux 中 /etc/services 文件,包括它的内容,格式以及重要性。Media
via https://linux.cn/article-10460-1.html
理解 Linux 中的 /etc/services 文件
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/20/121500zzzcic6ikkz4m7fc.jpg">Media</a>这篇文章将帮助你了解 Linux 中 /etc/services 文件,包括它的内容,格式以及重要性。Internet 守护程序(ineted)是 Linux 世界中的重要服务。它借助 /etc/services 文件来处理所有网络服务。在本文中,我们将向你介绍这个文件的内容,格式以及它对于 Linux 系统的意义。/etc/services 文件包含网络服务和它们映射端口的列表。inetd 或 xinetd 会查看这些细节,以便在数据包到达各自的端口或服务有需求时,它会调用特定的程序。作为普通用户,你可以查看此文件,因为文件一般都是可读的。要编辑此文件,你需要有 root 权限。<pre class="prettyprint linenums">$ ll /etc/services-rw-r--r--. 1 root root 670293 Jun 7 2013 /etc/services</pre>/etc/services 文件格式<pre class="prettyprint linenums">service-name port/protocol [aliases..] [#comment]</pre>最后两个字段是可选的,因此用 [ ] 表示。其中:service-name 是网络服务的名称。例如 <a href="https://kerneltalks.com/config/configure-telnet-server-linux/">telnet</a>、<a href="https://kerneltalks.com/config/ftp-server-configuration-steps-rhel-6/">ftp</a> 等。port/protocol 是网络服务使用的端口(一个数值)和服务通信使用的协议(TCP/UDP)。alias 是服务的别名。comment 是你可以添加到服务的注释或说明。以 # 标记开头。/etc/services 文件示例<pre class="prettyprint linenums"># 每行描述一个服务,形式如下:## service-name port/protocol [aliases ...] [# comment]tcpmux 1/tcp # TCP port service multiplexerrje 5/tcp # Remote Job Entryecho 7/udpdiscard 9/udp sink null</pre>在这里,你可以看到可选的最后两个字段的用处。discard 服务的别名为 sink 或 null。via: <a href="https://kerneltalks.com/linux/understanding-etc-services-file-in-linux/">https://kerneltalks.com/linux/understanding-etc-services-file-in-linux/</a>作者:<a href="https://kerneltalks.com">kerneltalks</a> 选题:<a href="https://github.com/lujun9972">lujun9972</a> 译者:<a hr…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/20/121500zzzcic6ikkz4m7fc.jpg">Media</a>这篇文章将帮助你了解 Linux 中 /etc/services 文件,包括它的内容,格式以及重要性。Internet 守护程序(ineted)是 Linux 世界中的重要服务。它借助 /etc/services 文件来处理所有网络服务。在本文中,我们将向你介绍这个文件的内容,格式以及它对于 Linux 系统的意义。/etc/services 文件包含网络服务和它们映射端口的列表。inetd 或 xinetd 会查看这些细节,以便在数据包到达各自的端口或服务有需求时,它会调用特定的程序。作为普通用户,你可以查看此文件,因为文件一般都是可读的。要编辑此文件,你需要有 root 权限。<pre class="prettyprint linenums">$ ll /etc/services-rw-r--r--. 1 root root 670293 Jun 7 2013 /etc/services</pre>/etc/services 文件格式<pre class="prettyprint linenums">service-name port/protocol [aliases..] [#comment]</pre>最后两个字段是可选的,因此用 [ ] 表示。其中:service-name 是网络服务的名称。例如 <a href="https://kerneltalks.com/config/configure-telnet-server-linux/">telnet</a>、<a href="https://kerneltalks.com/config/ftp-server-configuration-steps-rhel-6/">ftp</a> 等。port/protocol 是网络服务使用的端口(一个数值)和服务通信使用的协议(TCP/UDP)。alias 是服务的别名。comment 是你可以添加到服务的注释或说明。以 # 标记开头。/etc/services 文件示例<pre class="prettyprint linenums"># 每行描述一个服务,形式如下:## service-name port/protocol [aliases ...] [# comment]tcpmux 1/tcp # TCP port service multiplexerrje 5/tcp # Remote Job Entryecho 7/udpdiscard 9/udp sink null</pre>在这里,你可以看到可选的最后两个字段的用处。discard 服务的别名为 sink 或 null。via: <a href="https://kerneltalks.com/linux/understanding-etc-services-file-in-linux/">https://kerneltalks.com/linux/understanding-etc-services-file-in-linux/</a>作者:<a href="https://kerneltalks.com">kerneltalks</a> 选题:<a href="https://github.com/lujun9972">lujun9972</a> 译者:<a hr…
Caffeinated 6.828:实验 6:最终的 JOS 项目
下面是一个启迪你的想法列表。但是,你应该大胆地去实现你自己的想法。其中一些想法只是一个开端,并且本身不在实验 6 的领域内,并且其它的可能是在更大的领域中。Media
via https://linux.cn/article-10461-1.html
下面是一个启迪你的想法列表。但是,你应该大胆地去实现你自己的想法。其中一些想法只是一个开端,并且本身不在实验 6 的领域内,并且其它的可能是在更大的领域中。Media
via https://linux.cn/article-10461-1.html
Caffeinated 6.828:实验 6:最终的 JOS 项目
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/20/205649f6e69119bzw7wo7r.jpg">Media</a>简介对于最后的项目,你有两个选择:继续使用你自己的 JOS 内核并做 <a href="https://pdos.csail.mit.edu/6.828/2018/labs/lab6/index.html">实验 6</a>,包括实验 6 中的一个挑战问题。(你可以随意地、以任何有趣的方式去扩展实验 6 或者 JOS 的任何部分,当然了,这不是课程规定的。)在一个、二个或三个人组成的团队中,你选择去做一个涉及了你的 JOS 的项目。这个项目必须是涉及到与实验 6 相同或更大的领域(如果你是团队中的一员)。目标是为了获得乐趣或探索更高级的 O/S 的话题;你不需要做最新的研究。如果你做了你自己的项目,我们将根据你的工作量有多少、你的设计有多优雅、你的解释有多高明、以及你的解决方案多么有趣或多有创意来为你打分。我们知道时间有限,因此也不期望你能在本学期结束之前重写 Linux。要确保你的目标是合理的;合理地设定一个绝对可以实现的最小目标(即:控制你的实验 6 的规模),如果进展顺利,可以设定一个更大的目标。如果你做了实验 6,我们将根据你是否通过了测试和挑战练习来为你打分。交付期限11 月 3 日:Piazza 讨论和 1、2、或 3 年级组选择(根据你的最终选择来定)。使用在 Piazza 上的 lab7 标记/目录。在 Piazza 上的文章评论区与其它人计论想法。使用这些文章帮你去找到有类似想法的其它学生…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/20/205649f6e69119bzw7wo7r.jpg">Media</a>简介对于最后的项目,你有两个选择:继续使用你自己的 JOS 内核并做 <a href="https://pdos.csail.mit.edu/6.828/2018/labs/lab6/index.html">实验 6</a>,包括实验 6 中的一个挑战问题。(你可以随意地、以任何有趣的方式去扩展实验 6 或者 JOS 的任何部分,当然了,这不是课程规定的。)在一个、二个或三个人组成的团队中,你选择去做一个涉及了你的 JOS 的项目。这个项目必须是涉及到与实验 6 相同或更大的领域(如果你是团队中的一员)。目标是为了获得乐趣或探索更高级的 O/S 的话题;你不需要做最新的研究。如果你做了你自己的项目,我们将根据你的工作量有多少、你的设计有多优雅、你的解释有多高明、以及你的解决方案多么有趣或多有创意来为你打分。我们知道时间有限,因此也不期望你能在本学期结束之前重写 Linux。要确保你的目标是合理的;合理地设定一个绝对可以实现的最小目标(即:控制你的实验 6 的规模),如果进展顺利,可以设定一个更大的目标。如果你做了实验 6,我们将根据你是否通过了测试和挑战练习来为你打分。交付期限11 月 3 日:Piazza 讨论和 1、2、或 3 年级组选择(根据你的最终选择来定)。使用在 Piazza 上的 lab7 标记/目录。在 Piazza 上的文章评论区与其它人计论想法。使用这些文章帮你去找到有类似想法的其它学生…
4 个值得一提的 Firefox 扩展插件
这些扩展可以使火狐更具生产力和使用乐趣。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/21/110914kg7g1y78b6z6sk2t.jpg">Media</a>自从大约 12 年前 Firefox(火狐浏览器)v2.0 推出以来, 我一直是它的用户。它不是那时最好的网络浏览器,但是总会有一个理由让我回到它:我最喜爱的浏览器扩展插件不能工作在其它浏览器上。如今,我喜欢现下的 Firefox,因为它快速、可定制和开源,我也很欣赏那些体现了原开发人员从未想到过的想法的扩展插件:如果你想在没有鼠标的情况下浏览网页呢?如果你不喜欢盯着晚上从显示器里发出来的强光呢?如何在 YouTube 和其他视频托管网站上使用一个更专业的播放器来获得更好的性能和更多播放控制呢?如果你需要更复杂的方法来禁用跟踪器和加快加载页面,该怎么办?幸运的是,这些问题都有答案,我将展现给你我最喜爱的扩展 —— 所有这些都是免费软件或开源的 (即,在 <a href="https://www.gnu.org/licenses/gpl-3.0.en.html">GNU GPL</a>、<a href="https://www.mozilla.org/en-US/MPL/">MPL</a> 或 <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache</a> 许可帧下) ,它们可以使一个优秀的浏览器更优秀。尽管术语加载项add-on和扩展extension的含义稍微不同,但我在本文中的使用不会区分它们。Tridactyl<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/21/110916a57miwml0tit745p.png">Tridactyl screenshot</a><em>Tridactyl 的新选项卡页面,展示了链接的指引。</em><a href="https://addons.mozilla.org/en-US/firefox/addon/tridactyl-vim/">Tridactyl</a> 使你能够在大多数浏览活动中使用键盘。它的灵感来自于现已不复存在的 <a…
这些扩展可以使火狐更具生产力和使用乐趣。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/21/110914kg7g1y78b6z6sk2t.jpg">Media</a>自从大约 12 年前 Firefox(火狐浏览器)v2.0 推出以来, 我一直是它的用户。它不是那时最好的网络浏览器,但是总会有一个理由让我回到它:我最喜爱的浏览器扩展插件不能工作在其它浏览器上。如今,我喜欢现下的 Firefox,因为它快速、可定制和开源,我也很欣赏那些体现了原开发人员从未想到过的想法的扩展插件:如果你想在没有鼠标的情况下浏览网页呢?如果你不喜欢盯着晚上从显示器里发出来的强光呢?如何在 YouTube 和其他视频托管网站上使用一个更专业的播放器来获得更好的性能和更多播放控制呢?如果你需要更复杂的方法来禁用跟踪器和加快加载页面,该怎么办?幸运的是,这些问题都有答案,我将展现给你我最喜爱的扩展 —— 所有这些都是免费软件或开源的 (即,在 <a href="https://www.gnu.org/licenses/gpl-3.0.en.html">GNU GPL</a>、<a href="https://www.mozilla.org/en-US/MPL/">MPL</a> 或 <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache</a> 许可帧下) ,它们可以使一个优秀的浏览器更优秀。尽管术语加载项add-on和扩展extension的含义稍微不同,但我在本文中的使用不会区分它们。Tridactyl<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/21/110916a57miwml0tit745p.png">Tridactyl screenshot</a><em>Tridactyl 的新选项卡页面,展示了链接的指引。</em><a href="https://addons.mozilla.org/en-US/firefox/addon/tridactyl-vim/">Tridactyl</a> 使你能够在大多数浏览活动中使用键盘。它的灵感来自于现已不复存在的 <a…
红宝石(Ruby)史话
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/21/113443k7kzkkmmi17o9hmb.jpg">Media</a>尽管我很难说清楚为什么,但 Ruby 一直是我最喜爱的一门编程语言。如果用音乐来类比的话,Python 给我的感觉像是朋克摇滚punk rock,简单、直接,但略显单调,而 Ruby 则像是爵士乐,从根本上赋予了程序员表达自我的自由,虽然这可能会让代码变复杂,编写出来的程序对其他人来说不直观。Ruby 社区一直将灵活表达freedom of expression视为其核心价值。可我不认同这对于 Ruby 的开发和普及是最重要的。创建一门编程语言也许是为了更高的性能,也许是为了在抽象上节省更多的时间,可 Ruby 就有趣在它并不关心这些,从它诞生之初,它的目标就是让程序员更快乐。松本·行弘松本·行弘Yukihiro Matsumoto,亦称为 “Matz”,于 1990 年毕业于筑波大学。筑波是东京东北方向上的一个小城市,是科学研究与技术开发的中心之一。筑波大学以其 STEM 计划广为流传。松本·行弘在筑波大学的信息科学专业学习过,且专攻编程语言。他也在 Ikuo Nakata 的编程语言实验室工作过。(LCTT 译注:STEM 是科学Science、技术Technology、工程Engineering、数学Mathematics四门学科英文首字母的缩写。)松本从 1993 年开始制作 Ruby,那时他才刚毕业几年。他制作 Ruby 的起因是觉得那时的脚本语言缺乏一些特性。他在使用 Perl 的时候觉得这门语言过于“玩具”,此外 Python 也有点弱,用他自己的话说:我那时就知道 Python 了,但我…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/21/113443k7kzkkmmi17o9hmb.jpg">Media</a>尽管我很难说清楚为什么,但 Ruby 一直是我最喜爱的一门编程语言。如果用音乐来类比的话,Python 给我的感觉像是朋克摇滚punk rock,简单、直接,但略显单调,而 Ruby 则像是爵士乐,从根本上赋予了程序员表达自我的自由,虽然这可能会让代码变复杂,编写出来的程序对其他人来说不直观。Ruby 社区一直将灵活表达freedom of expression视为其核心价值。可我不认同这对于 Ruby 的开发和普及是最重要的。创建一门编程语言也许是为了更高的性能,也许是为了在抽象上节省更多的时间,可 Ruby 就有趣在它并不关心这些,从它诞生之初,它的目标就是让程序员更快乐。松本·行弘松本·行弘Yukihiro Matsumoto,亦称为 “Matz”,于 1990 年毕业于筑波大学。筑波是东京东北方向上的一个小城市,是科学研究与技术开发的中心之一。筑波大学以其 STEM 计划广为流传。松本·行弘在筑波大学的信息科学专业学习过,且专攻编程语言。他也在 Ikuo Nakata 的编程语言实验室工作过。(LCTT 译注:STEM 是科学Science、技术Technology、工程Engineering、数学Mathematics四门学科英文首字母的缩写。)松本从 1993 年开始制作 Ruby,那时他才刚毕业几年。他制作 Ruby 的起因是觉得那时的脚本语言缺乏一些特性。他在使用 Perl 的时候觉得这门语言过于“玩具”,此外 Python 也有点弱,用他自己的话说:我那时就知道 Python 了,但我…
如何从命令行同时移动多种文件类型
如果你曾遇到这样的情况,我知道在类 Unix 系统中从命令行执行该操作的一个简单方法。Media
via https://linux.cn/article-10464-1.html
如果你曾遇到这样的情况,我知道在类 Unix 系统中从命令行执行该操作的一个简单方法。Media
via https://linux.cn/article-10464-1.html
如何从命令行同时移动多种文件类型
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/21/224428kbq6nvvn3aq5ab1a.png">Media</a>前几天,我想知道如何将多个文件类型从一个目录移动(不复制)到另一个目录。我已经知道如何<a href="https://www.ostechnix.com/find-copy-certain-type-files-one-directory-another-linux/">查找并将某些类型的文件从一个目录复制到另一个目录</a>。但是,我不知道如何同时移动多种文件类型。如果你曾遇到这样的情况,我知道在类 Unix 系统中从命令行执行该操作的一个简单方法。同时移动多种文件类型想象一下这种场景,你在名为 dir1 的目录中有多种类型的文件,例如 .pdf、 .doc、 .mp3、 .mp4、 .txt 等等。我们来看看 dir1 的内容:<pre class="prettyprint linenums">$ ls dir1file.txt image.jpg mydoc.doc personal.pdf song.mp3 video.mp4</pre>你希望将某些文件类型(不是所有文件类型)移动到另一个位置。例如,假设你想将 .doc、 .pdf 和 .txt 文件一次性移动到名为 dir2 的另一个目录中。要同时将 .doc、 .pdf 和 .txt 文件从 dir1 移动到 dir2,命令是:<pre class="prettyprint linenums">$ mv dir1/*.{doc,pdf,txt} dir2/</pre>很容易,不是吗?现在让我们来查看一下 dir2 的内容:<pre class="prettyprint linenums">$ ls dir2/file.txt mydoc.doc personal.pdf</pre>看到了吗?只有 .doc、 .pdf 和 .txt 从 dir1 移到了 dir2。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/21/224605ecyxoo1cf5yfoydf.gif">Media</a>在上面的命令中,你可以在花括号内添加任意数量的文件类型,以将它们移动到不同的目录中。它在 Bash 上非常适合我。另一种移动多种文件类型的方法是转到源目录,在我们的例子中即为 dir1:<pre class="prettyprint linenums">$ cd ~/dir1</pre>将你选择的文件类型移动到目的地(即 dir2&…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/21/224428kbq6nvvn3aq5ab1a.png">Media</a>前几天,我想知道如何将多个文件类型从一个目录移动(不复制)到另一个目录。我已经知道如何<a href="https://www.ostechnix.com/find-copy-certain-type-files-one-directory-another-linux/">查找并将某些类型的文件从一个目录复制到另一个目录</a>。但是,我不知道如何同时移动多种文件类型。如果你曾遇到这样的情况,我知道在类 Unix 系统中从命令行执行该操作的一个简单方法。同时移动多种文件类型想象一下这种场景,你在名为 dir1 的目录中有多种类型的文件,例如 .pdf、 .doc、 .mp3、 .mp4、 .txt 等等。我们来看看 dir1 的内容:<pre class="prettyprint linenums">$ ls dir1file.txt image.jpg mydoc.doc personal.pdf song.mp3 video.mp4</pre>你希望将某些文件类型(不是所有文件类型)移动到另一个位置。例如,假设你想将 .doc、 .pdf 和 .txt 文件一次性移动到名为 dir2 的另一个目录中。要同时将 .doc、 .pdf 和 .txt 文件从 dir1 移动到 dir2,命令是:<pre class="prettyprint linenums">$ mv dir1/*.{doc,pdf,txt} dir2/</pre>很容易,不是吗?现在让我们来查看一下 dir2 的内容:<pre class="prettyprint linenums">$ ls dir2/file.txt mydoc.doc personal.pdf</pre>看到了吗?只有 .doc、 .pdf 和 .txt 从 dir1 移到了 dir2。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/21/224605ecyxoo1cf5yfoydf.gif">Media</a>在上面的命令中,你可以在花括号内添加任意数量的文件类型,以将它们移动到不同的目录中。它在 Bash 上非常适合我。另一种移动多种文件类型的方法是转到源目录,在我们的例子中即为 dir1:<pre class="prettyprint linenums">$ cd ~/dir1</pre>将你选择的文件类型移动到目的地(即 dir2&…
Linux 工具:点的含义
Paul Brown 解释了 Linux shell 命令中那个不起眼的“点”的各种意思和用法。Media
via https://linux.cn/article-10465-1.html
Paul Brown 解释了 Linux shell 命令中那个不起眼的“点”的各种意思和用法。Media
via https://linux.cn/article-10465-1.html
Linux 工具:点的含义
Paul Brown 解释了 Linux shell 命令中那个不起眼的“点”的各种意思和用法。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/22/000250f1x67c4ec3kxicp1.jpg">Media</a>在现实情况中,使用 shell 命令编写的单行命令或脚本可能会令人很困惑。你使用的很多工具的名称与它们的实际功能相差甚远(grep、tee 和 awk,还有吗?),而当你将两个或更多个组合起来时,所组成的 “句子” 看起来更像某种外星人的天书。因此,上面说的这些对于你并无帮助,因为你用来编写一连串的指令所使用的符号根据你使用的场景有着不同的意义。位置、位置、位置就拿这个不起眼的点(.)来说吧。当它放在一个需要一个目录名称的命令的参数处时,表示“当前目录”:<pre class="prettyprint linenums">find . -name "*.jpg"</pre>意思就是“在当前目录(包括子目录)中寻找以 .jpg 结尾的文件”。ls . 和 cd . 结果也如你想的那样,它们分别列举和“进入”到当前目录,虽然在这两种情况下这个点都是多余的。而一个紧接着另一个的两个点呢,在同样的场景下(即当你的命令期望一个文件目录的时候)表示“当前目录的父目录”。如果你当前在 /home/your_directory 下并且运行:<pre class="prettyprint linenums">cd ..</pre>你就会进入到 /home。所以,你可能认为这仍然适合“点代表附近目录”的叙述,并且毫不复杂,对吧?那下面这样会怎样呢?如果你在一个文件或目录的开头加上点,它表示这个文件或目录会被隐藏:<pre class="prettyprint linenums">$ touch somedir/file01.txt somedir/file02.txt…
Paul Brown 解释了 Linux shell 命令中那个不起眼的“点”的各种意思和用法。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/22/000250f1x67c4ec3kxicp1.jpg">Media</a>在现实情况中,使用 shell 命令编写的单行命令或脚本可能会令人很困惑。你使用的很多工具的名称与它们的实际功能相差甚远(grep、tee 和 awk,还有吗?),而当你将两个或更多个组合起来时,所组成的 “句子” 看起来更像某种外星人的天书。因此,上面说的这些对于你并无帮助,因为你用来编写一连串的指令所使用的符号根据你使用的场景有着不同的意义。位置、位置、位置就拿这个不起眼的点(.)来说吧。当它放在一个需要一个目录名称的命令的参数处时,表示“当前目录”:<pre class="prettyprint linenums">find . -name "*.jpg"</pre>意思就是“在当前目录(包括子目录)中寻找以 .jpg 结尾的文件”。ls . 和 cd . 结果也如你想的那样,它们分别列举和“进入”到当前目录,虽然在这两种情况下这个点都是多余的。而一个紧接着另一个的两个点呢,在同样的场景下(即当你的命令期望一个文件目录的时候)表示“当前目录的父目录”。如果你当前在 /home/your_directory 下并且运行:<pre class="prettyprint linenums">cd ..</pre>你就会进入到 /home。所以,你可能认为这仍然适合“点代表附近目录”的叙述,并且毫不复杂,对吧?那下面这样会怎样呢?如果你在一个文件或目录的开头加上点,它表示这个文件或目录会被隐藏:<pre class="prettyprint linenums">$ touch somedir/file01.txt somedir/file02.txt…
用 rcm 管理隐藏文件
许多 GNU/Linux 程序的一个特点是有个易于编辑的配置文件。这些配置文件经常隐藏在用户的主目录中。Media
via https://linux.cn/article-10466-1.html
许多 GNU/Linux 程序的一个特点是有个易于编辑的配置文件。这些配置文件经常隐藏在用户的主目录中。Media
via https://linux.cn/article-10466-1.html
用 rcm 管理隐藏文件
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/22/104627m4y4jfa8z5ny6kzk.jpg">Media</a>许多 GNU/Linux 程序的一个特点是有个易于编辑的配置文件。几乎所有常见的自由软件都将配置设置保存在纯文本文件中,通常采用结构化格式,如 JSON、YAML 或<a href="https://en.wikipedia.org/wiki/INI_file">“类似 ini”</a> 的文件中。这些配置文件经常隐藏在用户的主目录中。但是,基本的 ls 不会显示它们。UNIX 标准要求以点开头的任何文件或目录名称都被视为“隐藏”,除非用户特意要求,否则不会列在目录列表中。例如,要使用 ls 列出所有文件,要传递 -a 选项。随着时间的推移,这些配置文件会有很多定制配置,管理它们变得越来越具有挑战性。不仅如此,在多台计算机之间保持同步是大型组织所面临的共同挑战。最后,许多用户也对其独特的配置感到自豪,并希望以简单的方式与朋友分享。这就是用到 rcm 介入的地方。rcm 是一个 “rc” 文件管理套件(“rc” 是命名配置文件的另一种约定,它已被某些 GNU/Linux 程序采用,如 screen 或 bash)。 rcm 提供了一套命令来管理和列出它跟踪的文件。使用 dnf 安装 rcm。开始使用默认情况下,rcm 使用 ~/.dotfiles 来存储它管理的所有隐藏文件。一个被管理的隐藏文件实际保存在 ~/.dotfiles 目录中,而它的符号链接会放在文件原本的位置。例如,如果 ~/.bashrc 由 rcm 所管理,那么详细列表将如下所示。<pre class="prettyprint linenums">[link@localhost ~]$ ls -l ~/.bashrclrwxrwxrwx. 1 link link 27 Dec 16 05:19 .bashrc -> /home/link/.dotfiles/bashrc[link@localhost ~]$</pre>rcm 包含 4 &…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/22/104627m4y4jfa8z5ny6kzk.jpg">Media</a>许多 GNU/Linux 程序的一个特点是有个易于编辑的配置文件。几乎所有常见的自由软件都将配置设置保存在纯文本文件中,通常采用结构化格式,如 JSON、YAML 或<a href="https://en.wikipedia.org/wiki/INI_file">“类似 ini”</a> 的文件中。这些配置文件经常隐藏在用户的主目录中。但是,基本的 ls 不会显示它们。UNIX 标准要求以点开头的任何文件或目录名称都被视为“隐藏”,除非用户特意要求,否则不会列在目录列表中。例如,要使用 ls 列出所有文件,要传递 -a 选项。随着时间的推移,这些配置文件会有很多定制配置,管理它们变得越来越具有挑战性。不仅如此,在多台计算机之间保持同步是大型组织所面临的共同挑战。最后,许多用户也对其独特的配置感到自豪,并希望以简单的方式与朋友分享。这就是用到 rcm 介入的地方。rcm 是一个 “rc” 文件管理套件(“rc” 是命名配置文件的另一种约定,它已被某些 GNU/Linux 程序采用,如 screen 或 bash)。 rcm 提供了一套命令来管理和列出它跟踪的文件。使用 dnf 安装 rcm。开始使用默认情况下,rcm 使用 ~/.dotfiles 来存储它管理的所有隐藏文件。一个被管理的隐藏文件实际保存在 ~/.dotfiles 目录中,而它的符号链接会放在文件原本的位置。例如,如果 ~/.bashrc 由 rcm 所管理,那么详细列表将如下所示。<pre class="prettyprint linenums">[link@localhost ~]$ ls -l ~/.bashrclrwxrwxrwx. 1 link link 27 Dec 16 05:19 .bashrc -> /home/link/.dotfiles/bashrc[link@localhost ~]$</pre>rcm 包含 4 &…
s-tui:在 Linux 中监控 CPU 温度、频率、功率和使用率的终端工具
它其实是一个压力测试的终端 UI,可以帮助管理员通过颜色查看 CPU 温度。Media
via https://linux.cn/article-10467-1.html
它其实是一个压力测试的终端 UI,可以帮助管理员通过颜色查看 CPU 温度。Media
via https://linux.cn/article-10467-1.html
s-tui:在 Linux 中监控 CPU 温度、频率、功率和使用率的终端工具
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/22/234445t2ozz2p3lp393l7i.jpg">Media</a>一般每个 Linux 管理员都会使用 <a href="https://www.2daygeek.com/view-check-cpu-hard-disk-temperature-linux/">lm_sensors 监控 CPU 温度</a>。lm_sensors (Linux 监控传感器)是一个自由开源程序,它提供了监控温度、电压和风扇的驱动和工具。如果你正在找替代的 CLI 工具,我会建议你尝试 s-tui。它其实是一个压力测试的终端 UI,可以帮助管理员通过颜色查看 CPU 温度。s-tui 是什么s-tui 是一个用于监控计算机的终端 UI。s-tui 可以在终端以图形方式监控 CPU 温度、频率、功率和使用率。此外,它还显示由发热量限制引起的性能下降,它需要很少的资源并且不需要 X 服务器。它是用 Python 编写的,需要 root 权限才能使用它。s-tui 是一个独立的程序,可以开箱即用,并且不需要配置文件就可以使用其基本功能。s-tui 使用 psutil 来探测你的一些硬件信息。如果不支持你的一些硬件,你可能看不到所有信息。以 root 身份运行 s-tui 时,当压测所有 CPU 核心时,可以将 CPU 发挥到最大睿频频率。它在后台使用 Stress 压力测试工具,通过对系统施加某些类型的计算压力来检查其组件的温度是否超过其可接受的范围。只要计算机稳定并且其组件的温度不超过其可接受的范围,PC 超频就没问题。有几个程序可以通过压力测试得到系统的稳定性,从而评估超频水平。如何在 Linux 中安装 s-tui它是用 Python 写的,pip 是在…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/22/234445t2ozz2p3lp393l7i.jpg">Media</a>一般每个 Linux 管理员都会使用 <a href="https://www.2daygeek.com/view-check-cpu-hard-disk-temperature-linux/">lm_sensors 监控 CPU 温度</a>。lm_sensors (Linux 监控传感器)是一个自由开源程序,它提供了监控温度、电压和风扇的驱动和工具。如果你正在找替代的 CLI 工具,我会建议你尝试 s-tui。它其实是一个压力测试的终端 UI,可以帮助管理员通过颜色查看 CPU 温度。s-tui 是什么s-tui 是一个用于监控计算机的终端 UI。s-tui 可以在终端以图形方式监控 CPU 温度、频率、功率和使用率。此外,它还显示由发热量限制引起的性能下降,它需要很少的资源并且不需要 X 服务器。它是用 Python 编写的,需要 root 权限才能使用它。s-tui 是一个独立的程序,可以开箱即用,并且不需要配置文件就可以使用其基本功能。s-tui 使用 psutil 来探测你的一些硬件信息。如果不支持你的一些硬件,你可能看不到所有信息。以 root 身份运行 s-tui 时,当压测所有 CPU 核心时,可以将 CPU 发挥到最大睿频频率。它在后台使用 Stress 压力测试工具,通过对系统施加某些类型的计算压力来检查其组件的温度是否超过其可接受的范围。只要计算机稳定并且其组件的温度不超过其可接受的范围,PC 超频就没问题。有几个程序可以通过压力测试得到系统的稳定性,从而评估超频水平。如何在 Linux 中安装 s-tui它是用 Python 写的,pip 是在…
软件 bug 的生命周期
从发现软件故障到解决它们,这里讲述是开发团队如何压制软件 bug。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/23/002319dwfsgwpp7mhr7fg4.jpg">Media</a>1947 年,发现了第一个计算机 bug —— 被困在计算机继电器中的飞蛾。要是所有的 bug 都能如此简单地发现就好了。随着软件变得越来越复杂,测试和调试的过程也变得更加复杂。如今,软件 bug 的生命周期可能会很长,尽管正确的技术和业务流程可能会有所帮助。对于开源软件,开发人员使用严格的工单服务和协作来查找和解决 bug。确认计算机 bug在测试过程中,发现的 bug 会报告给开发团队。质量保证测试人员尽可能详细地描述 bug ,报告他们的系统状态、他们正在进行的过程以及 bug 是如何表现出来的。尽管如此,一些 bug 从未得到确认;它们可能会在测试中报告,但永远无法在可控环境中重现。在这种情况下,它们可能得不到解决,而是被关闭。有些计算机 bug 可能很难确认,因为使用的平台种类繁多,用户行为也非常多。有些 bug 只是间歇性地或在非常特殊的情况下发生的,而另一些 bug 可能会出现在随机的情况下。许多人使用开源软件并与之交互,许多 bug 和问题可能是不可重复的,或者可能没有得到充分的描述。不过,由于每个用户和开发人员也都扮演质量保证测试人员的角色,至少在一定程度上,bug 还是很有可能会发现的。确认 bug 后A…
从发现软件故障到解决它们,这里讲述是开发团队如何压制软件 bug。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/23/002319dwfsgwpp7mhr7fg4.jpg">Media</a>1947 年,发现了第一个计算机 bug —— 被困在计算机继电器中的飞蛾。要是所有的 bug 都能如此简单地发现就好了。随着软件变得越来越复杂,测试和调试的过程也变得更加复杂。如今,软件 bug 的生命周期可能会很长,尽管正确的技术和业务流程可能会有所帮助。对于开源软件,开发人员使用严格的工单服务和协作来查找和解决 bug。确认计算机 bug在测试过程中,发现的 bug 会报告给开发团队。质量保证测试人员尽可能详细地描述 bug ,报告他们的系统状态、他们正在进行的过程以及 bug 是如何表现出来的。尽管如此,一些 bug 从未得到确认;它们可能会在测试中报告,但永远无法在可控环境中重现。在这种情况下,它们可能得不到解决,而是被关闭。有些计算机 bug 可能很难确认,因为使用的平台种类繁多,用户行为也非常多。有些 bug 只是间歇性地或在非常特殊的情况下发生的,而另一些 bug 可能会出现在随机的情况下。许多人使用开源软件并与之交互,许多 bug 和问题可能是不可重复的,或者可能没有得到充分的描述。不过,由于每个用户和开发人员也都扮演质量保证测试人员的角色,至少在一定程度上,bug 还是很有可能会发现的。确认 bug 后A…
你(多半)不需要 Kubernetes
这也许是一个不太受欢迎的观点,但大多数主流公司最好不要再使用 k8s 了。Media
via https://linux.cn/article-10469-1.html
这也许是一个不太受欢迎的观点,但大多数主流公司最好不要再使用 k8s 了。Media
via https://linux.cn/article-10469-1.html