目录

  • 创建目录
  • 查看目录下内容,包括文件名,权限,所有者,大小和修改时间
  • 将本地文件或目录上传到HDFS中的路径
  • 从本地复制文件到hdfs文件系统(与-put命令相似)
  • 将文件或目录从HDFS中的路径拷贝到本地文件路径
  • 复制hdfs文件系统中的文件到本地 (与-get命令相似)
  • 显示文件内容到标准输出上。
  • 从hdfs上过滤包含某个字符的行内容
  • 在HDFS文件系统中,将文件或目录从HDFS的源路径移动到目标路径。不允许跨文件系统移动文件。
  • 在HDFS文件系统中,将文件或目录复制到目标路径下
  • 删除一个文件或目录
  • 获取源文件并以文本格式输出文件。允许的格式为zip和TextRecordInputStream。
  • 创建一个零长度的文件。
  • 显示文件所占块数(%b),文件名(%n),块大小(%n),复制数(%r),修改时间(%y%Y)。
  • 显示文件的最后1kb内容到标准输出
  • 统计与指定文件模式匹配的路径下的目录,文件和字节数
  • 显示给定目录中包含的文件和目录的大小或文件的长度,用字节大小表示,文件名用完整的HDFS协议前缀表示,以防它只是一个文件。
  • 最后更多


之前在hive的删库、表和装载数据一文中提到了几个Linux系统下的hadoop命令,现在进行整合,记录几个常用命令。

首先:
hadoop fs:通用的文件系统命令,针对任何系统,比如本地文件、HDFS文件、HFTP文件等。
hdfs dfs:针对HDFS文件系统的操作。

创建目录

hadoop fs -mkdir [-p] < paths>
选项:-p
加-p可以创建多级目录。

查看目录下内容,包括文件名,权限,所有者,大小和修改时间

hadoop fs -ls [-R] < args>
选项:-R
递归地显示子目录下的内容

将本地文件或目录上传到HDFS中的路径

hadoop fs -put < /localdir>  < /targetdir>

从本地复制文件到hdfs文件系统(与-put命令相似)

hadoop fs -copyFromLocal [-f] < /localsrc> < /targetdir> 
选项:
如果目标已存在,则-f选项将覆盖目标。

将文件或目录从HDFS中的路径拷贝到本地文件路径

hadoop fs -get [-ignoreCrc] [-crc] < /hdfssrc> < /localdir>
选项:
-ignorecrc选项复制CRC校验失败的文件。
-crc选项复制文件和CRC。

复制hdfs文件系统中的文件到本地 (与-get命令相似)

hadoop fs -copyToLocal [-ignorecrc] [-crc] < /hdfssrc> < /targetdir>

显示文件内容到标准输出上。

hadoop fs -cat /dirs/file

从hdfs上过滤包含某个字符的行内容

hadoop fs -cat < srcpath> | grep 过滤字段

在HDFS文件系统中,将文件或目录从HDFS的源路径移动到目标路径。不允许跨文件系统移动文件。

hadoop fs -mv < /src> < /tar>

在HDFS文件系统中,将文件或目录复制到目标路径下

hadoop fs -cp [-f] [-p | -p [topax] /dirs/file1 /dirs/file2 (这个命令允许有多个源路径,此时目标路径必须是一个目录。)

选项:
-f选项覆盖已经存在的目标。
-p选项将保留文件属性[topx](时间戳,所有权,权限,ACL,XAttr)。如果指定了-p且没有arg,则保留时间戳,所有权和权限。如果指定了-pa,则还保留权限,因为ACL是一组超级权限。确定是否保留原始命名空间扩展属性与-p标志无关。

删除一个文件或目录

hadoop fs -rm [-f] [-r|-R] [-skipTrash] < /filepaths>
选项:
如果文件不存在,-f选项将不显示诊断消息或修改退出状态以反映错误。
-R选项以递归方式删除目录及其下的任何内容。
-r选项等效于-R。
-skipTrash选项将绕过垃圾桶(如果已启用),并立即删除指定的文件。当需要从超配额目录中删除文件时,这非常有用。

获取源文件并以文本格式输出文件。允许的格式为zip和TextRecordInputStream。

hadoop fs -text < /dirs/src>

创建一个零长度的文件。

hadoop fs -touchz /dirs/file

显示文件所占块数(%b),文件名(%n),块大小(%n),复制数(%r),修改时间(%y%Y)。

hadoop fs -stat /dir/file

显示文件的最后1kb内容到标准输出

hadoop fs -tail [-f] < /file>
选项:
-f选项将在文件增长时输出附加数据,如在Unix中一样。

统计与指定文件模式匹配的路径下的目录,文件和字节数

hadoop fs -count < /filepaths>

显示给定目录中包含的文件和目录的大小或文件的长度,用字节大小表示,文件名用完整的HDFS协议前缀表示,以防它只是一个文件。

hadoop fs -du [-s] [-h] < /dirpaths>
选项:
-s选项将显示文件长度的汇总摘要,而不是单个文件。
-h选项将以“人类可读”的方式格式化文件大小(例如64.0m而不是67108864)

最后更多

Usage: hadoop fs [generic options]
        [-appendToFile <localsrc> ... <dst>]
        [-cat [-ignoreCrc] <src> ...]
        [-checksum <src> ...]
        [-chgrp [-R] GROUP PATH...]
        [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
        [-chown [-R] [OWNER][:[GROUP]] PATH...]
        [-copyFromLocal [-f] [-p] [-l] [-d] [-t <thread count>] <localsrc> ... <dst>]
        [-copyToLocal [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
        [-count [-q] [-h] [-v] [-t [<storage type>]] [-u] [-x] [-e] <path> ...]
        [-cp [-f] [-p | -p[topax]] [-d] <src> ... <dst>]
        [-createSnapshot <snapshotDir> [<snapshotName>]]
        [-deleteSnapshot <snapshotDir> <snapshotName>]
        [-df [-h] [<path> ...]]
        [-du [-s] [-h] [-v] [-x] <path> ...]
        [-expunge]
        [-find <path> ... <expression> ...]
        [-get [-f] [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
        [-getfacl [-R] <path>]
        [-getfattr [-R] {-n name | -d} [-e en] <path>]
        [-getmerge [-nl] [-skip-empty-file] <src> <localdst>]
        [-head <file>]
        [-help [cmd ...]]
        [-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [-e] [<path> ...]]
        [-mkdir [-p] <path> ...]
        [-moveFromLocal <localsrc> ... <dst>]
        [-moveToLocal <src> <localdst>]
        [-mv <src> ... <dst>]
        [-put [-f] [-p] [-l] [-d] <localsrc> ... <dst>]
        [-renameSnapshot <snapshotDir> <oldName> <newName>]
        [-rm [-f] [-r|-R] [-skipTrash] [-safely] <src> ...]
        [-rmdir [--ignore-fail-on-non-empty] <dir> ...]
        [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
        [-setfattr {-n name [-v value] | -x name} <path>]
        [-setrep [-R] [-w] <rep> <path> ...]
        [-stat [format] <path> ...]
        [-tail [-f] [-s <sleep interval>] <file>]
        [-test -[defsz] <path>]
        [-text [-ignoreCrc] <src> ...]
        [-touch [-a] [-m] [-t TIMESTAMP ] [-c] <path> ...]
        [-touchz <path> ...]
        [-truncate [-w] <length> <path> ...]
        [-usage [cmd ...]]