นี่คือคำสั่ง fileposix ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
file — กำหนดประเภทไฟล์
เรื่องย่อ
ไฟล์ [-dh] [-ม ไฟล์] [-ม ไฟล์] ไฟล์...
ไฟล์ −i [-h] ไฟล์...
DESCRIPTION
งานวิ่งการกุศล ไฟล์ ยูทิลิตีจะต้องทำการทดสอบเป็นชุดตามลำดับในแต่ละรายการที่ระบุ ไฟล์ ใน
พยายามที่จะจำแนกมัน:
1 ถ้า ไฟล์ ไม่มีอยู่ ไม่สามารถอ่านได้ หรือไม่สามารถระบุสถานะไฟล์ได้
ผลลัพธ์จะระบุว่าไฟล์ได้รับการประมวลผล แต่ไม่สามารถระบุประเภทของไฟล์ได้
กำหนด
2. หากไฟล์ไม่ใช่ไฟล์ปกติ จะต้องระบุประเภทไฟล์ ประเภทไฟล์
ไดเร็กทอรี FIFO ซ็อกเก็ต บล็อกพิเศษ และอักขระพิเศษจะถูกระบุว่าเป็น
เช่น. ไฟล์ประเภทอื่นๆ ที่กำหนดการใช้งานอาจถูกระบุได้เช่นกัน ถ้า ไฟล์ คือ
ลิงก์สัญลักษณ์ โดยค่าเริ่มต้น ลิงก์จะได้รับการแก้ไขและ ไฟล์ จะทดสอบชนิดของ
ไฟล์ที่อ้างอิงโดยลิงก์สัญลักษณ์ (ดู -h และ -ฉัน ตัวเลือกด้านล่าง)
3. ถ้าความยาวของ ไฟล์ เป็นศูนย์ จะถูกระบุว่าเป็นไฟล์เปล่า
4. ไฟล์ ยูทิลิตี้จะต้องตรวจสอบส่วนเริ่มต้นของ ไฟล์ และจะทำการเดาที่
ระบุเนื้อหาตามการทดสอบที่ไวต่อตำแหน่ง (คำตอบคือไม่ได้
รับประกันว่าถูกต้อง เห็น -ง, -มและ -ม ตัวเลือกด้านล่าง)
5. ไฟล์ ยูทิลิตี้จะต้องตรวจสอบ ไฟล์ และคาดเดาการระบุเนื้อหาตาม
ในการทดสอบระบบเริ่มต้นตามบริบท (ไม่รับประกันว่าคำตอบจะเป็น
ถูกต้อง.)
6. ไฟล์จะถูกระบุเป็นไฟล์ข้อมูล
If ไฟล์ ไม่มีอยู่ ไม่สามารถอ่านได้ หรือไม่สามารถระบุสถานะไฟล์ได้
เอาต์พุตจะระบุว่าไฟล์ได้รับการประมวลผลแล้ว แต่ไม่สามารถระบุประเภทของไฟล์ได้
กำหนด
If ไฟล์ เป็นลิงก์สัญลักษณ์ โดยค่าเริ่มต้น ลิงก์จะได้รับการแก้ไขและ ไฟล์ จะทดสอบ
ประเภทของไฟล์ที่อ้างอิงโดยลิงก์สัญลักษณ์
OPTIONS
งานวิ่งการกุศล ไฟล์ ยูทิลิตี้จะต้องสอดคล้องกับปริมาณคำจำกัดความพื้นฐานของ POSIX.1-2008 Section
12.2, ประโยชน์ วากยสัมพันธ์ แนวทางเว้นแต่คำสั่งของ -ม, -งและ -ม ตัวเลือกจะ
มีความสำคัญ
ตัวเลือกต่อไปนี้จะได้รับการสนับสนุนโดยการดำเนินการ:
-ง ใช้การทดสอบระบบเริ่มต้นตามตำแหน่งและค่าเริ่มต้นตามบริบท
ระบบทดสอบไฟล์. นี่เป็นค่าเริ่มต้นถ้า no -ม or -ม ตัวเลือกที่
ระบุไว้
-h เมื่อพบลิงก์สัญลักษณ์ ให้ระบุไฟล์ว่าเป็นลิงก์สัญลักษณ์ ถ้า -h
ไม่ได้ระบุและ ไฟล์ เป็นลิงค์สัญลักษณ์ที่อ้างถึงไฟล์ที่ไม่มีอยู่
ไฟล์ จะต้องระบุไฟล์เป็นลิงค์สัญลักษณ์ราวกับว่า -h ได้รับการระบุ
-ฉัน หากไฟล์เป็นไฟล์ปกติ อย่าพยายามจำแนกประเภทของไฟล์
เพิ่มเติม แต่ระบุไฟล์ตามที่ระบุในส่วน STDOUT
-ม ไฟล์ ระบุชื่อไฟล์ที่มีการทดสอบแบบระบุตำแหน่งที่จะ
นำไปใช้กับไฟล์เพื่อจัดประเภท (ดูคำอธิบายเพิ่มเติม) เลขที่
การทดสอบระบบเริ่มต้นที่ไวต่อตำแหน่งหรือระบบเริ่มต้นที่ไวต่อบริบท
การทดสอบจะใช้เว้นแต่ -ง ระบุตัวเลือกด้วย
-ม ไฟล์ ระบุชื่อไฟล์ที่มีการทดสอบแบบระบุตำแหน่งที่จะ
นำไปใช้กับไฟล์เพื่อจัดประเภท (ดูคำอธิบายเพิ่มเติม)
ถ้า -ม มีการระบุตัวเลือกโดยไม่ระบุ -ง หรือตัวเลือก -ม ตัวเลือกตำแหน่ง-
การทดสอบระบบเริ่มต้นที่ละเอียดอ่อนจะต้องนำไปใช้หลังจากการทดสอบที่ไวต่อตำแหน่ง
ระบุโดย -ม ตัวเลือก. ถ้า -ม ระบุตัวเลือกด้วย -ง ตัวเลือก, -ม
ตัวเลือกหรือทั้งสองอย่างหรือ -ม ระบุตัวเลือกด้วย -ง ตัวเลือก การต่อกันของ
การทดสอบตามตำแหน่งที่ระบุโดยตัวเลือกเหล่านี้จะนำไปใช้ในลำดับ
กำหนดโดยลักษณะของตัวเลือกเหล่านี้ ถ้า -ม or -ม ไฟล์ ตัวเลือกอาร์กิวเมนต์คือ -ที่
ผลลัพธ์ไม่ระบุ
ตัวดำเนินการ
ตัวถูกดำเนินการดังต่อไปนี้จะได้รับการสนับสนุน:
ไฟล์ ชื่อพาธของไฟล์ที่จะทดสอบ
STDIN
ต้องใช้อินพุตมาตรฐานถ้า a ไฟล์ ตัวถูกดำเนินการคือ '-' และการปฏิบัติต่อการปฏิบัติ
'-' เป็นความหมายอินพุตมาตรฐาน มิฉะนั้น จะไม่สามารถใช้อินพุตมาตรฐานได้
INPUT ไฟล์
งานวิ่งการกุศล ไฟล์ สามารถเป็นไฟล์ประเภทใดก็ได้
และพวกเรา ตัวแปร
ตัวแปรสภาพแวดล้อมต่อไปนี้จะส่งผลต่อการดำเนินการของ ไฟล์:
ภาษา ระบุค่าเริ่มต้นสำหรับตัวแปรการทำให้เป็นสากลที่ไม่ได้ตั้งค่าหรือ
โมฆะ. (ดูปริมาณคำจำกัดความพื้นฐานของ POSIX.1-2008 Section 8.2,
สากล ตัวแปร เพื่อความเหนือกว่าของความเป็นสากล
ตัวแปรที่ใช้ในการกำหนดค่าของหมวดหมู่สถานที่)
LC_ALL หากตั้งค่าเป็นค่าสตริงที่ไม่ว่าง ให้แทนที่ค่าของค่าอื่นๆ ทั้งหมด
ตัวแปรความเป็นสากล
LC_CTYPE กำหนดสถานที่สำหรับการตีความลำดับไบต์ของข้อมูลข้อความ
เป็นอักขระ (เช่น ไบต์เดี่ยวเมื่อเทียบกับอักขระหลายไบต์ใน
อาร์กิวเมนต์และไฟล์อินพุต)
LC_MESSAGES
กำหนดโลแคลที่ควรใช้เพื่อส่งผลต่อรูปแบบและเนื้อหาของ
ข้อความวินิจฉัยที่เขียนถึงข้อผิดพลาดมาตรฐานและข้อความข้อมูลที่เขียน
สู่เอาต์พุตมาตรฐาน
นศ กำหนดตำแหน่งของแค็ตตาล็อกข้อความสำหรับการประมวลผลของ LC_MESSAGES.
อะซิงโครนัส กิจกรรม
ผิดนัด
STDOUT
ในภาษา POSIX รูปแบบต่อไปนี้จะถูกใช้เพื่อระบุตัวถูกดำเนินการแต่ละตัว ไฟล์
ระบุ:
"%NS: %s\n", <ไฟล์>,ชนิด>
ค่าสำหรับชนิด> ไม่ระบุ ยกเว้นว่าในโลแคล POSIX if ไฟล์ is
ระบุเป็นหนึ่งในประเภทที่ระบุไว้ในตารางต่อไปนี้ชนิด> จะต้องมี (แต่ is
ไม่จำกัดเฉพาะ) สตริงที่เกี่ยวข้อง เว้นแต่ไฟล์จะถูกระบุโดยตำแหน่ง-
การทดสอบที่ละเอียดอ่อนที่ระบุโดยa -ม or -ม ตัวเลือก. แต่ละ แสดงในสตริงจะเป็น
หนึ่งเดียว .
ตาราง 4-9: เนื้อไม่มีมัน ประโยชน์ เอาท์พุต Strings
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────... ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────...
│ If ไฟล์ คือ: │ <ชนิด> จะต้อง บรรจุ สตริง: │ หมายเหตุ : │
├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────... ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────...
│ไม่มีอยู่ │ เปิดไม่ได้ │ │
บัญชีผู้ใช้นี้เป็นส่วนตัว
│บล็อกพิเศษ │ บล็อกพิเศษ │ 1 │
│ตัวละครพิเศษ │ ตัวละครพิเศษ │ 1 │
│ไดเร็กทอรี │ ไดเร็กทอรี │ 1 │
│FIFO │ ฟีโฟ │ 1 │
│ซ็อกเก็ต │ ซ็อกเก็ต │ 1 │
│ลิงก์สัญลักษณ์ │ ลิงก์สัญลักษณ์ไปยัง │ 1 │
│ไฟล์ปกติ │ ไฟล์ปกติ │ 1,2 │
│ ไฟล์ปกติที่ว่างเปล่า │ ว่างเปล่า │ 3 │
│ ไฟล์ปกติที่ไม่สามารถอ่านได้ │ เปิดไม่ได้ │ 3 │
บัญชีผู้ใช้นี้เป็นส่วนตัว
│ไบนารีที่ปฏิบัติการได้ │ ปฏิบัติการได้ │ 3,4,6 │
│ar ห้องสมุดเก็บถาวร (ดู ar) │ ไฟล์เก็บถาวร │ 3,4,6 │
│ขยายเวลา cpio รูปแบบ (ดู ท่าน) │ ไฟล์ cpio │ 3,4,6 │
│ขยายเวลา น้ำมันดิน รูปแบบ (ดู ใช้ in ท่าน) │ คลังข้อมูล tar │ 3,4,6 │
บัญชีผู้ใช้นี้เป็นส่วนตัว
│เชลล์สคริปต์ │ ข้อความคำสั่ง │ 3,5,6 │
│ต้นฉบับภาษาซี │ ข้อความโปรแกรม c │ 3,5,6 │
│แหล่งที่มาของ FORTRAN │ ข้อความโปรแกรม Fortran │ 3,5,6 │
บัญชีผู้ใช้นี้เป็นส่วนตัว
│ไฟล์ปกติที่ไม่สามารถระบุประเภทได้ │ ข้อมูล │ 3 │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────... ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────...
หมายเหตุ:
1. นี่คือการทดสอบประเภทไฟล์
2. การทดสอบนี้ใช้เฉพาะในกรณีที่ -ฉัน มีการระบุตัวเลือก
3. การทดสอบนี้ใช้เฉพาะในกรณีที่ -ฉัน ไม่ได้ระบุตัวเลือก
4. นี่คือการทดสอบระบบเริ่มต้นที่ไวต่อตำแหน่ง
5. นี่คือการทดสอบระบบเริ่มต้นตามบริบท
6. การทดสอบระบบเริ่มต้นที่ไวต่อตำแหน่งและระบบเริ่มต้นที่ไวต่อบริบท
การทดสอบจะไม่ถูกนำไปใช้หาก -ม ระบุตัวเลือกเว้นแต่ -ง ตัวเลือกที่
ระบุไว้ด้วย
ในภาษา POSIX ถ้า ไฟล์ ถูกระบุว่าเป็นลิงค์สัญลักษณ์ (ดู -h ตัวเลือก) the
ให้ใช้รูปแบบเอาต์พุตทางเลือกต่อไปนี้:
"%NS: %s %s\n", <ไฟล์>,ชนิด>,เนื้อหา of ลิงค์>"
หากไฟล์ที่ตั้งชื่อโดย ไฟล์ ตัวถูกดำเนินการไม่มีอยู่ ไม่สามารถอ่านได้ หรือชนิดของตัวถูกดำเนินการ
ไฟล์ที่ตั้งชื่อโดย the ไฟล์ ไม่สามารถระบุตัวถูกดำเนินการได้ ไม่ถือว่าเป็นข้อผิดพลาด
ที่ส่งผลต่อสถานะการออก
สแตเดอร์
ข้อผิดพลาดมาตรฐานจะใช้สำหรับข้อความวินิจฉัยเท่านั้น
เอาท์พุท ไฟล์
ไม่
ขยาย DESCRIPTION
ไฟล์ที่ระบุเป็นตัวเลือกอาร์กิวเมนต์เพื่อ -ม or -ม ตัวเลือกจะต้องมีหนึ่งตำแหน่ง-
การทดสอบที่ละเอียดอ่อนต่อบรรทัด ซึ่งจะนำไปใช้กับไฟล์ หากการทดสอบสำเร็จ
ฟิลด์ข้อความของบรรทัดจะต้องพิมพ์และจะไม่ใช้การทดสอบเพิ่มเติมด้วย
ข้อยกเว้นที่ทดสอบในบรรทัดถัดไปทันทีที่ขึ้นต้นด้วยตัวเดียว '>' ตัวอักษร
จะถูกนำไปใช้
แต่ละบรรทัดจะประกอบด้วยสี่ .ต่อไปนี้ - เขตข้อมูลที่แยกจากกัน (การดำเนินการ
อาจอนุญาตให้มีอักขระช่องว่างหนึ่งตัวหรือมากกว่ารวมกันนอกเหนือจาก ถึง
ทำหน้าที่เป็นตัวคั่นสนาม)
ชดเชย หมายเลขที่ไม่ได้ลงชื่อ (อาจนำหน้าด้วยเดียว '>' ตัวอักษร) ระบุ
ชดเชยเป็นไบต์ของค่าในไฟล์ที่จะเปรียบเทียบกับ
ความคุ้มค่า ฟิลด์ของบรรทัด หากไฟล์สั้นกว่าออฟเซ็ตที่ระบุ
การทดสอบจะล้มเหลว
ถ้า ชดเชย ขึ้นต้นด้วยตัวอักษร '>', การทดสอบที่มีอยู่ในบรรทัด
จะไม่นำไปใช้กับไฟล์เว้นแต่การทดสอบในบรรทัดสุดท้ายที่
ชดเชย ไม่ได้ขึ้นต้นด้วย '>' ประสบความสำเร็จ โดยค่าเริ่มต้น the ชดเชย จะเป็น
ตีความว่าเป็นเลขทศนิยมที่ไม่ได้ลงนาม ด้วย 0x หรือ 0X นำหน้า the ชดเชย
ให้ตีความว่าเป็นเลขฐานสิบหก มิฉะนั้น ด้วย 0 นำหน้า the
ชดเชย ให้ตีความว่าเป็นเลขฐานแปด
ชนิด ประเภทของค่าในไฟล์ที่จะทดสอบ ประเภทจะต้องประกอบด้วย
พิมพ์ข้อมูลจำเพาะตัวอักษร d, sและ u, ระบุทศนิยม, สตริง,
และทศนิยมไม่มีเครื่องหมาย ตามลำดับ
งานวิ่งการกุศล ชนิด สตริงจะถูกตีความว่าเป็นไบต์จากไฟล์ที่เริ่มต้นที่
ที่ระบุไว้ ชดเชย และรวมถึงจำนวนไบต์เท่ากันที่ .กำหนด ความคุ้มค่า
สนาม. หากไบต์ไม่เพียงพอยังคงอยู่ในไฟล์หลังจาก ชดเชย เพื่อให้ตรงกับ
ความคุ้มค่า การทดสอบจะล้มเหลว
ตัวอักษรข้อมูลจำเพาะประเภท d และ u สามารถตามด้วยตัวเลือก
จำนวนเต็มทศนิยมที่ไม่ได้ลงนามซึ่งระบุจำนวนไบต์ที่แสดงโดย
พิมพ์. ตัวอักษรข้อมูลจำเพาะประเภท d และ u สามารถตามด้วยตัวเลือก
C, S, I,หรือ Lแสดงว่าค่าเป็นประเภท ถัง, Short , int,หรือ ยาว,
ตามลำดับ
จำนวนไบต์เริ่มต้นที่แสดงโดยตัวระบุประเภท d, fและ u จะต้อง
สอดคล้องกับประเภทภาษา C ตามลำดับดังนี้ หากระบบเรียกร้อง
สอดคล้องกับตัวเลือกยูทิลิตี้การพัฒนาภาษา C ตัวระบุเหล่านั้น
จะสอดคล้องกับขนาดเริ่มต้นที่ใช้ใน c99 คุณประโยชน์. มิฉะนั้น
ขนาดเริ่มต้นจะต้องกำหนดการใช้งาน
สำหรับตัวระบุประเภทอักขระ d และ u, จำนวนไบต์เริ่มต้นจะ
สอดคล้องกับขนาดของประเภทจำนวนเต็มพื้นฐานของการใช้งาน สำหรับสิ่งเหล่านี้
ตัวระบุ การดำเนินการจะต้องสนับสนุนค่าของตัวเลือก
จำนวนไบต์ที่จะแปลงตามจำนวนไบต์ใน C-
ประเภทภาษา ถัง, Short , int,หรือ ยาว. สามารถระบุตัวเลขเหล่านี้ได้
โดยแอพพลิเคชั่นเป็นตัวละคร C, S, Iและ Lตามลำดับ ลำดับไบต์
ใช้เมื่อตีความค่าตัวเลขเป็นการดำเนินการที่กำหนดไว้ แต่จะ
สอดคล้องกับลำดับที่เก็บค่าคงที่ประเภทที่สอดคล้องกัน
ในหน่วยความจำในระบบ
ตัวระบุประเภททั้งหมด ยกเว้นสำหรับ sสามารถตามด้วยตัวระบุหน้ากากของ
รูปร่าง &จำนวน. ค่ามาสก์จะเป็น AND'ed กับค่าของไฟล์อินพุต
ก่อนนำไปเปรียบเทียบกับ ความคุ้มค่า ฟิลด์ของบรรทัดถูกสร้างขึ้น โดยค่าเริ่มต้น the
หน้ากากจะถูกตีความว่าเป็นตัวเลขทศนิยมที่ไม่ได้ลงนาม ด้วย 0x หรือ . นำหน้า
0X มาสก์จะถูกตีความว่าเป็นเลขฐานสิบหกที่ไม่ได้ลงนาม มิฉะนั้น,
ด้วย 0 นำหน้า หน้ากากจะถูกตีความว่าเป็นเลขฐานแปดที่ไม่ได้ลงนาม
สตริง ไบต์, Short , ยาวและ เชือก จะได้รับการสนับสนุนเป็นประเภท
สาขาที่กำลังตีความว่าเป็น dC, dS, dLและ sตามลำดับ
ความคุ้มค่า งานวิ่งการกุศล ความคุ้มค่า เพื่อนำไปเปรียบเทียบกับค่าจากไฟล์
หากตัวระบุจากฟิลด์ประเภทคือ s or เชือกแล้วตีความค่าเป็น
สตริง. มิฉะนั้น ให้ตีความว่าเป็นตัวเลข หากค่าเป็นสตริง ดังนั้น
การทดสอบจะสำเร็จก็ต่อเมื่อค่าสตริงตรงกับไบต์จาก
ไฟล์
ถ้า ความคุ้มค่า เป็นสตริง มันสามารถมีลำดับต่อไปนี้:
\ตัวอักษร NS ลำดับ -escape ตามที่ระบุไว้ใน Base
ปริมาณคำจำกัดความของ POSIX.1-2008, ตาราง 5-1, หนี ลำดับ และ
ที่เกี่ยวข้อง สถานะ ('\\', '\NS', '\NS', '\NS', '\NS', '\NS', '\NS', '\วี').
นอกจากนี้ ลำดับการหลบหนี '\ ' (NS อักขระ
ตามด้วย อักขระ) จะต้องได้รับการยอมรับให้เป็นตัวแทนของa
อักขระ. ผลลัพธ์ของการใช้อักขระอื่น ๆ อื่น ๆ
มากกว่าเลขฐานแปดตามหลัง ไม่ได้ระบุ
\ฐานแปด ลำดับเลขฐานแปดที่ใช้แทนอักขระได้
ค่ารหัสเฉพาะ ลำดับฐานแปดต้องประกอบด้วย a
ตามด้วยลำดับที่ยาวที่สุดของหนึ่ง สอง หรือสาม
อักขระฐานแปด (01234567)
โดยค่าเริ่มต้น ค่าใดๆ ที่ไม่ใช่สตริงจะถูกตีความว่าเป็นเครื่องหมาย
เลขทศนิยม ค่าใด ๆ ที่มี 0x หรือ 0X นำหน้าจะถูกตีความว่าเป็น
เลขฐานสิบหกไม่มีเครื่องหมาย มิฉะนั้นด้วยศูนย์นำหน้าค่าจะ
ถูกตีความว่าเป็นเลขฐานแปดที่ไม่ได้ลงนาม
หากค่าไม่ใช่สตริง ให้นำหน้าด้วยอักขระที่ระบุว่า
การเปรียบเทียบที่จะดำเนินการ อักขระที่อนุญาตและการเปรียบเทียบพวกเขา
ระบุได้ดังนี้
= การทดสอบจะสำเร็จหากค่าจากไฟล์เท่ากับ ความคุ้มค่า สนาม
< การทดสอบจะสำเร็จหากค่าจากไฟล์น้อยกว่า ความคุ้มค่า
สนาม
> การทดสอบจะสำเร็จหากค่าจากไฟล์มากกว่าค่า
ความคุ้มค่า สนาม
& การทดสอบจะสำเร็จหากบิตที่ตั้งไว้ใน ความคุ้มค่า ฟิลด์ถูกตั้งค่า
ในค่าจากไฟล์.
^ การทดสอบจะสำเร็จถ้าอย่างน้อยหนึ่งชุดบิตใน ความคุ้มค่า สนาม
ไม่ได้ตั้งค่าจากไฟล์
x การทดสอบจะสำเร็จหากไฟล์มีขนาดใหญ่พอที่จะมีค่า
ประเภทที่ระบุเริ่มต้นที่ออฟเซ็ตที่ระบุ
ข่าวสาร งานวิ่งการกุศล ข่าวสาร จะพิมพ์หากการทดสอบสำเร็จ NS ข่าวสาร จะตีความ
โดยใช้สัญกรณ์สำหรับ printf ข้อกำหนดการจัดรูปแบบ ดู printf. หาก
ความคุ้มค่า field เป็นสตริง ดังนั้นค่าจากไฟล์จะเป็นอาร์กิวเมนต์สำหรับ
printf ข้อกำหนดการจัดรูปแบบ มิฉะนั้น ค่าจากไฟล์จะเป็น
อาร์กิวเมนต์
EXIT สถานภาพ
ค่าทางออกต่อไปนี้จะถูกส่งคืน:
0 สำเร็จลุล่วง
>0 เกิดข้อผิดพลาด
ผลกระทบที่เกิด OF ข้อผิดพลาด
ผิดนัด
งานวิ่งการกุศล ดังต่อไปนี้ ส่วน เป็น ข้อมูล.
ใบสมัคร การใช้
งานวิ่งการกุศล ไฟล์ ยูทิลิตีจำเป็นต้องเดาไฟล์หลายประเภทเท่านั้นเพราะ only
การทดสอบอย่างละเอียดถี่ถ้วนสามารถระบุบางประเภทได้อย่างแน่นอน ตัวอย่างเช่น ข้อมูลไบนารีบน
การใช้งานบางอย่างอาจตรงกับส่วนเริ่มต้นของไฟล์เรียกทำงานหรือa น้ำมันดิน เก็บ
โปรดทราบว่าตารางระบุว่าเอาต์พุตมีสตริงที่ระบุ ระบบอาจเพิ่ม
ข้อความก่อนหรือหลังสตริง สำหรับไฟล์เรียกทำงาน ตัวอย่างเช่น สถาปัตยกรรมเครื่อง
และอาจรวมข้อเท็จจริงต่างๆ เกี่ยวกับวิธีการแก้ไขไฟล์ด้วยลิงก์ โปรดทราบว่าเมื่อ
ระบบที่รู้จักไฟล์เชลล์สคริปต์ที่ขึ้นต้นด้วย "#!" เป็นไฟล์ปฏิบัติการเหล่านี้
อาจถูกระบุว่าเป็นไฟล์ไบนารีที่เรียกใช้งานได้แทนที่จะเป็นเชลล์สคริปต์
ตัวอย่าง
ตรวจสอบว่าอาร์กิวเมนต์เป็นไฟล์ปฏิบัติการแบบไบนารีหรือไม่:
ไฟล์ −− "$1" | grep -q ':.*ปฏิบัติการได้' &&
printf "%NS is ปฏิบัติการได้\n$1"
หลักการและเหตุผล
งานวิ่งการกุศล -ฉ ละเว้นตัวเลือกเนื่องจากสามารถ (และควร) เอฟเฟกต์เดียวกันได้โดยใช้
xargs ประโยชน์
เวอร์ชันประวัติศาสตร์ของ ไฟล์ ยูทิลิตี้พยายามระบุไฟล์ประเภทต่อไปนี้:
ลิงค์สัญลักษณ์, ไดเร็กทอรี, ตัวละครพิเศษ, บล็อกพิเศษ, ซ็อกเก็ต, น้ำมันดิน เก็บ cpio
เก็บถาวร, เก็บถาวร SCCS, ห้องสมุดเก็บถาวร, ว่างเปล่า, อัด เอาท์พุท ห่อ เอาต์พุต, ข้อมูลไบนารี,
แหล่ง C, แหล่ง FORTRAN, แหล่งแอสเซมเบลอร์, ไม่/troff/อีคิว/ช้อนโต๊ะ แหล่ง troff เอาท์พุต เชลล์
สคริปต์, สคริปต์ C เชลล์, ข้อความภาษาอังกฤษ, ข้อความ ASCII, โปรแกรมปฏิบัติการต่างๆ, พื้นที่ทำงาน APL,
รวบรวมรายการ terminfo และภาพหน้าจอ CURSES เฉพาะประเภทที่สมเหตุสมผล
ระบุไว้อย่างดีใน POSIX หรือเกี่ยวข้องโดยตรงกับยูทิลิตี้ POSIX อยู่ในรายการ
ตาราง
ระบบประวัติศาสตร์ใช้ ``ไฟล์วิเศษ'' ที่ชื่อ /etc/มายากล เพื่อช่วยระบุไฟล์
ประเภท เพราะโดยทั่วไปจะเป็นประโยชน์สำหรับผู้ใช้และสคริปต์เพื่อให้สามารถระบุพิเศษได้
ประเภทไฟล์ -ม แฟล็กและรูปแบบพกพาสำหรับไฟล์เวทย์มนตร์ที่ผู้ใช้สร้างขึ้น
ระบุไว้ ไม่มีข้อกำหนดว่าการดำเนินการของ ไฟล์ ใช้วิธีนี้ของ
ระบุไฟล์ เฉพาะผู้ใช้เท่านั้นที่ได้รับอนุญาตให้เพิ่มการทดสอบการจำแนกประเภทของตนเอง
นอกจากนี้ยังมีการเพิ่มทางเลือกสามทางในการปฏิบัติทางประวัติศาสตร์ NS -ง ธงได้รับ
เพิ่มเพื่ออนุญาตให้ผู้ใช้ทำการทดสอบตามการทดสอบระบบเริ่มต้น NS -ฉัน ธง
เพิ่มเข้ามาเพื่ออนุญาตให้ผู้ใช้ทดสอบแบบพกพาสำหรับไฟล์ปกติในเชลล์สคริปต์ NS -ม
เพิ่มการตั้งค่าสถานะเพื่ออนุญาตให้ผู้ใช้ละเว้นการทดสอบระบบเริ่มต้นใดๆ
คำอธิบาย POSIX.1-2008 ของการทดสอบระบบเริ่มต้นและการโต้ตอบระหว่าง -ง,
-มและ -ม ตัวเลือกไม่ได้ระบุอย่างชัดเจนว่ามี ``ระบบเริ่มต้น' สองประเภท
แบบทดสอบ'' ``การทดสอบที่ไวต่อตำแหน่ง'' กำหนดประเภทไฟล์โดยการค้นหาบางอย่าง
ค่าสตริงหรือไบนารีที่ออฟเซ็ตเฉพาะในไฟล์ที่กำลังตรวจสอบ ตำแหน่งเหล่านี้-
การทดสอบที่ละเอียดอ่อนถูกนำมาใช้ในระบบประวัติศาสตร์โดยใช้ไฟล์เวทย์มนตร์ที่อธิบายไว้
ข้างต้น. การทดสอบเหล่านี้บางส่วนได้ถูกสร้างขึ้นใน ไฟล์ ยูทิลิตี้ตัวเองในบางส่วน
การนำไปใช้งานเพื่อให้ผลลัพธ์สามารถให้รายละเอียดมากกว่าที่จะให้ไฟล์เวทย์มนตร์
ตัวอย่างเช่น ไฟล์เวทย์มนตร์สามารถระบุ a . ได้อย่างง่ายดาย แกน ไฟล์ในการใช้งานส่วนใหญ่แต่
ไม่สามารถตั้งชื่อไฟล์โปรแกรมที่ทิ้งคอร์ได้ ไฟล์เวทย์มนตร์สามารถสร้างผลลัพธ์ได้เช่น
เป็น:
/home/dwc/แกน: เอลฟ์ 32 บิต MSB แกน ไฟล์ SPARC เวอร์ชั่น 1
แต่ด้วยการสร้างการทดสอบเป็น ไฟล์ ยูทิลิตี้ คุณสามารถรับผลลัพธ์เช่น:
/home/dwc/แกน: เอลฟ์ 32 บิต MSB แกน ไฟล์ SPARC เวอร์ชั่น 1, รถในตำนานจากเกม 'โปรแกรมทดสอบ'
การทดสอบในตัวแบบขยายเหล่านี้ยังคงถูกมองว่าเป็นระบบดีฟอลต์ที่ไวต่อตำแหน่ง
การทดสอบแม้ว่าจะไม่ได้ระบุไว้ใน /etc/มายากล หรือไฟล์เวทย์มนตร์อื่น ๆ
การทดสอบระบบดีฟอลต์ตามบริบทมักสร้างขึ้นใน ไฟล์ คุณประโยชน์. เหล่านี้
การทดสอบมองหาการสร้างภาษาในไฟล์ข้อความที่พยายามระบุเชลล์สคริปต์, C,
FORTRAN และไฟล์ต้นฉบับภาษาคอมพิวเตอร์อื่นๆ และแม้แต่ไฟล์ข้อความธรรมดา กับ
การเพิ่มของ -ม และ -ม ตัวเลือกความแตกต่างระหว่างตำแหน่งที่ละเอียดอ่อนและบริบท-
การทดสอบระบบเริ่มต้นที่ละเอียดอ่อนมีความสำคัญเนื่องจากลำดับการทดสอบมีความสำคัญ
ไม่ควรใช้การทดสอบดีฟอลต์ของระบบที่ไวต่อบริบทก่อนตำแหน่งใดๆ
การทดสอบที่มีความละเอียดอ่อนแม้ว่า -ง ระบุตัวเลือกก่อน a -ม option หรือ -ม ตัวเลือกเนื่องจาก
ความน่าจะเป็นสูงที่การทดสอบค่าเริ่มต้นของระบบที่ไวต่อบริบทจะไม่ถูกต้อง
ระบุไฟล์ข้อความที่กำหนดเองเป็นไฟล์ข้อความก่อนการทดสอบตามตำแหน่งที่ระบุโดย
-ม or -ม จะใช้ตัวเลือกเพื่อให้ระบุตัวตนได้แม่นยำยิ่งขึ้น
ทิ้งความหมายของ -ม - และ -ม - ไม่ระบุช่วยให้ต้นแบบที่มีอยู่ของเหล่านี้
ตัวเลือกเพื่อทำงานต่อไปในลักษณะที่เข้ากันได้แบบย้อนหลัง (ในการนำไปปฏิบัตินั้น -ม
- มีค่าเท่ากับ -ง ใน POSIX.1-2008)
ทางประวัติศาสตร์ -ค ตัวเลือกถูกละไว้เนื่องจากไม่มีประโยชน์อย่างยิ่งต่อผู้ใช้หรือเชลล์แบบพกพา
สคริปต์ นอกจากนี้ การดำเนินการตามสมควรของ ไฟล์ ยูทิลิตี้จะรายงานใด ๆ
พบข้อผิดพลาดทุกครั้งที่อ่านไฟล์มายากล
รูปแบบทางประวัติศาสตร์ของไฟล์เวทย์มนตร์เหมือนกับที่ระบุโดยเหตุผลใน
มาตรฐาน ISO POSIX-2: 1993 สำหรับ ชดเชย, ความคุ้มค่าและ ข่าวสาร ฟิลด์; อย่างไรก็ตามมันใช้
ฟิลด์ประเภทที่แม่นยำน้อยกว่ารูปแบบที่ระบุโดยข้อความเชิงบรรทัดฐานปัจจุบัน ใหม่
ค่าของฟิลด์ type เป็น superset ของค่าในอดีต
ต่อไปนี้เป็นตัวอย่างไฟล์มายากล:
0 Short 070707 cpio เก็บ
0 Short 0143561 สลับไบต์ cpio เก็บ
0 เชือก 070707 ASCII cpio เก็บ
0 ยาว 0177555 มาก เก่า เก็บ
0 Short 0177545 เก่า เก็บ
0 Short 017437 เก่า แน่น ข้อมูล
0 เชือก \037\036 แน่น ข้อมูล
0 เชือก \377\037 บดอัดแน่น ข้อมูล
0 เชือก \037\235 การบีบอัด ข้อมูล
>2 ไบต์&0x80 >0 ปิดกั้น ถูกอัด
>2 byte&0x1f x %d บิต
0 เชือก \032\001 รวบรวม เทอร์มิโฟ การเข้า
0 Short 0433 คำสาป จอภาพ ภาพ
0 Short 0434 คำสาป จอภาพ ภาพ
0 เชือก System V ปล่อย 1 เก็บ
0 เชือก ! \n__.SYMDEF เอกสารเก่า สุ่ม ห้องสมุด
0 เชือก ! เอกสารเก่า
0 เชือก ARF_BEGARF PHIG ชัดเจน ข้อความ เก็บ
0 ยาว 0x137A2950 สามารถปรับขนาดได้ โอเพ่นฟอนต์ ไบนารี
0 ยาว 0x137A2951 เข้ารหัส ที่ปรับขนาดได้ โอเพ่นฟอนต์ ไบนารี
การใช้ชนิดข้อมูลจำนวนเต็มพื้นฐานมีจุดมุ่งหมายเพื่อให้การใช้งานสามารถเลือก a
ขนาดคำที่ใช้กันทั่วไปโดยแอปพลิเคชันบนสถาปัตยกรรมนั้น
เวอร์ชันก่อนหน้าของมาตรฐานนี้อนุญาตให้ใช้งานกับไบต์อื่นที่ไม่ใช่แปด
บิต แต่สิ่งนี้ได้รับการแก้ไขในเวอร์ชันนี้
อนาคต ลู่ทาง
ไม่
ใช้ fileposix ออนไลน์โดยใช้บริการ onworks.net