hdfs命令行操作

文章目录

    • 1. 对文件夹进行操作
      • 1.1 ls:对路径进行访问
      • 1.2 mkdir:对路径进行创建
      • 1.3 rm:对路径进行删除
    • 2.对文件进行操作
      • 2.1在文件系统中创建空文件
      • 2.2上传本地文件到hdfs上
      • 2.3 从hdfs上下载文件到本地路径
      • 2.4 查看hdfs 上的文件内容
      • 2.5 对hdfs上的文件进行复制
      • 2.6 追加本地文件内容到hdfs文件中
      • 2.7 将hdfs上的多个文件合并成一个文件
      • 2.8 修改文件的权限
    • 3. 判断操作
      • 3.1 使用test命令进行判断

1. 对文件夹进行操作

1.1 ls:对路径进行访问

使用ls命令可以查看文件系统中的目录和文件
hadoop fs -ls 需要被查看的目录

-- 查看hdfs上的根目录
hadoop fs -ls  /

-R 代表递归查询
hadoop fs -ls -R /


1.2 mkdir:对路径进行创建

使用mkdir命令可以在文件系统中创建目录
hadoop fs -mkdir 需要创建的目录

-- 在hdfs根路径下创建test01目录
hadoop fs -mkdir /test01

-p 代表递归创建目录
hadoop fs -mkdir -p /study/test

hdfs命令行操作_第1张图片

1.3 rm:对路径进行删除

使用rm命令可以在文件系统中删除目录或者文件

hadoop fs -rm 需要删除的文件
-r 递归删除目录

-- 删除/test01目录
hadoop fs -rm -r /test01

hdfs命令行操作_第2张图片

2.对文件进行操作

2.1在文件系统中创建空文件

使用touch和touchz命令可以在文件系统中创建空文件

-- 在根路径下创建touch.txt文件

hadoop fs -touch /touch.txt

hadoop fs -touchz /touchz.txt

hdfs命令行操作_第3张图片

2.2上传本地文件到hdfs上

使用put命令进行本地文件上传,上传完成后,本地文件依然保留

hadoop fs -put 本地文件路径  上传的hdfs文件路径

-- 上传本地路径/opt/file/put.txt到hdfs上的根路径
mkdir /opt/file/
vi /opt/file/put.txt 
hadoop fs -put /opt/file/put.txt  /

使用moveFromLocal命令也可以进行本地文件上传,但上传完成后,本地文件被会删除

hadoop fs -moveFromLocal 本地文件路径 上传的hdfs文件路径

-- 上传本地路径/opt/file/moveFromLocal.txt到hdfs上的根路径

vi /opt/file/moveFromLocal.txt 
hadoop fs -moveFromLocal /opt/file/moveFromLocal.txt /

hdfs命令行操作_第4张图片

查看上传结果:

hdfs命令行操作_第5张图片

hdfs命令行操作_第6张图片

2.3 从hdfs上下载文件到本地路径

使用get命令进行下载

hadoop fs -get hdfs上的文件路径  文件下载后的本地路径

-- 下载hdfs上:  /moveFromLocal.txt到本地路径/opt/file

hadoop fs -get  /moveFromLocal.txt  /opt/file

2.4 查看hdfs 上的文件内容

使用cat命令进行文件内容查看

hadoop fs -cat 要查看的文件

-- 查看/put.txt文件中的内容

hadoop fs -cat /put.txt

cat命令也可以同时查看多个文件,多个文件路径使用空格进行分割,多个文件内容会被合并依次输出

hadoop fs -cat 要查看的文件1  要查看的文件2 ...
hadoop fs -cat  /moveFromLoca1.txt  /put.txt

hdfs命令行操作_第7张图片

hdfs命令行操作_第8张图片

hdfs命令行操作_第9张图片

2.5 对hdfs上的文件进行复制

使用cp命令可以复制hdfs上的文件到另一位置,在复制过程中可以对文件名进行修改,复制完成后源文件依然存在

hadoop fs -cp 源文件的路径 复制后的路径和文件名

-- 复制/put.txt到/test目录中 文件名不变
hadoop fs -cp /put.txt /test/put.txt

-- 复制/put.txt到/test目录中文件名修改为cp.txt
hadoop fs -cp /put.txt /test/cp.txt

使用mv命令也可以复制hdfs上的文件到另一位置,在复制过程中可以对文件名进行修改,复制完成后源文件会被删除

hadoop fs -mv 源文件的路径 复制后的路径和文件名
-- 复制/moveFromLocal.txt到/test目录下文件名修改为mv.txt

hadoop fs -mv /moveFromLocal.txt  /test/mv.txt

2.6 追加本地文件内容到hdfs文件中

使用appendToFile命令进行内容追加

hadoop fs -appendToFile 本地文件路径 要追加内容的hdfs文件路径

-- 将本地/opt/file/append.txt中的内容追加到hdfs上的/test/mv.txt中
vi /opt/file/append.txt
hadoop fs -appendToFile /opt/file/append.txt /test/mv.txt

hdfs命令行操作_第10张图片

hdfs命令行操作_第11张图片
hdfs命令行操作_第12张图片

2.7 将hdfs上的多个文件合并成一个文件

使用getmerge命令合并多文件

-- 将hdfs上的/test目录中所有文件后缀为txt的文件,合并到本地/opt/file/getmerge.txt文件中
hadoop fs -getmerge /test/*.txt /opt/file/getmerge.txt

hdfs命令行操作_第13张图片

hdfs命令行操作_第14张图片

2.8 修改文件的权限

权限解读,如:
对a.doc 的权限为:
-rw-r–r–
可以看成
- rw- r-- r–

第一个-: 代表为文件
第一组rw-: 代表当前用户root的权限, root用户对该文件拥有读和写的权限而没有执行权限
第二组r–: 代表当前用户所属的组的权限, root组中用户对该文件只拥有读的权限
第三组r–: 代表其他用户的权限,其他用户对该文件只拥有读的权限

权限规则: 读的权限为4 写的权限为2 执行的权限为1

更改:chmod 764 /opt/file/a.doc

- rwxrw-r–

使用chmod命令进行文件权限的修改

hadoop fs -chmod 777 /touch.txt

hdfs命令行操作_第15张图片

3. 判断操作

3.1 使用test命令进行判断

-- 判断hdfs上的文件是否存在
hadoop fs -test -e /touch.txt
echo $?

-- 判断hdfs上的路径是否为目录
hadoop fs -test -d /test
echo $?

-- 判断hdfs上的文件是否为空
hadoop fs -test -z /touch.txt
echo $?

命令执行后,可以使用echo $? 查看命令执行结果
0:true 1:false

hdfs命令行操作_第16张图片

其他文章:Hadoop复习回顾https://blog.csdn.net/m0_48170265/article/details/130035727

你可能感兴趣的:(Linux,大数据,hdfs,hadoop,大数据)