2017年1月

领袖级的开源会议将于六月份在华亮相。

旧金山,1 月 17 日讯:致力于专业化开源协作的非盈利组织 Linux 基金会 The Linux Foundation 今天宣布,其 LinuxCon + ContainerCon + CloudOpen (LC3)会议将首次来到中国,将于 2017 年 6 月 19 - 20 日,在北京的国家会议中心召开。

LinuxCon + ContainerCon + CloudOpen (LC3)其宗旨是让参会者可以彼此协作、共享和学习到最新、最有趣的开源技术,包括 Linux、容器、云技术、网络、微服务等等。该会议还将向你展示如何引领开源社区的发展运作。

  • LinuxCon 汇聚了全世界 Linux 社区中的领袖级维护者、开发者和项目负责人,是为 Linux 生态发展寻求改进、教育和解决方案的会议。
  • ContainerCon 是一个学习如何发挥容器技术优势的大会,这种革命性的技术,从自动化、部署和负载扩展,从硬件虚拟化、存储到软件定义网络,容器推动了云技术的发展。
  • CloudOpen 召集了顶级的专家来讨论云平台、自动化管理工具、DevOps、虚拟化、软件定义网络、存储和文件系统、大数据工具和平台、开源最佳实践等等方面的主题。

LC3 覆盖了许多开源领域最热门的话题,包括开放网络、区块链、合规性问题和开源的商业化和专业化等等。

参会者一次注册即可参加这三场会议。活动包括了超过 70 场次的教育课程、行业领袖演讲,以及展览与网络、黑客马拉松、社交活动等展厅场所。

“中国的开发者和企业积极拥抱开源,在各种广泛的项目中贡献了大量代码,”Linux 基金会执行董事 Jim Zemlin 说到,“我们听到了要求把更多的开源活动带到中国的呼声,在中国成功举办了 Linux 基金会的其它活动之后,比如 MesosCon Asia 和 Cloud Foundry Summit Asia,我们决定在中国召开我们旗舰级的峰会 LinuxCon、ContainerCon 和 CloudOpen。这些活动将有助于我们传播开源、提升与全世界的开源专家之间的协作和分享。”

演讲申请将于 3 月 18 日开始接受申请,参会报名会在未来几周开始。

希望出席的新闻界人士可以联络 Dan Brown ([email protected])。

非常感谢本次会议的战略级赞助商华为和钻石级赞助商 Intel。

Axel 是一个轻量级下载程序,它和其他加速器一样,对同一个文件建立多个连接,每个连接下载单独的文件片段以更快地完成下载。

Axel 支持 HTTP、HTTPS、FTP 和 FTPS 协议。它也可以使用多个镜像站点下载单个文件,所以,Axel 可以加速下载高达 40%(大约,我个人认为)。它非常轻量级,因为它没有依赖并且使用非常少的 CPU 和内存。

Axel 一步到位地将所有数据直接下载到目标文件(LCTT 译注:而不是像其它的下载软件那样下载成多个文件块,然后拼接)。

注意:不支持在单条命令中下载两个文件。

你还可以尝试其他命令行下载管理器/加速器。

大多数发行版(Debian、Ubuntu、Mint、Fedora、suse、openSUSE、Arch Linux、Manjaro、Mageia 等)都有 axel 包,所以我们可以从发行版官方仓库轻松安装。对于 CentOS/RHEL,我们需要启用 EPEL Repository

[在 Debian/Ubuntu/LinuxMint 上安装 Axel]
$ sudo apt-get install axel

[在 RHEL/CentOS 上安装 Axel]
$ sudo yum install axel

[在 Fedora 上安装 Axel]
$ sudo dnf install axel

[在 openSUSE 上安装 Axel]
$ sudo zypper install axel

[在 Mageia 上安装 Axel]
$ sudo urpmi axel

[在基于 Arch Linux 的发行版安装 Axel]
$ sudo pacman -S axel

1) 下载单个文件

以下命令将从给定的 URL 下载文件并存储在当前目录中,下载文件时,我们可以看到文件的信息(建立的连接数、下载速度、下载进度、完成下载所花费的时间以及连接完成的时间)。

# axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

[  0%]  .......... .......... .......... .......... ..........  [ 146.7KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 267.0KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 373.9KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 406.9KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 487.5KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 572.6KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 650.7KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 649.3KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 718.1KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 769.3KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 838.7KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 866.0KB/s]
Connection 0 finished
.
.
[ 99%]  .......... .......... .......... .......... ..........  [5721.0KB/s]
Connection 2 finished
[ 99%]  .......... .......... .......... .......... ..........  [5733.4KB/s]
Connection 1 finished
[ 99%]  .......... .......... .......... .......... ..........  [5745.4KB/s]
[100%]  .......... .......... .......... .......... ......

Downloaded 21.6 megabytes in 3 seconds. (5755.94 KB/s)

2) 用不同的名称保存文件

要使用其他名称来保存文件,启动下载时可以添加 -o(小写字母)选项和文件名。这里我们使用文件名 owncloud.tar.bz2 来保存文件。

# axel -o cloud.tar.bz2 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file cloud.tar.bz2
Starting download

[  0%]  .......... .......... .......... .......... ..........  [ 143.0KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 264.1KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 309.8KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 406.3KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 495.4KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 586.3KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 673.1KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 647.1KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 721.1KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 781.3KB/s]
Connection 2 finished
.
.
Connection 0 finished
[ 98%]  .......... .......... .......... .......... ..........  [6221.9KB/s]
[ 98%]  .......... .......... .....
Connection 1 finished
        ,,,,,,,,,, ,,,,,,,,,, ,,,,,..... .......... ..........  [6145.6KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [6159.2KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [6172.0KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [5977.9KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [5989.6KB/s]
[100%]  .......... .......... .......... .......... ......

Downloaded 21.6 megabytes in 3 seconds. (6001.05 KB/s)

3) 限制下载速度

默认情况下 axel 以字节/秒为单位设置下载文件的最大速度。当我们的网络连接速度较慢时,可以使用此选项。只需添加 -s 选项,后面跟字节值。这里我们要限速 512 KB/s 下载一个文件。

# axel -s 512000 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

[  0%]  .......... .......... .......... .......... ..........  [ 141.5KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 266.1KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 308.0KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 405.9KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 496.7KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 526.4KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 507.0KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 505.6KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 504.8KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 503.9KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 503.4KB/s]
.
.
[ 99%]  .......... .......... .......... .......... ..........  [ 497.0KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [ 496.9KB/s]
[100%]  .......... ..
Connection 0 finished
        ,,,,,,,,,, ,,.....
Connection 1 finished
Connection 3 finished
        ,,,,,,,,,, ,,,,,,,... .......... .......... ......

Downloaded 21.6 megabytes in 44 seconds. (494.54 KB/s)

4) 限制连接数

axel 默认建立 4 个连接以从不同的镜像获取文件。此外,我们可以通过使用 -n 选项添加更多的连接,后跟连接数 10 来提高下载速度。保险起见,我们添加了十个连接,但不幸的是,它花了更多时间来下载文件。

# axel -n 10 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

[  0%]  .......... .......... .......... .......... ..........  [ 140.8KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 265.7KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 305.4KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 402.1KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 496.3KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 522.1KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 567.5KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 640.5KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 710.8KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 780.5KB/s]
.
.
[ 98%]  .......... .......... .......... .......... ..........  [7544.9KB/s]
[ 98%]  .......... .......... .......... .......... ..........  [7557.9KB/s]
[ 98%]  .......... .......... .......... .......... ..........  [7570.4KB/s]
[ 98%]  .......... .......... .......... .......... ..........  [7495.3KB/s]
[ 99%]  .......... .......... .......... .......... ......
Connection 2 finished
        ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,....  [7311.6KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [7318.9KB/s]
[ 99%]  .......... .......... .......... .......... ..........
Connection 9 finished
        ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,,  [7331.0KB/s]
[ 99%]  .......... .......... .......... ..........
Connection 3 finished
        ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ..........  [4300.7KB/s]
[100%]  .......... .......... .......... .......... ......

Downloaded 21.6 megabytes in 5 seconds. (4109.41 KB/s)

5) 恢复未完成的下载

axel 默认具有恢复未完成的下载的行为。Axel 在下载文件时定期更新状态文件(扩展名为 .st)。由于某些原因,下载中途停止了?不用担心,只要使用相同的 axel 命令,它将会检查 filefile.st,如果找到,它会从停止处恢复下载。

# axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

[  0%]  .......... .......... .......... .......... ..........  [ 140.8KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 265.7KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 305.4KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 402.1KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 496.3KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 522.1KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 567.5KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 640.5KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 710.8KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 780.5KB/s]
.
.
[ 84%]  .......... .......... .......... .......... ..........  [7100.7KB/s]
[ 84%]  .......... .......... .......... .......... ..........  [7104.3KB/s]
[ 84%]  .......... .......... .......... .^C

Downloaded 18.3 megabytes in 2 seconds. (7009.79 KB/s)

上面的输出清晰地显示了在下载断开时有两个文件 owncloud-9.0.0.tar.bz2owncloud-9.0.0.tar.bz2.st。当重新开始下载时,它会从停止处开始下载。

# ls -lh
total 19M
-rw------- 1 root root 22M Dec 27 08:33 owncloud-9.0.0.tar.bz2
-rw------- 1 root root  44 Dec 27 08:33 owncloud-9.0.0.tar.bz2.st

# axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
State file found: 19180828 bytes downloaded, 3497380 to go.
Starting download

        ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,......... ..........  [  66.5KB/s]
[ 84%]  .......... .......... .......... .......... ..........  [ 186.0KB/s]
[ 85%]  .......... .......... .......... .......... ..........  [ 241.7KB/s]
[ 85%]  .......... .......... .......... .......... ..........  [ 335.6KB/s]
[ 85%]  .......... .......... .......... .......... ..........  [ 351.5KB/s]
[ 85%]  .......... .......... .......... .......... ..........  [ 427.1KB/s]
[ 85%]  .......... .......... .......... .......... ..........  [ 427.4KB/s]
[ 86%]  .......... .......... .......... .......... ..........  [ 491.5KB/s]
.
.
[ 98%]  ...
Connection 0 finished
        ,,,....... .......... .......... .......... ..........  [2106.6KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [2140.5KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [2172.4KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [2203.2KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [2236.2KB/s]
[100%]  .......... .......... .......... .......... ......

Downloaded 3415.4 kilobytes in 1 second. (2264.93 KB/s)

6) 不显示文件下载进度

如果你不想要看到文件的下载进度,只要在 axel 命令中加入 -q 选项。

# axel -q https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2

7) 替换进度条

如果你不喜欢默认的进度条,你可以使用 -a 选项来替换进度条。

# axel -a https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

[ 66%] [......0      ...1        ..........2  ...........3] [   5.8MB/s] [00:01]^C

Downloaded 14.3 megabytes in 2 seconds. (5916.11 KB/s)

我们中断了上面的下载,以便在下载文件时能清楚地显示替代进度条状态。一旦文件成功下载后,你可以看到相同的输出,如下所示。

# axel -a https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

Connection 2 finished                                                          ]
Connection 1 finished                                                          ]
Connection 3 finished                                                          ]
Connection 0 finished                                                          ]

Downloaded 21.6 megabytes in 4 seconds. (5062.32 KB/s)

8) 了解关于 axel 的更多信息

如果你想要了解更多关于 axel 的选项,只需要进入它的手册。

# man axel
或者
# axel --help

享受吧……


via: http://www.2daygeek.com/axel-command-line-downloader-accelerator-for-linux/

作者:Magesh Maruthamuthu 译者:geekpi 校对:jasminepeng

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

sudoers 是 Linux 中的默认 sudo 安全策略插件,但是经验丰富的系统管理员可以自定义安全策略以及输入输出日志记录的插件。它由 /etc/sudoers 这个文件驱动,或者也可在 LDAP 中。

你可以在上面的文件中定义 sudoers 嘲讽 insults 或其他选项。它在 defaults 部分下设置。请阅读我们的上一篇文章在 Linux 中设置 sudo 时 10 个有用的 sudoers 配置

在本文中,我们将解释一个 sudoers 配置参数,以允许个人或系统管理员设置 sudo 命令,当系统用户输入错误密码时“嘲讽”他们。

首先打开文件 /etc/sudoers,如下所示:

$ sudo visudo

进入 defaults 部分,并添加下面的行:

Defaults   insults

下面是我系统中 /etc/sudoers 默认展示的 defaults 部分。

Set sudo Insults Parameter

设置 sudo insults 参数

从上面的截图中,你可以看到 defaults 中还有许多其他默认值定义,例如,每次用户输入错误的密码时发送邮件到 root、设置安全路径、配置自定义 sudo 日志文件等。

保存并关闭文件。

运行 sudo 命令并输入错误的密码,然后观察 insults 选项是如何工作的:

$ sudo visudo

sudo Insult in Action

实践 sudo insult

注意:当配置 insults 参数时,它会禁用 badpass_message 参数,该参数在用户输入错误的密码时,会在命令行中输出特定的消息(默认消息为 “sorry, try again”)。

要修改该消息,请将 badpass_message 参数添加到 /etc/sudoers 文件中,如下所示。

Defaults  badpass_message="Password is wrong, please try again"  #try to set a message of your own

Set sudo badpassword Message

设置 sudo 错误密码消息

保存并关闭文件,然后调用 sudo 查看它是如何工作的,你设置的 badpass_message 消息会在每次你或任何系统用户输入错误的密码的时候打印出来。

$ sudo visudo

Sudo badpassword Message

sudo 密码错误消息

就是这样了,在本文中,我们回顾了如何在用户输入错误的密码时将 sudo 设置为显示嘲讽。请通过下面的评论栏分享你的想法。


作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux SysAdmin、web 开发人员,目前是 TecMint 的内容创建者,他喜欢用电脑工作,并坚信分享知识。


via: http://www.tecmint.com/sudo-insult-when-enter-wrong-password/

作者:Aaron Kili 译者:geekpi 校对:jasminepeng

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

Linux 管理的一个最重要并且有趣的话题是 I/O 重定向。此功能在命令行中使你能够将命令的输入输出取自或送到文件中,或者可以使用管道将多个命令连接在一起以形成所谓的“命令管道”。

我们运行的所有命令基本上产生两种输出:

  • 命令结果 - 程序产生的数据,以及
  • 程序状态和错误消息,用来通知用户程序的执行细节。

在 Linux 和其他类 Unix 系统中,有三个默认文件(名称如下),这些文件也由 shell 使用文件描述符号标识:

  • stdin 或 0 - 它连接键盘,大多数程序从此文件读取输入。
  • stdout 或 1 - 它连接屏幕,并且所有程序将其结果发送到此文件
  • stderr 或 2 - 程序将状态/错误消息发送到此文件,它也连接到屏幕上。

因此,I/O 重定向允许你更改命令的输入源以及将输出和错误消息发送到其他地方。这可以通过 <> 重定向操作符来实现。

如何在 Linux 中重定向标准输出到文件中

如下面的示例所示,你可以重定向标准输出,这里,我们要存储 top 命令的输出以供以后检查:

$ top -bn 5 >top.log

其中标志的含义:

  • -b - 让 top 以批处理模式运行,以便你可以将其输出重定向到一个文件或另一个命令。
  • -n - 指定命令终止前的迭代次数。

你可以使用 cat 命令来查看 top.log 文件的内容:

$ cat top.log

要将命令输出附加在文件后面,请使用 >> 操作符。

例如,要将 top 命令的输出追加在上面的 top.log 文件中,特别是在脚本(或命令行)中,请输入下面的那行:

$ top -bn 5 >>top.log

注意: 也可以使用文件描述符数字,上面的重定向命令等同于:

$ top -bn 5 1>top.log

如何在 Linux 中重定向标准错误到文件中

要重定向命令的标准错误,你需要明确指定文件描述符 2,以便让 shell 了解你正在尝试做什么。

例如,下面的 ls 命令将在没有 root 权限的普通系统用户执行时产生错误:

$ ls -l /root/

你可以重定向标准错误到文件中:

$ ls -l /root/ 2>ls-error.log
$ cat ls-error.log 

Redirect Standard Error to File

重定向标准错误到文件中

为了将标准错误附加在文件后,使用下面的命令:

$ ls -l /root/ 2>>ls-error.log

如何重定向标准输出及标准错误到一个文件中

还可以将命令的所有输出(包括标准输出和标准错误)捕获到单个文件中。这可以用两种可能的方式,通过指定文件描述符来完成:

1、 第一种是相对较旧的方法,其工作方式如下:

$ ls -l /root/ >ls-error.log 2>&1

上面的命令意思是 shell 首先将 ls 命令的输出发送到文件 ls-error.log(使用 >ls-error.log),然后将所有写到文件描述符 2(标准错误)的错误消息重定向到文件 ls-error.log(使用2>&1)中。(LCTT 译注:此处原文有误,径改。)这表示标准错误也被发送到与标准输出相同的文件中。

2、 第二种并且更直接的方法是:

$ ls -l /root/ &>ls-error.log

你也可以这样将标准输出和标准错误附加到单个文件后:

$ ls -l /root/ &>>ls-error.log

如何将标准输入重定向到文件中

大多数(如果不是全部)命令从标准输入获得其输入,并且标准输入默认连接到键盘。

要从键盘以外的文件重定向标准输入,请使用 < 操作符,如下所示:

$ cat <domains.list 

Redirect Standard Input to File

重定向文件到标准输入中

如何重定向标准输入/输出到文件中

你可以如下在 sort 命令中同时执行标准输入、标准输出的重定向:

$ sort <domains.list >sort.output

如何使用管道进行 I/O 重定向

要将一个命令的输出重定向为另一个命令的输入,你可以使用管道,这是用于构建复杂操作命令的有力方法。

例如,以下命令将列出最近修改的前五个文件

$ ls -lt | head -n 5 

选项的意思是:

构建管道的重要命令

在这里,我们将简要回顾一下构建命令管道的两个重要命令,它们是:

xargs 用于从标准输入构建和执行命令行。下面是使用 xargs 的管道示例,此命令用于将文件复制到 Linux 中的多个目录

$ echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh

Copy Files to Multiple Directories

复制文件到多个目录

选项含义:

有关更多的使用选项和信息,请阅读 xargs 手册页:

$ man xargs 

tee 命令从标准输入读取,并写入到标准输出和文件中。我们可以演示 tee 如何工作:

$ echo "Testing how tee command works" | tee file1 

tee Command Example

tee 命令示例

文件或文本过滤器通常与管道一起用于有效地操作 Linux 文件,来以强大的方式来处理信息,例如命令的重组输出(这对于生成有用的 Linux 报告是必不可少的)、修改文件中的文本和其他的 Linux 系统管理任务。

要了解有关 Linux 过滤器和管道的更多信息,请阅读这篇文章查找前十个访问 Apache 服务器的 IP 地址,这里展示了使用过滤器和管道的一个例子。

在本文中,我们解释了 Linux 中 I/O 重定向的基本原理。请通过下面的反馈栏分享你的想法。


作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux SysAdmin、web 开发人员,目前是 TecMint 的内容创建者,他喜欢用电脑工作,并坚信分享知识。


via: http://www.tecmint.com/linux-io-input-output-redirection-operators/

作者:Aaron Kili 译者:geekpi 校对:jasminepeng

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

我们经常由于不同需求使用下载管理器从互联网下载文件,它给我和其他人提供了很多帮助。我们都想要一个超级快速的下载管理器来完成下载尽可能多的任务,以便我们可以节省时间来进一步地工作。有很多可以加速下载的下载管理器和加速器可用(图形化界面和命令行界面)。

所有的下载工具做着同样的任务,但它们的处理方式和功能是不同的,比如,单线程和多线程、交互和非交互。 在这里,我们将列出 4 个最好的我们日常工作使用的命令行下载加速器。

1 Aria2

Aria2 是一个用于 Linux、Windows 和 Mac OSX 的轻量级、多协议和多源的命令行下载管理器/实用程序。它支持 HTTP/HTTPS、FTP、SFTP、BitTorrent 和 Metalink。aria2 可以通过内置的 JSON-RPC 和 XML-RPC 接口操作。

它支持多线程,可以使用多个源或协议下载文件,确实可以加速并尽可能多的完成下载。

它非常轻量级,不需要太多的内存和 CPU。我们可以使用它作为 BitTorrent 客户端,因为它有所有你想要的 BitTorrent 客户端的功能。

Aria2 功能

  • 支持 HTTP/HTTPS GET 方式
  • 支持 HTTP 代理
  • 支持 HTTP BASIC 认证
  • 支持 HTTP 代理认证
  • 支持 FTP (主动、被动模式)
  • 通过 HTTP 代理的 FTP(GET 命令或隧道)
  • 分段下载
  • 支持 Cookie
  • 它可以作为守护进程运行。
  • 支持 BitTorrent 协议和 fast 扩展。
  • 在含有多个文件的 torrent 中的选择性下载
  • 支持 Metalink 版本 3.0 (HTTP/FTP/BitTorrent)。
  • 限制下载/上传速度

有关 Aria2 的进一步用法,请参阅以下文章:如何在 Linux 中安装和使用 Aria2

2 Axel

Axel 是一个轻量级下载程序,它如其他加速器那样做着同样的事情。它可以为一个文件打开多个连接,每个连接下载单独的文件片段以更快地完成下载。

Axel 支持 HTTP、HTTPS、FTP 和 FTPS 协议。它也可以使用多个镜像站点来下载单个文件。 所以,Axel 可以为下载加速高达 40%(大约,我个人认为)。 它非常轻量级,因为没有依赖,而且使用非常少的 CPU 和内存。

Axel 使用一个单线程将所有数据直接下载到目标文件。

注意:没有可以在单条命令中下载两个文件的选项。

有关 Axel 的更多使用,请参阅以下文章:如何在 Linux 中安装和使用 Axel

3 Wget

wget(以前称为 Geturl)是一个免费的、开源的命令行下载程序,它使用 HTTP、HTTPS 和 FTP 这些最广泛使用的 Internet 协议来获取文件。它是一个非交互式命令行工具,其名字是意思是从万维网中获取文件。

相比其它工具,wget 将下载处理得相当好,即使它不支持多线程以及包括后台工作、递归下载、多个文件下载、恢复下载、非交互式下载和大文件下载在内的功能。

默认情况下,所有的 Linux 发行版都包含 wget,所以我们可以从官方仓库轻松安装,也可以安装到 windows 和 Mac 操作系统。

wget 可在慢速或不稳定的网络连接下保持健壮性,如果由于网络问题下载失败,它将继续重试,直到整个文件下载完成。如果服务器支持重新获取,它将指示服务器从中断的地方继续下载。

wget 功能

  • 可以使用 REST 和 RANGE 恢复中止的下载
  • 可以使用文件名通配符和递归来对目录进行镜像同步
  • 基于 NLS 消息文件,提供许多不同语言支持
  • 可选将下载的文档中的绝对链接转换为相对链接,以便下载的文档可以在本地链接到彼此
  • 可在大多数类 UNIX 操作系统以及 Microsoft Windows 上运行
  • 支持 HTTP 代理
  • 支持 HTTP cookie
  • 支持持久 HTTP 连接
  • 无人值守/后台操作
  • 使用本地文件时间戳来确定是否需要在镜像时重新下载文档

有关 wget 的进一步用法,请参阅以下文章:如何在 Linux 中安装和使用 wget

4 Curl

curl 类似于 wget,但是不支持多线程,但令人惊讶的是,与 wget 相比,它的下载速度更快。

curl 是一个向服务器上传或下载的数据传输工具,支持的协议有 DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMTP、SMTPS、TELNET 和 TFT 等。

该命令无需用户交互即可工作。此外,curl 支持代理、用户身份验证、FTP 上传、HTTP POST、SSL 连接、Cookie、恢复文件传输、Metalink 等。curl 由 libcurl 为所有相关传输功能提供支持。

如果指定的 URL 没有 protocol:// 前缀,curl 将尝试猜测你可能需要什么协议。例如,以 “ftp.” 开头的主机名 curl 将假定你要使用 FTP。如果没有找到特定的协议,那么默认为 HTTP。

参考下面的文章来进一步使用 curl:如何在 Linux 中安装和使用 curl


via: http://www.2daygeek.com/best-4-command-line-download-managers-accelerators-for-linux/

作者:Magesh Maruthamuthu 译者:geekpi 校对:jasminepeng

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

在大多数情况下,我们习惯于使用 Delete 键、垃圾箱或 rm 命令从我们的计算机中删除文件,但这不是永久安全地从硬盘中(或任何存储介质)删除文件的方法。

该文件只是对用户隐藏,它驻留在硬盘上的某个地方。它有可能被数据窃贼、执法取证或其它方式来恢复。

假设文件包含密级或机密内容,例如安全系统的用户名和密码,具有必要知识和技能的攻击者可以轻松地恢复删除文件的副本并访问这些用户凭证(你可以猜测到这种情况的后果)。

在本文中,我们将解释一些命令行工具,用于永久并安全地删除 Linux 中的文件。

1、 shred – 覆盖文件来隐藏内容

shred 会覆盖文件来隐藏它的内容,并且也可以选择删除它。

$ shred -zvu -n  5 passwords.list

在下面的命令中,选项有:

  1. -z - 用零覆盖以隐藏碎片
  2. -v - 显示操作进度
  3. -u - 在覆盖后截断并删除文件
  4. -n - 指定覆盖文件内容的次数(默认值为3)

shred - overwrite a file to hide its contents

shred - 覆盖文件来隐藏它的内容

你可以在 shred 的帮助页中找到更多的用法选项和信息:

$ man shred

2、 wipe – 在 Linux 中安全删除文件

wipe 命令可以安全地擦除磁盘中的文件,从而不可能恢复删除的文件或目录内容

首先,你需要安装 wipe 工具,运行以下适当的命令:

$ sudo apt-get install wipe   [Debian 及其衍生版]
$ sudo yum install wipe       [基于 RedHat 的系统]

下面的命令会销毁 private 目录下的所有文件。

$ wipe -rfi private/*

当使用下面的标志时:

  1. -r - 告诉 wipe 递归地擦除子目录
  2. -f - 启用强制删除并禁用确认查询
  3. -i - 显示擦除进度

Wipe - Securely Erase Files in Linux

wipe – 在 Linux 中安全擦除文件

注意:wipe 仅可以在磁性存储上可以可靠地工作,因此对固态磁盘(内存)请使用其他方法。

阅读 wipe 手册以获取其他使用选项和说明:

$ man wipe

3、 Linux 中的安全删除工具集

secure-delete 是一个安全文件删除工具的集合,它包含用于安全删除文件的 srm(secure\_deletion)工具。

首先,你需要使用以下相关命令安装它:

$ sudo apt-get install secure-delete   [Debian 及其衍生版]
$ sudo yum install secure-delete       [基于 RedHat 的系统]

安装完成后,你可以使用 srm 工具在 Linux 中安全地删除文件和目录。

$ srm -vz private/*

下面是使用的选项:

  1. -v – 启用 verbose 模式
  2. -z – 用0而不是随机数据来擦除最后的写入

srm - Securely Delete Files in Linux

srm – 在 Linux 中安全删除文件

阅读 srm 手册来获取更多的使用选项和信息:

$ man srm

4、 sfill -安全免费的磁盘 / inode 空间擦除器

sfill 是 secure-deletetion 工具包的一部分,是一个安全免费的磁盘和 inode 空间擦除器,它以安全的方法删除可用磁盘空间中的文件。 sfill检查指定分区上的可用空间,并使用来自 /dev/urandom 的随机数据填充它。

以下命令将在我的根分区上执行 sfill,使用 `-v' 选项启用 verbose 模式:

$ sudo sfill -v /home/aaronkilik/tmp/

假设你创建了一个单独的分区 /home 来存储正常的系统用户主目录,你可以在该分区上指定一个目录,以便在其上应用 sfill

$ sudo sfill -v /home/username

你可以在 sfill 的手册上看到一些限制,你也可以看到额外的使用标志和命令:

$ man sfill

注意:secure-deletetion 工具包中的另外两个工具(sswapsdmem)与本指南的范围不直接相关,但是,为了将来的使用和传播知识的目的,我们会在下面介绍它们。

5、 sswap – 安全 swap 擦除器

它是一个安全的分区擦除器,sswap 以安全的方式删除 swap 分区上存在的数据。

警告:请记住在使用 sswap 之前卸载 swap 分区! 否则你的系统可能会崩溃!

要找到交换分区(并检查分页和交换设备/文件是否已经使用,请使用 swapon 命令),接下来,使用 swapoff 命令禁用分页和交换设备/文件(使 swap 分区不可用)。

然后在(关闭的) swap 分区上运行 sswap 命令:

$ cat /proc/swaps 
$ swapon
$ sudo swapoff /dev/sda6
$ sudo sswap /dev/sda6    #这个命令要花费一些时间,默认要进行 38 遍擦除

sswap - Secure Swap Wiper

sswap – 安全 swap 擦除器

阅读 sswap 的手册来获取更多的选项和信息:

$ man sswap

6、 sdmem – 安全内存擦除器

sdmem 是一个安全的内存擦除器,其设计目的是以安全的方式删除存储器(RAM)中的数据。

它最初命名为 smem,但是因为在 Debain 系统上存在另一个包 smem - 报告每个进程和每个用户的内存消耗,开发人员决定将它重命名为 sdmem

$ sudo sdmem -f -v

关于更多的使用信息,阅读 sdmen 的手册:

$ man sdmem 

推荐阅读: 在 Linux 系统下使用 PhotoRec & TestDisk 工具来恢复文件

就是这样了!在本文中,我们查看了一系列可以永久安全地删除 Linux 中的文件的工具。像往常一样,通过下面的评论栏发表你对本篇文章的想法或建议。


作者简介:

Aaron Kili 是一个 Linux 系统及 F.O.S.S 爱好者,即将成为一名系统管理员及 Web 开发人员,他现在是 TecMint 网站的内容创建者,他喜欢使用电脑来工作,并且他坚信分享知识是一种美德。


via: http://www.tecmint.com/permanently-and-securely-delete-files-directories-linux/

作者:Aaron Kili 译者:geekpi 校对:jasminepeng

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