这是摘自stackoverflow的话:
Following are the three commands which appears same but have minute differences
- hadoop fs {args}
- hadoop dfs {args}
-
hdfs dfs {args}
hadoop fs <args>
FS relates to a generic file system which can point to any file systems like local, HDFS etc. So this can be used when you are dealing with different file systems such as Local FS, HFTP FS, S3 FS, and others
hadoop dfs <args>
dfs is very specific to HDFS. would work for operation relates to HDFS. This has been deprecated and we should use hdfs dfs instead.
hdfs dfs <args>
same as 2nd i.e would work for all the operations related to HDFS and is the recommended command instead of hadoop dfs
below is the list categorized as HDFS commands.
**#hdfs commands**
namenode|secondarynamenode|datanode|dfs|dfsadmin|fsck|balancer|fetchdt|oiv|dfsgroups
So even if you use Hadoop dfs , it will look locate hdfs and delegate that command to hdfs dfs
hadoop fs {args}适合文件系统如local、HDFS等,所以当你处理不同文件系统如Local FS, HFTP FS,S3 FS, and others的时候使用。
hadoop dfs {args}针对HDFS而言,但更建议使用hdfs dfs {args},两者作用是一样的,适合所有关于HDFS的操作。
你还可以这样认为:
fs:file system
dfs: distributed file system
参考:http://stackoverflow.com/questions/18142960/whats-the-difference-between-hadoop-fs-shell-commands-and-hdfs-dfs-shell-co