HDFS命令操作
首先需要在xshell启动hadoop
start-all.sh or
start-hdfs.sh
-
hadoop fs -ls / (显示当前目录下所有文件)
-
hadoop fs -du /sevenclass (显示目录中所有文件的大小)
-
hadoop fs -cat /a.txt (查看当前文本信息)
-
hadoop fs -text /a.txt (查看当前文本信息)
-
hadoop fs -count /test
显示指定文件或目录的 DIR_COUNT(子目录个数) , FILE_COUNT (文件个数),CONTENT_SIZE(字节个数) ,FILE_NAME(目录名)
mkdir 创建文件
hadoop fs -mkdir /test1 /test2 (同时创建两个文件夹)
hadoop fs -mkdir /a/b (创建a文件夹并在内创建b文件夹,如果没有a文件夹,会抛错)
hadoop fs -mkdir -p /a/b (没有a文件夹创建a 然后在内创建b)
cp 复制
hadoop fs -cp /a/b /c/ (将/a/b拷贝到/c下)
copyFromLocal (从本地文件系统上传文件到HDFS)
hadoop fs -copyFromLocal /usr/a.txt /test
本地文件 HDFS路径
copyToLocal (从HDFS下载文件到本地文件系统)
hadoop fs -copyToLocal /test/a.txt /usr
HDFS文件 本地路径
moveToLocal 该命令还未实现
put (从本地文件系统上传文件到HDFS )
注意:区别于copyFromLocal: 可以同时复制多个源路径到目标文件系统,也支持从标准输入中读取输入写入目标文件系统
hadoop fs -put /usr/a.txt /test
本地文件 HDFS路径
hadoop fs -put /usr/a.txt /usr/b.txt /test
本地文件(多个文件) HDFS路径
get (复制文件到本地文件系统)
hadoop fs -get /test/a.txt /usr
mv (将文件从源路径移动到目标路径,这个命令允许有多个源路径。但目标路径必须是一个目录,不允许在不同文件系统间移动文件。)
hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2 (移动并改名称) 源文件路径file1 移动路径并改名为file2
hadoop fs -mv /test /test1 (把文件夹test移到test1下)
touchz (创建一个0字节的空文件)
hadoop fs -touchz pathname 创建名为pathname的空文件
appendToFile (向现有文件中追加内容)
hadoop fs -appendToFile /home/test.txt /1.txt
1.txt是现有文件。/home/test.txt把内容追加到1.txt
getmerge(接收一个源目录和一个目标文件作为输入,并且将源目录中所有的文件连接成本地目标文件)
hadoop fs -getmerge /test1/test test.txt
把/test1/test所有内容 复制到test.txt
rm 删除指定的文件
hadoop fs -rm /user/a.txt
rmr 递归删除文件
hadoop fs -rmr /user/hadoop/dir
linux 常用操作
-
passwd(修改密码)
使用:直接输入命令passwd回车,根据提示输入
-
clear(清屏)
-
su (切换到其他用户)
输入su root 回车, 然后输入root 密码 ; 使用exit退出当前用户
-
pwd(显示当前在Linux文件系统中的所在位置)
-
chown (改变文件的所有者)
chown
hadoop
:
hadoop
a.txt
(表示把
a.txt
所有者改为
hadoop
所在组为
hadoop
)
HDFS命令操作
首先需要在xshell启动hadoop
start-all.sh
or
start-hdfs.sh
-
hadoop fs -ls / (显示当前目录下所有文件)
-
hadoop fs -du /sevenclass (显示目录中所有文件的大小)
-
hadoop fs -cat / a.txt (查看当前文本信息)
-
hadoop fs -text /a.txt (查看当前文本信息)
-
hadoop fs -count /test
显示指定文件或目录的 DIR_COUNT(子目录个数) , FILE_COUNT (文件个数),CONTENT_SIZE(字节个数) ,FILE_NAME(目录名)
mkdir 创建文件
hadoop fs -mkdir
/test1
/test2
(同时创建两个文件夹)
hadoop fs -mkdir
/a/b
(创建a文件夹并在内创建b文件夹,如果没有a文件夹,会抛错
)
hadoop fs -mkdir -p
/a/b
(没有a文件夹创建a 然后在内创建b)
cp 复制
hadoop fs -cp
/a/b
/c/
(将/a/b拷贝到/c下)
copyFromLocal
(从本地文件系统上传文件到HDFS)
hadoop fs -copyFromLocal
/usr/a.txt
/test
本地文件
HDFS路径
copyToLocal
(从HDFS下载文件到本地文件系统)
hadoop fs -copyToLocal
/test/a.txt
/usr
HDFS文件 本地路径
moveToLocal
该命令还未实现
put
(从本地文件系统上传文件到HDFS )
区别于copyFromLocal: 可以同时复制多个源路径到目标文件系统,也支持从标准输入中读取输入写入目标文件系统
hadoop fs -put
/usr/a.txt
/test
本地文件
HDFS路径
hadoop fs -put
/usr/a.txt
/usr/b.txt
/test
本地文件
HDFS路径
get
(复制文件到本地文件系统)
hadoop fs -get
/test/a.txt
/usr
mv
(将文件从源路径移动到目标路径,这个命令允许有多个源路径。但目标路径必须是一个目录,不允许在不同文件系统间移动文件。)
hadoop fs -mv
/user/hadoop/file1
/user/hadoop/file2
(移动并改名称) 源文件路径file1 移动路径并改名为file2
hadoop fs -mv
/test
/test1
(把文件夹test移到test1下)
touchz
(创建一个0字节的空文件)
hadoop fs -touchz pathname 创建名为pathname的空文件
appendToFile
(向现有文件中追加内容)
hadoop fs -appendToFile
/home/test.txt
/1.txt
1.txt是现有文件。
/home/test.txt把内容追加到1.txt
getmerge
(接收一个源目录和一个目标文件作为输入,并且将源目录中所有的文件连接成本地目标文件)
hadoop fs -getmerge
/test1/test
test.txt
把/test1/test所有内容 复制到test.txt
rm
删除指定的文件
hadoop fs -rm /user/a.txt
rmr
递归删除文件
hadoop fs -rmr /user/hadoop/dir