Following are the three commands which appear the 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, (S)FTP, S3, 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:
namenode|secondarynamenode|datanode|dfs|dfsadmin|fsck|balancer|fetchdt|oiv|dfsgroups
So even if you use hadoop dfs, it will look to locate hdfs and delegate that command to hdfs dfs.
You can also refer to the following video regarding Hadoop, as it will clear all your doubts regarding the same: