fs 命令组

注意

此信息适用于 Databricks CLI 0.205 及更高版本,这些版本为公共预览版。 若要查找你的 Databricks CLI 的版本,请运行 databricks -v

Databricks CLI 中的fs命令组允许在 Unity 目录中自动执行,并自动执行Databricks 文件系统 (DBFS)对象。

可以通过将 fs 命令追加到 databricks fs 中来运行这些命令。 若要显示 fs 命令的帮助,请运行 databricks fs -h

fs命令需要卷路径以dbfs:/Volumes开头,并且需要 DBFS 中的目录和文件路径以dbfs:/开头。

重要

要安装 Databricks CLI,请参阅《安装或更新 Databricks CLI》。 若要配置 Databricks CLI 的身份验证,请参阅 Databricks CLI 的身份验证

列出目录的内容

要列出卷或 DBFS 中目录的内容,请使用ls命令。 指定目录的路径。 以下示例列出了在指定卷的根中或 DBFS 根中找到的对象的名称:

databricks fs ls dbfs:/Volumes/main/default/my-volume
databricks fs ls dbfs:/

若要显示完整信息,包括对象类型、大小、修改时间(相对于纪元时间,以毫秒为单位)以及对象名称,请使用 --long-l 选项。 以下示例列出了在指定卷的根中或 DBFS 根的 tmp 目录中找到的对象的完整信息:

databricks fs ls dbfs:/Volumes/main/default/my-volume -l
databricks fs ls dbfs:/tmp -l

若要显示完整对象路径,请使用 --absolute 选项。 以下示例列出了在指定卷的根中或 DBFS 根的 tmp 目录中找到的对象的完整信息以及对象的完整路径:

databricks fs ls dbfs:/Volumes/main/default/my-volume -l --absolute
databricks fs ls dbfs:/tmp -l --absolute

输出文件的内容

要输出文件的内容,请使用cat命令。 指定 DBFS 中文件的路径。 以下示例输出了在指定卷的根中或 DBFS 根的 tmp 目录中找到的名为 babynames.csv 的文件的内容:

databricks fs cat dbfs:/Volumes/main/default/my-volume/babynames.csv
databricks fs cat dbfs:/tmp/babynames.csv

以下示例返回错误,因为它们尝试输出目录的内容而不是文件:

databricks fs cat dbfs:/Volumes/main/default/my-volume
databricks fs cat dbfs:/tmp

创建目录

若要创建目录,请使用 mkdir 命令。 指定要在卷或 DBFS 中创建的目录的路径。 如果该目录已存在,则不会执行任何操作。 以下示例在指定卷的根中或 DBFS 根的名为 tmp 的目录中创建名为 squirrel-data 的目录:

databricks fs mkdir dbfs:/Volumes/main/default/my-volume/squirrel-data
databricks fs mkdir dbfs:/tmp/squirrel-data

复制目录或文件

请使用“cp”命令复制目录或文件。 指定指向要复制的源目录或文件的路径及其目标。 可以在本地系统文件和 DBFS 之间复制目录和文件,还可以在 DBFS 路径之间复制目录和文件。 若要覆盖现有文件,请使用“--overwrite”选项。 若要以递归方式复制目录中的文件,请使用“--recursive”或“-r”选项。

如果省略 file:/,则 cp 命令将采用 file:/

以下示例将名为 squirrel-data 的目录及其内容从本地文件系统路径复制到指定卷的根中或 DBFS 根中的 squirrels 目录。

databricks fs cp /Users/<username>/squirrel-data dbfs:/Volumes/main/default/my-volume/squirrels -r
databricks fs cp /Users/<username>/squirrel-data dbfs:/squirrels -r

以下示例将名为 squirrels.csv 的文件从本地文件系统路径复制到指定卷的根中或 DBFS 根中名为 squirrel-data 的目录。 如果目标中已存在该文件,则会覆盖该文件。

databricks fs cp /Users/<username>/squirrels.csv dbfs:/Volumes/main/default/my-volume/squirrel-data --overwrite
databricks fs cp /Users/<username>/squirrels.csv dbfs:/squirrel-data --overwrite

删除目录

若要删除目录,请使用 rm 命令。 指定 DBFS 中现有目录的路径。 以下示例从指定卷的根中或 DBFS 根的 tmp 目录中删除名为 squirrel-data 的目录:

databricks fs rm dbfs:/Volumes/main/default/my-volume/squirrel-data
databricks fs rm dbfs:/tmp/squirrel-data

如果该目录不存在,则不会执行任何操作,且不会返回错误。

如果目录存在但不是空的,则返回错误。 要删除非空目录及其所有内容,请使用 --recursive-r 选项。 以下示例从指定卷的根中或 DBFS 根的 tmp 目录中删除名为 squirrel-data 的非空目录:

databricks fs rm dbfs:/Volumes/main/default/my-volume/squirrel-data -r
databricks fs rm dbfs:/tmp/squirrel-data -r