处理文件
您的 IBM® Cloud Shell 工作区包含一个主目录,您可以在其中临时处理 Cloud Shell 会话中的文件。 你可以通过用户界面一次上传或下载一个文件到工作区,也可以使用命令行工具一次处理多个文件。
准备工作
在 IBM Cloud 控制台中启用 文件上传和下载。 有关如何启用文件上传和下载的详细信息,请参阅 启用或禁用Cloud Shell功能。
临时工作区存储
您的 Cloud Shell 工作区包含 500 MB 的临时安全存储空间,您可以通过个人主目录 /home/<user-name>
访问该存储空间。 只有您才能访问您的工作区存储,您在 IBM Cloud Shell 中访问的每个账户或工作所在区域的存储都是独立的。
您的工作区存储空间在所有会话中共享,因此您可以在不同的会话标签页中处理相同的文件。 只有在工作区处于活动状态时,存储才会持续。 如果您在 Cloud Shell 中闲置超过一小时,您的文件和数据就会被删除。 同样,如果您达到使用配额或重新启动 Cloud Shell,Cloud Shell 将关闭并删除您的数据。 如果您更改了要保留的文件,请务必在会话结束时下载这些文件。
存在一个已知问题,即如果达到临时存储限制,您与 Cloud Shell 的连接将丢失。 如果出现此问题,修复连接的唯一方法是重启 Cloud Shell,这会删除所有文件。 在 IBM Cloud Shell 中工作时,请避免上传大文件,并使用标准 Linux™ 命令(如 rm
)删除任何未使用的文件。
备份数据
您的工作区存储是临时的,并不打算将其用作您文件的主要存储位置。 不要在工作区中存储关键业务数据或敏感数据,并在 IBM Cloud Shell 之外创建文件备份。 您要对自己的数据负责,备份可以帮助您在因任何原因发生故障或数据丢失时恢复数据。 有关如何传输文件以创建备份的详细信息,请参阅 传输多个文件。
正在上载文件
您可以将文件上传到主目录的根目录。 一次只能上传一个文件。
- 在 IBM Cloud Shell 菜单栏中,单击上传图标
。
- 选择要上传的文件,然后单击 打开。
您的文件将上传到您的主目录,例如 /home/<user-name>/myFile.txt
. 您可以通过运行标准 Linux™ 命令来移动或处理文件。 例如,您可以通过运行以下命令,将上传的 myFile.txt
文件移动到 myFolder
子目录。
mv myFile.txt ./myFolder/
虽然可以移动文件,但请务必将工作区中的所有文件保留在主目录 /home/<user-name>
下。 如果您将文件移到此目录之外,可能会导致 Cloud Shell 关闭,从而删除您的数据。
正在下载文件
您可以将文件从工作区下载到本地系统。 一次只能下载一个文件。
-
使用标准Linux命令从命令行查找文件路径。
例如,您可以列出当前目录下的所有文件和子目录。
ls -R
或者,您也可以搜索文件名。 以下命令会搜索名称中包含
myFile
的文件。find -iname *myFile*
-
在 IBM Cloud Shell 菜单栏中,单击下载图标
。
-
输入主目录中文件的路径,如
/myFolder/myFile.txt
。 单击继续。文件路径中不要包含主目录根目录
/home/<user-name>
。 文件路径区分大小写。 -
按照浏览器提示打开文件或将文件保存到电脑中。
传输多个文件
使用 Cloud Shell 用户界面,一次只能上传或下载一个文件。 如果您需要传输许多文件,单独移动所有文件可能需要很长时间。 相反,使用这些策略可以在工作区和另一个文件系统之间高效地移动文件。
创建存档以移动文件
在移动文件前,请将文件合并到一个归档文件中,如 .tar
、.tar.gz
或 .zip
,以便一次性移动所有文件。
例如,要上传 IBM Cloud 管理脚本的文件夹,可以将其压缩到 myScripts.zip
文件中,然后上传到 Cloud Shell 中。 在 Cloud Shell 会话中,您可以运行 unzip myScripts.zip
来提取文件。
当您要下载文件时,也可以反过来做同样的事情。 例如,您要备份整个 Cloud Shell 工作区。 从主目录运行 tar -cvf myTar.tar *
创建 .tar
文件(Mac 或 Linux),或运行 zip -r myZip.zip *
创建 .zip
文件(Mac 或 Windows)。 然后,从 Cloud Shell 中下载存档文件,并在本地系统中解压缩。
从 Git repo 工作
对于 Git 代码库中的项目,请使用 Cloud Shell 用户界面上传 SSH 密钥,以便连接到 Git 代码库。 保存 SSH 密钥的本地副本作为备份。 然后,运行 git clone
将 repo 的所有文件克隆到 Cloud Shell 工作区。 另外,当您提交并将更改推送到 Git repo 时,您的更改会自动备份到 Cloud Shell 以外的文件系统。