ลินุกซ์ เปรียบเทียบ สอง ไฟล์ ไบนารี ตัวเลือก
ฉันคิดว่าคุณสามารถไปโดยใช้ 3 เครื่องมือ: cmp จะดีกว่าสำหรับไฟล์ไบนารีและ diff จะดีกว่าสำหรับไฟล์ข้อความสำหรับไฟล์ไบนารี diff เพียงรายงานว่าแตกต่าง ot ไม่ diff ทำงานได้ดีสำหรับไดเรกทอรี ใด ๆ ของสองคนแรกที่สามารถบรรลุสิ่งที่คุณต้องการเงียบ diff ใช้สวิตช์ - q และ cmp ใช้สวิตช์ - s เพื่อบอกให้คุณทราบว่ามีรหัสส่งคืน: 0 ถ้าไฟล์ทั้งสองไฟล์ตรงกับ 1 ถ้าไม่มี cmp ยังมีตัวเลือกที่ดีในการหลีกเลี่ยงการอ่านไฟล์ทั้งหมด (ดีถ้าคุณมีไฟล์ใหญ่): ถ้าคุณรู้ว่าไฟล์อาจแตกต่างกันในบรรทัดแรก N หรือระหว่างบรรทัด N และ M ที่คุณสามารถทำได้ (เช่นสำหรับ แถว N 10 และ M 20): ฉันเพิ่ม md5sum ลงในรายการเพราะถ้าคุณมีโอกาสที่จะคำนวณ MD5 checksum ทุกครั้งที่คุณแก้ไขไฟล์เหล่านี้คุณสามารถเปรียบเทียบได้เพียงอย่างเดียวว่าจะหาได้อย่างรวดเร็วหากตรงหรือไม่ ในกรณีนี้สมมติว่าคุณมีไฟล์จำนวนมากเพื่อเปรียบเทียบ ตอบว่า 25 ตุลาคม 10 ที่ 9: 23 หนึ่งในวิธีที่พบมากที่สุดในการพิจารณาว่าไฟล์สองไฟล์เหมือนกันหรือไม่ (สมมุติว่าขนาดของพวกเขาตรงกัน) กำลังใช้โปรแกรมสร้างแฮช (เป็นลายนิ้วมือ) ของไฟล์ คนที่พบมากที่สุดคือ md5sum และ sha1sum หากคุณมีไฟล์จำนวนมากที่ต้องตรวจสอบตัวอย่างเช่นถ้าคุณกำลังถ่ายโอนไดเรกทอรีเต็มรูปแบบของไฟล์จากระบบหนึ่งไปยังอีกระบบหนึ่งคุณสามารถเปลี่ยนเส้นทางจากระบบเดิมไปยังไฟล์จากนั้น md5sum sha1sum จะสามารถใช้แฟ้มดังกล่าวได้โดยอัตโนมัติ บอกว่าไฟล์ใดที่แตกต่างกันตอบ: Apr 29 10 at 12:21 MD5 ไม่ค่อยมีความน่าเชื่อถือในเรื่องนี้: diggsecurityhellip ndash Jon Cage พ. ค. 29 10 เวลา 12:30 MD5 เชื่อถือได้สำหรับการตรวจสอบความสมบูรณ์ขั้นพื้นฐาน ไม่ถือว่าเป็นการเข้ารหัสที่เข้มแข็งเท่าที่เราเคยคิด ถ้าคุณกังวลเกี่ยวกับแฮกเกอร์อย่าใช้ MD5 แต่ถ้าคุณเพียงแค่ต้องการทราบว่าไฟล์บางไฟล์ถูกคัดลอกจากแผ่นซีดีเสียหายหรือไม่ถ้าคอมไพเลอร์ของคุณพ่นไฟล์เดียวกันทุกครั้ง MD5 ก็เพียงพอแล้ว ndash Adam Batkin Apr 29 10 at 12: 55JojoDiff - โปรแกรมอรรถประโยชน์ diff สำหรับไฟล์ไบนารี Copyright copy 2002-2011 Joris Heirbaut ซอฟต์แวร์นี้จัดทำโดย: 1. วัตถุประสงค์ JDIFF เป็นโปรแกรมที่แสดงผลแตกต่างระหว่างไฟล์สองชุด (ไบนารี) จากนั้นจะสามารถใช้ JPTCH เพื่อสร้างไฟล์ที่สองจากไฟล์แรกได้ ตัวอย่างเช่น: jdiff archive0000.tar archive0001.tar archive0001.jdf jptch archive0000.tar archive0001.jdf archive0001b. tar จะสร้างไฟล์ archive0001b. tar ซึ่งเหมือนกับ archive0001.tar โปรแกรมที่เป็นไปได้ ได้แก่ การเพิ่มการสำรองข้อมูลการซิงโครไนซ์ไฟล์ระหว่างคอมพิวเตอร์สองเครื่อง ผ่านเครือข่ายที่ช้า (ดู JSYNC) JDIFF พยายามหาชุดความแตกต่างระหว่างไฟล์สองไฟล์โดยใช้อัลกอริธึม heuristic กับพื้นที่คงที่และความซับซ้อนของเวลาเชิงเส้น ซึ่งหมายความว่ามีการซื้อขายความถูกต้องด้วยความเร็ว ดังนั้น JDIFF จะไม่พบชุดของความแตกต่างที่เล็กที่สุด แต่จะพยายามให้เร็วและใช้หน่วยความจำที่กำหนดไว้ JDIFF ไม่บีบอัดไฟล์ patchf ที่สร้างขึ้น ขอแนะนำให้ใช้เครื่องมือบีบอัดที่คุณต้องการ ดูด้านล่างสำหรับตัวอย่างโดยใช้ ZIP เวอร์ชันและประวัติยูทิลิตีเวอร์ชันปัจจุบันนี้มีค่า bta 0.8 นับจากเดือนกันยายน พ. ศ. 2554 ประวัติการปรับเปลี่ยนมีดังต่อไปนี้: แปลงเป็นคลาส C ที่ควรใช้ซ้ำ 3. การติดตั้งบนระบบ Windows: ไฟล์ที่ได้รับการคอมไพล์อยู่ภายในไดเร็กทอรี win32 คุณสามารถเรียกใช้งานได้จากพรอมต์คำสั่ง ในระบบ GCCLinux: ไบนารี ELF ที่คอมไพล์อยู่ภายในไดเร็กทอรีลินุกซ์ นอกจากนี้คุณยังสามารถคอมไพล์ซอร์สโค้ดโดยเรียกใช้ make ภายในไดเร็กทอรี src คัดลอกไบนารีที่เป็นผลลัพธ์ไปยัง usrlocalbin ของคุณ ภายในไดเร็กทอรี bash คุณสามารถหาตัวอย่างสคริปต์ BASH, JSYNC ที่ฉันใช้สำหรับการซิงโครไนซ์ไฟล์ระหว่างคอมพิวเตอร์สองเครื่องที่เชื่อมต่อผ่านเครือข่ายที่ช้า ตัวเลือก jdiff ต้นฉบับไฟล์ newfile outputfile ตัวเลือก: Verbose (ทักทายผลและเคล็ดลับ)
Comments
Post a Comment