Hadoop分布式文件系统shell命令

时间:2020-02-23 14:33:28  来源:igfitidea点击:

Hadoop shell是我们可以从操作系统的命令行运行的一个命令系列。
Shell有两组命令:一个用于文件操作(以目的是类似的语法,我们许多我们许多人知道和爱的命令)和一个用于Hadoop管理。
以下列表总结了对第一个命令集,指示命令所做的表单以及适用的使用情况和示例。

  • cat:复制到stdout的源路径。
    用法:HDFS DFS -CAT URI [URI ...]示例:

  • HDFS DFS -CAT HDFS://<path>/file1

  • HDFS DFS -CAT文件:///file2/user/hadoop/file3

  • CHGRP:更改组文件组合。使用-R,通过目录结构递归地进行更改。用户必须是文件所有者或者超级用户。
    用法:HDFS DFS -CHGRP [-R]组URI [URI ...]

  • chmod:更改文件的权限。使用-R,通过目录结构递归地进行更改。用户必须是文件所有者或者超级用户使用:HDFS DFS -CHMOD [-R] <mode [,mode] ... | OctalMode> URI [URI ...]示例:HDFS DFS -CHMOD 777测试/data1.txt

  • chown:更改文件的所有者。使用-R,通过目录结构递归地进行更改。用户必须是超级用户。
    用法:HDFS DFS -Chown [-R] [所有者] [:[组]] URI [URI]示例:HDFS DFS -Chown -R HDUSER2/OPT/HADOOP/LOGS

  • CopyFromlocal:与Put命令类似,除了源仅限于本地文件引用之外,与PUT命令类似。
    用法:HDFS DFS -COPYFROMLOCAL <LOCALSRC> URI示例:HDFS DFS -COPYFROMLOCAL输入/DOCS/DATA2.TXT HDFS://localhost/USER/ROSEMARY/DATA2.txt

  • CopyTolocal:与Get命令类似地工作,但目的地仅限于本地文件引用。
    用法:HDFS DFS -CopyTolocal [-ignorecrc] [-crc] uri <localdst>示例:hdfs dfs -copytolocal data2.txt data2.copy.txt

  • count:计算与指定文件模式匹配的路径下的目录,文件和字节数。
    用法:HDFS DFS -count [-q] <paths>示例:hdfs dfs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2

  • CP:将一个或者多个文件从指定的源复制到指定的目标。如果指定多个源,则指定的目标必须是目录。
    用法:HDFS DFS -CP URI [URI ...] <DEST>示例:HDFS DFS -CP/USER/HADOOP/FILE1/USER/HADOOP/FILE2/USE/HADOOP/DIR

  • du:显示指定文件的大小,或者指定目录中包含的文件和目录的大小。如果指定-s选项,请显示文件大小而不是单个文件大小的聚合摘要。如果指定-h选项,请以"人类可读"方式格式化文件大小。
    用法:HDFS DFS -DU [-S] [-H] URI [URI ...]示例:HDFS DFS -DU/USER/HADOOP/DIR1/USE/HADOOP/FILE1

  • DUS:显示文件大小的摘要;相当于HDFS DFS -du s。
    用法:HDFS DFS -DUS <ARGS>

  • expunge:清空垃圾。删除文件时,它不会立即从HDFS删除,但在/垃圾目录中重命名为文件。只要文件仍然存在,如果我们更改思想,则可以消除它,但只能还原删除文件的最新副本。
    用法:HDFS DFS Openge

  • get:将文件复制到本地文件系统。如果指定ignorecrc选项,仍可复制失败循环冗余校验(CRC)的文件。 CRC是用于检测数据传输错误的常用技术。 CRC校验和文件具有.crc扩展,用于验证另一个文件的数据完整性。如果指定-crc选项,则会复制这些文件。
    用法:HDFS DFS -get [-ignorecrc] [-crc] <src> <localdst>示例:hdfs dfs -get/user/hadoop/file3 localfile

  • GetMerge:将文件中的文件连接到SRC中,并将结果写入指定的本地目标文件。要在每个文件末尾添加换行符,请指定addnl选项。
    用法:HDFS DFS -GetMerge <SRC> <localDst> [addnl]示例:HDFS DFS -GetMerge/User/Hadoop/MyDir /~/Result_file addnl

  • LS:返回指定文件或者目录的统计信息。
    用法:HDFS DFS -LS <ARGS>示例:HDFS DFS -LS/USER/HADOOP/FILE1

  • LSR:用作LS的递归版本;类似于UNIX命令ls -r。
    用法:HDFS DFS -LSR <ARGS>示例:HDFS DFS -LSR/USER/HADOOP

  • MKDIR:在一个或者多个指定路径上创建目录。它的行为类似于UNIX MKDIR -P命令,它会创建所有导致指定目录的目录,如果它们已不存在,则会导致指定的目录。
    用法:HDFS DFS -MKDIR <PATHS>示例:HDFS DFS -MKDIR/USER/HADOOP/DIAR5/TEMP

  • movefromlocal:与Put命令类似,与PUT命令类似,除了在复制后删除源。
    用法:HDFS DFS -MoveFroomlocal <localsrc> <dest>示例:HDFS DFS -MoveFroclocal LocalFile1 LocalFile2/User/Hadoop/Hadoop/Hadoopdir

  • MV:将一个或者多个文件从指定的源移动到指定的目标。如果指定多个源,则指定的目标必须是目录。跨文件系统的移动文件不允许。
    用法:HDFS DFS -MV URI [URI ...] <DEST>示例:HDFS DFS -MV/USE/HADOOP/FILE1/USER/HADOOP/FILE2

  • PUT:将文件从本地文件系统复制到目标文件系统。此命令还可以从STDIN读取输入并写入目标文件系统。
    用法:HDFS DFS -put <localsrc> ... <dest>示例:hdfs dfs -put localfile1 localfile2/user/hadoop/hadoopdir; HDFS DFS -PUT/USE/HADOOP/HACOOPDIR(从Stdin读取输入)

  • RM:删除一个或者多个指定的文件。此命令不会删除空目录或者文件。绕过垃圾(如果启用)并立即删除指定的文件,请指定-skiptrash选项。
    用法:HDFS DFS -RM [-Skiptrash] URI [URI ...]示例:HDFS DFS -RM HDFS://nn.example.com/file9

  • RMR:用作RM的递归版本。
    用途:HDFS DFS -RMR [-Skiptrash] URI [URI ...]示例:HDFS DFS -RMR/USE/USP/DIR

  • setRep:更改指定文件或者目录的复制因子。使用R,通过目录结构递归地进行更改。
    用法:HDFS DFS -SetRep <rep> [-r] <path>示例:HDFS DFS -SetRep 3 -R/User/Hadoop/Dir1

  • stat:显示有关指定路径的信息。
    用法:HDFS DFS -Stat URI [URI ...]示例:HDFS DFS -Stat/User/Hadoop/Dir1

  • tail:将指定文件的最后千字节显示为stdout。语法支持UNIX -F选项,该选项可启用要监视的指定文件。随着新行被另一个进程添加到文件中,尾部更新显示。
    用法:HDFS DFS -Tail [-f] URI示例:HDFS DFS -Tail/User/Hadoop/Dir1

  • test:返回指定文件或者目录的属性。指定e以确定文件或者目录是否存在; -z以确定文件或者目录是否为空;和-d确定URI是否是目录。
    用法:HDFS DFS -Test - [EZD] URI示例:HDFS DFS -Test/User/Hadoop/Dir1

  • Text:以文本格式输出指定的源文件。有效的输入文件格式是zip和textrecordinputstream。
    用法:HDFS DFS -Text <SRC>示例:HDFS DFS -Text /User/Hadoop/file8.zip

  • touchz:在指定路径中创建一个新的空文件大小0。
    用法:HDFS DFS -Touchz <path>示例:HDFS DFS -Touchz/User/Hadoop/File12