FileSystem Shell中大多数命令都和unix命令相同,只是两者之间的解释不同,如果你对unix命令有基本的了解,那么对于FileSystem Shell的命令,你将会感到很亲切。

appendToFile

语法:hdfs dfs -appendToFile <localsrc> ... <dst>
解释:将本地文件系统中的一个文件或多个文件添加到目标文件系统中,也可以从stdin读取input文件添加到目标文件系统中
范例:
  1. $ hdfs dfs -appendToFile localfile /user/hadoop/hadoopfile
  2. $ hdfs dfs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfile
  3. $ hdfs dfs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile
  4. $ hdfs dfs -appendToFile - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin
返回结果:
成功返回0,错误返回1

cat

语法:hdfs dfs -cat URI [URI ...]
解释:打印资源路径到控制台
范例:
  1. $ hdfs dfs -cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
  2. $ hdfs dfs -cat file:///file3 /user/hadoop/file4
返回结果:
成功返回0,错误返回1

chgrp

语法:hdfs dfs -chgrp [-R] GROUP URI [URI ...]
解释:改变文件之间的组关系,操作者必须是文件所有者或者至少是超级用户
范例:
  1. $ hdfs df -chgrp bigdata hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
  2. $ hdfs df -chgrp bigdata file:///file3 /user/hadoop/file4
返回结果:无

chmod

语法:hdfs dfs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...]
解释:变更文件权限,-R参数将文件及其所有子文件权限变更,操作者必须是文件所有者或者至少是超级用户
范例:
  1. #g+w表示给组划分权限,a+w表示给所有用户和组划分权限,u+w表示给用户划分权限
  2. $ hdfs dfs -chmod g+w hdfs://nn1.example.com/file1
  3. $ hdfs dfs -chmod -R g+w hdfs://nn1.example.com/file2
返回结果:无

chown

语法:hdfs dfs -chown [-R] [OWNER][:[GROUP]] URI [URI ]
解释:变更文件所有者,操作者必须是超级用户
范例:
  1. $ hdfs dfs -chown -R newOwner:newOwner_group hdfs://nn1.example.com/file1
返回结果:无

copyFromLocal

语法:hdfs dfs -copyFromLocal <localsrc> URI
解释:该命令与put命令类似,但是该命令仅限于本地文件的添加
范例:
  1. $ hdfs dfs -copyFromLocal localfile /user/hadoop/hadoopfile
返回结果:无

copyToLocal

语法:hdfs dfs -copyToLocal [-ignorecrc] [-crc] URI <localdst>
解释:该命令与get命令类似,但是该命令仅限于本地文件的获取
范例:
  1. $ hdfs dfs -copyFromLocal /user/hadoop/hadoopfile localfile
返回结果:无

count

语法:hdfs dfs -count [-q] [-h] <paths>
解释:计算目录、文件、以及字节数,输出的列为DIR_COUNT, FILE_COUNT, CONTENT_SIZE FILE_NAME
  • -q:输出列QUOTA, REMAINING_QUATA、SPACE_QUOTA、REMAINING_SPACE_QUOTA、DIR_COUNT、FILE_COUNT、CONTENT_SIZE、FILE_NAME
  • -h:可读格式的大小
范例:
  1. $ hdfs dfs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
  2. $ hdfs dfs -count -q hdfs://nn1.example.com/file1
  3. $ hdfs dfs -count -q -h hdfs://nn1.example.com/file1
返回结果:
成功返回0,错误返回-1

cp

语法:hdfs dfs -cp [-f] [-p | -p[topax]] URI [URI ...] <dest>
解释:从源到目的地复制文件。此命令允许多个源,以及在这种情况下,目的地必须是一个目录。 
范例:
  1. $ hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2
  2. $ hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir
返回结果:
成功返回0,错误返回-1

du

语法:hdfs dfs -du [-s] [-h] URI [URI ...]
解释:显示给定目录中的文件和目录的大小或文件的长度,以防其只是一个文件
  • -s:该选项将导致显示文件长度的汇总,而不是单个文件。
  • -h:选项将格式中的“可读的”时尚大小文件(如64.0m代替67108864)
范例:
  1. $ hdfs dfs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dir1
返回结果:
成功返回0,错误返回-1

expunge

语法:hdfs dfs -expunge
解释:清空垃圾
范例:
  1. $ hdfs dfs -expunge
返回结果:无

get

语法:hdfs dfs -get [-ignorecrc] [-crc] <src> <localdst>
解释:复制文件到本地文件系统,
范例:
  1. $ hdfs dfs -get /user/hadoop/file localfile
  2. $ hdfs dfs -get hdfs://nn.example.com/user/hadoop/file localfile
返回结果:
成功返回0,错误返回-1

getfacl

语法:hdfs dfs -getfacl [-R] <path>
解释:显示访问控制列表(ACL)的文件和目录。如果一个目录的默认ACL,然后getfacl也显示默认的ACL。 
  • R:列出所有文件和目录递归ACL。
  • path:文件或目录列表。
范例:
  1. $ hdfs dfs -getfacl /file
  2. $ hdfs dfs -getfacl -R /dir
返回结果:
成功返回0,错误返回非0

getfattr

语法:hdfs dfs -getfattr [-R] -n name | -d [-e en] <path>
解释:显示文件或目录的扩展属性名称和值(如果有的话)
  • -R:递归列出所有文件和目录的属性。
  • -n name:转储命名扩展属性值。
  • -d:转储所有扩展属性的价值与路径。
  • -e encoding:检索后编码值。有效的编码是“文本”、“妖术”,和“Base64”。编码值为文本字符串括在双引号,编码值为十六进制和Base64是前缀0x 0。
  • path:文件或目录。
范例:
  1. $ hdfs dfs -getfattr -d /file
  2. $ hdfs dfs -getfattr -R -n user.myAttr /dir
返回结果:
成功返回0,错误返回非0

getmerge

语法:hdfs dfs -getmerge <src> <localdst> [addnl]
解释:合并源目录文件内容,并将合并结果输出到本地文件
范例:
  1. $ hdfs dfs -getmerge hdfs://nn1.example.com/file1 localfile
返回结果:无

ls

语法:hdfs dfs -ls [-R] <args>
解释:列表展示目录下的所有文件,-R表示递归展示
范例:
  1. $ hdfs dfs -ls /user/hadoop/file1
返回结果:
成功返回0,错误返回-1

lsr

语法:hdfs dfs -lsr <args>
解释:递归展示目录下的所有文件
范例:
  1. $ hdfs dfs -lsr /user/hadoop/file1
返回结果:
成功返回0,错误返回-1

mkdir

语法:hdfs dfs -mkdir [-p] <paths>
解释:创建文件
范例:
  1. $ hdfs dfs -mkdir /user/hadoop/dir1 /user/hadoop/dir2
  2. $ hdfs dfs -mkdir hdfs://nn1.example.com/user/hadoop/dir hdfs://nn2.example.com/user/hadoop/dir
返回结果:

moveFromLocal

语法:hdfs dfs -moveFromLocal <localsrc> <dst>
解释:该命令与put类似,不同之处是本地文件被复制后会被删除
范例:
  1. $ hdfs dfs -moveFromLocal localfile hdfs://nn1.example.com/file1
返回结果:无

moveToLocal

语法:hdfs dfs -moveToLocal [-crc] <src> <dst>
解释:移动文件到本地文件系统
范例:
  1. $ hdfs dfs -moveToLocal hdfs://nn1.example.com/file1 localfile
返回结果:无

mv

语法:hdfs dfs -mv URI [URI ...] <dest>
解释:移动文件到目标目录下
范例:
  1. $ hdfs dfs -mv /user/hadoop/file1 /user/hadoop/file2
  2. $ hdfs dfs -mv hdfs://nn.example.com/file1 hdfs://nn.example.com/file2 hdfs://nn.example.com/file3 hdfs://nn.example.com/dir1
返回结果:
成功返回0,错误返回-1

put

语法:hdfs dfs -put <localsrc> ... <dst>
解释:复制单个或多个本地资源到目标文件系统。另外从stdin读取输入并写入到目标文件系统。 
范例:
  1. $ hdfs dfs -put localfile /user/hadoop/hadoopfile
  2. $ hdfs dfs -put localfile1 localfile2 /user/hadoop/hadoopdir
  3. $ hdfs dfs -put localfile hdfs://nn.example.com/hadoop/hadoopfile
  4. $ hdfs dfs -put - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin.
返回结果:
成功返回0,错误返回-1

rm

语法:hdfs dfs -rm [-f] [-r|-R] [-skipTrash] URI [URI ...]
解释:删除资源
范例:
  1. $ hdfs dfs -rm hdfs://nn.example.com/file /user/hadoop/emptydir
返回结果:
成功返回0,错误返回-1

rmr

语法:hdfs dfs -rmr [-skipTrash] URI [URI ...]
解释:递归删除资源,rmr取代-rm -r
范例:
  1. $ hdfs dfs -rmr hdfs://nn.example.com/file /user/hadoop/emptydir
返回结果:
成功返回0,错误返回-1

setfcal

语法:hdfs dfs -setfacl [-R] [-b|-k -m|-x <acl_spec> <path>]|[--set <acl_spec> <path>]
解释:设置文件和目录的访问控制列表
范例:
  1. $ hdfs dfs -setfacl -m user:hadoop:rw-/file
  2. $ hdfs dfs -setfacl -x user:hadoop /file
  3. $ hdfs dfs -setfacl -b /file
  4. $ hdfs dfs -setfacl -k /dir
  5. $ hdfs dfs -setfacl --set user::rw-,user:hadoop:rw-,group::r--,other::r--/file
  6. $ hdfs dfs -setfacl -R -m user:hadoop:r-x /dir
  7. $ hdfs dfs -setfacl -m default:user:hadoop:r-x /dir
返回结果:
成功返回0,错误返回非0

setrep

语法:hdfs dfs -setrep [-R] [-w] <numReplicas> <path>
解释:更改文件的复制因素。如果路径是一个目录,则该命令递归地更改根目录树下所有文件的复制因素.
范例:
  1. $ hdfs dfs -setrep -w /user/hadoop/dir1
返回结果:
成功返回0,错误返回-1

stat

语法:hdfs dfs -stat URI [URI ...]
解释:返回路径上的统计信息
范例:
  1. $ hdfs dfs -stat path
返回结果:
成功返回0,错误返回-1

tail

语法: hdfs dfs -tail [-f] URI
解释:将文件的最后一千字节显示到stdout。
范例:
  1. $ hdfs dfs -tail pathname
返回结果:
成功返回0,错误返回-1

test

语法:hdfs dfs -test -[ezd] URI
解释:检查资源
  • -e:将检查文件是否存在,如果为true,则返回0。
  • -z:将检查文件是否为零长度,如果为真则返回0。
  • -d:将检查路径是否为目录,如果为true则返回0。
范例:
  1. $ hdfs dfs -test -e filename
返回结果:
成功返回0,错误返回-1

text

语法:hdfs dfs -text <src>
解释:获取源文件并以文本格式输出文件。 允许的格式是zip和TextRecordInputStream。
范例:
  1. $ hdfs dfs -text src
返回结果:无

touchz

语法:hdfs dfs -touchz URI [URI ...]
解释:创建空文件
范例:
  1. $ hdfs dfs -touchz pathname
返回结果:
成功返回0,错误返回-1
 

Hadoop学习(四) FileSystem Shell命令详解的更多相关文章

  1. adb shell 命令详解,android

    http://www.miui.com/article-275-1.html http://noobjava.iteye.com/blog/1914348 adb shell 命令详解,android ...

  2. adb shell 命令详解,android, adb logcat

    http://www.miui.com/article-275-1.html http://noobjava.iteye.com/blog/1914348 adb shell 命令详解,android ...

  3. 【Devops】【docker】【CI/CD】关于jenkins构建成功后一步,执行的shell命令详解+jenkins容器运行宿主机shell命令的实现方法

    1.展示这段shell命令 +详解 #================================================================================= ...

  4. Linux主要shell命令详解(上)

    [摘自网络] kill -9 -1即实现用kill命令退出系统 Linux主要shell命令详解 [上篇] shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的 ...

  5. linux shell 脚本攻略学习11--mkdir和touch命令详解

    一.创建目录(mkdir命令详解) amosli@amosli-pc:~/learn$ mkdir dir amosli@amosli-pc:~/learn/dir$ mkdir folder amo ...

  6. ubuntu学习笔记-tar 解压缩命令详解(转)

    tar 解压缩命令详解 -c: 建立压缩档案 -x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能 ...

  7. hadoop Shell命令详解

    调用文件系统(FS)Shell命令应使用bin/hadoop fs <args>的形式.所有的的FS shell命令使用URI路径作为参数.URI路径详解点击这里. 1.cat说明:将路径 ...

  8. Hadoop学习之Mapreduce执行过程详解

    一.MapReduce执行过程 MapReduce运行时,首先通过Map读取HDFS中的数据,然后经过拆分,将每个文件中的每行数据分拆成键值对,最后输出作为Reduce的输入,大体执行流程如下图所示: ...

  9. Hive Shell 命令详解

    Hive服务介绍 Hive默认提供的cli(shell)服务,如果需要启动其他服务,那么需要service参数来启动其他服务,比如thrift服务.metastore服务等.可以通过命令hive -- ...

随机推荐

  1. Qt 制作2048小游戏

    相信大家都玩过2048把,下面是我用qt写得2048小游戏. 2048.pro HEADERS += \ Widget.h SOURCES += \ Widget.cpp \ main.cpp QT ...

  2. 编程思想的理解(POP,OOP,SOA,AOP) x

    http://blog.chinaunix.net/uid-29417436-id-4060980.html 1)POP--面向过程编程(Process-oriented programming ): ...

  3. LA 4327 多段图

    题目链接:https://vjudge.net/contest/164840#problem/B 题意: 从南往北走,横向的时间不能超过 c: 横向路上有权值,求权值最大: 分析: n<=100 ...

  4. 【[USACO16OPEN]262144】

    发现这个数列的范围特别大但是值域的范围特别小 于是可以大胆猜测这道题值域肯定需要开到状态里去 又发现\(262144=2^{18}\)这个暗示非常明显啊,暗示这道题跟二进制有关系 其实也没什么关系 设 ...

  5. [USACO15OPEN]haybales Trappe…

    嘟嘟嘟 刚开始我以为如果这头牛撞开一个干草堆的话,获得的冲刺距离只有新增的部分,但实际上是加上原来的部分的. 暴力很好写,区间排完序后一次判断每一个区间是否能逃脱,复杂度O(n2). 优化想起来也不难 ...

  6. Java中获取classpath路径下的资源文件

    ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL  getResource (String name); public InputStream  getRes ...

  7. VS中添加预处理宏的方法

    VS中添加预处理宏的方法 除了在.c及.h中添加宏定义之外,还可以采用如下方法添加宏定义: 1.若只需要定义一个宏(如#define DEBUG),可以右键点击工程-->属性-->c/c+ ...

  8. Android学习笔记_20_访问应用权限汇总

    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com. ...

  9. 发布Android程序

    这个选项的意思是说,要使用.NET 2.0的完整版本,而非其子集. 下午发布Apk,一直报错,解决好了,忘记选这个了,以前都记得,明天再去公司发布去

  10. logistic regression svm hinge loss

    二类分类器svm 的loss function 是 hinge loss:L(y)=max(0,1-t*y),t=+1 or -1,是标签属性. 对线性svm,y=w*x+b,其中w为权重,b为偏置项 ...