jika Anda telah menginstal vim, coba ini:
vimdiff file1 file2
atau
vim -d file1 file2
Anda akan menemukannya fantastis. 
Coba sdiff (man sdiff )
sdiff -s file1 file2
Jika Anda lebih suka gaya keluaran berbeda dari git diff , Anda dapat menggunakannya dengan --no-index tandai untuk membandingkan file yang tidak ada dalam repositori git:
git diff --no-index a.txt b.txt
Menggunakan beberapa file dengan masing-masing sekitar 200k string nama file, saya membuat tolok ukur (dengan time bawaan command) pendekatan ini vs beberapa jawaban lain di sini:
git diff --no-index a.txt b.txt
# ~1.2s
comm -23 <(sort a.txt) <(sort b.txt)
# ~0.2s
diff a.txt b.txt
# ~2.6s
sdiff a.txt b.txt
# ~2.7s
vimdiff a.txt b.txt
# ~3.2s
comm tampaknya menjadi yang tercepat sejauh ini, sedangkan git diff --no-index tampaknya menjadi pendekatan tercepat untuk keluaran gaya-berbeda.
Pembaruan 25-03-2018 Anda sebenarnya dapat menghilangkan --no-index tandai kecuali Anda berada di dalam repositori git dan ingin membandingkan file yang tidak terlacak di dalam repositori itu. Dari halaman manual:
Formulir ini untuk membandingkan dua jalur yang diberikan pada sistem file. Anda dapat menghilangkan opsi --no-index saat menjalankan perintah di pohon kerja yang dikontrol oleh Git dan setidaknya salah satu jalur mengarah ke luar pohon kerja, atau saat menjalankan perintah di luar pohon kerja yang dikontrol oleh Git.
Sortir dan gunakan comm :
comm -23 <(sort a.txt) <(sort b.txt)
comm membandingkan (mengurutkan) file input dan secara default menghasilkan tiga kolom:baris yang unik untuk a, baris yang unik untuk b, dan baris yang ada di keduanya. Dengan menentukan -1 , -2 dan/atau -3 Anda dapat menekan output yang sesuai. Oleh karena itu comm -23 a b daftar hanya entri yang unik untuk a. Saya menggunakan <(...) sintaks untuk mengurutkan file dengan cepat, jika sudah diurutkan, Anda tidak memerlukan ini.