您可以在已经创建好的E-MapReduce(简称EMR)集群中,直接使用Alluxio Shell命令来对Alluxio中的文件进行操作,也可以使用Hadoop Shell命令操作Alluxio中的文件。本文为您介绍Alluxio的常见命令。
背景信息
Alluxio常见命令如下表所示。
命令 | 功能 |
---|---|
mkdir |
在Alluxio文件系统中创建目录。 |
cat |
查看Alluxio上文件的内容。 |
ls |
在文件或者目录创建完之后,您可以查看指定路径下的文件或目录信息。在查看文件或目录信息的时候需要给出绝对路径。 |
mv |
移动文件或目录到目标路径。 |
copyFromLocal |
上传本地文件到Alluxio的指定路径。 |
copyToLocal |
下载Alluxio指定路径的文件到本地路径。 |
rm |
删除Alluxio系统中指定的文件。 |
关于Alluxio的更多命令介绍,请参见Alluxio。
mkdir
在Alluxio文件系统中创建目录。
- 语法
- Alluxio Shell用法:
alluxio fs mkdir <path1> [path2] ... [pathn]
- Hadoop Shell用法:
hadoop dfs -mkdir alluxio://<path1> [path2] ... [pathn]
- Alluxio Shell用法:
- 示例:
- 在Alluxio文件系统中,创建/dir目录。
alluxio fs mkdir /dir
返回如下信息表示创建目录成功。Successfully created directory /dir
- 在dir目录下,创建logs目录。
alluxio fs mkdir /dir/logs
返回如下信息表示创建目录成功。Successfully created directory /dir/logs
- 在Alluxio文件系统中,创建/dir目录。
ls
在文件或者目录创建完之后,您可以查看指定路径下的文件或目录信息。在查看文件或目录信息的时候需要给出绝对路径。
- 语法
- Alluxio Shell用法:
alluxio fs ls <path>
- Hadoop Shell用法:
hadoop dfs -ls alluxio://<path>
- Alluxio Shell用法:
- 示例:
- 查看/tmp目录下hello.txt文件的信息。
alluxio fs ls /tmp/hello.txt
- 查看/dir/logs目录的信息。
alluxio fs ls /dir/logs
- 查看/tmp目录下hello.txt文件的信息。
cat
查看Alluxio上文件的内容。
- 语法
- Alluxio Shell用法:
alluxio fs cat <path>
- Hadoop Shell用法:
hadoop dfs -cat alluxio://<path>
- Alluxio Shell用法:
- 示例:查看/tmp3目录下hello.txt文件的内容。
alluxio fs cat hello.txt
返回hello.txt文件的内容。
mv
移动文件或目录到目标路径。
- 语法
- Alluxio Shell用法:
alluxio fs mv <path>
- Hadoop Shell用法:
hadoop dfs -mv alluxio://<path>
- Alluxio Shell用法:
- 示例
- 移动/tmp/目录下的文件hello.txt至/tmp3/logs/目录下。
alluxio fs mv /tmp/hello.txt /tmp3/logs/hello.txt
您可以通过ls命令查看文件移动的情况。 - 移动/tmp/路径下的test目录至/dir/sub-dir/目录下。
hadoop fs -mv /tmp/test /dir/sub-dir/
您可以通过ls命令查看目录移动的情况。
- 移动/tmp/目录下的文件hello.txt至/tmp3/logs/目录下。
copyFromLocal
注意 上传本地文件到Alluxio的指定路径时,Alluxio Shell使用的是
copyFromLocal
命令,Hadoop Shell使用的是put
命令。
上传本地文件到Alluxio的指定路径。
- 语法
- Alluxio Shell用法:
alluxio fs copyFromLocal <src> <remoteDst>
- Hadoop Shell用法:
hadoop dfs -put <src> alluxio://<remoteDst>
- Alluxio Shell用法:
- 示例:上传本地文件hello_world.txt至Alluxio的/dir/logs2路径下。
alluxio fs copyFromLocal hello_world.txt /dir/logs2
返回如下信息表示上传成功。Copied file:///root/hello_world.txt to /dir/logs2
copyToLocal
注意 下载Alluxio指定路径的文件到本地路径时,Alluxio Shell使用的是
copyToLocal
命令,Hadoop Shell使用的是get
命令。
下载Alluxio指定路径的文件到本地路径。
- 语法
- Alluxio Shell用法:
alluxio fs copyToLocal <src> <localDst>
- Hadoop Shell用法:
hadoop dfs -get <src> alluxio://<localDst>
- Alluxio Shell用法:
- 示例:下载Alluxio系统中/dir/sub-dir/目录下的文件hello_world2.txt至本地的/emr路径下。
alluxio fs copyToLocal /dir/sub-dir/hello_world2.txt /emr
返回如下信息表示下载成功。Copied /dir/sub-dir/hello_world2.txt to file:///emr
rm
删除Alluxio系统中指定的文件。
- 语法
- Alluxio Shell用法:
alluxio fs rm <path>
- Hadoop Shell用法:
hadoop dfs -rm alluxio://<path>
- Alluxio Shell用法:
- 示例:删除Alluxio系统中/dir/logs2目录下的文件hello_world.txt。
alluxio fs rm /dir/logs2/hello_world.txt
返回如下信息表示删除成功。/dir/logs2/hello_world.txt has been removed