Perintah Linux

Contoh Perintah diff dalam Linux

Contoh Perintah diff dalam Linux
Perintah diff adalah arahan analisis atau maklumat yang mencetak perbezaan antara fail, menganalisisnya baris demi baris, atau direktori secara berulang sambil memberitahu pengguna apa perubahan yang diperlukan untuk menjadikan fail sama, titik ini penting untuk memahami output yang berbeza. Tutorial ini memfokuskan pada perintah diff.

Sebelum memulakan, buat dua fail menggunakan penyunting teks apa pun (nano digunakan dalam tutorial ini) dengan kandungan yang sama:

# nano berbeza1

Pasta bahagian dalam:

 LinuxHint menerbitkan kandungan terbaik untuk anda 

Tekan CTRL+X dan Y untuk menyimpan dan keluar.

Buat fail kedua yang disebut diffsample2 dengan kandungan yang sama:

# nano beza contoh2

Nota: perhatikan ruang dan tab, fail mestilah sama 100%.

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 fail sama kerana sudah sama.

Sekarang mari kita edit fail diffsample2 untuk membuat beberapa perubahan:

# nano beza contoh2

Kemudian mari kita ganti perkataan "kandungan" untuk "petua":

Tekan CTRL+X dan Y untuk menyimpan dan keluar.

Sekarang jalankan:

# diff diffsample1 diffsample2

Mari lihat output:

Output di atas, "3c3" bermaksud "Baris 3 fail pertama harus diganti untuk baris 3 fail kedua". Bahagian output yang mesra adalah menunjukkan teks apa yang mesti diubah (“kandungan untuk anda"Untuk"petua untuk anda")

Ini menunjukkan kepada kita rujukan untuk perintah diff bukan fail pertama tetapi yang kedua, itulah sebabnya fail pertama baris ketiga (3 pertama) mesti diubah (C) sebagai baris ketiga fail kedua (kedua 3).

Perbezaan perintah boleh menunjukkan 3 aksara:

c: watak ini mengarahkan a Ubah mesti dilakukan.
a: watak ini mengarahkan sesuatu mestilah Ditambah.
d: watak ini mengarahkan sesuatu mesti ada Dipadamkan.

Nombor pertama sebelum aksara tergolong dalam fail pertama, sementara nombor selepas aksara tergolong dalam fail kedua.

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

Mari membalikkan susunan fail, bukannya berjalan

# diff diffsample1 diffsample2

jalankan:

# diffsample2 diffsample1

Anda dapat melihat bagaimana pesanan itu dibalikkan dan sekarang file diffsample1 digunakan sebagai rujukan, dan ini memerintahkan kami untuk mengubah "petua untuk anda" untuk "kandungan untuk anda", ini adalah keluaran sebelumnya:

Sekarang mari kita edit fail diffsample1 seperti ini:

Keluarkan semua baris, kecuali baris pertama pada fail berbeza1. Kemudian jalankan:

# diffsample2 diffsample1

Seperti yang anda lihat, kerana kami menggunakan file diffsample1 sebagai rujukan, untuk menjadikan file diffsample2 sama persis, kita perlu hapus (d) baris dua dan tiga (2,3) seperti dalam fail pertama dan baris pertama (1) akan sama.

Sekarang mari kita membalikkan pesanan dan bukannya menjalankan "# diffsample2 diffsample1 " jalankan:

# diff diffsample1 diffsample2

Seperti yang anda lihat, sementara contoh sebelumnya memerintahkan kami untuk membuang, yang ini memerintahkan kami untuk menambah (abaris 2 dan 3 selepas baris pertama fail pertama (1).

Sekarang mari kita mengusahakan sifat sensitif program ini.

Edit fail diffsample2 seperti:

Dan edit fail diffsample1 sebagai:

Satu-satunya perbezaan adalah huruf besar pada fail berbeza2. Sekarang mari kita membandingkannya menggunakan diff lagi:

# diff diffsample1 diffsample2

Seperti yang anda dapati perbezaan yang terdapat perbezaan, huruf besar, kami mengelakkan perbezaan mengesan huruf besar, jika kami tidak berminat dengan huruf besar dengan menambahkan -i pilihan:

# diff -i diffsample1 diffsample2

Tidak ada perbezaan yang dijumpai, pengesanan kes dilumpuhkan.

Sekarang mari kita ubah format output dengan menambahkan pilihan -awak digunakan untuk mencetak output bersatu:

Selain itu, hingga kini dan masa, output menunjukkan dengan a - dan + simbol apa yang harus dikeluarkan dan apa yang harus ditambahkan untuk menjadikan fail sama.

Pada permulaan artikel ini saya mengatakan ruang dan tab mesti sama di kedua-dua fail, kerana ia juga dikesan oleh perintah perbezaan, jika kita mahu perintah berbeza untuk mengabaikan ruang dan tab, kita perlu menerapkan -w pilihan.

Buka fail diffsample2 dan tambahkan ruang dan tab:

Seperti yang anda lihat, saya menambah beberapa tab selepas "yang terbaik" di baris kedua dan juga ruang di semua baris, tutup, simpan fail dan jalankan:

# diff diffsample1 diffsample2

Seperti yang anda lihat terdapat perbezaan, selain huruf besar. Sekarang mari kita gunakan opsyen  -w untuk mengarahkan diff untuk mengabaikan ruang kosong:

Seperti yang anda lihat di sebalik tabulasi, perbezaan hanya terdapat pada huruf besar.
Sekarang mari kita tambahkan pilihan -i lagi:

#diff -wi diffsample2 diffsample1

Perbezaan perintah mempunyai puluhan pilihan yang tersedia untuk digunakan untuk mengabaikan, mengubah output, membezakan lajur ketika ada, dll. Anda boleh mendapatkan maklumat tambahan mengenai pilihan ini menggunakan perintah man, atau di http: // lelaki7.org / linux / man-pages / man1 / diff.1.html. Saya harap artikel ini mengandungi Contoh Perintah Perbezaan di Linux yang berguna. Terus ikuti LinuxHint untuk mendapatkan lebih banyak petua dan kemas kini mengenai Linux dan rangkaian.

Tutorial Battle for Wesnoth
The Battle for Wesnoth adalah salah satu permainan strategi sumber terbuka paling popular yang boleh anda mainkan pada masa ini. Bukan hanya permainan...
0 A.D. Tutorial
Daripada banyak permainan strategi di luar sana, 0 A.D. berjaya menonjol sebagai tajuk yang komprehensif dan permainan taktikal yang sangat mendalam w...
Tutorial Unity3D
Pengenalan Unity 3D Unity 3D adalah enjin pengembangan permainan yang kuat. Ini adalah platform silang yang memungkinkan anda membuat permainan untuk ...