อ่าน 2 นาที
cmp (Unix)
cmp เป็น คำสั่ง เชลล์ ที่ใช้เปรียบเทียบ ไฟล์ สอง ไฟล์ ประเภท ใดก็ได้และรายงานความแตกต่าง โดยค่าเริ่มต้น หากไฟล์ตรงกัน จะไม่แสดงอะไรเลย หากไฟล์แตกต่างกัน จะแสดง ไบต์...
cmp (Unix)
| ซีเอ็มพี | |
|---|---|
| ผู้เขียนต้นฉบับ | เดนนิส ริทชี ( เอทีแอนด์ที เบลล์ แล็บโบราทอรีส์ ) |
| นักพัฒนา | นักพัฒนาซอฟต์แวร์โอเพนซอร์สและเชิงพาณิชย์หลายราย |
| ปล่อย | 3 พฤศจิกายน 2514 |
| เขียนเป็น | แผน 9: C |
| ระบบปฏิบัติการ | ยูนิก , ระบบปฏิบัติการคล้ายยูนิก , Plan 9 , Inferno , OS-9 , IBM i |
| พิมพ์ | สั่งการ |
| ใบอนุญาต | coreutils : GPLv3+แผน 9: ใบอนุญาต MIT |
cmpเป็นคำสั่งเชลล์ ที่ใช้เปรียบเทียบ ไฟล์สอง ไฟล์ ประเภทใดก็ได้และรายงานความแตกต่าง โดยค่าเริ่มต้น หากไฟล์ตรงกัน จะไม่แสดงอะไรเลย หากไฟล์แตกต่างกัน จะแสดงไบต์และหมายเลขบรรทัดของส่วนที่แตกต่างกันแรกรหัสการออกสามารถใช้ในเชิงโปรแกรมได้ เนื่องจากเป็น 0 หากไฟล์ตรงกัน 1 หากไฟล์แตกต่างกัน หรือ 2 หากการเปรียบเทียบล้มเหลว (เช่น เข้าถึงไม่ได้หรือขาดอาร์กิวเมนต์)
คำสั่งนี้สามารถใช้งานได้บนระบบที่คล้าย Unix , OS-9 , IBM iและWindows (ผ่านUnxUtils ) [ 1 ] [ 2 ] [ 3 ]คำสั่งนี้ปรากฏครั้งแรกในUnix เวอร์ชัน 1 [ 4 ]เป็นส่วนหนึ่งของX/Open Portability Guide ตั้งแต่ฉบับที่ 2 ของปี 1987 และได้รับการสืบทอดไปยัง POSIX.1 เวอร์ชันแรกและSingle Unix Specification [ 5 ] การใช้งานในGNU coreutilsเขียนโดย Torbjorn Granlund และ David MacKenzie [ 6 ]
ใช้
ตัวเลือก บรรทัดคำสั่งได้แก่:
| ตัวเลือก | คำอธิบาย | ยูนิกซ์ | แผน 9 | นรก | ฟรีบีเอสดี | ลินุกซ์ | ไอบีเอ็มไอ |
|---|---|---|---|---|---|---|---|
| -b, --พิมพ์ไบต์ | พิมพ์ไบต์ที่แตกต่างกัน โดยแสดงไบต์ควบคุมเป็นเครื่องหมาย ' ^ ' ตามด้วยตัวอักษร และนำหน้าไบต์ที่มีบิตสูงด้วย ' M- ' (ซึ่งย่อมาจาก " meta ") | เลขที่ | เลขที่ | เลขที่ | เลขที่ | ใช่ | เลขที่ |
| -ชม | อย่าคลิกลิงก์สัญลักษณ์ | เลขที่ | เลขที่ | เลขที่ | ใช่ | เลขที่ | เลขที่ |
| -i ข้าม, --ignore-initial=SKIP | ข้ามข้อมูลอินพุต 1 SKIP ไบต์ | เลขที่ | เลขที่ | เลขที่ | เลขที่ | ใช่ | เลขที่ |
| -i SKIP1:SKIP2, --ignore- initial= SKIP1:SKIP2 | ข้ามไบต์ SKIP1 แรกของไฟล์ FILE1 และไบต์ SKIP2 แรกของไฟล์ FILE2 | เลขที่ | เลขที่ | เลขที่ | เลขที่ | ใช่ | เลขที่ |
| -l, --verbose | พิมพ์หมายเลขไบต์ (เลขฐานสิบ) และค่า (เลขฐานแปด) ของไบต์ที่แตกต่างกันทั้งหมด แทนที่จะแสดงข้อมูลตามค่าเริ่มต้น นอกจากนี้ ให้พิมพ์ข้อความ EOF หากไฟล์หนึ่งสั้นกว่าอีกไฟล์หนึ่ง | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ |
| -L | พิมพ์หมายเลขบรรทัดของไบต์แรกที่แตกต่างกัน | ใช่ | ใช่ | ใช่ | เลขที่ | เลขที่ | เลขที่ |
| -n LIMIT, --bytes=LIMIT | เปรียบเทียบได้สูงสุด LIMIT ไบต์ | เลขที่ | เลขที่ | เลขที่ | เลขที่ | ใช่ | เลขที่ |
| -s, --เงียบ, --สงบ | ไม่ต้องพิมพ์อะไรเลย แสดงเฉพาะสถานะการออกเท่านั้น | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ |
| -t | โหมดข้อความซึ่งไฟล์จะถูกเปิดในโหมดข้อความและแปลงเป็นCCSIDของงานก่อนที่จะเปรียบเทียบทีละไบต์ | เลขที่ | เลขที่ | เลขที่ | เลขที่ | เลขที่ | ใช่ |
| -v, --เวอร์ชัน | ข้อมูลเวอร์ชันสำหรับพิมพ์ | เลขที่ | เลขที่ | เลขที่ | เลขที่ | ใช่ | เลขที่ |
| -x | เหมือนกับตัวเลือก -l แต่จะแสดงผลเป็นเลขฐานสิบหก โดยใช้ศูนย์เป็นดัชนีสำหรับไบต์แรกในไฟล์ | เลขที่ | เลขที่ | เลขที่ | ใช่ | เลขที่ | เลขที่ |
| -z | สำหรับไฟล์ทั่วไป ให้เปรียบเทียบขนาดไฟล์ก่อน และหากขนาดไฟล์ไม่เท่ากัน ให้ถือว่าล้มเหลว | เลขที่ | เลขที่ | เลขที่ | ใช่ | เลขที่ | เลขที่ |
| --ช่วย | พิมพ์ข้อมูลความช่วยเหลือบรรทัดคำสั่ง | เลขที่ | เลขที่ | เลขที่ | เลขที่ | ใช่ | เลขที่ |
โดยค่าเริ่มต้น ตัวดำเนินการที่เป็นจำนวนไบต์จะเป็นเลขฐานสิบ แต่สามารถนำหน้าด้วย ' 0 ' สำหรับเลขฐานแปด และ ' 0x ' สำหรับเลขฐานสิบหกได้
จำนวนไบต์สามารถตามด้วยคำต่อท้ายเพื่อระบุตัวคูณของจำนวนนั้น ในกรณีนี้ จำนวนเต็มที่ละเว้นจะถือว่าเป็น 1 ตัวอักษรขนาดเปล่า หรือตัวอักษรที่ตามด้วย ' iB ' จะระบุตัวคูณโดยใช้กำลังของ 1024 ตัวอักษรขนาดที่ตามด้วย ' B ' จะระบุกำลังของ 1000 แทน ตัวอย่างเช่น ' -n 4M ' และ ' -n 4MiB ' เทียบเท่ากับ ' -n 4194304 ' ในขณะที่ ' -n 4MB ' เทียบเท่ากับ ' -n 4000000 ' สัญกรณ์นี้เข้ากันได้กับคำนำหน้า SI [ 7 ]สำหรับตัวคูณทศนิยมและกับคำนำหน้า IEC 60027-2 สำหรับตัวคูณไบนารี[ 8 ]
ตัวอย่าง

ดูเพิ่มเติม
ลิงก์ภายนอก
- : เปรียบเทียบไฟล์สองไฟล์ – เอกสารอ้างอิงเชลล์และยูทิลิตี้จากข้อกำหนด UNIX ฉบับเดียวเวอร์ชัน 5 จากThe Open Group
- การเปรียบเทียบและการรวมไฟล์ : การเรียกใช้ cmpส่วนหนึ่งของคู่มือการใช้งาน GNU cmp ใน คู่มือ diffutils ฉบับฟรี
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ cmp (Unix)
cmp เป็น คำสั่ง เชลล์ ที่ใช้เปรียบเทียบ ไฟล์ สอง ไฟล์ ประเภท ใดก็ได้และรายงานความแตกต่าง โดยค่าเริ่มต้น หากไฟล์ตรงกัน จะไม่แสดงอะไรเลย หากไฟล์แตกต่างกัน จะแสดง ไบต์...
ตัวอย่าง
ตัวอย่างการใช้งานเพื่อรายงานความแตกต่างของไบต์ระหว่างไฟล์ข้อความ
ดูเพิ่มเติม
การเปรียบเทียบเครื่องมือเปรียบเทียบไฟล์ รายการคำสั่ง POSIX
ลิงก์ภายนอก
คู่มือ Wikibook เกี่ยวกับ Unix มีหน้าหนึ่งที่กล่าวถึงหัวข้อ: คำสั่ง cmp : เปรียบเทียบไฟล์สองไฟล์ – เอกสารอ้างอิงเชลล์และยูทิลิตี้ จากข้อกำหนด UNIX ฉบับเดียว เวอร์ชัน 5 จาก The Open Group การเปรียบเทียบและการรวมไฟล์ : การเรียกใช้ cmpส่วนหนึ่งของคู่มือการใช้งาน...