File comparison compares the contents of computer files, finding their common contents and their differences. The result of the comparison is often known as a diff.
diff is also the name of a famous console based file comparison utility that outputs the differences between two files. The diff utility was developed in the early 1970s on the Unix operating system.
Typically, diff is used to show the changes between two versions of the same file. Modern implementations also support binary files.
Console-based applications are light on system resources (very useful on low specified machines), are often faster and more efficient than their graphical counterparts, they do not stop working when X is restarted, and are perfect for scripting purposes.
When designed well, console-based applications offer a surprisingly improvement in productivity. The applications are leaner, faster, easier to maintain, and remove the need to install a whole raft of libraries.
We make the following recommendations. A good range of tools are available. They are all free and open source goodness.
To provide an insight into the quality of software that is available, we have compiled a list of 15 useful terminal-based diff tools. Graphical diff tools are covered in a separate Group Test.
Now let’s scrutinize the 15 tools at hand. For each utility we have compiled its own portal page, a full description with an in-depth analysis of its features, screenshots, together with links to relevant resources.
Terminal-Based Diff Tools | |
---|---|
difftastic | Structural diff tool that compares files based on their syntax |
diff-so-fancy | Attractive diffs with diff-highlight and more |
delta | Viewer for git and diff output |
icdiff | An improved colored diff |
diffoscope | In-depth comparison of files, archives, and directories |
colordiff | Wrapper for diff with pretty syntax highlighting |
ydiff | Tool to view colored, incremental diff in a version controlled workspace |
diffr | Word-by-word diff highlighting utility |
dyff | diff tool for YAML files |
Wdiff | Wordwise implementation of diff |
dwdiff | diff program that operates at the word level |
diff2html-cli | Generate HTML diffs |
dirdiff | Compute the differences between two directories |
csv-diff | Diffing CSV and JSON files |
csvdiff | Fast diff tool for comparing CSV files |
All the CLI tools in this series.
Alternatives to CLI tools |
---|
age // awk // bc // cal // cat // cd // chmod // cksum // cloc // cmp // compress // cp // cron // curl // cut // date // dd // df // diff // dig // du // fdisk // find // ftp // grep // gzip // hexdump // history // jq // kill // less // locate // ls // lsof // make // man // more // mv / ping // ps // psql // rename // rm // sed // split // ssh // strings // sudo // sysctl // tail // talk // tar // telnet // time // top // touch // traceroute // tree // uname // uniq // uptime // vi // watch // Wget // who // whois // xargs |
Read our complete collection of recommended free and open source software. Our curated compilation covers all categories of software. The software collection forms part of our series of informative articles for Linux enthusiasts. There are hundreds of in-depth reviews, open source alternatives to proprietary software from large corporations like Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. There are also fun things to try, hardware, free programming books and tutorials, and much more. |