gitbase:用 SQL 查询 Git 仓库
gitbase 是一个使用 go 开发的的开源项目,它实现了在 Git 仓库上执行 SQL 查询。Media
via https://linux.cn/article-10249-1.html
gitbase 是一个使用 go 开发的的开源项目,它实现了在 Git 仓库上执行 SQL 查询。Media
via https://linux.cn/article-10249-1.html
gitbase:用 SQL 查询 Git 仓库
gitbase 是一个使用 go 开发的的开源项目,它实现了在 Git 仓库上执行 SQL 查询。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/131443ox250dpk3nx6fsc2.jpg">MediaGit 已经成为了代码版本控制的事实标准,但尽管 Git 相当普及,对代码仓库的深入分析的工作难度却没有因此而下降;而 SQL 在大型代码库的查询方面则已经是一种久经考验的语言,因此诸如 Spark 和 BigQuery 这样的项目都采用了它。所以,source{d} 很顺理成章地将这两种技术结合起来,就产生了 gitbase(LCTT 译注:source{d} 是一家开源公司,本文作者是该公司开发者关系副总裁)。gitbase 是一个代码即数据code-as-data的解决方案,可以使用 SQL 对 git 仓库进行大规模分析。<a href="https://github.com/src-d/gitbase">gitbase 是一个完全开源的项目。它站在了很多巨人的肩上,因此得到了足够的发展竞争力。下面就来介绍一下其中的一些“巨人”。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/131453rqezttbxqhuut259.png">Media<em>gitbase playground 为 gitbase 提供了一个可视化的操作环境。</em>用 Vitess 解析 SQLgitbase 通过 SQL 与用户进行交互,因此需要能够遵循 MySQL 协议来对通过网络传入的 SQL 请求作出解析和理解,万幸由 YouTube 建立的 <a href="https://github.com/vitessio/vitess">Vitess 项目已经在这一方面给出了解决方案。Vitess 是一个横向扩展的 MySQL 数据库集群系统。我们只是使用了这个项目中的部分重要代码,并将其转化为一个可以让任何人在数分钟以内编写出一个 MySQL 服务器的<a href="https://github.com/src-d/go-mysql-server">开源程序,就像我在 <a href="http://justforfunc.com/">justforfunc 视频系列中…
gitbase 是一个使用 go 开发的的开源项目,它实现了在 Git 仓库上执行 SQL 查询。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/131443ox250dpk3nx6fsc2.jpg">MediaGit 已经成为了代码版本控制的事实标准,但尽管 Git 相当普及,对代码仓库的深入分析的工作难度却没有因此而下降;而 SQL 在大型代码库的查询方面则已经是一种久经考验的语言,因此诸如 Spark 和 BigQuery 这样的项目都采用了它。所以,source{d} 很顺理成章地将这两种技术结合起来,就产生了 gitbase(LCTT 译注:source{d} 是一家开源公司,本文作者是该公司开发者关系副总裁)。gitbase 是一个代码即数据code-as-data的解决方案,可以使用 SQL 对 git 仓库进行大规模分析。<a href="https://github.com/src-d/gitbase">gitbase 是一个完全开源的项目。它站在了很多巨人的肩上,因此得到了足够的发展竞争力。下面就来介绍一下其中的一些“巨人”。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/131453rqezttbxqhuut259.png">Media<em>gitbase playground 为 gitbase 提供了一个可视化的操作环境。</em>用 Vitess 解析 SQLgitbase 通过 SQL 与用户进行交互,因此需要能够遵循 MySQL 协议来对通过网络传入的 SQL 请求作出解析和理解,万幸由 YouTube 建立的 <a href="https://github.com/vitessio/vitess">Vitess 项目已经在这一方面给出了解决方案。Vitess 是一个横向扩展的 MySQL 数据库集群系统。我们只是使用了这个项目中的部分重要代码,并将其转化为一个可以让任何人在数分钟以内编写出一个 MySQL 服务器的<a href="https://github.com/src-d/go-mysql-server">开源程序,就像我在 <a href="http://justforfunc.com/">justforfunc 视频系列中…
Chrony:一个类 Unix 系统上 NTP 客户端和服务器替代品
Chrony 可以更快的同步系统时钟,具有更好的时钟准确度,并且它对于那些不是一直在线的系统很有帮助。Media
via https://linux.cn/article-10250-1.html
Chrony 可以更快的同步系统时钟,具有更好的时钟准确度,并且它对于那些不是一直在线的系统很有帮助。Media
via https://linux.cn/article-10250-1.html
Chrony:一个类 Unix 系统上 NTP 客户端和服务器替代品
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/143408gzwwbvwcalflvvbb.jpg">Media</a>在这个教程中,我们会讨论如何安装和配置 <strong>Chrony</strong>,一个类 Unix 系统上 NTP 客户端和服务器的替代品。Chrony 可以更快的同步系统时钟,具有更好的时钟准确度,并且它对于那些不是一直在线的系统很有帮助。Chrony 是自由开源的,并且支持 GNU/Linux 和 BSD 衍生版(比如 FreeBSD、NetBSD)、macOS 和 Solaris 等。安装 ChronyChrony 可以从大多数 Linux 发行版的默认软件库中获得。如果你使用的是 Arch Linux,运行下面的命令来安装它:<pre class="prettyprint linenums">$ sudo pacman -S chrony</pre>在 Debian、Ubuntu、Linux Mint 上:<pre class="prettyprint linenums">$ sudo apt-get install chrony</pre>在 Fedora 上:<pre class="prettyprint linenums">$ sudo dnf install chrony</pre>当安装完成后,如果之前没有启动过的话需启动 chronyd.service 守护进程:<pre class="prettyprint linenums">$ sudo systemctl start chronyd.service</pre>使用下面的命令让它每次重启系统后自动运行:<pre class="prettyprint linenums">$ sudo systemctl enable chronyd.service</pre>为了确认 chronyd.service 已经启动,运行:<pre class="prettyprint linenums">$ sudo systemctl status chronyd.service</pre>如果一切正常,你将看到类似下面的输出:<pre class="prettyprint linenums">● chrony.service - chrony, an NTP client/serverLoaded: loaded (/lib/systemd/system/chrony.service; enabled; vendor preset: enaActive: active (running) since Wed 2018-10-17 10:34:53 UTC; 3min 15s agoDocs: man:chronyd(8)man:chronyc(1)man:chrony.conf(5)Main PID: 2482 (chronyd)Tasks: 1 (limit: 2320)CGroup: /system.slice/chrony.service└─2482 /usr/sbin/chronydOct 17 10:34:53 ubuntuserver systemd[1]: Starting chrony, an NTP client/server...Oct 17 10:34:53 ubuntuserver chronyd[2482]: chronyd version 3.2 starting (+CMDMONOct 17 10:34:53 ubuntuserver chronyd[2482]: Initial frequency -268.088 ppmOct 17 10:34:53 ubuntuserver systemd[1]: Started chrony, an NTP client/server.Oct 17 10:35:03 ubuntuserver chronyd[2482]: Selected source 85.25.84.166Oct 17 10:35:03 ubuntuserver chronyd[2482]: Source 85.25.84.166 replaced with 2403Oct 17 10:35:03 ubuntuserver chronyd[2482]: Selected source 91.189.89.199Oct 17 10:35:06 ubuntuserver chronyd[2482]: Selected source 106.10.186.200</pre>可以看到,Chrony 服务已经启动并且正在工作!配置 ChronyNTP 客户端需要…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/143408gzwwbvwcalflvvbb.jpg">Media</a>在这个教程中,我们会讨论如何安装和配置 <strong>Chrony</strong>,一个类 Unix 系统上 NTP 客户端和服务器的替代品。Chrony 可以更快的同步系统时钟,具有更好的时钟准确度,并且它对于那些不是一直在线的系统很有帮助。Chrony 是自由开源的,并且支持 GNU/Linux 和 BSD 衍生版(比如 FreeBSD、NetBSD)、macOS 和 Solaris 等。安装 ChronyChrony 可以从大多数 Linux 发行版的默认软件库中获得。如果你使用的是 Arch Linux,运行下面的命令来安装它:<pre class="prettyprint linenums">$ sudo pacman -S chrony</pre>在 Debian、Ubuntu、Linux Mint 上:<pre class="prettyprint linenums">$ sudo apt-get install chrony</pre>在 Fedora 上:<pre class="prettyprint linenums">$ sudo dnf install chrony</pre>当安装完成后,如果之前没有启动过的话需启动 chronyd.service 守护进程:<pre class="prettyprint linenums">$ sudo systemctl start chronyd.service</pre>使用下面的命令让它每次重启系统后自动运行:<pre class="prettyprint linenums">$ sudo systemctl enable chronyd.service</pre>为了确认 chronyd.service 已经启动,运行:<pre class="prettyprint linenums">$ sudo systemctl status chronyd.service</pre>如果一切正常,你将看到类似下面的输出:<pre class="prettyprint linenums">● chrony.service - chrony, an NTP client/serverLoaded: loaded (/lib/systemd/system/chrony.service; enabled; vendor preset: enaActive: active (running) since Wed 2018-10-17 10:34:53 UTC; 3min 15s agoDocs: man:chronyd(8)man:chronyc(1)man:chrony.conf(5)Main PID: 2482 (chronyd)Tasks: 1 (limit: 2320)CGroup: /system.slice/chrony.service└─2482 /usr/sbin/chronydOct 17 10:34:53 ubuntuserver systemd[1]: Starting chrony, an NTP client/server...Oct 17 10:34:53 ubuntuserver chronyd[2482]: chronyd version 3.2 starting (+CMDMONOct 17 10:34:53 ubuntuserver chronyd[2482]: Initial frequency -268.088 ppmOct 17 10:34:53 ubuntuserver systemd[1]: Started chrony, an NTP client/server.Oct 17 10:35:03 ubuntuserver chronyd[2482]: Selected source 85.25.84.166Oct 17 10:35:03 ubuntuserver chronyd[2482]: Source 85.25.84.166 replaced with 2403Oct 17 10:35:03 ubuntuserver chronyd[2482]: Selected source 91.189.89.199Oct 17 10:35:06 ubuntuserver chronyd[2482]: Selected source 106.10.186.200</pre>可以看到,Chrony 服务已经启动并且正在工作!配置 ChronyNTP 客户端需要…
Kubernetes 渐成行业趋势,迁移过程的问题怎么破?
快来收获2018年底架构实践深度复盘,看看Google、Netflix、Amazon、阿里巴巴、腾讯等海内外一线互联网公司有哪些新技术可以借鉴使用。Media
via https://linux.cn/article-10251-1.html
快来收获2018年底架构实践深度复盘,看看Google、Netflix、Amazon、阿里巴巴、腾讯等海内外一线互联网公司有哪些新技术可以借鉴使用。Media
via https://linux.cn/article-10251-1.html
[推广] Kubernetes 渐成行业趋势,迁移过程的问题怎么破?
<em>(本文为付费赞助文章)</em><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/154049l19wdnw373mm9gry.jpg">Media</a>据 Gartner 和麦肯锡前几年的调研数据,全球的服务器利用率只有 6% 到 12%,这一技术领域的价值还远远没有被释放,也说明最近几年 Docker 容器和编排调度 Kubernetes 的流行是行业发展的必然趋势,这些技术成为云原生时代的标配,引领了新一轮的技术浪潮。在这些迁移到 Kubernetes 的应用,要如何调整架构适应环境,又如何实施 CI/CD 简化这些流程,都是值得我们关注的问题。<strong>2018 年 12 月 7 ~ 8 日</strong>,由极客邦科技和 InfoQ 主办的 <strong>ArchSummit 全球架构师峰会</strong>将在北京国际会议中心举办,阿里巴巴高级技术专家、技术顾问张磊将与来自 Microsoft、新浪微博、阿里云、华为云的技术专家一起分享 Kubernetes 的应用。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/190436b22jn19w9j5v1tni.jpg">Media</a>此外,ArchSummit 架构师峰会还请到了京东集团副总裁翁志、菜鸟网络 CTO 谷雪梅、Google 技术工程师 Xiuduan Fang,以及来自 Uber、微软、Amazon、阿里巴巴、蚂蚁金服、美团、滴滴、知乎等知名大企的 100 多位技术专家,一起探讨人工智能、微服务、开源、区块链、运维、前端等领域的先进技术思路和落地实践。部分精彩分享<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/154646zslcoz1r35ihara4.jpg">Media</a><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/190458bvfn5olvv5a7ev5z.jpg">Media</a><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/190522e1ez3e08em0hg0em.jpg">Media</a><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/190541nr4el818el7rarjx.jpg">Media</a>ArchSummit 北京 2018 目前 <strong>9 折优惠购త…
<em>(本文为付费赞助文章)</em><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/154049l19wdnw373mm9gry.jpg">Media</a>据 Gartner 和麦肯锡前几年的调研数据,全球的服务器利用率只有 6% 到 12%,这一技术领域的价值还远远没有被释放,也说明最近几年 Docker 容器和编排调度 Kubernetes 的流行是行业发展的必然趋势,这些技术成为云原生时代的标配,引领了新一轮的技术浪潮。在这些迁移到 Kubernetes 的应用,要如何调整架构适应环境,又如何实施 CI/CD 简化这些流程,都是值得我们关注的问题。<strong>2018 年 12 月 7 ~ 8 日</strong>,由极客邦科技和 InfoQ 主办的 <strong>ArchSummit 全球架构师峰会</strong>将在北京国际会议中心举办,阿里巴巴高级技术专家、技术顾问张磊将与来自 Microsoft、新浪微博、阿里云、华为云的技术专家一起分享 Kubernetes 的应用。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/190436b22jn19w9j5v1tni.jpg">Media</a>此外,ArchSummit 架构师峰会还请到了京东集团副总裁翁志、菜鸟网络 CTO 谷雪梅、Google 技术工程师 Xiuduan Fang,以及来自 Uber、微软、Amazon、阿里巴巴、蚂蚁金服、美团、滴滴、知乎等知名大企的 100 多位技术专家,一起探讨人工智能、微服务、开源、区块链、运维、前端等领域的先进技术思路和落地实践。部分精彩分享<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/154646zslcoz1r35ihara4.jpg">Media</a><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/190458bvfn5olvv5a7ev5z.jpg">Media</a><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/190522e1ez3e08em0hg0em.jpg">Media</a><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/190541nr4el818el7rarjx.jpg">Media</a>ArchSummit 北京 2018 目前 <strong>9 折优惠购త…
设计更快的网页(三):字体和 CSS 调整
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/225442rooi2wcissa6dl4u.jpg">Media</a>欢迎回到我们为了构建更快网页所写的系列文章。本系列的<a href="https://linux.cn/article-10166-1.html">第一部分</a>和<a href="https://linux.cn/article-10217-1.html">第二部分</a>讲述了如何通过优化和替换图片来减少浏览器脂肪。本部分会着眼于在 CSS(<a href="https://en.wikipedia.org/wiki/Cascading_Style_Sheets">层叠式样式表</a>)和字体中减掉更多的脂肪。调整 CSS首先,我们先来看看问题的源头。CSS 的出现曾是技术的一大进步。你可以用一个集中式的样式表来装饰多个网页。如今很多 Web 开发者都会使用 Bootstrap 这样的框架。这些框架当然方便,可是很多人都会将整个框架直接复制粘贴走。Bootstrap 非常大:目前 Bootstrap 4.0 的“最小”版本也有 144.9 KB. 在这个以 TB 来计数据的时代,它可能不算多。但就像所说的那样,一头小牛也能搞出大麻烦。我们回头来看 <a href="https://getfedora.org">getfedora.org</a> 的例子。我们在<a href="https://linux.cn/article-10166-1.html">第一部分</a>中提过,第一个分析结果显示 CSS 文件占用的空间几乎比 HTML 本身还要大十倍。这里显示了所有用到的样式表:<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/225443ynye1kl66ybbmoo3.png">Media</a>那是九个不同的样式表。其中的很多样式在这个页面中并没有用上。移除、合并、以及压缩/缩小化Font-awesome CSS 代表了包含未使用样式的极端。这个页面中只用到了这个字体的三个字形。如果以 KB 为单位,getfedora.org 用到的 font-awesome CSS 最初有 25.2 KB. 在清理掉所有未使用的样式后,它只有 1.3…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/225442rooi2wcissa6dl4u.jpg">Media</a>欢迎回到我们为了构建更快网页所写的系列文章。本系列的<a href="https://linux.cn/article-10166-1.html">第一部分</a>和<a href="https://linux.cn/article-10217-1.html">第二部分</a>讲述了如何通过优化和替换图片来减少浏览器脂肪。本部分会着眼于在 CSS(<a href="https://en.wikipedia.org/wiki/Cascading_Style_Sheets">层叠式样式表</a>)和字体中减掉更多的脂肪。调整 CSS首先,我们先来看看问题的源头。CSS 的出现曾是技术的一大进步。你可以用一个集中式的样式表来装饰多个网页。如今很多 Web 开发者都会使用 Bootstrap 这样的框架。这些框架当然方便,可是很多人都会将整个框架直接复制粘贴走。Bootstrap 非常大:目前 Bootstrap 4.0 的“最小”版本也有 144.9 KB. 在这个以 TB 来计数据的时代,它可能不算多。但就像所说的那样,一头小牛也能搞出大麻烦。我们回头来看 <a href="https://getfedora.org">getfedora.org</a> 的例子。我们在<a href="https://linux.cn/article-10166-1.html">第一部分</a>中提过,第一个分析结果显示 CSS 文件占用的空间几乎比 HTML 本身还要大十倍。这里显示了所有用到的样式表:<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/225443ynye1kl66ybbmoo3.png">Media</a>那是九个不同的样式表。其中的很多样式在这个页面中并没有用上。移除、合并、以及压缩/缩小化Font-awesome CSS 代表了包含未使用样式的极端。这个页面中只用到了这个字体的三个字形。如果以 KB 为单位,getfedora.org 用到的 font-awesome CSS 最初有 25.2 KB. 在清理掉所有未使用的样式后,它只有 1.3…
more、less 和 most 的区别
如果你是一个 Linux 方面的新手,你可能会在 more、less、most 这三个命令行工具之间产生疑惑。Media
via https://linux.cn/article-10253-1.html
如果你是一个 Linux 方面的新手,你可能会在 more、less、most 这三个命令行工具之间产生疑惑。Media
via https://linux.cn/article-10253-1.html
more、less 和 most 的区别
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/232127o6yg63g9wtgzwgtl.png">Media</a>如果你是一个 Linux 方面的新手,你可能会在 more、less、most 这三个命令行工具之间产生疑惑。在本文当中,我会对这三个命令行工具进行对比,以及展示它们各自在 Linux 中的一些使用例子。总的来说,这几个命令行工具之间都有相通和差异,而且它们在大部分 Linux 发行版上都有自带。我们首先来看看 more 命令。more 命令more 是一个老式的、基础的终端分页阅读器,它可以用于打开指定的文件并进行交互式阅读。如果文件的内容太长,在一屏以内无法完整显示,就会逐页显示文件内容。使用回车键或者空格键可以滚动浏览文件的内容,但有一个限制,就是只能够单向滚动。也就是说只能按顺序往下翻页,而不能进行回看。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/232130w02jt4ctvcmc2rou.gif">Media</a><strong>更正</strong>有的 Linux 用户向我指出,在 more 当中是可以向上翻页的。不过,最原始版本的 more 确实只允许向下翻页,在后续出现的较新的版本中也允许了有限次数的向上翻页,只需要在浏览过程中按 b 键即可向上翻页。唯一的限制是 more 不能搭配管道使用(如 ls | more)。(LCTT 译注:此处原作者疑似有误,译者使用 more 是可以搭配管道使用的,或许与不同 more 版本有关)按 q 即可退出 more。<strong>更多示例</strong>打开 ostechnix.txt 文件进行交互式阅读,可以执行以下命令:<pre class="prettyprint linenums">$ more ostechnix.txt</pre>在阅读过程ߑ…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/232127o6yg63g9wtgzwgtl.png">Media</a>如果你是一个 Linux 方面的新手,你可能会在 more、less、most 这三个命令行工具之间产生疑惑。在本文当中,我会对这三个命令行工具进行对比,以及展示它们各自在 Linux 中的一些使用例子。总的来说,这几个命令行工具之间都有相通和差异,而且它们在大部分 Linux 发行版上都有自带。我们首先来看看 more 命令。more 命令more 是一个老式的、基础的终端分页阅读器,它可以用于打开指定的文件并进行交互式阅读。如果文件的内容太长,在一屏以内无法完整显示,就会逐页显示文件内容。使用回车键或者空格键可以滚动浏览文件的内容,但有一个限制,就是只能够单向滚动。也就是说只能按顺序往下翻页,而不能进行回看。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/19/232130w02jt4ctvcmc2rou.gif">Media</a><strong>更正</strong>有的 Linux 用户向我指出,在 more 当中是可以向上翻页的。不过,最原始版本的 more 确实只允许向下翻页,在后续出现的较新的版本中也允许了有限次数的向上翻页,只需要在浏览过程中按 b 键即可向上翻页。唯一的限制是 more 不能搭配管道使用(如 ls | more)。(LCTT 译注:此处原作者疑似有误,译者使用 more 是可以搭配管道使用的,或许与不同 more 版本有关)按 q 即可退出 more。<strong>更多示例</strong>打开 ostechnix.txt 文件进行交互式阅读,可以执行以下命令:<pre class="prettyprint linenums">$ more ostechnix.txt</pre>在阅读过程ߑ…
写直白的代码
为开源项目作贡献最好的方式是为它减少代码,我们应致力于写出让新手程序员无需注释就容易理解的代码,让维护者也无需花费太多精力就能着手维护。Media
via https://linux.cn/article-10254-1.html
为开源项目作贡献最好的方式是为它减少代码,我们应致力于写出让新手程序员无需注释就容易理解的代码,让维护者也无需花费太多精力就能着手维护。Media
via https://linux.cn/article-10254-1.html
写直白的代码
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/000830bnjj4ojw6ea8e8t8.jpg">Media</a>为开源项目作贡献最好的方式是为它减少代码,我们应致力于写出让新手程序员无需注释就容易理解的代码,让维护者也无需花费太多精力就能着手维护。在学生时代,我们会更多地用复杂巧妙的技术去挑战新的难题。首先我们会学习循环,然后是函数啊,类啊,等等。当我们到达一定高的程度,能用更高级的技术写更长的程序,我们会因此受到称赞。此刻我们发现老司机们用 monads 而新手们用 loop 作循环。之后我们毕业找了工作,或者和他人合作开源项目。我们用在学校里学到的各种炫技寻求并骄傲地给出解决方案的代码实现。<em>哈哈,我能扩展这个项目,并实现某牛 X 功能啦,我这里能用继承啦,我太聪明啦!</em>我们实现了某个小的功能,并以充分的理由觉得自己做到了。现实项目中的编程却不是针对某某部分的功能而言。以我个人的经验而言,以前我很开心的去写代码,并骄傲地向世界展示我所知道的事情。有例为证,作为对某种编程技术的偏爱,这是用另一种元编程语言构建的一个 <a href="https://github.com/mrocklin/matrix-algebra">线性代数语言</a>,注意,这么多年以来一直没人愿意碰它。在维护了更多的代码后,我的观点发生了变化。我们不应去刻意探求如何构建软件。软件是我们为解决问题所付出的代价,那&…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/000830bnjj4ojw6ea8e8t8.jpg">Media</a>为开源项目作贡献最好的方式是为它减少代码,我们应致力于写出让新手程序员无需注释就容易理解的代码,让维护者也无需花费太多精力就能着手维护。在学生时代,我们会更多地用复杂巧妙的技术去挑战新的难题。首先我们会学习循环,然后是函数啊,类啊,等等。当我们到达一定高的程度,能用更高级的技术写更长的程序,我们会因此受到称赞。此刻我们发现老司机们用 monads 而新手们用 loop 作循环。之后我们毕业找了工作,或者和他人合作开源项目。我们用在学校里学到的各种炫技寻求并骄傲地给出解决方案的代码实现。<em>哈哈,我能扩展这个项目,并实现某牛 X 功能啦,我这里能用继承啦,我太聪明啦!</em>我们实现了某个小的功能,并以充分的理由觉得自己做到了。现实项目中的编程却不是针对某某部分的功能而言。以我个人的经验而言,以前我很开心的去写代码,并骄傲地向世界展示我所知道的事情。有例为证,作为对某种编程技术的偏爱,这是用另一种元编程语言构建的一个 <a href="https://github.com/mrocklin/matrix-algebra">线性代数语言</a>,注意,这么多年以来一直没人愿意碰它。在维护了更多的代码后,我的观点发生了变化。我们不应去刻意探求如何构建软件。软件是我们为解决问题所付出的代价,那&…
Lisp 是怎么成为上帝的编程语言的
即使是恨不得给每个说出形如“某某语言比其他所有语言都好”这类话的人都来一拳的键盘远征军们,也会承认 Lisp 处于另一个层次。Media
via https://linux.cn/article-10255-1.html
即使是恨不得给每个说出形如“某某语言比其他所有语言都好”这类话的人都来一拳的键盘远征军们,也会承认 Lisp 处于另一个层次。Media
via https://linux.cn/article-10255-1.html
Lisp 是怎么成为上帝的编程语言的
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/172313qm90n07uznrna1a1.jpg">Media</a>当程序员们谈论各类编程语言的相对优势时,他们通常会采用相当平淡的措词,就好像这些语言是一条工具带上的各种工具似的 —— 有适合写操作系统的,也有适合把其它程序黏在一起来完成特殊工作的。这种讨论方式非常合理;不同语言的能力不同。不声明特定用途就声称某门语言比其他语言更优秀只能导致侮辱性的无用争论。但有一门语言似乎受到和用途无关的特殊尊敬:那就是 Lisp。即使是恨不得给每个说出形如“某某语言比其他所有语言都好”这类话的人都来一拳的键盘远征军们,也会承认 Lisp 处于另一个层次。 Lisp 超越了用于评判其他语言的实用主义标准,因为普通程序员并不使用 Lisp 编写实用的程序 —— 而且,多半他们永远也不会这么做。然而,人们对 Lisp 的敬意是如此深厚,甚至于到了这门语言会时而被加上神话属性的程度。大家都喜欢的网络漫画合集 xkcd 就至少在两组漫画中如此描绘过 Lisp:<a href="https://xkcd.com/224/">其中一组漫画</a>中,某人得到了某种 Lisp 启示,而这好像使他理解了宇宙的基本构架。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/171504x6sgg5ghbxg12rey.jpg">Media</a>在<a href="https://xkcd.com/297/">另一组漫画</a>中,一个穿着长袍的老程序员给他的徒弟递了一沓圆括号,说这是“文明时代的优雅武器”,暗示着 Lisp 就像原力那样拥有各式各样的神秘力量。<a…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/172313qm90n07uznrna1a1.jpg">Media</a>当程序员们谈论各类编程语言的相对优势时,他们通常会采用相当平淡的措词,就好像这些语言是一条工具带上的各种工具似的 —— 有适合写操作系统的,也有适合把其它程序黏在一起来完成特殊工作的。这种讨论方式非常合理;不同语言的能力不同。不声明特定用途就声称某门语言比其他语言更优秀只能导致侮辱性的无用争论。但有一门语言似乎受到和用途无关的特殊尊敬:那就是 Lisp。即使是恨不得给每个说出形如“某某语言比其他所有语言都好”这类话的人都来一拳的键盘远征军们,也会承认 Lisp 处于另一个层次。 Lisp 超越了用于评判其他语言的实用主义标准,因为普通程序员并不使用 Lisp 编写实用的程序 —— 而且,多半他们永远也不会这么做。然而,人们对 Lisp 的敬意是如此深厚,甚至于到了这门语言会时而被加上神话属性的程度。大家都喜欢的网络漫画合集 xkcd 就至少在两组漫画中如此描绘过 Lisp:<a href="https://xkcd.com/224/">其中一组漫画</a>中,某人得到了某种 Lisp 启示,而这好像使他理解了宇宙的基本构架。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/171504x6sgg5ghbxg12rey.jpg">Media</a>在<a href="https://xkcd.com/297/">另一组漫画</a>中,一个穿着长袍的老程序员给他的徒弟递了一沓圆括号,说这是“文明时代的优雅武器”,暗示着 Lisp 就像原力那样拥有各式各样的神秘力量。<a…
Dropbox 在 Linux 上终止除了 Ext4 之外所有文件系统的同步支持
Dropbox 正考虑将同步支持限制为少数几种文件系统类型:Windows 的 NTFS、macOS 的 HFS+/APFS 和 Linux 的 Ext4。Media
via https://linux.cn/article-10256-1.html
Dropbox 正考虑将同步支持限制为少数几种文件系统类型:Windows 的 NTFS、macOS 的 HFS+/APFS 和 Linux 的 Ext4。Media
via https://linux.cn/article-10256-1.html
Dropbox 在 Linux 上终止除了 Ext4 之外所有文件系统的同步支持
Dropbox 正考虑将同步支持限制为少数几种文件系统类型:Windows 的 NTFS、macOS 的 HFS+/APFS 和 Linux 的 Ext4。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/212232ol1yfli78q7z8z8i.png">Dropbox ends support for various file system types</a><a href="https://www.dropbox.com/">Dropbox</a> 是最受欢迎的 <a href="https://itsfoss.com/cloud-services-linux/">Linux 中的云服务</a>之一。很多人都在使用 Linux 下的 Dropbox 同步客户端。但是,最近,一些用户在他们的 Dropbox Linux 桌面客户端上收到一条警告说:“移动 Dropbox 文件夹位置, Dropbox 将在 11 月停止同步“Dropbox 将仅支持少量文件系统一个 <a href="https://www.reddit.com/r/linux/comments/966xt0/linux_dropbox_client_will_stop_syncing_on_any/">Reddit 主题</a>强调了一位用户在 <a href="https://www.dropboxforum.com/t5/Syncing-and-uploads/">Dropbox 论坛</a>上查询了该消息后的公告,该消息被社区管理员标记为意外新闻。这是<a href="https://www.dropboxforum.com/t5/Syncing-and-uploads/Linux-Dropbox-client-warn-me-that-it-ll-stop-syncing-in-Nov-why/m-p/290065/highlight/true#M42255">回复</a>中的内容:“大家好,在 2018 年 11 月 7 日,我们会结束 Dropbox 在某些不常见文件系统的同步支持。支持的文件系统是 Windows 的 NTFS、macOS 的 HFS+ 或 APFS,以及Linux 的 Ext4。<a href="https://www.dropboxforum.com/t5/Syncing-and-uploads/Linux-Dropbox-client-warn-me-that-it-ll-stop-syncing-in-Nov-why/m-p/290065/highlight/true#M42255">Dropbox 官方论坛</a><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/212235hgeeeas6nos2n6ze.jpg">Dropbox official confirmation over limitation on supported file systems</a><em>Dropbox 官方确认支持文件系统的限制</em>此举旨在提供稳定和一致的体验。Dropbox 还更新了其<a href="https://www.dropbox.com/help/desktop-web/system-requirements#desktop">桌面要求</a>。那你该怎么办?如果你在不受支持的文件系统上使用 Dropbox 进行同步,那么应该考虑更改位置。Linux 仅支持 Ext4 文件系统。但这并不是一个令人担忧的新闻,因为你可能已经&…
Dropbox 正考虑将同步支持限制为少数几种文件系统类型:Windows 的 NTFS、macOS 的 HFS+/APFS 和 Linux 的 Ext4。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/212232ol1yfli78q7z8z8i.png">Dropbox ends support for various file system types</a><a href="https://www.dropbox.com/">Dropbox</a> 是最受欢迎的 <a href="https://itsfoss.com/cloud-services-linux/">Linux 中的云服务</a>之一。很多人都在使用 Linux 下的 Dropbox 同步客户端。但是,最近,一些用户在他们的 Dropbox Linux 桌面客户端上收到一条警告说:“移动 Dropbox 文件夹位置, Dropbox 将在 11 月停止同步“Dropbox 将仅支持少量文件系统一个 <a href="https://www.reddit.com/r/linux/comments/966xt0/linux_dropbox_client_will_stop_syncing_on_any/">Reddit 主题</a>强调了一位用户在 <a href="https://www.dropboxforum.com/t5/Syncing-and-uploads/">Dropbox 论坛</a>上查询了该消息后的公告,该消息被社区管理员标记为意外新闻。这是<a href="https://www.dropboxforum.com/t5/Syncing-and-uploads/Linux-Dropbox-client-warn-me-that-it-ll-stop-syncing-in-Nov-why/m-p/290065/highlight/true#M42255">回复</a>中的内容:“大家好,在 2018 年 11 月 7 日,我们会结束 Dropbox 在某些不常见文件系统的同步支持。支持的文件系统是 Windows 的 NTFS、macOS 的 HFS+ 或 APFS,以及Linux 的 Ext4。<a href="https://www.dropboxforum.com/t5/Syncing-and-uploads/Linux-Dropbox-client-warn-me-that-it-ll-stop-syncing-in-Nov-why/m-p/290065/highlight/true#M42255">Dropbox 官方论坛</a><a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/212235hgeeeas6nos2n6ze.jpg">Dropbox official confirmation over limitation on supported file systems</a><em>Dropbox 官方确认支持文件系统的限制</em>此举旨在提供稳定和一致的体验。Dropbox 还更新了其<a href="https://www.dropbox.com/help/desktop-web/system-requirements#desktop">桌面要求</a>。那你该怎么办?如果你在不受支持的文件系统上使用 Dropbox 进行同步,那么应该考虑更改位置。Linux 仅支持 Ext4 文件系统。但这并不是一个令人担忧的新闻,因为你可能已经&…
服务器的 LinuxBoot:告别 UEFI、拥抱开源
LinuxBoot 是私有的 UEFI 固件的开源 替代品。它发布于去年,并且现在已经得到主流的硬件生产商的认可成为他们产品的默认固件。去年,LinuxBoot 已经被 Linux 基金会接受并纳入开源家族。Media
via https://linux.cn/article-10257-1.html
LinuxBoot 是私有的 UEFI 固件的开源 替代品。它发布于去年,并且现在已经得到主流的硬件生产商的认可成为他们产品的默认固件。去年,LinuxBoot 已经被 Linux 基金会接受并纳入开源家族。Media
via https://linux.cn/article-10257-1.html
服务器的 LinuxBoot:告别 UEFI、拥抱开源
<a href="https://www.linuxboot.org/">LinuxBoot</a> 是私有的 <a href="https://itsfoss.com/check-uefi-or-bios/">UEFI</a> 固件的开源 <a href="https://www.phoronix.com/scan.php?page=news_item&px=LinuxBoot-OSFC-2018-State">替代品</a>。它发布于去年,并且现在已经得到主流的硬件生产商的认可成为他们产品的默认固件。去年,LinuxBoot 已经被 Linux 基金会接受并<a href="https://www.linuxfoundation.org/blog/2018/01/system-startup-gets-a-boost-with-new-linuxboot-project/">纳入</a>开源家族。这个项目最初是由 Ron Minnich 在 2017 年 1 月提出,它是 LinuxBIOS 的创造人,并且在 Google 领导 <a href="https://en.wikipedia.org/wiki/Coreboot">coreboot</a> 的工作。Google、Facebook、<a href="http://www.horizon-computing.com/">Horizon Computing Solutions</a>、和 <a href="https://www.twosigma.com/">Two Sigma</a> 共同合作,在运行 Linux 的服务器上开发 <a href="https://trmm.net/LinuxBoot_34c3">LinuxBoot 项目</a>(以前叫 <a href="https://trmm.net/NERF">NERF</a>)。它的开放性允许服务器用户去很容易地定制他们自己的引导脚本、修复问题、构建他们自己的 <a href="https://trmm.net/LinuxBoot_34c3#Runtimes">运行时环境</a> 和用他们自己的密钥去 <a href="http://www.tech-faq.com/flashing-firmware.html">刷入固件</a>,而不需要等待供应商的更新。下面是第一次使用 NERF BIOS 去引导 <a href="https://itsfoss.com/features-ubuntu-1604/">Ubuntu Xenial</a> 的视频:我们来讨论一下它与 UEFI 相比在服务器硬件方面的其它优势。LinuxBoot 超越 UEFI 的优势<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/222027o6lrh88h8g9z2ap8.png">LinuxBoot vs UEFI</a>下面是一些 LinuxBoot 超越 UEFI 的主要优势:启动速度显著加快它能在 20 秒钟以内完成服务器启动,而 UEFI 需要几分钟的时间。显著的灵活性LinuxBoot 可以用在 Linux 支持的各种设备、文件系统和协议上。更加安全相比 UEFI 而言,LinuxBoot 在设备驱动程序和文件系统方面进行更加严格的检查。我们可能争辩说 UEFI 是使用 <a href="https://www.tianocore.org/">EDK II</a> 而部分开源的,而 LinuxBoot 是部分闭源的。但有人<a href="https://media.ccc.de/v/34c3-9056-bringing_linux_back_to_server_boot_roms_with_nerf_and_heads">提出</a>,即便有像 EDK II 这样的代码,但也没有做适当的审查级别和像 <a href="https://medium.com/@bhumikagoyal/linux-kernel-development-cycle-52b4c55be06e">Linux 内核</a> 那样的正确性检查,并且在 UEFI 的开发中还大量使用闭源组件。另一方面,LinuxBoot 有非常小的二进制文件,它仅用了大约几百 KB,相比而言,而 UEFI 的二进制文件有 32 MB。严格来说,LinuxBoot 与 UEFI 不一样,更适合于<a href="https://en.wikipedia.org/wiki/Trusted_computing_base">可信计算基础</a>。LinuxBoot 有一个基于 <a href="https://en.wikipedia.org/wiki/Kexec">kexec</a> 的引导加载器,它不支持启动 Windows/非 Linux 内核,但这影响并不大,因为主流的云都是基于 Linux 的服务器。LinuxBoot 的采用者自 2011 年, <a href="https://github.com/facebook">Facebook</a> 发起了<a href="https://en.wikipedia.org/wiki/Open_Compute_Project">开源计算项目(OCP)</a>,它的一些服务器是基于<a href="https://github.com/opencomputeproject">开源</a>设计的,目的是构建的数据中心更加高效。LinuxBoot 已经在下面列出的几个开源计算硬件上做了测试:WinterfellLeopardTioga Pass更多 <a href="https://www.networkworld.com/article/3266293/lan-wan/what-is-the-open-compute-project.html">OCP</a> 硬件在<a href="http://hyperscaleit.com/ocp-server-hardware/">这里</a>有一个简短的描述。OCP 基金会通过<a href="https://www.opencompute.org/projects/open-system-firmware">开源系统固件</a>运行一个专门的固件项目。支持 LinuxBoot 的其它一些设备有:<a href="https://en.wikipedia.org/wiki/QEMU">QEMU</a> 仿真的 <a href="https://wiki.qemu.org/Features/Q35">Q35</a> 系统<a href="https://trmm.net/S2600">Intel S2600wf</a><a href="https://trmm.net/NERF#Installing_on_a_Dell_R630">Dell R630</a>上个月底(2018 年 9 月 24 日),<a href="https://www.equuscs.com/">Equus 计算解决方案</a> <a href="http://www.dcvelocity.com/products/Software_-_Systems/20180924-equus-compute-solutions-introduces-whitebox-open-m2660-and-m2760-servers/">宣布</a> 发行它的 <a href="https://www.equuscs.com/servers/whitebox-open/">白盒开放式™</a> M2660 和 M2760 服务器,作为它们的定制的、成本优化的、开放硬件服务器和存储平台的一部分。它们都支持 LinuxBoot 灵活定制服务器的 BIOS,以提升安全性和设计一个非常快的纯净的引导体验。你认为 LinuxBoot 怎么样?LinuxBoot 在 <a href="https://github.com/linuxboot/linuxboot">GitHub</a> 上有很丰富的文档。你喜欢它与 UEFI 不同的特性吗?由于 LinuxBoot 的开放式开发和未来,你愿意使用 LinuxBoot 而不是 UEFI 去启动你的服务器吗?请在下面的评论区告诉我们吧。via: <a href="https://itsfoss.com/linuxboot-uefi/">https://itsfoss.com/linuxboot-uefi/</a>作者:<a href="https://itsfoss.com/author/avimanyu/">Avimanyu Bandyopadhyay</a> 选题:<a href="https://github.com/oska874">oska874</a> 译者:<a href="https://github.com/qhwdw">qhwdw</a> 校对:<a href="https://github.com/wxy">wxy</a>本文由 <a href="https://github.com/LCTT/TranslateProject">LCTT</a> 原创编译,<a href="https://linux.cn/">Linux中国</a> 荣誉推出<a href="https://dn…
<a href="https://www.linuxboot.org/">LinuxBoot</a> 是私有的 <a href="https://itsfoss.com/check-uefi-or-bios/">UEFI</a> 固件的开源 <a href="https://www.phoronix.com/scan.php?page=news_item&px=LinuxBoot-OSFC-2018-State">替代品</a>。它发布于去年,并且现在已经得到主流的硬件生产商的认可成为他们产品的默认固件。去年,LinuxBoot 已经被 Linux 基金会接受并<a href="https://www.linuxfoundation.org/blog/2018/01/system-startup-gets-a-boost-with-new-linuxboot-project/">纳入</a>开源家族。这个项目最初是由 Ron Minnich 在 2017 年 1 月提出,它是 LinuxBIOS 的创造人,并且在 Google 领导 <a href="https://en.wikipedia.org/wiki/Coreboot">coreboot</a> 的工作。Google、Facebook、<a href="http://www.horizon-computing.com/">Horizon Computing Solutions</a>、和 <a href="https://www.twosigma.com/">Two Sigma</a> 共同合作,在运行 Linux 的服务器上开发 <a href="https://trmm.net/LinuxBoot_34c3">LinuxBoot 项目</a>(以前叫 <a href="https://trmm.net/NERF">NERF</a>)。它的开放性允许服务器用户去很容易地定制他们自己的引导脚本、修复问题、构建他们自己的 <a href="https://trmm.net/LinuxBoot_34c3#Runtimes">运行时环境</a> 和用他们自己的密钥去 <a href="http://www.tech-faq.com/flashing-firmware.html">刷入固件</a>,而不需要等待供应商的更新。下面是第一次使用 NERF BIOS 去引导 <a href="https://itsfoss.com/features-ubuntu-1604/">Ubuntu Xenial</a> 的视频:我们来讨论一下它与 UEFI 相比在服务器硬件方面的其它优势。LinuxBoot 超越 UEFI 的优势<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/222027o6lrh88h8g9z2ap8.png">LinuxBoot vs UEFI</a>下面是一些 LinuxBoot 超越 UEFI 的主要优势:启动速度显著加快它能在 20 秒钟以内完成服务器启动,而 UEFI 需要几分钟的时间。显著的灵活性LinuxBoot 可以用在 Linux 支持的各种设备、文件系统和协议上。更加安全相比 UEFI 而言,LinuxBoot 在设备驱动程序和文件系统方面进行更加严格的检查。我们可能争辩说 UEFI 是使用 <a href="https://www.tianocore.org/">EDK II</a> 而部分开源的,而 LinuxBoot 是部分闭源的。但有人<a href="https://media.ccc.de/v/34c3-9056-bringing_linux_back_to_server_boot_roms_with_nerf_and_heads">提出</a>,即便有像 EDK II 这样的代码,但也没有做适当的审查级别和像 <a href="https://medium.com/@bhumikagoyal/linux-kernel-development-cycle-52b4c55be06e">Linux 内核</a> 那样的正确性检查,并且在 UEFI 的开发中还大量使用闭源组件。另一方面,LinuxBoot 有非常小的二进制文件,它仅用了大约几百 KB,相比而言,而 UEFI 的二进制文件有 32 MB。严格来说,LinuxBoot 与 UEFI 不一样,更适合于<a href="https://en.wikipedia.org/wiki/Trusted_computing_base">可信计算基础</a>。LinuxBoot 有一个基于 <a href="https://en.wikipedia.org/wiki/Kexec">kexec</a> 的引导加载器,它不支持启动 Windows/非 Linux 内核,但这影响并不大,因为主流的云都是基于 Linux 的服务器。LinuxBoot 的采用者自 2011 年, <a href="https://github.com/facebook">Facebook</a> 发起了<a href="https://en.wikipedia.org/wiki/Open_Compute_Project">开源计算项目(OCP)</a>,它的一些服务器是基于<a href="https://github.com/opencomputeproject">开源</a>设计的,目的是构建的数据中心更加高效。LinuxBoot 已经在下面列出的几个开源计算硬件上做了测试:WinterfellLeopardTioga Pass更多 <a href="https://www.networkworld.com/article/3266293/lan-wan/what-is-the-open-compute-project.html">OCP</a> 硬件在<a href="http://hyperscaleit.com/ocp-server-hardware/">这里</a>有一个简短的描述。OCP 基金会通过<a href="https://www.opencompute.org/projects/open-system-firmware">开源系统固件</a>运行一个专门的固件项目。支持 LinuxBoot 的其它一些设备有:<a href="https://en.wikipedia.org/wiki/QEMU">QEMU</a> 仿真的 <a href="https://wiki.qemu.org/Features/Q35">Q35</a> 系统<a href="https://trmm.net/S2600">Intel S2600wf</a><a href="https://trmm.net/NERF#Installing_on_a_Dell_R630">Dell R630</a>上个月底(2018 年 9 月 24 日),<a href="https://www.equuscs.com/">Equus 计算解决方案</a> <a href="http://www.dcvelocity.com/products/Software_-_Systems/20180924-equus-compute-solutions-introduces-whitebox-open-m2660-and-m2760-servers/">宣布</a> 发行它的 <a href="https://www.equuscs.com/servers/whitebox-open/">白盒开放式™</a> M2660 和 M2760 服务器,作为它们的定制的、成本优化的、开放硬件服务器和存储平台的一部分。它们都支持 LinuxBoot 灵活定制服务器的 BIOS,以提升安全性和设计一个非常快的纯净的引导体验。你认为 LinuxBoot 怎么样?LinuxBoot 在 <a href="https://github.com/linuxboot/linuxboot">GitHub</a> 上有很丰富的文档。你喜欢它与 UEFI 不同的特性吗?由于 LinuxBoot 的开放式开发和未来,你愿意使用 LinuxBoot 而不是 UEFI 去启动你的服务器吗?请在下面的评论区告诉我们吧。via: <a href="https://itsfoss.com/linuxboot-uefi/">https://itsfoss.com/linuxboot-uefi/</a>作者:<a href="https://itsfoss.com/author/avimanyu/">Avimanyu Bandyopadhyay</a> 选题:<a href="https://github.com/oska874">oska874</a> 译者:<a href="https://github.com/qhwdw">qhwdw</a> 校对:<a href="https://github.com/wxy">wxy</a>本文由 <a href="https://github.com/LCTT/TranslateProject">LCTT</a> 原创编译,<a href="https://linux.cn/">Linux中国</a> 荣誉推出<a href="https://dn…
命令行快速技巧:如何定位一个文件
Linux 命令行专门设计了很多非常有用的命令行工具在你的电脑上查找文件。下面我们看一下它们其中三个:ls、tree 和 tree。Media
via https://linux.cn/article-10258-1.html
Linux 命令行专门设计了很多非常有用的命令行工具在你的电脑上查找文件。下面我们看一下它们其中三个:ls、tree 和 tree。Media
via https://linux.cn/article-10258-1.html
命令行快速技巧:如何定位一个文件
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/225752o2klz0gnwwmbzust.jpg">Media</a>我们都会有文件存储在电脑里 —— 目录、相片、源代码等等。它们是如此之多。也无疑超出了我的记忆范围。要是毫无目标,找到正确的那一个可能会很费时间。在这篇文章里我们来看一下如何在命令行里找到需要的文件,特别是快速找到你想要的那一个。好消息是 Linux 命令行专门设计了很多非常有用的命令行工具在你的电脑上查找文件。下面我们看一下它们其中三个:ls、tree 和 find。ls如果你知道文件在哪里,你只需要列出它们或者查看有关它们的信息,ls 就是为此而生的。只需运行 ls 就可以列出当下目录中所有可见的文件和目录:<pre class="prettyprint linenums">$ lsDocuments Music Pictures Videos notes.txt</pre>添加 -l 选项可以查看文件的相关信息。同时再加上 -h 选项,就可以用一种人们易读的格式查看文件的大小:<pre class="prettyprint linenums">$ ls -lhtotal 60Kdrwxr-xr-x 2 adam adam 4.0K Nov 2 13:07 Documentsdrwxr-xr-x 2 adam adam 4.0K Nov 2 13:07 Musicdrwxr-xr-x 2 adam adam 4.0K Nov 2 13:13 Picturesdrwxr-xr-x 2 adam adam 4.0K Nov 2 13:07 Videos-rw-r--r-- 1 adam adam 43K Nov 2 13:12 notes.txt</pre>ls 也可以搜索一个指定位置:<pre class="prettyprint linenums">$ ls Pictures/trees.png wallpaper.png</pre>或者一个指定文件 —— 即便只跟着名字的一部分:<pre class="prettyprint linenums">$ ls *.txtnotes.txt</pre>少了点什么?想要查看一个隐藏文件?没问题,使用 -a 选项:<pre class="prettyprint linenums">$ ls -a. .bash_logout .bashrc Documents Pictures notes.txt.. .bash_profile .vimrc Music Videos</pre>ls 还有很多其他有用的选项,你可以把它们组合在一起获得你想要的效果。可以使用以下命令了解更多:<pre class="prettyprint linenums">$ man ls</pre>tree如…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/20/225752o2klz0gnwwmbzust.jpg">Media</a>我们都会有文件存储在电脑里 —— 目录、相片、源代码等等。它们是如此之多。也无疑超出了我的记忆范围。要是毫无目标,找到正确的那一个可能会很费时间。在这篇文章里我们来看一下如何在命令行里找到需要的文件,特别是快速找到你想要的那一个。好消息是 Linux 命令行专门设计了很多非常有用的命令行工具在你的电脑上查找文件。下面我们看一下它们其中三个:ls、tree 和 find。ls如果你知道文件在哪里,你只需要列出它们或者查看有关它们的信息,ls 就是为此而生的。只需运行 ls 就可以列出当下目录中所有可见的文件和目录:<pre class="prettyprint linenums">$ lsDocuments Music Pictures Videos notes.txt</pre>添加 -l 选项可以查看文件的相关信息。同时再加上 -h 选项,就可以用一种人们易读的格式查看文件的大小:<pre class="prettyprint linenums">$ ls -lhtotal 60Kdrwxr-xr-x 2 adam adam 4.0K Nov 2 13:07 Documentsdrwxr-xr-x 2 adam adam 4.0K Nov 2 13:07 Musicdrwxr-xr-x 2 adam adam 4.0K Nov 2 13:13 Picturesdrwxr-xr-x 2 adam adam 4.0K Nov 2 13:07 Videos-rw-r--r-- 1 adam adam 43K Nov 2 13:12 notes.txt</pre>ls 也可以搜索一个指定位置:<pre class="prettyprint linenums">$ ls Pictures/trees.png wallpaper.png</pre>或者一个指定文件 —— 即便只跟着名字的一部分:<pre class="prettyprint linenums">$ ls *.txtnotes.txt</pre>少了点什么?想要查看一个隐藏文件?没问题,使用 -a 选项:<pre class="prettyprint linenums">$ ls -a. .bash_logout .bashrc Documents Pictures notes.txt.. .bash_profile .vimrc Music Videos</pre>ls 还有很多其他有用的选项,你可以把它们组合在一起获得你想要的效果。可以使用以下命令了解更多:<pre class="prettyprint linenums">$ man ls</pre>tree如…
CPod:一个开源、跨平台播客应用
播客是一个很好的娱乐和获取信息的方式。事实上,我会听十几个不同的播客,包括技术、神秘事件、历史和喜剧。当然,Linux 播客也在此列表中。Media
via https://linux.cn/article-10259-1.html
播客是一个很好的娱乐和获取信息的方式。事实上,我会听十几个不同的播客,包括技术、神秘事件、历史和喜剧。当然,Linux 播客也在此列表中。Media
via https://linux.cn/article-10259-1.html