Cara Memohon Tampalan pada Fail (dan Buat Tampalan) di Linux

PC menunjukkan gesaan shell pada desktop Linux

Fatmawati Achmad Zaenuri/Shutterstock.com



Linux |_+_| arahan membolehkan anda memindahkan perubahan daripada satu set fail ke set fail yang lain dengan cepat dan selamat. Ketahui cara menggunakan |__+_| cara yang mudah.

Perintah patch dan diff

Bayangkan anda mempunyai fail teks pada komputer anda. Anda menerima versi diubah suai fail teks itu daripada orang lain. Bagaimanakah anda dengan cepat memindahkan semua perubahan daripada fail yang diubah suai ke fail asal anda? Di situlah |__+_| dan |_+_| mula bermain. |_+_| dan |_+_| terdapat dalam Linux dan lain-lain Sistem pengendalian Seperti Unix , seperti macOS.





|_+_| perintah memeriksa dua versi fail yang berbeza dan menyenaraikan perbezaan antara mereka. Perbezaan boleh disimpan dalam fail yang dipanggil fail patch.

|_+_| arahan boleh membaca fail tampalan dan menggunakan kandungan sebagai satu set arahan. Dengan mengikuti arahan tersebut, perubahan dalam fail yang diubah suai adalah direplikasi dalam bentuk asal fail.



Sekarang bayangkan proses itu berlaku pada keseluruhan direktori fail teks. Semua dalam satu perjalanan. Itulah kuasa |__+_|.

Iklan

Kadangkala anda tidak menghantar fail yang diubah suai. Apa yang anda hantar hanyalah fail tampalan. Mengapa menghantar berpuluh-puluh fail bulat apabila anda boleh menghantar satu fail, atau menyiarkan satu fail untuk muat turun mudah?

Apa yang anda lakukan dengan fail tampalan untuk menampal fail anda sebenarnya? Selain daripada hampir menjadi pemutar lidah, itu juga soalan yang bagus. Kami akan memandu anda melaluinya dalam artikel ini.



|_+_| arahan paling kerap digunakan oleh orang yang bekerja dengan fail kod sumber perisian, tetapi ia berfungsi sama baik dengan mana-mana set fail teks tidak kira tujuannya, kod sumber atau tidak.

BERKAITAN: Cara Membandingkan Dua Fail Teks dalam Terminal Linux

Contoh Senario Kami

Dalam senario ini, kami berada dalam direktori yang dipanggil kerja yang mengandungi dua direktori lain. Satu dipanggil bekerja, dan yang satu lagi dipanggil terkini . Direktori kerja memegang satu set fail kod sumber. Direktori terkini menyimpan versi terkini fail kod sumber tersebut, beberapa daripadanya telah diubah suai.

Untuk selamat, direktori kerja ialah salinan versi semasa fail teks. Ia bukan satu-satunya salinan mereka.

Mencari Perbezaan Antara Dua Versi Fail

|_+_| arahan mencari perbezaan antara dua fail. Tindakan lalainya ialah menyenaraikan baris yang diubah suai dalam tetingkap terminal.

Iklan

Satu fail dipanggil |__+_|. Kami akan membandingkan versi dalam direktori kerja dengan versi dalam direktori terkini.

|_+_| Pilihan (bersatu) memberitahu |_+_| untuk turut menyenaraikan beberapa baris teks yang tidak diubah suai dari sebelum dan selepas setiap bahagian yang diubah. Garisan ini dipanggil baris konteks. Mereka membantu |_+_| arahan cari dengan tepat di mana perubahan mesti dibuat dalam fail asal.

Kami menyediakan nama fail supaya |__+_| tahu fail yang hendak dibandingkan. Fail asal disenaraikan dahulu, kemudian fail yang diubah suai. Ini ialah arahan yang kami keluarkan kepada |__+_|:

patch

|_+_| menghasilkan penyenaraian output yang menunjukkan perbezaan antara fail. Jika fail adalah sama, tidak akan ada output yang disenaraikan sama sekali. Melihat jenis output ini daripada |__+_| mengesahkan bahawa terdapat perbezaan antara kedua-dua versi fail dan bahawa fail asal memerlukan tampalan.

Membuat Fail Tampalan

Untuk menangkap perbezaan tersebut dalam fail tampalan, gunakan arahan berikut. Ia adalah arahan yang sama seperti di atas, dengan output daripada |__+_| diubah hala ke dalam fail yang dipanggil slang.patch.

patch

Nama fail tampalan adalah sewenang-wenangnya. Anda boleh memanggilnya apa sahaja yang anda suka. Memberinya sambungan .patch ialah idea yang baik; walau bagaimanapun, kerana ia menjelaskan jenis fail itu.

Iklan

Untuk membuat |_+_| bertindak atas fail tampalan dan ubah suai fail berfungsi/slang.c, gunakan arahan berikut. |_+_| (bersatu) pilihan membolehkan |_+_| ketahui bahawa fail tampalan mengandungi baris konteks bersatu. Dalam erti kata lain, kami menggunakan pilihan -u dengan perbezaan, jadi kami menggunakan |_+_| pilihan dengan |_+_|.

tampalan -u berfungsi.slang.c -i slanga.tampal

Jika semuanya berjalan lancar, terdapat satu baris output memberitahu anda |_+_| sedang menampal fail.

Membuat Sandaran FAIL Asal

Kami boleh mengarahkan |__+_| untuk membuat salinan sandaran fail yang ditampal sebelum ia ditukar dengan menggunakan |_+_| (sandaran) pilihan. |_+_| (input) pilihan memberitahu patch nama fail patch untuk digunakan:

patch

Fail ditambal seperti sebelumnya, tanpa perbezaan yang kelihatan dalam output. Walau bagaimanapun, jika anda melihat ke dalam folder yang berfungsi, anda akan melihat fail yang dipanggil slang.c.orig telah dibuat. Setem tarikh dan masa bagi fail menunjukkan bahawa slang.c.orig ialah fail asal dan slang.c ialah fail baharu yang dicipta oleh |__+_|.

Menggunakan diff Dengan Direktori

Kita boleh menggunakan |__+_| untuk mencipta fail tampalan yang mengandungi semua perbezaan antara fail dalam dua direktori. Kami kemudiannya boleh menggunakan fail tampalan itu dengan |__+_| agar perbezaan tersebut digunakan pada fail dalam folder kerja dengan satu arahan.

Pilihan yang akan kami gunakan dengan |_+_| ialah |_+_| (konteks bersatu) pilihan yang telah kami gunakan sebelum ini, |__+_| (rekursif) pilihan untuk membuat |_+_| lihat mana-mana sub-direktori dan |_+_| (fail baharu) pilihan.

Iklan

|_+_| pilihan memberitahu |__+_| cara mengendalikan fail dalam direktori terkini yang tiada dalam direktori kerja. Ia memaksa |__+_| untuk meletakkan arahan dalam fail tampalan supaya|__+_| mencipta fail yang terdapat dalam direktori terkini tetapi tiada dari direktori kerja.

Anda boleh mengumpulkan pilihan bersama-sama supaya mereka menggunakan satu tanda sempang (|_+_|).

Harap maklum bahawa kami hanya menyediakan nama direktori, kami tidak memberitahu |_+_| untuk melihat fail tertentu:

diff

diff -ruN working/ latest/>slang.patch

Mengintip Di Dalam Fail Tampalan

Mari lihat cepat ke dalam fail tampalan. Kami akan menggunakan |__+_| untuk melihat kandungannya.

Bahagian atas fail menunjukkan perbezaan antara dua versi slanga.c.

Menatal lebih jauh ke bawah melalui fail tampalan, kita melihat bahawa ia kemudian menerangkan perubahan dalam fail lain yang dipanggil structs.h. Ini mengesahkan bahawa fail tampalan pasti mengandungi perbezaan antara versi berbilang fail yang berbeza.

Lihat sebelum anda melompat

Menampal koleksi fail yang besar boleh menjadi sedikit merunsingkan, jadi kami akan menggunakan |_+_| pilihan untuk menyemak semuanya baik-baik saja sebelum kita mengambil risiko dan komited diri untuk membuat perubahan.

Iklan

|_+_| pilihan memberitahu |__+_| untuk melakukan segala-galanya selain daripada mengubah suai fail. |_+_| akan melakukan semua semakan pra-penerbangannya pada fail dan jika ia menghadapi sebarang masalah, ia melaporkannya. Sama ada cara, tiada fail diubah suai.

Jika tiada masalah dilaporkan, kita boleh mengulangi arahan tanpa |__+_| pilihan dan menampal fail kami dengan yakin.

|_+_| (direktori) pilihan beritahu |__+_| direktori mana yang hendak dikerjakan.

Perhatikan bahawa kita bukan menggunakan |_+_| (input) pilihan untuk memberitahu |__+_| fail tampalan yang mana mengandungi arahan daripada |_+_|. Sebaliknya, kami mengubah hala fail tampalan ke |__+_| dengan |_+_|.

patch

Daripada keseluruhan direktori, |_+_| menemui dua fail untuk ditambal. Arahan mengenai pengubahsuaian untuk kedua-dua fail tersebut telah disemak oleh |_+_| , dan tiada masalah telah dilaporkan.

Pemeriksaan pra-penerbangan adalah OK; kami bersedia untuk berlepas.

Menampal Direktori

Untuk benar-benar menggunakan tampalan pada fail kami menggunakan arahan sebelumnya tanpa |_+_| pilihan.

diff

Iklan

Kali ini setiap baris output tidak bermula dengan menyemak, setiap baris bermula dengan menampal.

Dan tiada masalah dilaporkan. Kami boleh menyusun kod sumber kami dan kami akan menggunakan versi terkini perisian.

Selesaikan Perbezaan Anda

Ini adalah cara yang paling mudah dan selamat untuk menggunakan |__+_|. Salin fail sasaran anda ke folder dan tampal folder itu. Salin semula apabila anda gembira kerana proses penampalan selesai tanpa ralat.

Perintah Linux
Fail tar · pv · kucing · tac · chmod · cengkaman · perbezaan · sed · Dengan · lelaki · pushd · popd · fsck · testdisk · seq · fd · pandoc · CD · $PATH · awk · sertai · jq · lipat · uniq · journalctl · ekor · negeri · ls · fstab · dibuang · kurang · chgrp · chown · rev · tengok · rentetan · taip · menamakan semula · zip · buka zip · lekapkan · umount · pasang · fdisk · mkfs · rm · rmdir · rsync · df · gpg · kita · nano · mkdir · daripada · ln · tampalan · menukar · rclone · carik-carik · SRM
Proses alias · skrin · atas · bagus · renice · kemajuan · jejak · sistem · tmux · chsh · sejarah · di · kumpulan · percuma · yang · dmesg · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · masa tamat · dinding · ya · bunuh · tidur · sudo · miliknya · masa · tambah kumpulan · usermod · kumpulan · lshw · menutup · but semula · berhenti · matikan · passwd · lscpu · crontab · Tarikh · bg · fg
Rangkaian netstat · ping · traceroute · ip · ss · siapakah · fail2ban · bmon · awak · jari · nmap · ftp · keriting · wget · who · siapakah saya · Dalam · iptables · ssh-keygen · ufw

BERKAITAN: Komputer Riba Linux Terbaik untuk Pembangun dan Penggemar

BACA SETERUSNYA Foto Profil untuk Dave McKay Dave McKay
Dave McKay pertama kali menggunakan komputer apabila pita kertas yang ditebuk sedang popular, dan dia telah memprogramkan sejak itu. Selepas lebih 30 tahun dalam industri IT, beliau kini seorang wartawan teknologi sepenuh masa. Semasa kerjayanya, beliau telah bekerja sebagai pengaturcara bebas, pengurus pasukan pembangunan perisian antarabangsa, pengurus projek perkhidmatan IT, dan, yang terbaru, sebagai Pegawai Perlindungan Data. Tulisannya telah diterbitkan oleh howtogeek.com, cloudsavvyit.com, itenterpriser.com, dan opensource.com. Dave ialah seorang penginjil Linux dan penyokong sumber terbuka.
Baca Bio Penuh

Artikel Yang Menarik