กลับไปหน้าบทความ

อ่าน 6 นาที

คุณลักษณะของไฟล์

แอตทริบิวต์ของไฟล์ เป็น เมตาเดตา ประเภทหนึ่งที่อธิบายและอาจแก้ไขวิธี การทำงาน ของไฟล์ และ/หรือ ไดเร็กทอรี ใน ระบบไฟล์...

คุณลักษณะของไฟล์

แอตทริบิวต์ของไฟล์ เป็น เมตาเดตาประเภทหนึ่งที่อธิบายและอาจแก้ไขวิธี การทำงาน ของไฟล์และ/หรือไดเร็กทอรีในระบบไฟล์แอตทริบิวต์ของไฟล์ทั่วไปอาจระบุหรือกำหนดว่าไฟล์นั้นสามารถมองเห็นได้ แก้ไขได้ บีบอัด หรือเข้ารหัสหรือไม่ ความพร้อมใช้งานของแอตทริบิวต์ของไฟล์ส่วนใหญ่ขึ้นอยู่กับการสนับสนุนโดยระบบไฟล์พื้นฐาน (เช่นFAT , NTFS , ext4 ) ซึ่งข้อมูลแอตทริบิวต์จะต้องถูกจัดเก็บไว้ร่วมกับโครงสร้างควบคุมอื่นๆ แอตทริบิวต์แต่ละรายการสามารถมีสถานะได้สองสถานะ คือ ตั้งค่าแล้วและล้างแล้ว แอตทริบิวต์ถือว่าแตกต่างจากเมตาเดตาอื่นๆ เช่น วันที่และเวลานามสกุลไฟล์หรือสิทธิ์การเข้าถึงระบบไฟล์นอกจากไฟล์แล้วโฟลเดอร์วอลุ่มและวัตถุระบบไฟล์อื่นๆ ก็อาจมีแอตทริบิวต์ ด้วย

ยูนิกซ์และโพสิกซ์

ใน ระบบ Unixและระบบที่คล้าย Unix รวมถึง ระบบที่สอดคล้องกับมาตรฐาน POSIXแต่ละไฟล์จะมี 'โหมด' ที่ประกอบด้วยแฟล็กบิต 9 ตัว ซึ่งควบคุมสิทธิ์ในการอ่าน เขียน และเรียกใช้งานสำหรับเจ้าของไฟล์ กลุ่ม และผู้ใช้อื่นๆ ทั้งหมด (ดูรายละเอียดเพิ่มเติมได้ที่ สิทธิ์ของระบบไฟล์ §สิทธิ์แบบดั้งเดิมของ Unix ) นอกจากนี้ยังมี แฟล็กบิตsetuidและsetgid และ แฟล็กบิต 'sticky'โหมดนี้ยังระบุประเภทของไฟล์ (ไฟล์ปกติ ไดเร็กทอรี หรือประเภทพิเศษอื่นๆ) ด้วย

4.4BSD และเวอร์ชันที่พัฒนาต่อยอดจากเวอร์ชันนี้

ใน4.4BSDและ4.4BSD-Liteไฟล์และไดเร็กทอรี (โฟลเดอร์) ยอมรับแอตทริบิวต์สี่อย่างที่เจ้าของไฟล์หรือผู้ใช้ระดับสูงสุด สามารถตั้งค่าได้ (แอตทริบิวต์ "ผู้ใช้") และแอตทริบิวต์สองอย่างที่ผู้ใช้ระดับสูงสุดเท่านั้นที่สามารถตั้งค่าได้ (แอตทริบิวต์ "ระบบ"): [ 1 ]

  • (ผู้ใช้) ไม่บันทึกข้อมูล : เมื่อตั้งค่านี้ จะแสดงว่าไฟล์หรือไดเร็กทอรีนั้นไม่ควรถูกบันทึกในระหว่างการสำรองข้อมูล
  • (ผู้ใช้และระบบ) ไม่สามารถเปลี่ยนแปลงได้ : เมื่อตั้งค่านี้ จะระบุว่าไฟล์หรือไดเร็กทอรีนั้นไม่ควรถูกแก้ไข การพยายามเปิดไฟล์เพื่อเขียน สร้างไฟล์ภายในไดเร็กทอรี ลบไฟล์ออกจากไดเร็กทอรี เปลี่ยนชื่อไฟล์ภายในไดเร็กทอรี เปลี่ยนชื่อไฟล์หรือไดเร็กทอรี หรือลบไฟล์หรือไดเร็กทอรี จะล้มเหลวโดยมีข้อผิดพลาดเกี่ยวกับสิทธิ์การเข้าถึง
  • (ผู้ใช้และระบบ) เพิ่มข้อมูลต่อท้ายเท่านั้น : เมื่อตั้งค่านี้ จะระบุว่าไฟล์นั้นสามารถเพิ่มข้อมูลต่อท้ายได้เท่านั้น
  • (ผู้ใช้) ทึบแสง : เมื่อตั้งค่านี้กับไดเร็กทอรี จะแสดงว่าไดเร็กทอรีนั้นทึบแสงเมื่อดูผ่านยูเนียนสแต็

FreeBSDได้เพิ่มคุณสมบัติเพิ่มเติมบางอย่าง[ 2 ]ซึ่งได้รับการสนับสนุนโดยDragonFly BSD เช่นกัน : [ 3 ]

  • (ผู้ใช้และระบบ) ห้ามลบลิงก์ : เมื่อตั้งค่านี้ จะระบุว่าไฟล์หรือไดเร็กทอรีนั้นไม่ควรเปลี่ยนชื่อหรือลบ การพยายามเปลี่ยนชื่อหรือลบไฟล์หรือไดเร็กทอรีจะล้มเหลวพร้อมข้อผิดพลาดเกี่ยวกับสิทธิ์

FreeBSD ยังรองรับ: [ 2 ]

  • (ระบบ) ไม่เก็บถาวร : เมื่อตั้งค่านี้ จะระบุว่าไฟล์หรือไดเร็กทอรีนั้นไม่ควรถูกเก็บถาวร
  • (สแนปช็อตของระบบ) : เมื่อตั้งค่าแล้ว จะแสดงว่าไฟล์หรือไดเร็กทอรีนั้นเป็นไฟล์สแนปช็อต คุณสมบัตินี้ได้รับการดูแลโดยระบบ และไม่สามารถตั้งค่าได้ แม้แต่โดยผู้ใช้ระดับสูงสุดก็ตาม

ในขณะที่ DragonFly BSD รองรับ: [ 3 ]

  • (ผู้ใช้และระบบ) ไม่เก็บประวัติ : เมื่อตั้งค่านี้ จะระบุว่าไม่ควรเก็บประวัติสำหรับไฟล์หรือไดเร็กทอรีนั้น
  • (ผู้ใช้) Swapcache : เมื่อตั้งค่าแล้ว จะระบุว่าข้อมูลระบบไฟล์ที่สะอาดสำหรับไฟล์ หรือสำหรับไดเร็กทอรีและทุกอย่างที่อยู่ภายใต้ไดเร็กทอรีนั้น ควรถูกแคชไว้ในพื้นที่สวอปบนไดรฟ์โซลิดสเต
  • (ระบบ) Swapcache : เมื่อตั้งค่าแล้ว จะแสดงว่าข้อมูลระบบไฟล์ที่สะอาดสำหรับไฟล์ หรือสำหรับไดเร็กทอรีและทุกอย่างที่อยู่ภายใต้ไดเร็กทอรีนั้นไม่ ควร ถูกแคชไว้ในพื้นที่สวอปบนไดรฟ์โซลิดสเตท
  • (ระบบ) เก็บถาวร : เมื่อตั้งค่าแล้ว จะแสดงว่าไฟล์หรือไดเร็กทอรีนั้นอาจถูกเก็บถาวร

NetBSDเพิ่มแอตทริบิวต์อีกตัวหนึ่ง[ 4 ] ซึ่ง OpenBSDก็รองรับเช่นกัน: [ 5 ]

  • (ระบบ) เก็บถาวร : เมื่อตั้งค่าแล้ว จะแสดงว่าไฟล์หรือไดเร็กทอรีนั้นถูกเก็บถาวรแล้ว

macOSเพิ่มคุณสมบัติสามอย่าง:

  • (ผู้ใช้) ซ่อน : เมื่อตั้งค่าแล้ว จะระบุว่าไฟล์หรือไดเร็กทอรีนั้นไม่ควรแสดงใน GUI โดยค่าเริ่มต้น แต่ คำสั่ง lsจะแสดงผล[ 6 ]
  • (ระบบ) จำกัด : เมื่อตั้งค่าแล้ว จะแสดงว่าไฟล์หรือไดเร็กทอรีนั้นจะได้รับการป้องกันโดยระบบรักษาความปลอดภัยความสมบูรณ์ของระบบ (System Integrity Protection)
  • (ผู้ใช้และระบบ) บีบอัด : คุณสมบัติอ่านอย่างเดียวสำหรับไฟล์ที่บีบอัดโดยใช้การบีบอัดHFS+

ในระบบเหล่านี้ คำสั่ง `use` chflagsและ ` lsuse` สามารถใช้เพื่อเปลี่ยนแปลงและแสดงคุณสมบัติของไฟล์ได้ ในการเปลี่ยนแปลงคุณสมบัติ "ผู้ใช้" บนไฟล์ในระบบปฏิบัติการที่พัฒนามาจาก 4.4BSD ผู้ใช้จะต้องเป็นเจ้าของไฟล์หรือเป็นผู้ใช้ระดับสูงสุด ส่วนในการเปลี่ยนแปลงคุณสมบัติ "ระบบ" ผู้ใช้จะต้องเป็นผู้ใช้ระดับสูงสุดเช่นกัน

ลินุกซ์

ระบบ ปฏิบัติการ Linuxสามารถรองรับคุณสมบัติไฟล์ได้หลากหลายซึ่งสามารถแสดงรายการได้ด้วยlsattrคำสั่ง และแก้ไขได้ตามต้องการด้วยchattrคำสั่ง โปรแกรมสามารถตรวจสอบและเปลี่ยนแปลงคุณสมบัติโดยใช้การดำเนินการioctl [ 7 ]

ระบบไฟล์ Linux หลาย ระบบ รองรับเฉพาะแอตทริบิวต์จำนวนจำกัด และไม่มีระบบใดรองรับแอตทริบิวต์ทุกอย่างที่chattrสามารถเปลี่ยนแปลงได้ ระบบไฟล์ที่รองรับแอตทริบิวต์อย่างน้อยบางส่วน ได้แก่ext4 , XFSและbtrfs

คุณสมบัติไฟล์ทั่วไปที่รองรับโดยระบบไฟล์ Linux ทั่วไปหลายระบบ
คุณลักษณะ ธง lsattrตัวเลือก แชทความหมายและเหตุผล
ไม่มีatimeการอัปเดต A+A,-Aข้อมูลเวลาจะไม่ถูกแก้ไขเมื่อมีการอ่าน/เข้าถึงไฟล์
เพิ่มอย่างเดียว a+a,-a

อนุญาตให้เขียนข้อมูลลงไฟล์ได้เฉพาะในโหมดเพิ่มเติมเท่านั้น

ไม่สามารถเปลี่ยนแปลงได้ i+i,-i

ป้องกันการเปลี่ยนแปลงใดๆ ต่อเนื้อหาหรือเมตาเดตาของไฟล์: ไม่สามารถเขียน ลบ เปลี่ยนชื่อ หรือสร้างฮาร์ดลิงก์ให้กับไฟล์/ไดเร็กทอรีได้

ห้ามทิ้งขยะ d+d,-dไฟล์ดังกล่าวถูกข้ามโดยโปรแกรมดัมพ์
การลบอย่างปลอดภัย s+s,-sคำขอที่เมื่อลบไฟล์แล้ว ข้อมูลในบล็อกไฟล์ทั้งหมดจะถูกแทนที่ด้วยเลขศูนย์
การอัปเดตแบบซิงโครนัส S+S,-Sการเปลี่ยนแปลงจะถูกบันทึกพร้อมกันไปยังสื่อจัดเก็บข้อมูลระบบไฟล์พื้นฐาน เทียบเท่ากับตัวเลือกการเมานต์ 'sync' สำหรับไฟล์ที่ได้รับผลกระทบ

OpenSolaris และระบบที่พัฒนาต่อยอดจาก OpenSolaris

การสนับสนุน "แอตทริบิวต์ระบบ" (ซึ่งระบบปฏิบัติการกำหนดความหมาย ไม่เหมือนกับแอตทริบิวต์ไฟล์แบบขยาย ทั่วไป ) ถูกเพิ่มเข้าไปใน OpenSolaris ในปี 2550 เพื่อรองรับเซิร์ฟเวอร์ CIFS [ 8 ] และได้ถูกนำมาใช้ต่อจากนั้นในทั้งOracle Solaris 11 และโครงการ โอเพนซอร์ส illumos

ในการใช้งานนี้คุณสมบัติที่หลากหลายสามารถตั้งค่าได้ผ่านchmodคำสั่ง[ 9 ] [ 10 ]และแสดงรายการโดยlsคำสั่ง[ 11 ] [ 12 ] โปรแกรมสามารถตรวจสอบและเปลี่ยนแปลงคุณสมบัติโดยใช้ฟังก์ชันgetattratและ[ 13 ] [ 14 ]setattrat

ปัจจุบัน ระบบไฟล์ ZFSรองรับแอตทริบิวต์ที่กำหนดไว้ทั้งหมด และตั้งแต่ Oracle Solaris 11.2 เป็นต้นไป ระบบไฟล์ tmpfsรองรับแอตทริบิวต์บางส่วน[ 15 ]

คุณลักษณะไฟล์ทั่วไปที่รองรับโดยระบบ Oracle Solaris และ illumos
คุณลักษณะ แฟล็กขนาดกะทัดรัดสำหรับคำสั่ง lsและchmodความหมายและเหตุผล
appendonlya

อนุญาตให้เขียนข้อมูลลงไฟล์ได้เฉพาะในโหมดเพิ่มเติมเท่านั้น

immutablei

ป้องกันการเปลี่ยนแปลงใดๆ ต่อเนื้อหาหรือข้อมูลเมตาของไฟล์ (ยกเว้นเวลาเข้าถึง): ไม่สามารถเขียน ลบ หรือเปลี่ยนชื่อไฟล์/ไดเร็กทอรีได้

nodumpdโปรแกรมสำรองข้อมูลควรข้ามไฟล์นี้ไป
nounlinkuป้องกันการลบไฟล์ แต่ยังอนุญาตให้ทำการเปลี่ยนแปลงอื่นๆ ได้

ระบบปฏิบัติการ DOS และ Windows

ตามธรรมเนียมแล้ว ในDOSและMicrosoft Windowsไฟล์และโฟลเดอร์จะยอมรับคุณลักษณะสี่ประการ: [ 16 ] [ 17 ] [ 18 ]

  • เก็บถาวร (A): เมื่อตั้งค่าแล้ว จะแสดงว่าไฟล์ที่จัดเก็บมีการเปลี่ยนแปลงนับตั้งแต่ การ สำรองข้อมูล ครั้งล่าสุด ระบบไฟล์ของ Windows จะตั้งค่าแอตทริบิวต์นี้ให้กับไฟล์ใดๆ ที่มีการเปลี่ยนแปลง จากนั้นซอฟต์แวร์สำรองข้อมูลมีหน้าที่ล้างแอตทริบิวต์นี้เมื่อทำการสำรองข้อมูลแบบเต็มหรือแบบเพิ่มทีละส่วนสำเร็จ (ไม่ใช่แบบดิฟเฟอเรนเชียล)
  • ซ่อน (H): เมื่อตั้งค่าแล้ว จะแสดงว่าไฟล์ที่โฮสต์ถูกซ่อน คำสั่ง MS-DOS เช่นdirและแอป Windows เช่นFile Explorerจะไม่แสดงไฟล์ที่ซ่อนอยู่ตามค่าเริ่มต้น เว้นแต่จะได้รับการร้องขอให้ทำเช่นนั้น[ 19 ]
  • ระบบ (S): เมื่อตั้งค่าแล้ว จะบ่งชี้ว่าไฟล์ที่โฮสต์อยู่นั้นเป็นไฟล์ระบบที่สำคัญ ซึ่งจำเป็นต่อการทำงานอย่างถูกต้องของคอมพิวเตอร์ MS-DOS และ Microsoft Windows ใช้พารามิเตอร์นี้เพื่อทำเครื่องหมายไฟล์ระบบที่สำคัญ คำสั่ง MS-DOS dirและแอปพลิเคชัน Windows เช่น File Explorer จะไม่แสดงไฟล์ระบบโดยค่าเริ่มต้น แม้ว่าจะแสดงไฟล์ที่ซ่อนอยู่แล้วก็ตาม เว้นแต่จะได้รับคำสั่งให้แสดง
  • อ่านอย่างเดียว (R): เมื่อตั้งค่าแล้ว จะระบุว่าไม่ควรแก้ไขไฟล์ เมื่อเปิดไฟล์API ของระบบไฟล์ มักจะไม่ให้สิทธิ์ในการเขียนแก่แอปพลิเคชันที่ร้องขอ เว้นแต่แอปพลิเคชันจะร้องขออย่างชัดเจน คุณสมบัติอ่านอย่างเดียวบนโฟลเดอร์มักจะถูกละเลย เนื่องจากถูกนำไปใช้เพื่อวัตถุประสงค์อื่น[ 20 ] [ 21 ]

เมื่อ Windows เวอร์ชันใหม่วางจำหน่าย Microsoft ได้เพิ่มแอตทริบิวต์ที่มีอยู่บน ระบบไฟล์NTFS ลงในรายการ [ 22 ]ซึ่งรวมถึงแต่ไม่จำกัดเพียง: [ 23 ]

  • บีบอัด (C): เมื่อตั้งค่านี้ Windows จะบีบอัดไฟล์โฮสต์เมื่อจัดเก็บ สำหรับข้อมูลเพิ่มเติม โปรดดูNTFS § การบีบอัดไฟล์
  • เข้ารหัส (E): เมื่อตั้งค่านี้ Windows จะเข้ารหัสไฟล์ที่จัดเก็บเพื่อป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต สำหรับข้อมูลเพิ่มเติม โปรดดูNTFS § การเข้ารหัส
  • ไม่ได้จัดทำดัชนีเนื้อหา (I): เมื่อตั้งค่านี้บริการจัดทำดัชนีหรือการค้นหาของ Windowsจะไม่รวมไฟล์ที่โฮสต์ไว้ในการดำเนินการจัดทำดัชนี

คุณลักษณะอื่นๆ ที่แสดงในคอลัมน์ "คุณลักษณะ" ของ Windows Explorer [ 22 ]ได้แก่:

  • ไดเร็กทอรี (D): รายการนี้เป็นไดเร็กทอรีย่อยซึ่งประกอบด้วยรายการไฟล์และไดเร็กทอรีของตัวเอง
  • จุดรีพาร์ส (L): ไฟล์หรือไดเร็กทอรีนั้นมีจุดรีพาร์สที่เกี่ยวข้อง หรือเป็นลิงก์สัญลักษณ์
  • ออฟไลน์ (O): ข้อมูลไฟล์จะถูกย้ายไปยังที่เก็บข้อมูลแบบออฟไลน์ (ที่เก็บข้อมูลระยะไกล)
  • ไฟล์ แบบ Sparse (P): ไฟล์นี้เป็นไฟล์แบบ Sparseกล่าวคือ เนื้อหาของไฟล์นั้นว่างเปล่าบางส่วนและไม่ต่อเนื่องกัน
  • ชั่วคราว (T): ไฟล์นี้ใช้สำหรับจัดเก็บข้อมูลชั่วคราว

ใน DOS, OS/2และ Windows attribคำสั่งในcmd.exeและcommand.comสามารถใช้เพื่อเปลี่ยนและแสดงคุณสมบัติไฟล์แบบดั้งเดิมทั้งสี่ประการได้[ 18 ] [ 24 ] File Explorer ใน Windows สามารถแสดงคุณสมบัติทั้งเจ็ดที่กล่าวถึงได้ แต่ไม่สามารถตั้งค่าหรือล้างคุณสมบัติระบบได้[ 20 ] Windows PowerShellซึ่งกลายเป็นส่วนประกอบของWindows 7และรุ่นต่อมา มีคำสั่งสองคำสั่งที่สามารถอ่านและเขียนคุณสมบัติได้ คือและGet-ItemProperty[ 25 ] ในการเปลี่ยนคุณสมบัติของไฟล์บนWindows NTผู้ใช้ต้องมีสิทธิ์ของระบบไฟล์ ที่เหมาะสม ที่เรียกว่าWrite AttributesและWrite Extended Attributes [ 26 ]Set-ItemProperty

ดูเพิ่มเติม

  • คำจำกัดความของ: DOS Attrib เก็บถาวรเมื่อ 2012-03-02 ที่Wayback MachineบนPC Magazine
  • ไฟล์ที่ซ่อนอยู่ในระบบปฏิบัติการที่คล้าย Unixที่Wayback Machine (เก็บถาวรเมื่อวันที่ 17 ตุลาคม 2550)
  • ค่าคงที่ของแอตทริบิวต์ไฟล์ใน ภาษา C ( -runtime-library ) โดย Microsoft Learn, 26 ตุลาคม 2022
  • ค่าคงที่แอตทริบิวต์ไฟล์ใน ( Win32- ) C++โดย Microsoft Learn, 06/09/2023
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=File_attribute&oldid=1357431951 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ คุณลักษณะของไฟล์

แอตทริบิวต์ของไฟล์ เป็น เมตาเดตา ประเภทหนึ่งที่อธิบายและอาจแก้ไขวิธี การทำงาน ของไฟล์ และ/หรือ ไดเร็กทอรี ใน ระบบไฟล์...

ยูนิกซ์และโพสิกซ์

ใน ระบบ Unix และระบบที่คล้าย Unix รวมถึง ระบบที่สอดคล้องกับมาตรฐาน POSIX แต่ละไฟล์จะมี 'โหมด' ที่ประกอบด้วยแฟล็กบิต 9 ตัว ซึ่งควบคุมสิทธิ์ในการอ่าน เขียน และเรียกใช้งานสำหรับเจ้าของไฟล์ กลุ่ม และผู้ใช้อื่นๆ ทั้งหมด (ดูรายละเอียดเพิ่มเติมได้ ที่...

4.4BSD และเวอร์ชันที่พัฒนาต่อยอดจากเวอร์ชันนี้

ใน 4.4BSD และ 4.4BSD-Lite ไฟล์และไดเร็กทอรี (โฟลเดอร์) ยอมรับแอตทริบิวต์สี่อย่างที่เจ้าของไฟล์หรือ ผู้ใช้ระดับสูงสุด สามารถตั้งค่าได้ (แอตทริบิวต์ "ผู้ใช้") และแอตทริบิวต์สองอย่างที่ผู้ใช้ระดับสูงสุดเท่านั้นที่สามารถตั้งค่าได้ (แอตทริบิวต์ "ระบบ"): [ 1 ]

ลินุกซ์

ระบบ ปฏิบัติการ Linux สามารถรองรับ คุณสมบัติไฟล์ได้หลากหลาย ซึ่งสามารถแสดงรายการได้ด้วย lsattr คำสั่ง และแก้ไขได้ตามต้องการด้วย chattr คำสั่ง โปรแกรมสามารถตรวจสอบและเปลี่ยนแปลงคุณสมบัติโดยใช้การดำเนินการ ioctl [ 7 ]