ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | Contents | ถัดไป>

กลับไปที่สนามเด็กเล่น

ถึงเวลาใส่ พบ เพื่อการใช้งานจริง (เกือบ) บางส่วน เราจะสร้างสนามเด็กเล่นและทดลองสิ่งที่เราได้เรียนรู้


ขั้นแรก ให้สร้าง Playground ที่มีไดเรกทอรีย่อยและไฟล์มากมาย:



[me@linuxbox ~]$ mkdir -p สนามเด็กเล่น/dir-{001..100}

[me@linuxbox ~]$ สัมผัสสนามเด็กเล่น/dir-{001..100}/file-{A..Z}

[me@linuxbox ~]$ mkdir -p สนามเด็กเล่น/dir-{001..100}

[me@linuxbox ~]$ สัมผัสสนามเด็กเล่น/dir-{001..100}/file-{A..Z}


อัศจรรย์ในพลังแห่งสายบัญชาการ! ด้วยสองบรรทัดนี้ เราได้สร้างไดเร็กทอรี Playground ที่มีไดเร็กทอรีย่อย 100 ไดเร็กทอรีแต่ละไฟล์มีไฟล์ว่าง 26 ไฟล์ ลองใช้ GUI!

วิธีการที่เราใช้เพื่อให้บรรลุเวทมนตร์นี้เกี่ยวข้องกับคำสั่งที่คุ้นเคย (mkdir) การขยายเชลล์ที่แปลกใหม่ (วงเล็บปีกกา) และคำสั่งใหม่ แตะ. โดยการรวม mkdir กับ -p ตัวเลือก (ซึ่งทำให้ mkdir เพื่อสร้างไดเร็กทอรีพาเรนต์ของพาธที่ระบุ) ด้วยการขยายวงเล็บปีกกา เราสามารถสร้างไดเร็กทอรีย่อยได้ 100 ไดเร็กทอรี

การขอ แตะ คำสั่งมักใช้เพื่อตั้งค่าหรืออัปเดตการเข้าถึง เปลี่ยนแปลง และแก้ไขเวลาของไฟล์ อย่างไรก็ตาม หากอาร์กิวเมนต์ชื่อไฟล์เป็นอาร์กิวเมนต์ของไฟล์ที่ไม่มีอยู่ ไฟล์เปล่าจะถูกสร้างขึ้น

ในสนามเด็กเล่นของเรา เราได้สร้างไฟล์ชื่อ . 100 อินสแตนซ์ ไฟล์-A. มาหาพวกเขากันเถอะ:


[me@linuxbox ~]$ ค้นหา Playground -type f -name 'file-A'

[me@linuxbox ~]$ ค้นหา Playground -type f -name 'file-A'


สังเกตว่าไม่เหมือน ls, พบ ไม่ได้ผลเป็นลำดับ ลำดับของมันถูกกำหนดโดยเค้าโครงของอุปกรณ์จัดเก็บข้อมูล เราสามารถยืนยันได้ว่าจริง ๆ แล้วเรามี 100 อินสแตนซ์ของไฟล์ด้วยวิธีนี้:



[me@linuxbox ~]$ ค้นหาสนามเด็กเล่น -type f -name 'file-A' | wc -l

100

[me@linuxbox ~]$ ค้นหาสนามเด็กเล่น -type f -name 'file-A' | wc -l

100


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



[me@linuxbox ~]$ สัมผัสสนามเด็กเล่น/ประทับเวลา

[me@linuxbox ~]$ สัมผัสสนามเด็กเล่น/ประทับเวลา


สิ่งนี้จะสร้างไฟล์เปล่าชื่อ การประทับเวลา และตั้งเวลาปรับเปลี่ยนเป็นเวลาปัจจุบัน เราสามารถตรวจสอบได้โดยใช้คำสั่งอื่นที่สะดวก stat, ซึ่งเป็นชนิดของซุปขึ้นของ lsส่วน stat คำสั่งเปิดเผยทุกสิ่งที่ระบบเข้าใจ


เกี่ยวกับไฟล์และคุณลักษณะ:



[me@linuxbox ~]$ สถิติสนามเด็กเล่น/ประทับเวลา

ไฟล์: `สนามเด็กเล่น/ประทับเวลา'

ขนาด: 0 บล็อก: 0 IO บล็อก: 4096 ไฟล์ว่างปกติ อุปกรณ์: 803h/2051d Inode: 14265061 ลิงก์: 1

การเข้าถึง: (0644/-rw-r--r--) Uid: ( 1001/ ฉัน) Gid: ( 1001/ ฉัน) การเข้าถึง: 2016-10-08 15:15:39.000000000 -0400

Modify: 2016-10-08 15:15:39.000000000 -0400

Change: 2016-10-08 15:15:39.000000000 -0400

[me@linuxbox ~]$ สถิติสนามเด็กเล่น/ประทับเวลา

ไฟล์: `สนามเด็กเล่น/ประทับเวลา'

ขนาด: 0 บล็อก: 0 IO บล็อก: 4096 ไฟล์ว่างปกติ อุปกรณ์: 803h/2051d Inode: 14265061 ลิงก์: 1

การเข้าถึง: (0644/-rw-r--r--) Uid: ( 1001/ ฉัน) Gid: ( 1001/ ฉัน) การเข้าถึง: 2016-10-08 15:15:39.000000000 -0400

Modify: 2016-10-08 15:15:39.000000000 -0400

Change: 2016-10-08 15:15:39.000000000 -0400


ถ้าเรา แตะ ไฟล์อีกครั้งแล้วตรวจสอบด้วย statเราจะเห็นว่าเวลาของไฟล์ได้รับการอัปเดตแล้ว:



[me@linuxbox ~]$ สัมผัสสนามเด็กเล่น/ประทับเวลา

[me@linuxbox ~]$ สถิติสนามเด็กเล่น/ประทับเวลา

ไฟล์: `สนามเด็กเล่น/ประทับเวลา'

ขนาด: 0 บล็อก: 0 IO บล็อก: 4096 ไฟล์ว่างปกติ อุปกรณ์: 803h/2051d Inode: 14265061 ลิงก์: 1

การเข้าถึง: (0644/-rw-r--r--) Uid: ( 1001/ ฉัน) Gid: ( 1001/ ฉัน) การเข้าถึง: 2016-10-08 15:23:33.000000000 -0400

Modify: 2016-10-08 15:23:33.000000000 -0400

Change: 2016-10-08 15:23:33.000000000 -0400

[me@linuxbox ~]$ สัมผัสสนามเด็กเล่น/ประทับเวลา

[me@linuxbox ~]$ สถิติสนามเด็กเล่น/ประทับเวลา

ไฟล์: `สนามเด็กเล่น/ประทับเวลา'

ขนาด: 0 บล็อก: 0 IO บล็อก: 4096 ไฟล์ว่างปกติ อุปกรณ์: 803h/2051d Inode: 14265061 ลิงก์: 1

การเข้าถึง: (0644/-rw-r--r--) Uid: ( 1001/ ฉัน) Gid: ( 1001/ ฉัน) การเข้าถึง: 2016-10-08 15:23:33.000000000 -0400

Modify: 2016-10-08 15:23:33.000000000 -0400

Change: 2016-10-08 15:23:33.000000000 -0400


ต่อไปก็ใช้ พบ เพื่ออัปเดตไฟล์ Playground บางไฟล์ของเรา:


[me@linuxbox ~]$ ค้นหา Playground -type f -name 'file-B' -exec touch '{}' ';'

[me@linuxbox ~]$ ค้นหา Playground -type f -name 'file-B' -exec touch '{}' ';'


สิ่งนี้จะอัปเดตไฟล์ทั้งหมดในสนามเด็กเล่นที่ชื่อ ไฟล์-B. ต่อไปเราจะใช้ พบ เพื่อระบุไฟล์ที่อัปเดตโดยเปรียบเทียบไฟล์ทั้งหมดกับไฟล์อ้างอิง การประทับเวลา:


[me@linuxbox ~]$ ค้นหาสนามเด็กเล่น -type f - สนามเด็กเล่นใหม่/ประทับเวลา

[me@linuxbox ~]$ ค้นหาสนามเด็กเล่น -type f - สนามเด็กเล่นใหม่/ประทับเวลา


ผลลัพธ์มีทั้งหมด 100 อินสแตนซ์ของ ไฟล์-B. เนื่องจากเราแสดง a แตะ ในทุกไฟล์ในสนามเด็กเล่นที่ชื่อว่า ไฟล์-B หลังจากที่เราปรับปรุง การประทับเวลาตอนนี้พวกเขา "ใหม่กว่า" กว่า การประทับเวลา และสามารถระบุได้ด้วย -ใหม่กว่า ทดสอบ

สุดท้าย กลับไปที่การทดสอบการอนุญาตที่ไม่ถูกต้องที่เราดำเนินการก่อนหน้านี้และนำไปใช้กับ


[me@linuxbox ~]$ ค้นหาสนามเด็กเล่น \( -type f -not -perm 0600 \) -or \(

-พิมพ์ d -ไม่ -ดัด 0700 \)

[me@linuxbox ~]$ ค้นหาสนามเด็กเล่น \( -type f -not -perm 0600 \) -or \(

-พิมพ์ d -ไม่ -ดัด 0700 \)

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



[me@linuxbox ~]$ ค้นหาสนามเด็กเล่น \( -type f -not -perm 0600 -exec chmod 0600 '{}' ';' \) -or \( -type d -not -perm 0700 -exec chmod 0700 '{}' ';' \)

[me@linuxbox ~]$ ค้นหาสนามเด็กเล่น \( -type f -not -perm 0600 -exec chmod 0600 '{}' ';' \) -or \( -type d -not -perm 0700 -exec chmod 0700 '{}' ';' \)


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


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: