hadoop fs

1.调用Hadoop的文件系统Shell(FileSystem Shell)的命令格式:
语法:hadoop fs :前提是位置位于hadoop/bin下,其中fs是参数,表示FS Shell,是fs的子命令
2.使用FS Shell命令行管理文件:
mkdir  -创建目录

语法:hadoop fs -mkdir 
例子:
hadoop fs -mkdir /user:在HDFS中创建"/user"目录

hadoop fs -mkdir /user/hadoop:在HDFS中创建"/user/hadoop"目录

hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2:在HDFS中同时创建"/user/hadoop/dir1"和"/user/hadoop/dir2",目录
ls -查看列表文件

语法:hadoop fs -ls 
如果是文件,则按照如下格式返回文件信息:
文件名<副本数> 文件大小 修改日期 修改时间 权限 用户ID 组ID

如果是目录,则返回它直接子文件的一个列表
cat -查看文件

语法:hadoop fs -cat URI :输出路径指定文件的内容
例子:
hadoop fs -cat /input2/file1.txt  /input2/file2.txt:在HDFS中查看input2目录下的file1.txt和file2.txt的文件内容
put -从本地文件系统中复制一个或多个文件到HDFS(外部命令)

语法:hadoop fs -put ...
其中localsrc只能是本地文件,dst只能是HDFS文件,且不受fs.defaultFS属性影响。

例子:
hadoop fs -put /home/hduser/file/file1.txt /input2
-将本地文件复制到HDFS目录"input2"

hadoop fs -put /home/hduser/file/file1.txt /home/hduser/file/file2.txt /input2
-将多个本地文件复制到HDFS目录"input2"

hadoop fs -put - /input2/file3
-从标准输入中读取输入,按Ctrl+C组合键退出并保存到"file3"
get -复制HDFS文件到本地系统(外部命令,是put命令的逆操作)

语法:hadoop fs -get 
其中src只能是HDFS文件,localdst只能是本地文件,且同样不受fs.defaultFS属性影响

例子:
hadoop fs -get /input2/file1.txt /sa/file
-将HDFS目录"input2"下的file1.txt文件复制到本地系统目录"sa"下的file文件夹中
mv -移动、剪切命令

语法:hadoop fs -mv URI [URI...] :将文件从源路径移动到目标路径,允许多个源路径,目标路径必须是一个目录

例子:
hadoop fs -mv /input2/file1.txt /input2/file2.txt /user/hadoop/dir1
-将HDFS上"input2"文件夹中的file1.txt和file2.txt文件移动到"/user/hadoop/dir1"文件夹中
cp -复制命令

语法:hadoop fs -cp URI [URI...] :将文件从源路径复制到目标路径,允许多个源路径,目标路径必须是一个目录

例子:
hadoop fs -cp /input2/file1.txt /input2/file2.txt /user/hadoop/dir1
-将HDFS上"input2"文件夹中的file1.txt和file2.txt文件复制到"/user/hadoop/dir1"文件夹中
rm、rmr -删除文件

1.rm命令
语法:hadoop fs -rm URI [URI...]
删除指定的文件,只删除非空目录和文件

例子:
hadoop fs -rm /input2/file1.txt
-在HDFS中删除input2文件夹下的file1.txt文件

2.rmr命令
语法:hadoop fs -rmr URI [URI...]
rm的递归版本,整个文件夹及子文件将全部删除
例子:
hadoop fs -rmr /user/hadoop/dir1
-在HDFS中直接删除" /user/hadoop/dir1"路径中dir1文件夹及该文件夹中的子文件
test、du、expubge -管理命令

1.test命令
语法:hadoop fs -test -[选项] URI
选项:
 -e:检查文件是否存在,如果存在则返回0,不存在返回1;
 -z:检查文件是否存在内容,有内容返回1,没有内容返回0(检查文件的大小是否是0字节,文件大小是0字节返回0,不是0字节返回1);
 -d:检查路径是否为目录,如果是则返回1,不是则返回0.

例子:
hadoop fs -test -e /input2/file1.txt 
-检查文件是否存在
echo $?   -#"$?"是Linux变量,存储上一条命令的返回值,"echo $?"表示输出命令行返回的数值。

2.du命令
语法:hadoop fs -du URI [URI...]
-显示目录中所有文件的大小

例子:
hadoop fs -du /input2
-在HDFS中显示input2文件夹的大小,如果是目录则列出所有文件及其大小

hadoop fs -du /input2/file1.txt
-在HDFS中显示input2文件夹下fil1.txt文件的大小,如果是目录则统计总大小

3.expunge命令
语法:hadoop fs -expunge
-清空回收站

你可能感兴趣的:(hadoop fs)