HDFS的shell命令操作-大蘿蔔博客網

hdfs dfs 具體命令

[[email protected] Hadoop-2.6.0-cdh5.14.0]# bin/hdfs dfs
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] <localsrc> ... <dst>]
        [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
        [-count [-q] [-h] [-v] [-x] <path> ...]
        [-cp [-f] [-p | -p[topax]] <src> ... <dst>]
        [-createSnapshot <snapshotDir> [<snapshotName>]]
        [-deleteSnapshot <snapshotDir> <snapshotName>]
        [-df [-h] [<path> ...]]
        [-du [-s] [-h] [-x] <path> ...]
        [-expunge]
        [-find <path> ... <expression> ...]
        [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
        [-getfacl [-R] <path>]
        [-getfattr [-R] {-n name | -d} [-e en] <path>]
        [-getmerge [-nl] <src> <localdst>]
        [-help [cmd ...]]
        [-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [<path> ...]]
        [-mkdir [-p] <path> ...]
        [-moveFromLocal <localsrc> ... <dst>]
        [-moveToLocal <src> <localdst>]
        [-mv <src> ... <dst>]
        [-put [-f] [-p] [-l] <localsrc> ... <dst>]
        [-renameSnapshot <snapshotDir> <oldName> <newName>]
        [-rm [-f] [-r|-R] [-skipTrash] <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] <file>]
        [-test -[defsz] <path>]
        [-text [-ignoreCrc] <src> ...]
        [-touchz <path> ...]
        [-usage [cmd ...]]

常用命令

  • hdfs dfs -help rm -help:輸出這個命令參數
  • hdfs dfs -ls / -ls: 顯示目錄信息
  • hdfs dfs -mkdir -p /aaa/bbb/cc/dd -mkdir:在hdfs上創建目錄
  • hdfs dfs -moveFromLocal /home/Hadoop/a.txt /aaa/bbb/cc/dd -moveFromLocal從本地剪切粘貼到hdfs
  • hdfs dfs -moveToLocal /aaa/bbb/cc/dd /home/Hadoop/a.txt -moveToLocal:從hdfs剪切粘貼到本地(未實現)
  • hdfs dfs -appendToFile ./hello.txt /hello.txt 追加一個文件到已經存在的文件末尾
  • hdfs dfs -cat /hadoop-daemon.sh -cat :顯示文件內容
  • hdfs dfs -tail /weblog/access_log.1 -tail:顯示一個文件的末尾
  • hdfs dfs -text /weblog/access_log.1 -text:以字符形式打印一個文件的內容
hdfs dfs  -chmod  666  /hello.txt
hdfs dfs  -chown  someuser:somegrp   /hello.txt

-chgrp 、-chmod、-chown:linux文件系統中的用法一樣,修改文件所屬權限

  • hdfs dfs -copyFromLocal ./jdk.tar.gz /aaa/ -copyFromLocal:從本地文件系統中拷貝文件到hdfs路徑去
  • hdfs dfs -copyToLocal /aaa/jdk.tar.gz -copyToLocal:從hdfs拷貝到本地
  • hdfs dfs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2 -cp :從hdfs的一個路徑拷貝到hdfs的另一個路徑
  • hdfs dfs -mv /aaa/jdk.tar.gz / -mv:在hdfs目錄中移動文件
  • hdfs dfs -get /aaa/jdk.tar.gz -get:等同於copyToLocal,就是從hdfs下載文件到本地
  • hdfs dfs -getmerge /aaa/log.* ./log.sum -getmerge :合併下載多個文件,比如hdfs的目錄 /aaa/下有多個文件:log.1, log.2,log.3,...
  • hdfs dfs -put /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2 -put:等同於copyFromLocal 從本地拷貝資源到hdfs
  • hdfs dfs -rm -r /aaa/bbb/ -rm:刪除hdfs上的文件或文件夾
  • hdfs dfs -rmdir /aaa/bbb/ccc -rmdir:刪除空目錄
  • hdfs dfs -df -h / -df :統計文件系統的可用空間信息
  • hdfs dfs -du -s -h /aaa/* -du統計文件夾的大小信息
  • hdfs dfs -count /aaa/ -count:統計一個指定目錄下的文件節點數量
  • hdfs dfs -setrep 3 /aaa/jdk.tar.gz -setrep:設置hdfs中文件的副本數量(比如說HDFS默認的副本數量是3,你可以通過此命令將一個文件夾下的所有文件或某個文件使他單獨備份成你要備份的數量)
    備份數量

這裏設置的副本數只是記錄在namenode的元數據中,是否真的會有這麼多副本,還得看datanode的數量。因爲目前只有3臺設備,最多也就3個副本,只有節點數的增加到10臺時,副本數才能達到10。

  • hdfs dfs -expunge - expunge :清空hdfs垃圾桶(垃圾桶目錄: /user/root/.Trash/Current)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章