【知识分享】HDFS基础操作以及修改配置文件命令

HDFS基本操作命令

查看文件常用命令

命令格式

hdfs dfs -ls path --查看文件列表 
hdfs dfs -ls -R path --递归查看文件列表 
hdfs dfs -du path --查看path下磁盘情况,单位字节

使用示例

hdfs dfs -ls / --查询/目录下的所有文件和文件夹 
hdfs dfs -ls -R /test --以递归的方式查询/test目录下的所有文件

创建文件夹

命令格式

hdfs dfs -mkdir path

使用示例

hdfs dfs -mkdir /test/top --该命令可递归创建文件夹,不可重复创建,在Linux文件系统中不可见

创建文件

命令格式

hdfs dfs -touchz path

使用示例

hdfs dfs -touchz /test/top/test.txt
--该命令不可递归创建文件,即当该文件的上级目录不存在时无法创建该文件,如果重复创建会覆盖原有的内容

复制文件和目录

命令格式

hdfs dfs -cp 源目录 目标目录

使用示例

hdfs dfs -cp /user/iron /user/iron01 --该命令会将源目录的整个目录结构都复制到目标目录中
hdfs dfs -cp /user/iron/* /user/iron01 --该命令只会将源目录中的文件及其文件夹都复制到目标目录中

移动文件和目录

命令格式

hdfs dfs -mv 源目录 目标目录

使用示例

hdfs dfs -mv /user/iron /user/iron01 
hdfs dfs -mv /user/aa.txt /user/bb.txt --将/user/aa.txt文件重命名为/user/bb.txt

上传文件

命令格式

hdfs dfs -put 源文件夹 目标文件夹

使用示例

hdfs dfs -put /home/hadoop01/iron /user/iron01 --该命令上传Linux文件系统中iron整个文件夹 
hdfs dfs -put /home/hadoop01/iron/* /user/iron01 --该命令上传Linux文件系统中iron文件夹中的所有文件(不包括文件夹) 

类似命令:

hdfs dfs -copyFromLocal 源文件夹 目标文件夹 --copyFromLocal作用同put 
hdfs dfs -moveFromLocal 源文件夹 目标文件夹 --上传后删除本地

将本地文件移动到HDFS文件系统下


注:使用 moveFromLocal 命令可以将本地文件移动到HDFS文件系统下,可以一次性移动多个文件。与put命令类似,但是不同的是,该命令执行后源文件将被删除(类似于剪切)。例如,将本地当前目录文件 a.txt 上传到HDFS文件系统根目录的下(/)

命令格式

hadoop fs -moveFromLocal --需要上传的文件路径 上传到HDFS的文件路径

使用示例

hadoop fs -moveFromLocal ~/a.txt / --将本地当前目录文件 a.txt 上传到HDFS文件系统根目录的下(/)

下载文件

命令格式

hdfs dfs -get 源文件夹 目标文件夹

使用示例

hdfs dfs -get /user/iron01 /home/hadoop01/iron --该命令下载hdfs文件系统中的iron01整个文件夹到Linux文件系统中 
hdfs dfs -get /user/iron01/* /home/hadoop01/iron --该命令下载hdfs文件系统中的iron01整个文件夹到Linux文件系统中(不包含文件夹)

类似命令:

hdfs dfs -copyToLocal 源文件夹 目标文件夹 --copyToLocal作用同get 
hdfs dfs -moveToLocal 源文件夹 目标文件夹 --get后删除源文件

查看文件内容

命令格式

hadoop fs -cat path --从头查看这个文件
hadoop fs -tail path --从尾部查看最后1K 
hadoop fs -cat --需要查看的文件路径1 需要查看的文件路径2 ...

使用示例

hadoop fs -cat /userjzl/home/book/aa.txt --查看/userjzl/home/book目录下文件aa.txt的内容(将-cat 换成-text效果一样) 
hadoop fs -tail /userjzl/home/book/aa.txt
hadoop fs -cat /input/a.txt /input/b.txt --查看HDFS中的文件 /input/a.txt 和文件 /input/b.txt

删除文件

命令格式

hdfs dfs -rm 目标文件 --rm不可以删除文件夹
hdfs dfs -rm -R 目标文件 --递归删除(慎用)

使用示例

hdfs dfs -rm /user/test.txt --删除test.txt文件
hdfs dfs -rm -R /user/testdir --递归删除testdir文件夹

追加文件

命令格式

hadoop fs -appendToFile --需要加入的内容文件路径 被追加内容的文件路径

使用示例

hadoop fs -appendToFile a.txt /input/b.txt --将本地当前目录的 a.txt 文件的内容追加到HDFS系统中 /input/b.txt 文件中

如果需要一次性追加多个本地文件的内容,则多个文件用 空格 隔开,例如,将本地文件 a.txt  和 b.txt 内容追加到HDFS系统文件的 /input/c.txt 文件中,命令如下:

命令格式

hadoop fs -appendTofile 文件1 文件2 文件3 ... --HDFS系统中被追加的文件

使用示例

hadoop fs -appendTofile a.txt b.txt /input/c.txt #将本地文件 a.txt 和 b.txt 内容追加到HDFS系统文件的 /input/c.txt 文件中

检查HDFS中的目录空间

命令格式

hadoop dfs -du -s -h </ file path>

注意:

在使用HDFS命令操作文件时,HDFS中的文件或目录的路径必须写绝对路径,而本地文件的路径可以是相对路径。

更多操作学习:
//  Hadoop中HDFS的Shell操作(开发重点)、启动Hadoop集群、基本语法、常用命令实操、命令大全、-help、-mkdir、-moveFromLocal、-copyFromLocal
//   HDFS配置文件详解

修改配置文件

Linux添加修改配置文件一般都是使用默认的VI编辑器,命令是vi 文件名;

1)Vi模式


vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

命令行模式 command mode

  • 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode;

底行模式last line mode

  • 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式;

插入模式Insert mode

  • 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等;
  • 不过一般使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode;

2)命令行模式(command mode)功能键

插入模式

  • 按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
  • 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
  • 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字;

从插入模式切换为命令行模式

  • 按「ESC」键;

移动光标

  • vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

按ESC键 跳到命令模式,然后:

  • :w 保存文件但不退出vi
  • :w file 将修改另外保存到file中,不退出vi
  • :w! 强制保存,不推出vi
  • :wq 保存文件并退出vi
  • :wq! 强制保存文件,并退出vi
  • q: 不保存文件,退出vi
  • :q! 不保存文件,强制退出vi
  • :e! 放弃所有修改,从上次保存文件开始再编辑;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值