Perintah Linux

Contoh Perintah diff di Linux

Contoh Perintah diff di Linux
Perintah diff adalah sebuah analisis atau perintah informatif yang mencetak perbedaan antara file, menganalisisnya baris demi baris, atau direktori secara rekursif sambil menginformasikan kepada pengguna perubahan apa yang diperlukan untuk membuat file menjadi sama, poin ini penting untuk memahami output diff. Tutorial ini berfokus pada perintah diff.

Sebelum memulai, buat dua file menggunakan editor teks apa pun (nano digunakan dalam tutorial ini) dengan konten yang sama:

# nano diffsample1

pasta di dalam:

 LinuxHint menerbitkan konten terbaik untuk Anda 

tekan CTRL+X dan Y untuk menyimpan dan keluar.

Buat file kedua bernama diffsample2 dengan konten yang sama:

# nano diffsample2

catatan: perhatikan spasi dan tab, file harus 100% sama.

tekan CTRL+X dan Y untuk menyimpan dan keluar.

# diff diffsample1 diffsample2

Seperti yang Anda lihat tidak ada output, tidak perlu melakukan sesuatu untuk membuat file sama karena mereka sudah sama.

Sekarang mari kita edit file diffsample2 untuk membuat beberapa perubahan:

# nano diffsample2

Kemudian mari kita ganti kata "konten" untuk "tips":

tekan CTRL+X dan kamu untuk menyimpan dan keluar.

Sekarang jalankan:

# diff diffsample1 diffsample2

Mari kita lihat outputnya:

Output di atas, "3c3" berarti "Baris 3 file pertama harus diganti untuk baris 3 file kedua". Bagian ramah dari outputnya adalah menunjukkan kepada kita teks apa yang harus diubah (“konten untuk Anda” untuk “tips untukmu”)

Ini menunjukkan kepada kita referensi untuk perintah diff bukan file pertama tetapi yang kedua, itu sebabnya file pertama baris ketiga (yang pertama 3) harus diubah (C) sebagai baris ketiga dari file kedua (kedua 3).

Perintah diff dapat menampilkan 3 karakter:

c: karakter ini menginstruksikan Perubahan harus dilakukan.
Sebuah: karakter ini menginstruksikan sesuatu harus Ditambahkan.
d: karakter ini menginstruksikan sesuatu harus Dihapus.

Angka pertama sebelum karakter milik file pertama, sedangkan angka setelah karakter milik file kedua.

Simbol < belongs to the first file and the symbol > ke file kedua yang digunakan sebagai referensi.

Mari kita membalikkan urutan file, alih-alih menjalankan

# diff diffsample1 diffsample2

Lari:

# diff diffsample2 diffsample1

Anda dapat melihat bagaimana urutan terbalik dan sekarang file diffsample1 digunakan sebagai referensi, dan memerintahkan kami untuk mengubah "tips untuk Anda" untuk "konten untuk Anda", ini adalah output sebelumnya:

Sekarang mari kita edit file diffsample1 seperti ini:

Hapus semua baris, kecuali baris pertama pada file diffsample1. Lalu lari:

# diff diffsample2 diffsample1

Seperti yang Anda lihat, karena kami menggunakan file diffsample1 sebagai referensi, untuk membuat file diffsample2 sama persis, kami perlu menghapus (d) baris dua dan tiga (2,3) seperti pada file pertama dan baris pertama (1) akan sama.

Sekarang mari kita balikkan urutannya dan alih-alih menjalankan “# diff diffsample2 diffsample1” Lari:

# diff diffsample1 diffsample2

Seperti yang Anda lihat, sementara contoh sebelumnya menginstruksikan kami untuk menghapus, contoh ini menginstruksikan kami untuk menambahkan (Sebuah) baris 2 dan 3 setelah file pertama baris pertama (1).

Sekarang mari kita kerjakan properti case-sensitive dari program ini.

Edit file diffsample2 seperti:

Dan edit file diffsample1 sebagai:

Satu-satunya perbedaan adalah huruf kapital pada file diffsample2. Sekarang mari kita bandingkan menggunakan diff lagi:

# diff diffsample1 diffsample2

Seperti yang Anda lihat perbedaan yang ditemukan, huruf kapital, kami menghindari perbedaan mendeteksi huruf kapital, jika kami tidak tertarik dengan case sensitif dengan menambahkan -saya pilihan:

# diff -i diffsample1 diffsample2

Tidak ada perbedaan yang ditemukan, deteksi kasus dinonaktifkan.

Sekarang mari kita ubah format output dengan menambahkan opsi -kamu digunakan untuk mencetak output terpadu:

Selain itu, untuk tanggal dan waktu, output ditampilkan dengan a - dan + simbol apa yang harus dihapus dan apa yang harus ditambahkan untuk membuat file sama.

Di awal artikel ini saya mengatakan spasi dan tab harus sama di kedua file, karena keduanya juga terdeteksi oleh perintah diff, jika kita ingin perintah diff mengabaikan spasi dan tab, kita perlu menerapkan -w pilihan.

Buka file diffsample2 dan tambahkan spasi dan tab:

Seperti yang Anda lihat, saya menambahkan beberapa tab setelah "yang terbaik" di baris kedua dan juga spasi di semua baris, tutup, simpan file dan jalankan:

# diff diffsample1 diffsample2

Seperti yang Anda lihat, perbedaan ditemukan, selain huruf kapital. Sekarang mari kita terapkan opsinya  -w untuk menginstruksikan diff untuk mengabaikan spasi kosong:

Seperti yang Anda lihat meskipun perbedaan tabulasi hanya ditemukan sebagai perbedaan huruf kapital.
Sekarang mari tambahkan opsi -i lagi:

#diff  -wi diffsample2 diffsample1

Perintah diff memiliki lusinan opsi yang tersedia untuk diterapkan untuk mengabaikan, mengubah output, membedakan kolom saat ada, dll. Anda bisa mendapatkan informasi tambahan tentang opsi ini menggunakan perintah man, atau di http://man7.org/linux/man-pages/man1/diff.1.html. Saya harap Anda menemukan artikel ini dengan Contoh Perintah diff di Linux bermanfaat. Ikuti terus LinuxHint untuk tips dan pembaruan lainnya tentang Linux dan jaringan.

Emulator Konsol Game Terbaik untuk Linux
Artikel ini akan mencantumkan perangkat lunak emulasi konsol game populer yang tersedia untuk Linux. Emulasi adalah lapisan kompatibilitas perangkat l...
Distro Linux Terbaik untuk Gaming pada tahun 2021
Sistem operasi Linux telah berkembang jauh dari tampilan aslinya, sederhana, berbasis server. OS ini telah sangat meningkat dalam beberapa tahun terak...
Cara merekam dan streaming sesi permainan Anda di Linux
Dulu, bermain game hanya dianggap sebagai hobi, namun seiring berjalannya waktu, industri game mengalami pertumbuhan yang sangat pesat baik dari segi ...