On Ubuntu Linux, compare two directories for missing files and get the diff between two directories in Linux. Learn how to compare files in two directories or diff all files in two directories.
Compare two directories for missing files in Linux
The ‘comm’ command is used to compare two sorted files line by line. The ‘comm’ writes to standard output lines that are common, and lines that
are unique, to two input files; a file name of ‘-’ means standard input.
Note that when no options are provided, the ‘comm’ produces three-column output. Where:
- Column one contains lines unique to FILE1.
- Column two contains lines unique to FILE2.
- Column three contains lines common to both files.
The options ‘-1’, ‘-2’, and ‘-3’ can be used to suppress printing of the corresponding columns.
Let us see to use the comm command. The syntax of the comm command is:
comm <(ls dir1) <(ls dir2)
To show and print file unique in Dir1, use the following command:
comm -23 <(ls dir1) <(ls dir2)
To show and print file unique in Dir2, use the following command:
comm -13 <(ls dir1) <(ls dir2)
To print file common in both directory, you should use the following command:
comm -12 <(ls dir1) <(ls dir2)
You can also use the diff command to compare directories in Linux. The diff command has a simple syntax: diff -qr Directory-1 Directory-2
compare files in two directories
Note that if you want to compare files in two directories in Linux, use the command option -r with command. It is so because by default, the diff command won’t look for the files inside the subdirectory.