Megatools Linux安装及基本介绍-云存储服务
本教程将介绍 Megatools Linux 安装和基本介绍。 MEGA 是最著名的云存储和文件托管服务之一。该公司提供的服务通常可以通过网络界面或智能手机操作系统(例如 Android 或 iOS)上的专用应用程序访问。在本文中,我们了解如何通过一组用 Python 编写的免费开源工具:Megatools 从命令行访问该服务。
在本教程中您将学习:
如何安装 Megatools
如何查看可用、空闲和已用存储空间
如何列出远程存储上的文件和目录
如何上传和下载文件和目录
如何创建和删除远程文件和目录
如何在~/.megarc配置文件中指定信息
使用的软件要求和约定
Megatools Linux 安装
Megatools 应用程序套件包括一系列实用程序,可让我们执行移动和下载文件和目录或流式传输视频和音频内容等操作。正如我们已经说过的,该项目是绝对免费和开源的,因此很容易将其安装在一些最常用的 Linux 发行版上,例如 Debian(及其衍生版本)或 Fedora。要在 Debian 系列发行版上安装该应用程序,我们可以启动以下命令:
$ sudo apt-get update && sudo apt-get install megatools
在 Fedora 上安装 Megatools Linux 我们可以使用 dnf 包管理器。以下是我们调用它的方式:
$ sudo dnf install megatools
Megatools 是用 Python 编写的,是一种独立于发行版的安装方式,即使用 pip
:Python 包管理器。即使在官方存储库中没有提供该软件的发行版中,该工具也允许我们获取该软件。要使用 pip
执行 Megatools 的每用户安装,我们可以运行:
$ pip install megatools --user
由于上面的命令将软件安装在用户 $HOME 目录中(这就是 --user
选项的用途),因此我们在运行它时不需要使用管理权限。
Megatools 实用程序
一旦 Megatools 安装在我们的系统中,我们就可以快速查看套件中包含的所有实用程序。
使用 megatools df 检查可用空间
megatools df 实用程序可用于显示 Mega 平台上的总空间、可用空间和已用空间的报告。要获得完整的报告,我们可以通过以下方式调用该程序:
$ megatools df -u
Enter password for ():
Good, signing in...
Total: 21474836480
Used: 1496628
Free: 21473339852
在前面的示例中,我们使用 -u
选项(--username
的缩写)调用 megatools df
。此选项对于 Megatools 套件中包含的所有实用程序都是通用的,因为它用于提供我们的凭据。当以这种方式使用程序时,会在命令行提示符中以交互方式询问密码。一旦我们提供了报告,报告就会显示在屏幕上,但不是以一种非常人性化的方式。如果我们希望数据以更人性化的格式显示,我们应该添加 -h
选项(-- human
):
Total: 20.0 GiB
Used: 1.4 MiB
Free: 20.0 GiB
虽然从安全角度来看这不是一个好主意,但为了避免以交互方式提供帐户密码,我们可以将其作为参数传递给 --password
选项:
$ megatools df -u -p
凭据也可以存储到 ~/.megarc
配置文件中,以避免每次运行命令时都必须重复。我们稍后再谈。
使用 megatools ls 列出文件和目录
megatools ls 实用程序用于列出 Mega.nz 平台上存储的文件,并可选择可视化公共下载链接。让我们看一个它的用法示例。要列出云存储根目录中的所有文件,我们将运行:
$ megatools ls -u
Enter password for ():
Contacts
/Inbox
/Root
/Root/Welcome to MEGA.pdf
/Root/testdir
/Trash
如果我们希望共享文件的公共下载链接包含在输出中,我们所要做的就是使用 -e
选项 (--export
) 调用该命令)。链接将以以下方式显示(在这种情况下,您可以注意到仅共享“Welcome to MEGA.pdf”文件):
/Contacts
/Inbox
/Root
https://mega.nz/#!znIXiQha!isXGprskZbLP4KnLNuNHcbI279s6FnLcsj8Vydm_sio /Root/Welcome to MEGA.pdf
/Root/testdir
/Trash
要在命令的输出中包含附加信息,我们可以使用 -l
选项 (--long
),而要包含标头信息,我们可以使用 >--header
选项。包括两者,使该实用程序产生类似于以下内容的输出:
===================================================================================
Handle Owner T Size Mod. Date Path
===================================================================================
NETWORK 9 - /Contacts
mypkWT7D 3 - 2021-08-26 16:05:33 /Inbox
Sqo02b4J 2 - 2021-08-26 16:05:33 /Root
uih02ZCR xxxxxxxxxxx 0 1496628 2021-08-26 16:05:33 /Root/Welcome to MEGA.pdf
KrpWCZoa xxxxxxxxxxx 1 - 2021-08-26 16:16:57 /Root/testdir
byhETDSZ 4 - 2021-08-26 16:05:33 /Trash
上传和下载文件和目录
有两个命令行实用程序允许我们上传和下载文件,它们分别是:megatools put和megatools get。让我们看看它们是如何工作的。使用megatools put上传文件非常简单。假设我们本地有一个名为linuxconfig.txt
的文件,我们想将其上传到云存储的根目录下;我们将运行以下命令:
$ megatools put -u linuxconfig.txt
如果我们想要上传一个或多个文件到特定的远程目录,我们必须使用--path
选项,该选项将文件所在的远程路径作为参数应该上传到.要将 linuxconfig.txt
文件上传到远程 testdir
目录,我们将运行:
$ megatools put -u --path /Root/testdir linuxconfig.txt
如果我们想执行相反的操作,即从云存储下载文件到本地文件系统,我们应该使用megatools get命令。假设我们要下载 linuxconfig.txt 文件,我们将运行:
$ megatools get -u /Root/linuxconfig.txt
要将远程文件下载到特定本地目录,我们提供--path
选项并将本地路径作为参数传递。例如,要将 linuxconfig.txt
文件下载到 ~/Downloads
目录中,我们将运行:
$ megatools get -u --path ~/Downloads /Root/linuxconfig.txt
上述命令仅适用于标准文件。要上传和下载目录的内容,我们必须使用 Megatools 套件中的另一个实用程序:megatools copy
。该命令的默认操作是将文件上传到云存储,因此,例如,要上传名为linuxconfig-dir
的目录的内容,我们将运行:
$ megatools copy -u --local linuxconfig-dir --remote /Root
该命令不会远程复制目录本身:它只是尝试将其内容同步到指定的远程路径。运行上述命令的结果是将linuxconfig-dir
目录中的所有内容“复制”到云存储的/Root
中。如果我们想将目录的内容远程同步到同名目录中,我们应该先创建。我们将在下一节中了解如何做到这一点。
如果我们想将远程目录的内容复制到本地,我们必须启动相同的命令,但我们必须添加 --download
选项。例如,要将远程 /Root
目录的所有内容复制到当前本地工作目录中,我们将运行:
$ megatools copy -u --local . --remote /Root --download
创建和删除文件和目录
在 Megatools 套件中,我们可以找到两个实用程序,它们允许我们创建文件以及删除/创建文件和目录。它们分别是 megatools mkdir
和 megatools rm
。要在我们的云存储中创建一个或多个远程目录,我们使用megatools mkdir。让我们看一个例子。假设我们要在云存储的根目录中创建两个远程目录:linuxconfig_0
和linuxconfig_1
。我们会运行:
$ megatools mkdir -u /Root/linuxconfig_0 /Root/linuxconfig_1
要删除现有文件和目录,我们将使用 Megatools rm 命令。举例来说,我们要删除在上一个示例中创建的目录。我们会运行:
$ megatools rm -u username@gmail.com /Root/linuxconfig_0 /Root/linuxconfig_linuxconfig_1
Megatools配置文件
Megatools 套件中包含的实用程序使用通用配置文件:~/.megarc
。它是一个.ini
样式的文件,可以用来指定一系列信息。我们可以使用它来指定访问凭据等,以避免每次启动命令时都必须重复它们。所述信息可以在[Login]
节中指定,例如:
[Login]
Username = _yourusername_
password = _yourpassword_
相反,在[Network]
部分中,我们可以指定SpeedLimit和ParallelTransfers设置的值,它们分别确定允许的最大上传和下载速度(KiB/s),以及上传或下载文件时允许的最大并行连接数:
[Network]
SpeedLimit = 1024 # 1 MiB/s
ParallelTransfers = 2
请始终记住,该文件是明文的,因此只有当您可以信任您正在操作的计算机时,才将您的凭据存储在其中。有关 Megatools 配置文件的更多信息可以通过查阅专用联机帮助页找到。
结论
在本 Megatools Linux 安装教程中,我们讨论了 Megatools 实用程序套件,它允许我们从命令行连接 Mega.nz 云存储并与之交互。该项目是免费开源的,用Python编写,独立于前述云存储开发。我们看到了创建和删除文件和目录是多么容易,如何上传和下载它们,如何检查可用、空闲和已用的存储空间以及如何获取云中包含的所有文件的列表。最后,我们看到了如何使用~/.megarc
配置文件。