2019年5月

通过给这些致力于提升环境的项目做贡献来庆祝地球日。

在过去的几年里,我一直在帮助 Greenpeace 建立其第一个完全开源的软件项目,Planet 4. Planet 4 是一个全球参与平台,Greenpeace 的支持者和活动家可以互动并参与组织。它的目标是让人们代表我们的星球采取行动。我们希望邀请参与并利用人力来应对气候变化和塑料污染等全球性问题。开发者、设计师、作者、贡献者和其他通过开源支持环保主义的人都非常欢迎参与进来

Planet 4 远非唯一关注环境的开源项目。对于地球日,我会分享其他七个关注我们星球的开源项目。

Eco Hacker Farm 致力于支持可持续社区。它建议并支持将黑客空间/黑客基地和永续农业生活结合在一起的项目。该组织还有在线项目。访问其 wikiTwitter 了解有关 Eco Hacker Farm 正在做的更多信息。

Public Lab 是一个开放社区和非营利组织,它致力于将科学掌握在公民手中。它于 2010 年在 BP 石油灾难后形成,Public Lab 与开源合作,协助环境勘探和调查。它是一个多元化的社区,有很多方法可以做贡献

不久前,Opensource.com 的社区管理者 Don Watkins 撰写了一篇 Open Climate Workbench 的文章,该项目来自 Apache 基金会。 OCW 提供了进行气候建模和评估的软件,可用于各种应用。

Open Source Ecology 是一个旨在改善经济运作方式的项目。该项目着眼于环境再生和社会公正,它旨在重新界定我们的一些肮脏的生产和分配技术,以创造一个更可持续的文明。

促进开源和大数据工具之间的合作,以实现海洋、大气、土地和气候的研究,“ Pangeo 是第一个推广开放、可重复和可扩展科学的社区。”大数据可以改变世界!

Leaflet 是一个著名的开源 JavaScript 库。它可以做各种各样的事情,包括环保项目,如 Arctic Web Map,它能让科学家准确地可视化和分析北极地区,这是气候研究的关键能力。

当然,没有我在 Mozilla 的朋友就没有这个列表(这不是个完整的列表!)。Mozilla Science Lab 社区就像所有 Mozilla 项目一样,非常开放,它致力于将开源原则带给科学界。它的项目和社区使科学家能够进行我们世界所需的各种研究,以解决一些最普遍的环境问题。

如何贡献

在这个地球日,做为期六个月的承诺,将一些时间贡献给一个有助于应对气候变化的开源项目,或以其他方式鼓励人们保护地球母亲。肯定还有许多关注环境的开源项目,所以请在评论中留言!


via: https://opensource.com/article/19/4/environment-projects

作者:Laura Hilliger 选题:lujun9972 译者:geekpi 校对:wxy

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

2017 年的 NotPetya 网络攻击给 亿滋国际 Mondelez International (前身卡夫食品,奥利奥饼干制造商)造成了超过 1 亿美元经济损失。该公司的高管以为保险公司会帮他们承担损失,然而亿滋的承保人 苏黎世保险 Zurich Insurance 以保险合同中“战争除外”条款拒绝报销费用。

2018 年,美国政府认定俄罗斯是 NotPetya 网络攻击幕后主使,当政府官员放肆地点名羞辱网络攻击的国家级支持者,却白送给保险公司一个拒绝的理由——“网络战”。亿滋于去年起诉了苏黎世保险。于此同时 默沙东制药 Merck 起诉了 20 多家拒绝理赔的保险公司,NotPetya 攻击给默沙东造成 7 亿美元损失。

这两个案件可能数年后才得以解决,卡内基国际和平基金会高级研究员 Ariel Levite 认为,“我们所面临的风险是,未来的网络保险可能一文不值。”这不是第一次保险公司使用战时条款免责,1970 年解放巴勒斯坦人民阵线劫持泛美航空 93 号班机,并致坠毁,法庭驳回了 安泰人寿 Aetna 的企图:这是犯罪,而不是战争行为。

在亿滋和默沙东的案件中,核心问题是 NotPetya 攻击是否符合“战争例外”条款,而我们至今不清楚网络战到底是什么样,事实上也没有人与亿滋“交战”,前保险巨头美国国际集团(AIG)首席运营官 Ty Sagalow 认为这是一个灰色地带。

网络攻击带来的连带损害越来越普遍,“这就是今天的网络,如果你不喜欢它,你就不应该经商。”

来源:solidot.org

更多资讯

17 岁安全研究人员发现戴尔电脑的 SupportAssist 存在严重缺陷

如果您使用戴尔 Windows PC,那么肯定了解该公司的 SupportAssist 应用程序,该应用程序预先安装在几乎所有戴尔品牌的 Windows PC,旨在帮助用户处理各种事务,从下载驱动程序到硬件检查。简而言之,SupportAssist 应用程序可以处理您电脑的健康状况。但是,一位 17 岁的安全研究人员在 SupportAssist 应用程序中发现了远程代码执行(RCE)漏洞。

来源: cnBeta.COM

详情: http://t.cn/ESdKQes

Windows 10 将保护用户在 Google Chrome 隐身模式中输入的文字

微软已经提出了在私有模式下运行 Chromium 浏览器(如 Google Chrome)时改善用户隐私的计划,从而解决了当前操作系统中最大的问题之一。微软表示,在 Windows 10 上,每当用户以隐身模式启动 Google Chrome 时,其键入的数据都应该受到保护,不应留下任何浏览痕迹。

来源: cnBeta.COM

详情: http://t.cn/ESdKezQ

Mozilla 更新扩展政策 宣布禁止混淆代码

Mozilla 更新了它的扩展政策,明确禁止含有混淆代码的扩展。这一政策将于 6 月 10 日生效,扩展开发者需要在一个月内更新扩展以避免违反扩展政策。Mozilla 表示此举有助于更好的处理恶意扩展。混淆代码通常被黑客用于隐藏程序的真正用途。

来源: solidot.org

详情: http://t.cn/ESd97T3

2019 年第 1 季度网络钓鱼报告:微软是攻击者最爱模仿的服务品牌

最新报告显示 2019 年第 1 季度,通过社交媒体开展的网络钓鱼行为数量同比增长了 74.7%。根据电子邮件预防公司 Vade Secure 近期公布的网络钓鱼报告显示,由于可以通过 Office 365 中获取丰厚的数据,因此微软已经连续 4 个季度成为黑客重点攻击的目标。

来源: cnBeta.COM

详情: http://t.cn/ESd9y2X

(信息来源于网络,安华金和搜集整理)

5G 网络将使无线网络吞吐量提高 10 倍并且能够替代有线宽带。但是它们什么时候能够投入使用呢,为什么 5G 和物联网如此紧密地联系在一起呢?

Thinkstock

5G 无线 是一个概括的术语,用来描述一系列更快的无线互联网的标准和技术,理论上比 4G 快了 20 倍并且延迟降低了 120 倍,为物联网的发展和对新的高带宽应用的支持奠定了基础。

什么是 5G?科技还是流行词?

这个技术在世界范围内完全发挥它的潜能还需要数年时间,但同时当今一些 5G 网络服务已经投入使用。5G 不仅是一个技术术语,也是一个营销术语,并不是市场上的所有 5G 服务是标准的。

5G 与 4G 的速度对比

无线技术的每一代,最大的呼吁是增加速度。5G 网络潜在的峰值下载速度可以达到20 Gbps,一般在 10 Gbps。这不仅仅比当前 4G 网络更快,4G 目前峰值大约 1 Gbps,并且比更多家庭的有线网络连接更快。5G 提供的网络速度能够与光纤一较高下。

吞吐量不是 5G 仅有的速度提升;它还有的特点是极大降低了网络延迟。这是一个重要的区分:吞吐量用来测量花费多久来下载一个大文件,而延迟由网络瓶颈决定,延迟在往返的通讯中减慢了响应速度。

延迟很难量化,因为它因各种网络状态变化而变化,但是 5G 网络在理想情况下有能力使延迟率在 1 ms 内。总的来说,5G 延迟将比 4G 降低 60 到 120 倍。这会使很多应用变得可能,例如当前虚拟现实的延迟使它变得不实际。

5G 技术

5G 技术的基础有一系列标准定义,在过去的 10 年里一直在研究更好的部分。这些里面最重要的是 5G New Radio(5G NR),由 3GPP(一个为移动电话开发协议的标准化组织)组织标准化。5G NR 规定了很多 5G 设备操作的方式,于 2018 年 7 月 完成终版

很多独特的技术同时出现来尽可能地提升 5G 的速度并降低延迟,下面是一些重要的。

毫米波

5G 网络大部分使用在 30 到 300 GHz 范围的频率。(正如名称一样,这些频率的波长在 1 到 10 毫米之间)这些高频范围能够在每个时间单元比低频信号携带更多的信息,4G LTE 当前使用的就是通常频率在 1 GHz 以下的低频信号,或者 WiFi,最高 6 GHz。

毫米波技术传统上是昂贵并且难于部署的。科技进步已经克服了这些困难,这也是 5G 在如今成为了可能的原因。

小蜂窝

毫米波传输的一个缺点是当它们传输通过物理对象的时候比 4G 或 WiFi 信号更容易被干扰。

为了克服这些,5G 基础设施的模型将不同于 4G。替代了大的像景观一样移动天线桅杆,5G 网络将由分布在城市中大概间距 250 米的更小的基站提供支持,创建更小的服务区域。

这些 5G 基站的功率要求低于 4G,并且可以更容易地连接到建筑物和电线杆上。

大量的 MIMO

尽管 5G 基站比 4G 的对应部分小多了,但它们却带了更多的天线。这些天线是多输入多输出的(MIMO),意味着在相同的数据信道能够同时处理多个双向会话。5G 网络能够处理比 4G 网络超过 20 倍的会话。

大量的 MIMO 保证了基站容量限制下的极大提升,允许单个基站承载更多的设备会话。这就是 5G 可能推动物联网更广泛应用的原因。理论上,更多的连接到互联网的无线设备能够部署在相同的空间而不会使网络被压垮。

波束成形

确保所有的会话来回地到达正确的地方是比较棘手的,尤其是前面提到的毫米波信号的干涉问题。为了克服这些问题,5G 基站部署了更高级的波束技术,使用建设性和破坏性的无线电干扰来使信号有向而不是广播。这在一个特定的方向上有效地加强了信号强度和范围。

5G 可获得性

第一个 5G 商用网络 2018 年 5 月在卡塔尔推出。自那以后,5G 网络已经扩展到全世界,从阿根廷到越南。Lifewire 有一个不错的,经常更新的列表.

牢记一点的是,尽管这样,目前不是所有的 5G 网络都履行了所有的技术承诺。一些早期的 5G 产品依赖于现有的 4G 基础设施,减少了可以获得的潜在速度;其它服务为了市场目的而标榜 5G 但是并不符合标准。仔细观察美国无线运营商的产品都会发现一些陷阱。

无线运营商和 5G

技术上讲,5G 服务如今在美国已经可获得了。但声明中包含的注意事项因运营商而异,表明 5G 普及之前还有很长的路要走。

Verizon 可能是早期 5G 最大的推动者。它宣告到 2018 年 10 月 将有 4 个城市成为 5G 家庭的一部分,这是一项需要你的其他设备通过 WiFi 来连接特定的 5G 热点,由热点连接到网络的服务。

Verizon 计划四月在 Minneapolis 和 Chicago 发布 5G 移动服务,该服务将在这一年内传播到其他城市。访问 5G 网络将需要消费者每月额外花费费用,加上购买能够实际访问 5G 的手机花费(稍后会详细介绍)。另外,Verizon 的部署被称作 5G TF,实际上不符合 5G NR 的标准。

AT&T 声明在 2018 年 12 月将有美国的 12 个城市可以使用 5G,在 2019 年的末尾将增加 9 个城市,但最终在这些城市里,只有市中心商业区能够访问。为了访问 5G 网络,需要一个特定的 Netgear 热点来连接到 5G 服务,然后为手机和其他设备提供一个 Wi-Fi 信号。

与此同时,AT&T 也在推出 4G 网络的速度提升计划,被成为 5GE,即使这些提升和 5G 网络没有关系。(这会向后兼容

Sprint 将在 2019 年 5 月之前在四个城市提供 5G 服务,在年末将有更多。但是 Sprint 的 5G 产品充分利用了 MIMO 单元,他们没有使用毫米波信道,意味着 Sprint 的用户不会看到像其他运营商一样的速度提升。

T-Mobile 采用相似的模型,它在 2019 年年底之前不会推出 5G 服务,因为他们没有手机能够连接到它。

一个可能阻止 5G 速度的迅速传播的障碍是需要铺开所有这些小蜂窝基站。它们小的尺寸和较低的功耗需求使它们技术上比 4G 技术更容易部署,但这不意味着它能够很简单的使政府和财产拥有者信服到处安装一堆基站。Verizon 实际上建立了向本地民选官员请愿的网站来加速 5G 基站的部署。

5G 手机:何时可获得?何时可以买?

第一部声称为 5G 手机的是 Samsung Galaxy S10 5G,将在 2019 年夏末首发。你也可以从 Verizon 订阅一个“Moto Mod”,用来转换 Moto Z3 手机为 5G 兼容设备

但是除非你不能忍受作为一个早期使用者的诱惑,你会希望再等待一下;一些关于运营商的奇怪和突显的问题意味着可能你的手机不兼容你的运营商的整个 5G 网络

一个可能令你吃惊的落后者是苹果:分析者确信最早直到 2020 年以前 iPhone 不会与 5G 兼容。但这符合该公司的特点;苹果在 2012 年末也落后于三星发布兼容 4G 的手机。

不可否认,5G 洪流已经到来。5G 兼容的设备在 2019 年统治了巴塞罗那世界移动大会,因此期待视野里有更多的选择。

为什么人们已经在讨论 6G 了?

一些专家说缺点是5G 不能够达到延迟和可靠性的目标。这些完美主义者已经在探寻 6G,来试图解决这些缺点。

有一个研究新的能够融入 6G 技术的小组,自称为“融合 TeraHertz 通信与传感中心”(ComSenTer)。根据说明,他们努力让每个设备的带宽达到 100Gbps。

除了增加可靠性,还突破了可靠性并增加速度,6G 同样试图允许上千的并发连接。如果成功的话,这个特点将帮助物联网设备联网,使在工业设置中部署上千个传感器。

即使仍在胚胎当中,6G 已经由于新发现的 在基于 tera-hretz 的网络中潜在的中间人攻击的紧迫性面临安全的考虑。好消息是有大量时间来解决这个问题。6G 网络直到 2030 之前才可能出现。

阅读更多关于 5G 网络:


via: https://www.networkworld.com/article/3203489/what-is-5g-how-is-it-better-than-4g.html

作者:Josh Fruhlinger 选题:lujun9972 译者:warmfrog 校对:wxy

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

你也许听说过这个词很多次或者你可能已经在使用它了。在这篇文章中我将会清晰的告诉你 NTP 服务器和客户端的安装。

之后我们将会了解 Chrony NTP 客户端的安装

什么是 NTP 服务?

NTP 意即 网络时间协议 Network Time Protocol 。它是通过网络在计算机系统之间进行时钟同步的网络协议。换言之,它可以让那些通过 NTP 或者 Chrony 客户端连接到 NTP 服务器的系统保持时间上的一致(它能保持一个精确的时间)。

NTP 在公共互联网上通常能够保持时间延迟在几十毫秒以内的精度,并在理想条件下,它能在局域网下达到低于一毫秒的延迟精度。

它使用用户数据报协议(UDP)在端口 123 上发送和接受时间戳。它是个 C/S 架构的应用程序。

NTP 客户端

NTP 客户端将其时钟与网络时间服务器同步。

Chrony 客户端

Chrony 是 NTP 客户端的替代品。它能以更精确的时间更快的同步系统时钟,并且它对于那些不总是在线的系统很有用。

为什么我们需要 NTP 服务?

为了使你组织中的所有服务器与基于时间的作业保持精确的时间同步。

为了说明这点,我将告诉你一个场景。比如说,我们有两个服务器(服务器 1 和服务器 2)。服务器 1 通常在 10:55 完成离线作业,然后服务器 2 在 11:00 需要基于服务器 1 完成的作业报告去运行其他作业。

如果两个服务器正在使用不同的时间(如果服务器 2 时间比服务器 1 提前,服务器 1 的时间就落后于服务器 2),然后我们就不能去执行这个作业。为了达到时间一致,我们应该安装 NTP。

希望上述能清除你对于 NTP 的疑惑。

在这篇文章中,我们将使用下列设置去测试。

  • NTP 服务器: 主机名:CentOS7.2daygeek.com,IP:192.168.1.8,OS:CentOS 7
  • NTP 客户端: 主机名:Ubuntu18.2daygeek.com,IP:192.168.1.5,OS:Ubuntu 18.04

NTP 服务器端:如何在 Linux 上安装 NTP?

因为它是 C/S 架构,所以 NTP 服务器端和客户端的安装包没有什么不同。在发行版的官方仓库中都有 NTP 安装包,因此可以使用发行版的包管理器安装它。

对于 Fedora 系统,使用 DNF 命令 去安装 ntp。

$ sudo dnf install ntp

对于 Debian/Ubuntu 系统,使用 APT-GET 命令 或者 APT 命令 去安装 ntp。

$ sudo apt install ntp

对基于 Arch Linux 的系统,使用 Pacman 命令 去安装 ntp。

$ sudo pacman -S ntp

对 RHEL/CentOS 系统,使用 YUM 命令 去安装 ntp。

$ sudo yum install ntp

对于 openSUSE Leap 系统,使用 Zypper 命令 去安装 ntp。

$ sudo zypper install ntp

如何在 Linux 上配置 NTP 服务器?

安装 NTP 软件包后,请确保在服务器端的 /etc/ntp.conf 文件中取消以下配置的注释。

默认情况下,NTP 服务器配置依赖于 X.distribution_name.pool.ntp.org。 如果有必要,可以使用默认配置,也可以访问https://www.ntppool.org/zone/@站点,根据你所在的位置(特定国家/地区)进行更改。

比如说如果你在印度,然后你的 NTP 服务器将是 0.in.pool.ntp.org,并且这个地址适用于大多数国家。

# vi /etc/ntp.conf

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys

我们仅允许 192.168.1.0/24 子网的客户端访问这个 NTP 服务器。

由于默认情况下基于 RHEL7 的发行版的防火墙是打开的,因此要允许 ntp 服务通过。

# firewall-cmd --add-service=ntp --permanent
# firewall-cmd --reload

更新配置后要重启服务:

对于 sysvinit 系统。基于 Debian 的系统需要去运行 ntp 而不是 ntpd

# service ntpd restart
# chkconfig ntpd on

对于 systemctl 系统。基于 Debian 的需要去运行 ntpntpd

# systemctl restart ntpd
# systemctl enable ntpd

NTP 客户端:如何在 Linux 上安装 NTP 客户端?

正如我在这篇文章中前面所说的。NTP 服务器端和客户端的安装包没有什么不同。因此在客户端上也安装同样的软件包。

对于 Fedora 系统,使用 DNF 命令 去安装 ntp。

$ sudo dnf install ntp

对于 Debian/Ubuntu 系统,使用 APT-GET 命令 或者 APT 命令 去安装 ntp。

$ sudo apt install ntp

对基于 Arch Linux 的系统,使用 Pacman 命令 去安装 ntp。

$ sudo pacman -S ntp

对 RHEL/CentOS 系统,使用 YUM 命令 去安装 ntp。

$ sudo yum install ntp

对于 openSUSE Leap 系统,使用 Zypper 命令 去安装 ntp。

$ sudo zypper install ntp

我已经在 CentOS7.2daygeek.com` 这台主机上安装和配置了 NTP 服务器,因此将其附加到所有的客户端机器上。

# vi /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server CentOS7.2daygeek.com prefer iburst
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys

更新配置后重启服务:

对于 sysvinit 系统。基于 Debian 的系统需要去运行 ntp 而不是 ntpd

# service ntpd restart
# chkconfig ntpd on

对于 systemctl 系统。基于 Debian 的需要去运行 ntpntpd

# systemctl restart ntpd
# systemctl enable ntpd

重新启动 NTP 服务后等待几分钟以便从 NTP 服务器获取同步的时间。

在 Linux 上运行下列命令去验证 NTP 服务的同步状态。

# ntpq –p
或
# ntpq -pn

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*CentOS7.2daygee 133.243.238.163  2 u   14   64   37    0.686    0.151  16.432

运行下列命令去得到 ntpd 的当前状态。

# ntpstat
synchronised to NTP server (192.168.1.8) at stratum 3
   time correct to within 508 ms
   polling server every 64 s

最后运行 date 命令。

# date
Tue Mar 26 23:17:05 CDT 2019

如果你观察到 NTP 中输出的时间偏移很大。运行下列命令从 NTP 服务器手动同步时钟。当你执行下列命令的时候,确保你的 NTP 客户端应该为未活动状态。(LCTT 译注:当时间偏差很大时,客户端的自动校正需要花费很长时间才能逐步追上,因此应该手动运行以更新)

# ntpdate –uv CentOS7.2daygeek.com

via: https://www.2daygeek.com/install-configure-ntp-server-ntp-client-in-linux/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:arrowfeng 校对:wxy

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

中国安全研究人员在 4 月 18 日披露了甲骨文刚刚修复的一个高危漏洞:Weblogic 反序列化漏洞(CVE-2018-2628)。安全研究人员是在去年 11 月将漏洞报告给了甲骨文,漏洞允许攻击者在未授权的情况下远程执行任意代码。

漏洞影响 Weblogic 10.3.6.0、12.1.3.0、12.2.1.2 和 12.2.1.3。研究人员公开了漏洞细节,随后该漏洞观察到被攻击者利用挖掘数字货币,以及安装勒索软件,整个过程无需任何点击或互动。

Cisco Talos 的研究人员报告,该漏洞至少从 4 月 21 日起就被活跃利用。攻击者被发现在尚未修复的计算机上安装一种新的勒索软件叫 Sodinokibi,除了加密重要的数据,该勒索软件还尝试毁掉备份,防止受害者简单利用备份恢复加密的数据。

奇怪的是,攻击者随后还利用相同的漏洞安装了另一种勒索软件叫 GandCrab。

来源:solidot.org

更多资讯

英国防大臣因泄露有关华为信息被开除,曾扬言派航母到南海

参考消息网 5 月 2 日报道 英媒称,英国首相特雷莎·梅办公室1日表示,英国国防大臣加文·威廉姆森因泄露有关中国电信公司华为的信息而被解雇。

来源: 参考消息

详情: http://t.cn/ESR5q9D

俄总统签署防范紧急状态下外部“断网”风险的法律

俄罗斯总统普京 5 月 1 日签署法律文件,以确保俄罗斯互联网在遭遇外部“断网”等冲击时仍能稳定运行。俄罗斯媒体 1 日报道说,根据普京签署的法律,俄罗斯将建立本国的域名系统,即存储和获取网络地址及域名信息的系统。

来源: 新华网
详情: http://t.cn/ESR5Ioo

日本欲开发电脑病毒来抵御网络攻击

据外媒报道,消息人士称,日本将在明年 3 月之前开发出首个用于抵御网络攻击的电脑病毒。消息人士周一表示,日本防卫省正在考虑一种能够侵入电脑系统的恶意软件,希望借此起到威慑网络攻击的作用。

来源: cnBeta.COM

详情: http://t.cn/ESRtwEF

助力线上隐私保护:DuckDuckGo提出《请勿追踪》立法草案

注重用户隐私安全的 DuckDuckGo,刚刚宣布了一份《2019 请勿追踪》草案。尽管不会很快成为正式的法律,但 DuckDuckGo 还是希望此举能够敦促网站尊重用户的“Do-Not-Track”选项设置,成为国内外立法机构通过此类隐私法案的一个参考起点。今年早些时候,DuckDuckGo 进行了一项研究,发现 1/4 的用户已经开启了“请勿追踪”的设置,约为 7500 万美国人和 1.15 亿欧盟公民。

来源: cnBeta.COM

详情: http://t.cn/ESRtGiC

(信息来源于网络,安华金和搜集整理)

Fedora 发行版是一个功能齐全的操作系统,有出色的图形化桌面环境。用户可以很容易地通过单击动作来完成任何典型任务。所有这些美妙的易用性掩盖了其底层强大的命令行细节。本文是向你展示一些常见命令行实用程序的系列文章的一部分。让我们进入 shell 来看看 cut

通常,当你在命令行中工作时,你处理的是文本文件。有时这些文件可能很长,虽然可以完整地阅读它们,但是可能会耗费大量时间,并且容易出错。在本文中,你将学习如何从文本文件中提取内容,并从中获取你所需的信息。

重要的是要意识到,在 Fedora 中有许多方法可以完成类似的命令行任务。例如,Fedora 仓库含有用于解析和处理文本的完整语言系统。此外,还有多个命令行实用程序可用于 shell 中任何可能的用途。本文只关注使用其中几个实用程序选项,从文件中提取一些信息并以可读的格式呈现。

cut 使用

为了演示这个例子,在系统上使用一个标准的大文件,如 /etc/passwd。正如本系列的前一篇文章所示,你可以执行 cat 命令来查看整个文件:

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...

此文件包含系统上所有所有账户的信息。它有一个特定的格式:

name:password:user-id:group-id:comment:home-directory:shell

假设你只想要系统上所有账户名的列表,如果你只能从每一行中删除 “name” 值。这就是 cut 命令派上用场的地方!它一次处理一行输入,并提取该行的特定部分。

cut 命令提供了以不同方式选择一行的部分的选项,在本示例中需要两个,-d-f-d 选项允许你声明用于分隔行中值的分隔符。在本例中,冒号(:)用于分隔值。-f 选项允许你选择要提取哪些字段值。因此,在本例中,输入的命令是:

$ cut -d: -f1 /etc/passwd
root
bin
daemon
adm
...

太棒了,成功了!但是你将输出打印到标准输出,在终端会话中意味着它需要占据屏幕。如果你需要稍后完成另一项任务所需的信息,这该怎么办?如果有办法将 cut 命令的输出保存到文本文件中,那就太好了。对于这样的任务,shell 有一个简单的内置功能,重定向功能(>)。

$ cut -d: -f1 /etc/passwd > names.txt

这会将 cut 的输出放到一个名为 names.txt 的文件中,你可以使用 cat 来查看它的内容:

$ cat names.txt
root
bin
daemon
adm
...

使用两个命令和一个 shell 功能,可以很容易地使用 cat 从一个文件进行识别、提取和重定向一些信息,并将其保存到另一个文件以供以后使用。


via: https://fedoramagazine.org/command-line-quick-tips-cutting-content-out-of-files/

作者:Stephen Snow 选题:lujun9972 译者:MjSeven 校对:wxy

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