Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Membandingkan Dua File Teks di Terminal Linux

Posted on October 6, 2023

Tautan Cepat
Apa itu Perintah diff?Perintah satu baris yang berguna dengan diffPandangan Alternatif dari diffTambahkan Percikan Warna Untuk Membedakan OutputMemberikan Beberapa KonteksMengabaikan Spasi Putih dan CaseKey Takeaways
Perintah diff digunakan untuk membandingkan dua file dan menampilkan perbedaan di antara keduanya, termasuk perubahan, penghapusan, dan penambahan. Output dari perintah diff mencakup nomor baris dan label untuk menunjukkan jenis perbedaan (perubahan, penghapusan, atau penambahan). Ada berbagai pilihan yang tersedia untuk menggunakan perintah diff, seperti menampilkan pernyataan singkat tentang perbedaan file, tampilan berdampingan, mengabaikan spasi dan huruf besar/kecil, dan memberikan konteks untuk perbedaan tersebut.

Perlu melihat perbedaan antara dua revisi file teks? Maka diff adalah perintah yang Anda butuhkan. Kami akan menunjukkan cara menggunakan diff di Linux dan macOS, dengan cara yang mudah. ​​

Apa itu Perintah diff?

Perintah diff membandingkan dua file dan menghasilkan daftar perbedaan antara keduanya. Agar lebih akurat, ini menghasilkan daftar perubahan yang perlu dilakukan pada file pertama, agar cocok dengan file kedua. Jika Anda mengingatnya, Anda akan lebih mudah memahami keluaran dari diff. Perintah diff dirancang untuk menemukan perbedaan antara file kode sumber dan untuk menghasilkan keluaran yang dapat dibaca dan ditindaklanjuti oleh program lain, seperti perintah patch. Dalam tutorial ini, kita akan melihat cara paling ramah manusia untuk menggunakan diff.

Cara Menggunakan Perintah diff

Mari selami dan analisis dua file. Urutan file pada baris perintah menentukan file diff mana yang dianggap sebagai `file pertama` dan mana yang dianggap sebagai “file kedua”. Pada contoh di bawah alpha1 adalah file pertama, dan alpha2 adalah file kedua. Kedua file berisi alfabet fonetik tetapi file kedua, alpha2, telah mengalami beberapa pengeditan lebih lanjut sehingga kedua file tersebut tidak identik.

Kita dapat membandingkan file dengan perintah ini. Ketik diff, spasi, nama file pertama, spasi, nama file kedua, lalu tekan Enter.

diff alpha1 alpha2

Bagaimana cara kita membedah output tersebut? Setelah Anda tahu apa yang harus dicari, itu tidak terlalu buruk. Setiap perbedaan dicantumkan secara bergantian dalam satu kolom, dan setiap perbedaan diberi label. Label berisi angka di kedua sisi huruf, seperti 4c4. Angka pertama adalah nomor baris di alpha1, dan angka kedua adalah nomor baris di alpha2. Huruf di tengahnya bisa berupa:

c: Baris pada file pertama perlu diubah agar sesuai dengan baris pada file kedua. d: Baris pada file pertama harus dihapus agar sesuai dengan file kedua. a: Konten tambahan harus ditambahkan ke file pertama agar cocok dengan file kedua.

4c4 dalam contoh kita memberi tahu kita bahwa baris empat alpha1 harus diubah agar cocok dengan baris empat alpha2. Ini adalah perbedaan pertama antara dua file yang ditemukan berbeda.

Garis yang dimulai dengan merujuk ke file kedua, alpha2. Baris Dave memberitahu kita bahwa kata Dave adalah isi baris empat di alpha2. Untuk meringkasnya, kita perlu mengganti Delta dengan Dave pada baris empat di alpha1, untuk membuat baris tersebut cocok di kedua file.

Perubahan selanjutnya ditunjukkan oleh 12c12. Menerapkan logika yang sama, ini memberitahu kita bahwa baris 12 di alpha1 berisi kata Lima, tetapi baris 12 dari alpha2 berisi kata Linux.

Perubahan ketiga mengacu pada baris yang telah dihapus dari alpha2. Label 21d20 diartikan sebagai “baris 21 perlu dihapus dari file pertama agar kedua file disinkronkan dari baris 20 dan seterusnya.” Garis < Uniform menunjukkan kepada kita isi baris yang perlu dihapus dari alpha1.

Perbedaan keempat diberi label 26a26,28. Perubahan ini mengacu pada tiga baris tambahan yang telah ditambahkan ke alpha2. Perhatikan angka 26,28 pada labelnya. Nomor dua baris yang dipisahkan dengan koma mewakili rentang nomor baris. Dalam contoh ini, rentangnya adalah dari baris 26 hingga baris 28. Labelnya diartikan sebagai “pada baris 26 pada file pertama, tambahkan baris 26 hingga 28 dari file kedua.” Kita diperlihatkan tiga baris di alpha2 yang perlu ditambahkan ke alpha1. Ini berisi kata-kata Quirk, Strange, dan Charm.

Perintah satu baris yang berguna dengan diff

Jika yang ingin Anda ketahui hanyalah apakah dua file itu sama, gunakan opsi -s (laporkan file yang identik).

diff -s alpha1 alpha3

Anda bisa gunakan opsi -q (singkat) untuk mendapatkan pernyataan yang sama singkatnya tentang dua file yang berbeda.

diff -q alpha1 alpha2

Satu hal yang harus diperhatikan adalah bahwa dengan dua file yang identik, opsi-q (singkat) benar-benar macet dan tidak laporkan apa pun.

Pandangan Alternatif dari diff

Opsi -y (berdampingan) menggunakan tata letak berbeda untuk menjelaskan perbedaan file. Seringkali lebih mudah menggunakan opsi -W (lebar) dengan tampilan berdampingan, untuk membatasi jumlah kolom yang ditampilkan. Hal ini untuk menghindari garis-garis jelek yang membuat keluaran sulit dibaca. Di sini kami telah memberi tahu diff untuk menghasilkan tampilan berdampingan dan membatasi output hingga 70 kolom.

diff -y -W 70 alpha1 alpha2

File pertama pada baris perintah, alpha1, ditampilkan di sebelah kiri dan baris kedua pada perintah garis, alpha2, ditampilkan di sebelah kanan. Baris dari setiap file ditampilkan, berdampingan. Ada karakter indikator di samping baris-baris di alpha2 yang telah diubah, dihapus atau ditambahkan.

|: Baris yang telah diubah di file kedua. : Baris yang ditambahkan ke file kedua yang tidak ada di file pertama.

Jika Anda lebih suka ringkasan perbedaan file yang lebih ringkas, gunakan opsi –suppress-common-lines. Ini memaksa diff untuk mencantumkan baris yang diubah, ditambahkan, atau dihapus saja.

diff -y -W 70 –suppress-common-lines alpha1 alpha2

Tambahkan Percikan Warna Untuk membedakan Output

Utilitas lain yang disebut colordiff menambahkan penyorotan warna pada keluaran diff. Hal ini membuatnya lebih mudah untuk melihat baris mana yang memiliki perbedaan.

Gunakan apt-get untuk menginstal paket ini ke sistem Anda jika Anda menggunakan Ubuntu atau distribusi berbasis Debian lainnya. Di distribusi Linux lainnya, gunakan alat manajemen paket distribusi Linux Anda.

sudo apt-get install colordiff

Gunakan colordiff sama seperti Anda menggunakan diff.

Sebenarnya, colordiff adalah pembungkus untuk diff, dan diff melakukan semua pekerjaan di belakang layar. Karena itu, semua opsi diff akan bekerja dengan colordiff.

Memberikan Beberapa Konteks

Untuk menemukan jalan tengah antara menampilkan semua baris dalam file di layar dan hanya mencantumkan baris yang diubah, kita dapat meminta diff untuk memberikan beberapa konteks. Ada dua cara untuk melakukan ini. Kedua cara tersebut memiliki tujuan yang sama, yaitu menampilkan beberapa baris sebelum dan sesudah setiap baris yang diubah. Anda akan dapat melihat apa yang terjadi di file di tempat perbedaan terdeteksi.

Metode pertama menggunakan opsi -c (konteks yang disalin).

colordiff -c alpha1 alpha2

Output diff memiliki header. Header mencantumkan dua nama file dan waktu modifikasinya. Ada tanda bintang (*) sebelum nama file pertama dan tanda hubung (-) sebelum nama file kedua. Tanda bintang dan tanda hubung akan digunakan untuk menunjukkan file mana yang memiliki baris-baris dalam keluaran. Baris tanda bintang dengan 1,7 di tengah menunjukkan bahwa kita sedang melihat baris dari alpha1. Tepatnya, kita sedang melihat baris satu sampai tujuh. Kata Delta ditandai telah diubah. Ada tanda seru ( ! ) di sampingnya, dan warnanya merah. Ada tiga baris teks yang tidak diubah yang ditampilkan sebelum dan sesudah baris itu sehingga kita dapat melihat konteks baris tersebut di file.

Baris tanda hubung dengan 1,7 di tengahnya memberi tahu kita bahwa kita sekarang sedang melihat baris dari alpha2. Sekali lagi, kita melihat baris satu sampai tujuh, dengan kata Dave pada baris empat ditandai sebagai berbeda.

Tiga baris konteks di atas dan di bawah setiap perubahan adalah nilai default. Anda dapat menentukan berapa banyak baris konteks yang ingin Anda berikan berbeda. Untuk melakukannya, gunakan opsi -C (konteks yang disalin) dengan huruf kapital “C” dan berikan jumlah baris yang Anda inginkan:

colordiff -C 2 alpha1 alpha2

Opsi diff kedua yang menawarkan konteks adalah -u (konteks terpadu) option.

colordiff -u alpha1 alpha2

Seperti sebelumnya, kami memiliki header pada output. Kedua file diberi nama, dan waktu modifikasinya ditampilkan. Terdapat tanda hubung (-) sebelum nama alpha1 dan tanda tambah (+) sebelum nama alpha2. Ini memberitahu kita bahwa tanda hubung akan digunakan untuk merujuk pada alpha1 dan tanda plus akan digunakan untuk merujuk pada alpha2. Tersebar di seluruh daftar adalah baris yang dimulai dengan tanda (@). Garis-garis ini menandai awal dari setiap perbedaan. Mereka juga memberi tahu kita baris mana yang ditampilkan dari setiap file.

Kita diperlihatkan tiga baris sebelum dan sesudah baris yang ditandai sebagai berbeda sehingga kita dapat melihat konteks baris yang diubah. Dalam tampilan terpadu, garis-garis dengan perbedaan ditampilkan satu di atas yang lain. Garis dari alpha1 diawali dengan tanda hubung dan garis dari alpha2 diawali dengan tanda plus. Tampilan ini menghasilkan delapan baris yang membutuhkan lima belas baris dari tampilan konteks yang disalin di atas.

Seperti yang Anda harapkan, kita dapat meminta diff untuk memberikan jumlah baris konteks terpadu yang ingin kita lihat. Untuk melakukan ini, gunakan opsi -U (konteks terpadu) dengan huruf kapital “U” dan berikan jumlah baris yang Anda inginkan:

colordiff -U 2 alpha1 alpha2

Mengabaikan Spasi Putih dan Kasus

Mari kita menganalisis dua file lainnya, test4 dan test5. Ini memiliki nama enam pahlawan super di dalamnya.

colordiff -y -W 70 test4 test5

Hasilnya menunjukkan bahwa diff tidak menemukan perbedaan dengan garis Black Widow, Spider-Man dan Thor. Itu menandai perubahan dengan garis Captain America, Ironman, dan The Hulk.

Jadi apa bedanya? Nah, di test5 Hulk dieja dengan huruf kecil “h”, dan Captain America memiliki spasi ekstra antara “Captain” dan “America”. Oke, itu jelas terlihat, tapi apa yang salah dengan garis Ironman? Tidak ada perbedaan yang terlihat. Inilah aturan praktis yang bagus. Jika Anda tidak bisa melihatnya, jawabannya adalah spasi. Hampir pasti ada satu atau dua spasi, atau karakter tab, di akhir baris itu.

Jika itu tidak penting bagi Anda, Anda dapat menginstruksikan diff untuk mengabaikan jenis perbedaan baris tertentu, termasuk:

-i: Abaikan perbedaan dalam hal. -Z: Abaikan spasi putih tambahan. -b: Abaikan perubahan jumlah spasi. -w: Abaikan semua perubahan spasi.

Mari kita tanyakan diff untuk memeriksa kedua file itu lagi, tapi kali ini untuk mengabaikan perbedaan case.

colordiff -i -y -W 70 test4 test5

Baris dengan “The Hulk” dan “The hulk” sekarang dianggap cocok, dan tidak ada perbedaan ditandai dengan huruf kecil “h.” Mari kita minta diff untuk juga mengabaikan spasi tambahan.

colordiff -i -Z -y -W 70 test4 test5

Seperti yang diduga, spasi tambahan pasti merupakan perbedaan pada garis Ironman karena diff tidak lagi menandai perbedaan untuk garis tersebut. Tinggal Captain America. Mari kita minta diff untuk mengabaikan huruf besar dan kecil dan mengabaikan semua masalah spasi.

colordiff -i -w -y -W 70 test4 test5

Dengan memberi tahu diff untuk mengabaikan perbedaan yang tidak kita khawatirkan, diff memberi tahu kita bahwa, untuk tujuan kita , file cocok.

Perintah diff memiliki lebih banyak opsi, tetapi sebagian besar terkait dengan menghasilkan keluaran yang dapat dibaca mesin. Ini dapat ditinjau di halaman manual Linux. Opsi yang kami gunakan pada contoh di atas akan memungkinkan Anda melacak semua perbedaan antara versi file teks Anda, menggunakan baris perintah dan pandangan manusia.

Linux Commands

Files

tar·pv·cat·tac·chmod·grep·diff·sed ·ar·man·pushd·popd·fsck·testdisk·seq·fd·pandoc·cd·$PATH·awk·join·jq·fold·uniq·journalctl·tail·stat·ls·fstab·echo·less·chgrp· chown·rev·look·strings·type·rename·zip·unzip·mount·umount·install·fdisk·mkfs·rm·rmdir·rsync·df·gpg·vi·nano·mkdir·du·ln·patch·convert· rclone·rusak·srm·scp·gzip·chattr·potong·temukan·umask·wc· tr

Proses

alias·layar·atas·bagus·renice·kemajuan·strace·sistemd·tmux·chsh·sejarah·di·batch·gratis·yang· dmesg·chfn·usermod·ps·chroot·xargs·tty·pinky·lsof·vmstat·timeout·wall·yes·kill·sleep·sudo·su·time·groupadd·usermod·groups·lshw·shutdown·reboot·halt· poweroff·passwd·lscpu·crontab·date·bg·fg·pidof·nohup·pmap

Networking

netstat·ping·traceroute·ip·ss·whois·fail2ban·bmon·dig·finger·nmap·ftp·curl·wget·who·whoami· w·iptables·ssh-keygen·ufw·arping·firewalld

Terbaru

  • Inilah Cara Zakat Crypto Kalian Bisa Jadi Pengurang Pajak Berdasarkan Aturan Resmi Pemerintah!
  • Inilah Perbandingan Airwallex vs Payoneer 2026: Jangan Sampai Profit Kalian Ludes Gara-Gara Biaya Admin!
  • Inilah Roadmap 7 Tahap Bangun Bisnis Digital dari Nol Biar Nggak Cuma Putar-Putar di Tempat!
  • Inilah Cara Tetap Gajian dari YouTube Meski View Masih Ratusan, Penasaran?
  • Inilah Alasan Akun TikTok Affiliate GMV 270 Juta Kena Banned Permanen!
  • Inilah Bahaya Astute Beta Server APK, Jangan Sembarang Klik Link Download FF Kipas 2026!
  • Inilah Bahaya Nonton Film di LK21 dan IndoXXI, Awas Data Pribadi dan Saldo Rekening Kalian Bisa Ludes!
  • Inilah Kronologi & Video Lengkap Kasus Sejoli Tambelangan Sampang Viral, Ternyata Gini Awal Mulanya!
  • Inilah Alasan Kenapa Koin Nego Neko Shopee Nggak Bisa Dipakai Bayar Full dan Cara Rahasia Dapetinnya!
  • Inilah Cara Menjawab Pertanyaan Apakah di Sekolahmu Sudah Ada IFP/PID dengan Benar dan Profesional
  • Inilah Fakta Isu Roblox Diblokir di Indonesia 2026, Benarkah Akan Ditutup Total?
  • Inilah Penyebab dan Cara Mengatasi FF Kipas My ID Verify UID Biar Akun Tetap Aman
  • Inilah Deretan HP RAM 8GB Harga di Bawah 2 Juta Terbaik 2026, Spek Dewa Tapi Nggak Bikin Kantong Jebol!
  • Contoh Cara Buat SK Panitia TKA 2026
  • Inilah Cara Download Point Blank ID Versi Terbaru 2026, Gampang Banget Ternyata!
  • Inilah Persiapan Lengkap Gladi Bersih TKA 2026 SD dan SMP: Jadwal, Teknis Proktor, dan Aturan yang Wajib Kalian Tahu
  • Inilah Aturan Lengkapnya, Apakah Zakat dalam Bentuk Barang Bisa Mengurangi Pajak Penghasilan Kalian?
  • Inilah Kenapa KBLI Sangat Penting Buat Bisnis Digital dan Gini Caranya Biar Kalian Nggak Salah Pilih Kode
  • Inilah Fitur Keren ONLYOFFICE Docs 9.3, Cara Baru Edit PDF dan Dokumen Lebih Efisien!
  • Inilah Cara Banjir Komisi Shopee Affiliate Hanya Dalam 7 Hari Saja
  • Cara Download Aplikasi BUSSID Versi 3.7.1 Masih Dicari dan Link Download Aman Mediafire
  • Inilah Cara Lengkap Mengajukan SKMT dan SKBK di EMIS GTK 2026, Biar Tunjangan Cair Tanpa Drama!
  • Inilah Kenapa Bukti Setor Zakat Kalian Harus Ada NPWP-nya, Jangan Sampai Klaim Pajak Ditolak!
  • Inilah Cara Jadi Clipper Video Sukses Tanpa Perlu Tampil di Depan Kamera
  • Inilah Cara Upload NPWP dan Rekening di EMIS GTK Madrasah Terbaru, Jangan Sampai Tunjangan Terhambat!
  • Inilah Fakta di Balik Video Ukhti Sholat Mukena Pink Viral yang Bikin Geger Media Sosial
  • Belum Tahu? Inilah Langkah Pengisian Survei Digitalisasi Pembelajaran 2026 Biar Nggak Salah
  • Ini Kronologi Video Viral Ibu Tiri vs Anak Tiri Ladang Sawit Tiktok
  • Inilah Caranya Update Chromebook Sekolah Agar Siap Digunakan untuk TKA SD dan SMP
  • Inilah Caranya Menghindari Mafia Kontraktor Renovasi Nakal Supaya Budget Nggak Boncos
  • How to Run Windows Apps on Linux: A Complete Guide to WinBoat, WINE, and Beyond
  • Build Your Own AI Development Team: Deploying OpenClaw and Claude Code on a VPS!
  • How to Measure Real Success in the Age of AI: A Guide to Software Metrics That Actually Matter
  • Kubernetes Traffic Tutorial: How to Create Pod-Level Firewalls (Network Policies)
  • This Is Discord Malware: Soylamos; How to Detect & Prevent it
  • How to Importing and Exporting Memory in Claude
  • How to Create Professional Business Guides and One-Pagers in Seconds with Venngage AI!
  • How to the OWASP Top 10 Security Risks, Attacking LLM
  • How to Create Visual Storytelling with Higgsfield Soul 2.0
  • How to Use the Tiiny AI Pocket Lab to Run Local Large Language Models
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025

©2026 emka.web.id | Design: Newspaperly WordPress Theme