问题导读

1.改变hdfs文件的权限,需要修改哪个配置文件?
2.获取一个文件的或则目录的权限,哪个命令可以实现?
3.哪个命令可以实现设置访问控制列表(ACL)的文件和目录?

接上篇:
Hadoop【2.7.1】初级入门之命令:文件系统shell1
http://www.aboutyun.com/thread-15824-1-1.html

getfacl
用法: hadoop fs -getfacl [-R] <path>
显示访问控制列表(ACL)的文件和目录. 如果一个目录有默认的ACL,  getfacl 也显示默认的ACL.
选项:

  • -R: 递归目录和列出所有文件的ACLs.
  • path: 文件或目录列表。

例子:

  • hadoop fs -getfacl /file
  • hadoop fs -getfacl -R /dir

返回代码:
返回 0成功返回 非0 错误
<ignore_js_op>

getfattr
用法: hadoop fs -getfattr [-R] -n name | -d [-e en] <path>
显示文件和目录扩展属性名字和值[如果有的话]
选项:

  • -R: 递归显示文件和目录属性.
  • -n name: Dump the named extended attribute value.
  • -d: Dump all extended attribute values associated with pathname.
  • -e encoding: 检索后的值进行编码。 有效的编码是 “text”, “hex”, and “base64”. 值编码作为文本字符串是用双引号括起来的(“),

值编码作为16进制和64进制,前缀分别为 0x 和 0s

  • path: 文件或则目录

例子:

  • hadoop fs -getfattr -d /file
  • hadoop fs -getfattr -R -n user.myAttr /dir

返回代码:
返回 0成功返回 非0 错误

getmerge
用法: hadoop fs -getmerge <src> <localdst> [addnl]
源目录和目标文件作为输入和连接文件合并到本地目标文件。addnl选项可以设置在文件末尾添加一个换行符。

help
用法: hadoop fs -help
返回使用输出。

ls
用法: hadoop fs -ls [-d] [-h] [-R] [-t] [-S] [-r] [-u] <args>
选项:

  • -d: 目录被列为纯文件。
  • -h: 文件格式变为易读 (例如  67108864显示 64.0m).
  • -R: 递归子目录列表中。
  • -t: 按修改时间排序输出(最近一次)。
  • -S: 按文件大小排序输出。
  • -r: 倒序排序
  • -u: 对使用时间显示和排序而不是修改时间

文件返回下面信息:

[Bash shell] 纯文本查看 复制代码
1
2
permissions     number_of_replicas   userid      groupid  filesize        modification_date     modification_time  filename
权限                   副本数                    用户名      所属组   文件大小       修改日期                 修改时间              文件名

目录返回下面信息

权限        用户    所属组      修改日期          修改时间               目录名

目录内的文件默认按文件名排序
例子:

  • hadoop fs -ls /user/hadoop/file1

退出代码:
返回0成功,返回-1错误

lsr
用法: hadoop fs -lsr <args>
ls递归
注意: 这个命令被启用的,替换为hadoop fs -ls -R

mkdir
用法: hadoop fs -mkdir [-p] <paths>
以URI的路径作为参数并创建目录。
选项:

  • -p 选项与Linux -p功能一样,会创建父目录

例子:

  • hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2
  • hadoop fs -mkdir hdfs://nn1.example.com/user/hadoop/dir hdfs://nn2.example.com/user/hadoop/dir

退出代码:
返回0成功,-1错误

moveFromLocal
用法: hadoop fs -moveFromLocal <localsrc> <dst>
类似put命令,但是它是本地源文件复制后被删除

moveToLocal
用法: hadoop fs -moveToLocal [-crc] <src> <dst>
显示 “Not implemented yet” 消息

mv
用法: hadoop fs -mv URI [URI ...] <dest>移动文件,这个命令允许移动多个文件到某个目录

例子:

  • hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2
  • hadoop fs -mv hdfs://nn.example.com/file1 hdfs://nn.example.com/file2 hdfs://nn.example.com/file3 hdfs://nn.example.com/dir1

退出代码:
返回0成功,-1错误

put
用法: hadoop fs -put <localsrc> ... <dst>
复制单个或则多个源文件到目标系统文件。从stdin读取输入并写入到目标文件系统。

  • hadoop fs -put localfile /user/hadoop/hadoopfile
  • hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
  • hadoop fs -put localfile hdfs://nn.example.com/hadoop/hadoopfile
  • hadoop fs -put - hdfs://nn.example.com/hadoop/hadoopfile 从stdin读取输入。

退出代码:
返回0成功,-1错误

renameSnapshot
See HDFS Snapshots Guide.

rm
用法: hadoop fs -rm [-f] [-r |-R] [-skipTrash] URI [URI ...]
删除指定的参数文件。
选项:

  • -f 选项 如果该文件不存在,则该选项将不显示诊断信息或修改退出状态以反映错误。
  • -R选项递归删除目录下任何内容
  • -r与-R效果一样
  • -skipTrash选项绕过垃圾回收器,如果启用,将会立即删除指定文件。这是非常有用对于超过配额的目录

例子:

  • hadoop fs -rm hdfs://nn.example.com/file /user/hadoop/emptydir

退出代码:
返回0成功,-1错误

rmdir
用法: hadoop fs -rmdir [--ignore-fail-on-non-empty] URI [URI ...]
删除目录
选项:

  • --ignore-fail-on-non-empty: 当使用通配符,一个目录还包含文件,不会失败.

例子:

  • hadoop fs -rmdir /user/hadoop/emptydir

rmr
用法: hadoop fs -rmr [-skipTrash] URI [URI ...]
递归删除
说明:这个命令被弃用了,而是使用hadoop fs -rm -r

setfacl
用法: hadoop fs -setfacl [-R] [-b |-k -m |-x <acl_spec> <path>] |[--set <acl_spec> <path>]
设置访问控制列表(ACL)的文件和目录。
选项:

  • -b:移除所有除了基本的ACL条目。用户、组和其他的条目被保留为与权限位的兼容性。
  • -k:删除默认的ACL。
  • -R: 递归应用于所有文件和目录的操作。
  • -m:修改ACL。新的项目添加到ACL,并保留现有的条目。
  • -x: 删除指定的ACL条目。其他保留ACL条目。
  • --set:完全替换ACL,丢弃所有现有的条目。acl_spec必须包括用户,组,和其他有权限位的兼容性。
  • acl_spec:逗号分隔的ACL条目列表。
  • path:修改文件或目录。

例子:

  • hadoop fs -setfacl -m user:hadoop:rw- /file
  • hadoop fs -setfacl -x user:hadoop /file
  • hadoop fs -setfacl -b /file
  • hadoop fs -setfacl -k /dir
  • hadoop fs -setfacl --set user::rw-,user:hadoop:rw-,group::r--,other::r-- /file
  • hadoop fs -setfacl -R -m user:hadoop:r-x /dir
  • hadoop fs -setfacl -m default:user:hadoop:r-x /dir

退出代码:
返回0成功,非0错误
以上需要开启acl:
开启acls,配置hdfs-site.xml

[Bash shell] 纯文本查看 复制代码
1
2
3
4
5
vi etc/hadoop/hdfs-site.xml
<property>
    <name>dfs.namenode.acls.enabled</name>
    <value>true</value>
</property>

setfattr
用法: hadoop fs -setfattr -n name [-v value] | -x name <path>
设置一个文件或目录的扩展属性名和值。
选项:
-b: 移除所有的条目除了基本的ACL条目。用户、组和其他的条目被保留为与权限位的兼容性。
-n name:扩展属性名。
-v value:扩展属性值。有三种不同编码值,如果该参数是用双引号括起来的,则该值是引号内的字符串。如果参数是前缀0x或0X,然后作为一个十六进制数。如果参数从0或0,然后作为一个base64编码。
-x name: 移除所有属性值
path: 文件或则路径
例子:

  • hadoop fs -setfattr -n user.myAttr -v myValue /file
  • hadoop fs -setfattr -n user.noValue /file
  • hadoop fs -setfattr -x user.myAttr /file

退出代码:
返回0成功,非0错误

setrep
用法: hadoop fs -setrep [-R] [-w] <numReplicas> <path>
更改文件的备份. 如果是一个目录,会递归改变目录下文件的备份。
选项:
-w标识,要求备份完成,这可能需要很长时间。
-R标识,是为了兼容,没有实际效果

例子:

  • hadoop fs -setrep -w 3 /user/hadoop/dir1

退出代码:
返回0成功,非0错误

stat
用法: hadoop fs -stat [format] <path> ...按指定格式打印文件/目录的打印统计。
格式接受文件块 (%b), 类型 (%F), groutp拥有者 (%g), 名字 (%n), block size (%o), replication (%r), 用户拥有者(%u),  修改日期 (%y, %Y). %y 显示 UTC 日期如 “yyyy-MM-dd HH:mm:ss” 和 %Y 1970年1月1日以来显示毫秒UTC. 如果没有指定, 默认使用%y.
例子:

  • hadoop fs -stat "%F %u:%g %b %y %n" /file

退出代码:
返回0成功
返回-1错误

tail
用法: hadoop fs -tail [-f] URI
显示文件内容,最后千字节的文件发送到stdout,
选项:
- f选项将输出附加数据随着文件的增长,如同Unix
例子:

  • hadoop fs -tail pathname

退出代码:
返回0成功
返回-1错误

test
用法: hadoop fs -test -[defsz] URI
选项:
-d:如果路径是一个目录,返回0
-e:如果路径已经存在,返回0
-f: 如果路径是一个文件,返回0
-s:如果路径不是空,返回0
-z:如果文件长度为0,返回0

例子:

  • hadoop fs -test -e filename

text
用法: hadoop fs -text <src>
一个源文件,以文本格式输出文件。允许的格式是zip和textrecordinputstream。

touchz
用法: hadoop fs -touchz URI [URI ...]
创建一个零长度的文件。
例子:

  • hadoop fs -touchz pathname

退出代码:返回0成功,-1error

truncate
用法: hadoop fs -truncate [-w] <length> <paths>
截断指定文件模式指定的长度匹配的所有文件。

选项:
-w 选项需要等待命令完成块恢复。如果没有-w选项,在恢复的过程中可能是未闭合的

例子:

  • hadoop fs -truncate 55 /user/hadoop/file1 /user/hadoop/file2
  • hadoop fs -truncate -w 127 hdfs://nn1.example.com/user/hadoop/file1

usage
用法: hadoop fs -usage command
返回单个命令的帮助。

相关内容 
hadoop入门手册1:hadoop【2.7.1】【多节点】集群配置【必知配置知识1】

hadoop入门手册2:hadoop【2.7.1】【多节点】集群配置【必知配置知识2】

hadoop入门手册3:Hadoop【2.7.1】初级入门之命令指南

hadoop入门手册4:Hadoop【2.7.1】初级入门之命令:文件系统shell1

hadoop入门手册5:Hadoop【2.7.1】初级入门之命令:文件系统shell2

hadoop2.X使用手册1:通过web端口查看主节点、slave1节点及集群运行状态
http://www.aboutyun.com/thread-7712-1-1.html

hadoop入门手册5:Hadoop【2.7.1】初级入门之命令:文件系统shell2的更多相关文章

  1. hadoop入门手册4:Hadoop【2.7.1】初级入门之命令:文件系统shell1

    问题导读1.Hadoop文件系统shell与Linux shell有哪些相似之处?2.如何改变文件所属组?3.如何改变hdfs的文件权限?4.如何查找hdfs文件,并且不区分大小写? 概述文件系统 ( ...

  2. hadoop入门手册3:Hadoop【2.7.1】初级入门之命令指南

    问题导读1.hadoop daemonlog管理员命令的作用是什么?2.hadoop如何运行一个类,如何运行一个jar包?3.hadoop archive的作用是什么? 概述 hadoop命令被bin ...

  3. hadoop入门手册2:hadoop【2.7.1】【多节点】集群配置【必知配置知识2】

    问题导读 1.如何实现检测NodeManagers健康?2.配置ssh互信的作用是什么?3.启动.停止hdfs有哪些方式? 上篇: hadoop[2.7.1][多节点]集群配置[必知配置知识1]htt ...

  4. hadoop入门手册1:hadoop【2.7.1】【多节点】集群配置【必知配置知识1】

    问题导读 1.说说你对集群配置的认识?2.集群配置的配置项你了解多少?3.下面内容让你对集群的配置有了什么新的认识? 目的 目的1:这个文档描述了如何安装配置hadoop集群,从几个节点到上千节点.为 ...

  5. Spark入门——什么是Hadoop,为什么是Spark?

    #Spark入门#这个系列课程,是综合于我从2017年3月分到今年7月份为止学习并使用Spark的使用心得感悟,暂定于每周更新,以后可能会上传讲课视频和PPT,目前先在博客园把稿子打好.注意:这只是一 ...

  6. 大数据入门第五天——离线计算之hadoop(下)hadoop-shell与HDFS的JavaAPI入门

    一.Hadoop Shell命令 既然有官方文档,那当然先找到官方文档的参考:http://hadoop.apache.org/docs/current/hadoop-project-dist/had ...

  7. Hadoop概念学习系列之Hadoop新手学习指导之入门需知(二十)

    不多说,直接上干货! 零基础学习hadoop,没有想象的那么困难,也没有想象的那么容易.从一开始什么都不懂,到能够搭建集群,开发.整个过程,只要有Linux基础,虚拟机化和java基础,其实hadoo ...

  8. 入门大数据---Hadoop是什么?

    简单概括:Hadoop是由Apache组织使用Java语言开发的一款应对大数据存储和计算的分布式开源框架. Hadoop的起源 2003-2004年,Google公布了部分GFS和MapReduce思 ...

  9. Hadoop学习笔记—6.Hadoop Eclipse插件的使用

    开篇:Hadoop是一个强大的并行软件开发框架,它可以让任务在分布式集群上并行处理,从而提高执行效率.但是,它也有一些缺点,如编码.调试Hadoop程序的难度较大,这样的缺点直接导致开发人员入门门槛高 ...

随机推荐

  1. 英语每日阅读---8、VOA慢速英语(翻译+字幕+讲解):脸肓症患者记不住别人的脸

    英语每日阅读---8.VOA慢速英语(翻译+字幕+讲解):脸肓症患者记不住别人的脸 一.总结 一句话总结: a.neural abnormalities are more widespread:Duc ...

  2. java使用poi实现excel表格生成

    通过使用poi技术生成Excel,使用反射技术实现自动映射列表的数据. ExportTableUtil.java public class ExportTableUtil { /** * * @Des ...

  3. ubuntu 16.04 配置远程连接

    1.XDMCP远程连接 vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 添加 greeter-show-manual-login=true [X ...

  4. bzoj1014: [JSOI2008]火星人prefix splay+hash+二分

    Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀.比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 ...

  5. 解决无法启动mysql服务错误1069

    之前在服务器上修改了my.ini文件 mysql就一直无法启动 后来把my.ini改回原来的,还是无法启动并报1069错误 在网上查了一下,基本上都是说修改mysql密码,再重新启动,试了一下没作用, ...

  6. 十五 web爬虫讲解2—urllib库中使用xpath表达式—BeautifulSoup基础

    在urllib中,我们一样可以使用xpath表达式进行信息提取,此时,你需要首先安装lxml模块,然后将网页数据通过lxml下的etree转化为treedata的形式 urllib库中使用xpath表 ...

  7. 执行Maven install或Maven test命令时控制台输出乱码的解决办法

    [解决方案一] 在Maven的pom.xml文件中增加如下代码: <properties> <argLine>-Dfile.encoding=UTF-8</argLine ...

  8. 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    在阿里云服务器上配置CentOS+Nginx+Python+Flask环境 项目运行环境 阿里云(单核CPU, 1G内存, Ubuntu 14.04 x64 带宽1Mbps), 具体购买和ssh连接阿 ...

  9. pycharm debug

    1  debug 的模式,只有在打断点是才能运行. 2  主方法运行的时候 ,可以在下面输入一行 a =1 .方便debug 打完断电的会出现三角头, 运行甲壳虫 3   一步一步运行, F8 , 当 ...

  10. 【hive】子查询

    hive中是不支持子查询的 但是并不意味这不支持in 或者 not in in 或者not in 后边是定值的话是支持的 但是接定制是可以的 例如 select id from table not i ...