2020年8月

FreeFileSync 是一个开源的文件夹比较和同步工具,你可以使用它将数据备份到外部磁盘、云服务(如 Google Drive)或任何其他存储路径。

FreeFileSync:一个免费且开源的同步工具

FreeFileSync 是一个令人印象深刻的开源工具,可以帮助你将数据备份到其他位置。

它们可以是外部 USB 磁盘、Google Drive 或使用 SFTP 或 FTP 连接到任何云存储。

你可能之前读过我们的如何在 Linux 上使用 Google Drive 的教程。不幸的是,没有合适的在 Linux 上原生使用 Google Drive 的 FOSS 方案。有个 Insync,但它是收费软件而非开源软件。

FreeFileSync 可使用 Google Drive 帐户同步文件。事实上,我用它把我的文件同步到 Google Drive 和一个单独的硬盘上。

FreeFileSync 的功能

尽管 FreeFileSync 的 UI 看起来可能很老,但它为普通用户和高级用户提供了许多有用的功能。

我将在此处把所有能重点介绍的功能都介绍出来:

  • 跨平台支持(Windows、macOS 和 Linux)
  • 同步前比较文件夹
  • 支持 Google Drive、SFTP 和 FTP 连接
  • 提供在不同的存储路径(或外部存储设备)上同步文件的能力
  • 多个可用的同步选项(从源更新文件到目标或镜像目标和源之间的文件)
  • 支持双向同步(如果目标文件夹或源文件夹有任何修改,将同步更改)
  • 适用于高级用户的版本控制
  • 可进行实时同步
  • 能安排批处理作业
  • 同步完成时通过电子邮件收到通知(付费)
  • 便携式版(付费)
  • 并行文件复制(付费)

如果你看一下它提供的功能,它不仅是普通的同步工具,而且还免费提供了更多功能。

此外,为了让你了解,你还可以在同步文件之前先比较它们。例如,你可以比较文件内容/文件时间,或者简单地比较源文件夹和目标文件夹的文件大小。

你还有许多同步选项来镜像或更新数据。如下所示:

但是,它也为你提供了捐赠密钥的可选选项,它可解锁一些特殊功能,如在同步完成时通过电子邮件通知你等。

以下是免费版本和付费版本的不同:

因此,大多数基本功能是免费的。高级功能主要是针对高级用户,当然,如果你想支持他们也可以。(如果你觉得它有用,请这么做)。

此外,请注意,捐赠版单用户最多可在 3 台设备上使用。所以,这绝对不差!

在 Linux 上安装 FreeFileSync

你可以前往它的官方下载页面,并下载 Linux 的 tar.gz 文件。如果你喜欢,你还可以下载源码。

接下来,你只需解压并运行可执行文件就可以了(如上图所示)

如何开始使用 FreeFileSync?

虽然我还没有成功地尝试过创建自动同步作业,但它很容易使用。

官方文档应该足以让你获得想要的。

但是,为了让你初步了解,这里有一些事情,你应该记住。

如上面的截图所示,你只需选择源文件夹和要同步的目标文件夹。你可以选择本地文件夹或云存储位置。

完成后,你需要选择在同步中文件夹比较的类型(通常是文件时间和大小),在右侧,你可以调整要执行的同步类型。

FreeFileSync 的同步类型

当你选择 “更新” 的方式进行同步时,它只需将新数据从源文件夹复制到目标文件夹。因此,即使你从源文件夹中删除了某些东西,它也不会在目标文件夹中被删除。

如果你希望目标文件夹有相同的文件副本,可以选择 “镜像”同步方式。这样,如果你从源文件夹中删除内容,它就会从目标文件夹中删除。

还有一个 “双向” 同步方式,它检测源文件夹和目标文件夹的更改(而不是只监视源文件夹)。因此,如果对源/目标文件夹进行了任何更改,都将同步修改。

有关更高级的用法,我建议你参考文档

总结

还有一个开源文件同步工具是 Syncthing,你可能想要看看。

FreeFileSync 是一个相当被低估的文件夹比较和同步工具,适用于使用 Google Drive、SFTP 或 FTP 连接以及单独的存储位置进行备份的 Linux 用户。

而且,所有这些功能都免费提供对 Windows、macOS 和 Linux 的跨平台支持。

这难道不令人兴奋吗?请在下面的评论,让我知道你对 Freefilesync 的看法。


via: https://itsfoss.com/freefilesync/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

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

Java IDE 工具提供了大量的方法来根据你的独特需求和偏好创建一个编程环境。

通过简化程序员的工作,Java 框架可以使他们的生活更加轻松。这些框架是为了在各种服务器环境上运行各种应用程序而设计开发的;这包括解析注解、扫描描述符、加载配置以及在 Java 虚拟机(JVM)上启动实际的服务等方面的动态行为。控制这么多的任务需要更多的代码,这就很难降低内存占用、加快新应用的启动时间。无论如何,据 TIOBE 指数,在当今使用的编程语言中 Java 一直排名前三,拥有着 700 万到 1000 万开发者的社区。

有这么多用 Java 编写的代码,这意味着有一些很好的集成开发环境(IDE)可供选择,可以为开发人员提供有效地编写、整理、测试和运行 Java 应用程序所需的所有工具。

下面,我将按字母顺序介绍五个我最喜欢的用于编写 Java 的开源 IDE 工具,以及如何配置它们的基本功能。

BlueJ

BlueJ 为 Java 初学者提供了一个集成的教育性 Java 开发环境。它也可以使用 Java 开发工具包(JDK)开发小型软件。各种版本和操作系统的安装方式都可以在这里找到。

在笔记本电脑上安装 BlueJ IDE 后,启动一个新项目,点击 项目 Project 菜单中的 新项目 New Project ,然后从创建一个 新类 New Class 开始编写 Java 代码。生成的示例方法和骨架代码如下所示:

 title=

BlueJ 不仅为学校的 Java 编程课的教学提供了一个交互式的图形用户界面(GUI),而且可以让开发人员在不编译源代码的情况下调用函数(即对象、方法、参数)。

Eclipse

Eclipse 是桌面计算机上最著名的 Java IDE 之一,它支持 C/C++、JavaScript 和 PHP 等多种编程语言。它还允许开发者从 Eclipse 市场中的添加无穷无尽的扩展,以获得更多的开发便利。Eclipse 基金会提供了一个名为 Eclipse Che 的 Web IDE,供 DevOps 团队在多个云平台上用托管的工作空间创建出一个敏捷软件开发环境。

可以在这里下载;然后你可以创建一个新的项目或从本地目录导入一个现有的项目。在本文中找到更多 Java 开发技巧。

 title=

IntelliJ IDEA

IntelliJ IDEA CE(社区版)是 IntelliJ IDEA 的开源版本,为 Java、Groovy、Kotlin、Rust、Scala 等多种编程语言提供了 IDE。IntelliJ IDEA CE 在有经验的开发人员中也非常受欢迎,可以用它来对现有源码进行重构、代码检查、使用 JUnit 或 TestNG 构建测试用例,以及使用 Maven 或 Ant 构建代码。可在这里下载它。

IntelliJ IDEA CE 带有一些独特的功能;我特别喜欢它的 API 测试器。例如,如果你用 Java 框架实现了一个 REST API,IntelliJ IDEA CE 允许你通过 Swing GUI 设计器来测试 API 的功能。

 title=

IntelliJ IDEA CE 是开源的,但其背后的公司也提供了一个商业的终极版。可以在这里找到社区版和终极版之间的更多差异。

Netbeans IDE

NetBeans IDE 是一个 Java 的集成开发环境,它允许开发人员利用 HTML5、JavaScript 和 CSS 等支持的 Web 技术为独立、移动和网络架构制作模块化应用程序。NetBeans IDE 允许开发人员就如何高效管理项目、工具和数据设置多个视图,并帮助他们在新开发人员加入项目时使用 Git 集成进行软件协作开发。

这里下载的二进制文件支持 Windows、macOS、Linux 等多个平台。在本地环境中安装了 IDE 工具后,新建项目向导可以帮助你创建一个新项目。例如,向导会生成骨架代码(有部分需要填写,如 // TODO 代码应用逻辑在此),然后你可以添加自己的应用代码。

VSCodium

VSCodium 是一个轻量级、自由的源代码编辑器,允许开发者在 Windows、macOS、Linux 等各种操作系统平台上安装,是基于 Visual Studio Code 的开源替代品。其也是为支持包括 Java、C++、C#、PHP、Go、Python、.NET 在内的多种编程语言的丰富生态系统而设计开发的。Visual Studio Code 默认提供了调试、智能代码完成、语法高亮和代码重构功能,以提高开发的代码质量。

在其资源库中有很多下载项。当你运行 Visual Studio Code 时,你可以通过点击左侧活动栏中的“扩展”图标或按下 Ctrl+Shift+X 键来添加新的功能和主题。例如,当你在搜索框中输入 “quarkus” 时,就会出现 Visual Studio Code 的 Quarkus 工具,该扩展允许你在 VS Code 中使用 Quarkus 编写 Java

 title=

总结

Java 作为最广泛使用的编程语言和环境之一,这五种只是 Java 开发者可以使用的各种开源 IDE 工具的一小部分。可能很难知道哪一个是正确的选择。和以往一样,这取决于你的具体需求和目标 —— 你想实现什么样的工作负载(Web、移动应用、消息传递、数据交易),以及你将使用 IDE 扩展功能部署什么样的运行时(本地、云、Kubernetes、无服务器)。虽然丰富的选择可能会让人不知所措,但这也意味着你可能可以找到一个适合你的特殊情况和偏好的选择。

你有喜欢的开源 Java IDE 吗?请在评论中分享吧。


via: https://opensource.com/article/20/7/ide-java

作者:Daniel Oh 选题:lujun9972 译者:wxy 校对:wxy

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

科学家创造网速新巅峰:每秒 178 Tb

英国和日本的工程师合作找到了新的方法,在光信号被传送到光纤之前对其进行调制,从而实现了比平时更宽的带宽。甚至远远超过美国宇航局的 ESnet(400 Gb/s)。也就是说可以在 1 秒时间内下载整个 Netflix 库。

来源:cnBeta.COM

拍一拍:真是不敢想象的速度。从历史可知,技术和生活的进步,取决于基础设施的改进。

知名跑分 App 安兔兔被谷歌删除,随后山寨应用满天飞

由于违反了谷歌的政策,国内非常流行的跑分应用安兔兔已经被谷歌下架,3 月份就被删除了。如今被封杀,这也导致了一个意外的结果,那就是山寨安兔兔应用满天飞。毫无疑问,这些山寨 APP 不是来做慈善的。

来源:快科技

拍一拍:管杀不管埋。

新 P2P 僵尸网络感染了 500 台属于知名美国和欧洲大学的服务器

安全公司 Guardicore Labs 的研究人员披露了一个没有中心服务器利用 P2P 机制进行控制的僵尸网络 FritzFrog。这种控制机制意味着僵尸网络更难被关闭。FritzFrog 只在内存中运行不留下硬盘文件的恶意负荷;自 1 月以来发布了 20 多个版本;只感染 SSH 服务器。

来源:solidot

拍一拍:对这种 P2P 机制的攻击网络确实不好阻断。有 SSH 服务器要注意了。

pipenv 是一个可帮助 Python 开发人员维护具有特定一组依赖关系的隔离虚拟环境,以实现可重新复制的开发和部署环境的工具。它类似于其他编程语言中的工具如 bundler、composer、npm、cargo、yarn 等。

最近发布了新版本的 pipenv 2020.6.2。现在可以在 Fedora 33 和 Rawhide 中使用它。对于较旧的 Fedora,维护人员决定打包到 COPR 中来先进行测试。所以在他们把它推送到稳定的Fedora版本之前,来试试吧。新版本没有带来任何新颖的功能,但是经过两年的开发,它解决了许多问题,并且在底层做了很多不同的事情。之前可以正常工作的应该可以继续工作,但是可能会略有不同。

如何获取

如果你已经在运行 Fedora 33 或 Rawhide,请运行 $ sudo dnf upgrade pipenv 或者 $ sudo dnf install pipenv,你将获得新版本。

在 Fedora 31 或 Fedora 32 上,你需要使用 copr 仓库,直到经过测试的包出现在官方仓库中为止。要启用仓库,请运行:

$ sudo dnf copr enable @python/pipenv

然后将 pipenv 升级到新版本,运行:

$ sudo dnf upgrade pipenv

或者,如果尚未安装,请通过以下方式安装:

$ sudo dnf install pipenv

如果你需要回滚到官方维护的版本,可以运行:

$ sudo dnf copr disable @python/pipenv
$ sudo dnf distro-sync pipenv

COPR 不受 Fedora 基础架构的官方支持。使用软件包需要你自担风险。

如何使用

如果你有用旧版本 pipenv 管理的项目,你应该可以毫无问题地使用新版本。如果有问题请让我们知道。

如果你还不熟悉 pipenv 或想开始一个新项目,请参考以下快速指南:

创建一个工作目录:

$ mkdir new-project && cd new-project

使用 Python 3 初始化 pipenv

$ pipenv --three

安装所需的软件包,例如:

$ pipenv install six

生成 Pipfile.lock 文件:

$ pipenv lock

现在,你可以将创建的 PipfilePipfile.lock 文件提交到版本控制系统(例如 git)中,其他人可以在克隆的仓库中使用此命令来获得相同的环境:

$ pipenv install

有关更多示例,请参见 pipenv 的文档

如何报告问题

如果你使用新版本的 pipenv 遇到任何问题,请在 Fedora 的 Bugzilla中 报告问题。Fedora 官方仓库和 copr 仓库中 pipenv 软件包的维护者是相同的人。请在报告中指出是新版本。


via: https://fedoramagazine.org/come-test-a-new-release-of-pipenv-the-python-development-tool/

作者:torsava 选题:lujun9972 译者:geekpi 校对:wxy

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

在 Linux 上合并和排序文本的方法有很多种,但如何去处理它取决于你试图做什么:你是只想将多个文件的内容放入一个文件中,还是以某种方式组织它,让它更易于使用。在本文中,我们将查看一些用于排序和合并文件内容的命令,并重点介绍结果有何不同。

使用 cat

如果你只想将一组文件放到单个文件中,那么 cat 命令是一个容易的选择。你所要做的就是输入 cat,然后按你希望它们在合并文件中的顺序在命令行中列出这些文件。将命令的输出重定向到要创建的文件。如果指定名称的文件已经存在,那么文件将被覆盖。例如:

$ cat firstfile secondfile thirdfile > newfile

如果要将一系列文件的内容添加到现有文件中,而不是覆盖它,只需将 > 变成 >>

$ cat firstfile secondfile thirdfile >> updated_file

如果你要合并的文件遵循一些方便的命名约定,那么任务可能更简单。如果可以使用正则表达式指定所有文件名,那就不必列出所有文件。例如,如果文件全部以 file 结束,如上所示,你可以进行如下操作:

$ cat *file > allfiles

请注意,上面的命令将按字母数字顺序添加文件内容。在 Linux 上,一个名为 filea 的文件将排在名为 fileA 的文件的前面,但会在 file7 的后面。毕竟,当我们处理字母数字序列时,我们不仅需要考虑 ABCDE,还需要考虑 0123456789aAbBcCdDeE。你可以使用 ls *file 这样的命令来查看合并文件之前文件的顺序。

注意:首先确保你的命令包含合并文件中所需的所有文件,而不是其他文件,尤其是你使用 * 等通配符时。不要忘记,用于合并的文件仍将单独存在,在确认合并后,你可能想要删除这些文件。

按时间期限合并文件

如果要基于每个文件的时间期限而不是文件名来合并文件,请使用以下命令:

$ for file in `ls -tr myfile.*`; do  cat $file >> BigFile.$$; done

使用 -tr 选项(t = 时间,r = 反向)将产生按照最早的在最前排列的文件列表。例如,如果你要保留某些活动的日志,并且希望按活动执行的顺序添加内容,则这非常有用。

上面命令中的 $$ 表示运行命令时的进程 ID。不是很必要使用此功能,但它几乎不可能会无意添加到现有的文件,而不是创建新文件。如果使用 $$,那么生成的文件可能如下所示:

$ ls -l BigFile.*
-rw-rw-r-- 1 justme justme   931725 Aug  6 12:36 BigFile.582914

合并和排序文件

Linux 提供了一些有趣的方式来对合并之前或之后的文件内容进行排序。

按字母对内容进行排序

如果要对合并的文件内容进行排序,那么可以使用以下命令对整体内容进行排序:

$ cat myfile.1 myfile.2 myfile.3 | sort > newfile

如果要按文件对内容进行分组,请使用以下命令对每个文件进行排序,然后再将它添加到新文件中:

$ for file in `ls myfile.?`; do sort $file >> newfile; done

对文件进行数字排序

要对文件内容进行数字排序,请在 sort 中使用 -n 选项。仅当文件中的行以数字开头时,此选项才有用。请记住,按照默认顺序,02 将小于 1。当你要确保行以数字排序时,请使用 -n 选项。

$ cat myfile.1 myfile.2 myfile.3 | sort -n > xyz

如果文件中的行以 2020-11-032020/11/03(年月日格式)这样的日期格式开头,-n 选项还能让你按日期对内容进行排序。其他格式的日期排序将非常棘手,并且将需要更复杂的命令。

使用 paste

paste 命令允许你逐行连接文件内容。使用此命令时,合并文件的第一行将包含要合并的每个文件的第一行。以下是示例,其中我使用了大写字母以便于查看行的来源:

$ cat file.a
A one
A two
A three

$ paste file.a file.b file.c
A one   B one   C one
A two   B two   C two
A three B three C thee
        B four  C four
                C five

将输出重定向到另一个文件来保存它:

$ paste file.a file.b file.c > merged_content

或者,你可以将每个文件的内容在同一行中合并,然后将文件粘贴在一起。这需要使用 -s(序列)选项。注意这次的输出如何显示每个文件的内容:

$ paste -s file.a file.b file.c
A one   A two   A three
B one   B two   B three B four
C one   C two   C thee  C four  C five

使用 join

合并文件的另一个命令是 joinjoin 命令让你能基于一个共同字段合并多个文件的内容。例如,你可能有一个包含一组同事的电话的文件,其中,而另一个包含了同事的电子邮件地址,并且两者均按个人姓名列出。你可以使用 join 创建一个包含电话和电子邮件地址的文件。

一个重要的限制是文件的行必须是相同的顺序,并在每个文件中包括用于连接的字段。

这是一个示例命令:

$ join phone_numbers email_addresses
Sandra 555-456-1234 [email protected]
Pedro 555-540-5405
John 555-333-1234 [email protected]
Nemo 555-123-4567 [email protected]

在本例中,即使缺少附加信息,第一个字段(名字)也必须存在于每个文件中,否则命令会因错误而失败。对内容进行排序有帮助,而且可能更容易管理,但只要顺序一致,就不需要这么做。

总结

在 Linux 上,你有很多可以合并和排序存储在单独文件中的数据的方式。这些方法可以使原本繁琐的任务变得异常简单。


via: https://www.networkworld.com/article/3570508/merging-and-sorting-files-on-linux.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:geekpi 校对:wxy

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

Photoflare 是一款可用于 Linux 和 Windows 上的图像编辑器。它有一个免费而开源的社区版本。

在 Linux 上编辑图像时,GIMP 显然是首选。但是,如果你不需要高级编辑功能,GIMP 可能会让人不知所措。这是像 Photoflare 这样的应用立足的地方。

PhotoFlare:一个简单的图像编辑器

Photoflare 是一个在简单易用的界面里提供了基本的图像编辑功能的编辑器。

它受流行的 Windows 应用 PhotoFiltre 的启发。这个程序不是一个克隆品,它是用 C++ 从头开始编写的,并使用 Qt 框架作为界面。

它的功能包括裁剪、翻转/旋转、调整图像大小。你还可以使用诸如油漆刷、油漆桶、喷雾罐、模糊工具和橡皮擦之类的工具。魔术棒工具可让你选择图像的特定区域。

你还可以在图像上添加线条和文本。你还可以更改图像的色调。

你也可以像其他画图应用一样从头开始创建图像。

批处理编辑选项可让你同时为多张图片调整大小、转换文件格式和添加滤镜。

Batch Editing Feature in Photoflare | Photo Credit: Photoflare website

Photoflare 的功能

为了方便参考,我将列出 Photoflare 的主要功能:

  • 创建/绘制图像
  • 裁剪图像
  • 旋转图像
  • 调整图像大小
  • 使用画笔、油漆桶、喷涂、模糊工具和图像等工具编辑图像
  • 在图像上添加线条和文字
  • 更改图像的色调
  • 添加老照片滤镜
  • 批量调整大小、滤镜等

在 Linux 上安装 Photflare

在 Photoflare 的网站上,你可以找到定价以及每月订阅的选项。但是,该应用是开源的,它的源码可在 GitHub 上找到

应用也是“免费”使用的。定价/订购部分用于该项目的财务支持。你可以免费下载它,如果你喜欢该应用并且会继续使用,请考虑给它捐赠。

Photoflare 有官方 PPA,适用于 Ubuntu 和基于 Ubuntu 的发行版。此 PPA 可用于 Ubuntu 18.04 和 20.04 版本。

打开终端,逐一输入下面的命令安装 Photoflare:

sudo add-apt-repository ppa:photoflare/photoflare-stable
sudo apt update
sudo apt install photoflare

要从基于 Ubuntu 的发行版中删除 Photoflare,请使用以下命令:

sudo apt remove photoflare

最好也删除 PPA:

sudo add-apt-repository -r ppa:photoflare/photoflare-stable

Arch Linux 和 Manjaro 用户可以从 AUR 获取

Fedora 没有现成的软件包,因此你需要获取源码:

Photoflare 的经验

我发现它与 Pinta 有点相似,但功能更多。它是用于基本图像编辑的简单工具。批处理功能是加分项。

我注意到图像在打开编辑时看起来不够清晰。我打开一张截图进行编辑,字体看起来很模糊。但是,保存图像并在图像查看器中打开后,没有显示此问题。

总之,如果你不需要专业级的图像编辑,它是一个不错的工具。

如果你曾经使用过或会去尝试它,请分享你的 Photoflare 使用经验。


via: https://itsfoss.com/photoflare/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

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