Unix / Linux - การจัดการไดเรกทอรี
ในบทนี้เราจะพูดถึงรายละเอียดเกี่ยวกับการจัดการไดเร็กทอรีใน Unix
ไดเร็กทอรีคือไฟล์งานเดี่ยวที่ใช้เก็บชื่อไฟล์และข้อมูลที่เกี่ยวข้อง ไฟล์ทั้งหมดไม่ว่าจะเป็นธรรมดาพิเศษหรือไดเร็กทอรีมีอยู่ในไดเร็กทอรี
Unix ใช้โครงสร้างลำดับชั้นในการจัดระเบียบไฟล์และไดเร็กทอรี โครงสร้างนี้มักเรียกว่าโครงสร้างไดเรกทอรี ต้นไม้มีโหนดรูทเดียวอักขระสแลช (/) และไดเรกทอรีอื่น ๆ ทั้งหมดจะอยู่ด้านล่าง
โฮมไดเร็กทอรี
ไดเร็กทอรีที่คุณพบเมื่อล็อกอินครั้งแรกเรียกว่าโฮมไดเร็กทอรีของคุณ
คุณจะทำงานส่วนใหญ่ในโฮมไดเร็กทอรีและไดเร็กทอรีย่อยที่คุณจะสร้างเพื่อจัดระเบียบไฟล์ของคุณ
คุณสามารถเข้าไปในโฮมไดเร็กทอรีของคุณได้ตลอดเวลาโดยใช้คำสั่งต่อไปนี้ -
$cd ~
$
ที่นี่ ~บ่งชี้โฮมไดเร็กทอรี สมมติว่าคุณต้องไปที่โฮมไดเร็กทอรีของผู้ใช้รายอื่นให้ใช้คำสั่งต่อไปนี้ -
$cd ~username
$
ในการไปที่ไดเร็กทอรีสุดท้ายของคุณคุณสามารถใช้คำสั่งต่อไปนี้ -
$cd -
$
ชื่อพา ธ สัมบูรณ์ / สัมพัทธ์
ไดเร็กทอรีถูกจัดเรียงตามลำดับชั้นโดยมีรูท (/) อยู่ด้านบน ตำแหน่งของไฟล์ใด ๆ ภายในลำดับชั้นอธิบายโดยชื่อพา ธ
องค์ประกอบของชื่อพา ธ ถูกคั่นด้วย / ชื่อพา ธ เป็นค่าสัมบูรณ์หากอธิบายโดยสัมพันธ์กับรูทดังนั้นชื่อพา ธ สัมบูรณ์จะเริ่มต้นด้วย a /
ต่อไปนี้เป็นตัวอย่างบางส่วนของชื่อไฟล์ที่สมบูรณ์
/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/Os3
ชื่อพา ธ ยังสามารถสัมพันธ์กับไดเร็กทอรีการทำงานปัจจุบันของคุณ ชื่อพา ธ สัมพัทธ์ไม่เคยขึ้นต้นด้วย / เมื่อเทียบกับโฮมไดเร็กทอรีของผู้ใช้ amrood ชื่อพา ธ บางชื่ออาจมีลักษณะเช่นนี้ -
chem/notes
personal/res
ในการกำหนดตำแหน่งที่คุณอยู่ภายในลำดับชั้นของระบบไฟล์เมื่อใดก็ได้ให้ป้อนคำสั่ง pwd เพื่อพิมพ์ไดเร็กทอรีการทำงานปัจจุบัน -
$pwd
/user0/home/amrood
$
รายชื่อไดเรกทอรี
ในการแสดงรายการไฟล์ในไดเร็กทอรีคุณสามารถใช้ไวยากรณ์ต่อไปนี้ -
$ls dirname
ต่อไปนี้เป็นตัวอย่างเพื่อแสดงรายการไฟล์ทั้งหมดที่มีอยู่ /usr/local ไดเรกทอรี -
$ls /usr/local
X11 bin gimp jikes sbin
ace doc include lib share
atalk etc info man ami
การสร้างไดเรกทอรี
ตอนนี้เราจะเข้าใจวิธีการสร้างไดเรกทอรี ไดเร็กทอรีถูกสร้างขึ้นโดยคำสั่งต่อไปนี้ -
$mkdir dirname
ที่นี่ไดเร็กทอรีคือชื่อพา ธ สัมบูรณ์หรือสัมพัทธ์ของไดเร็กทอรีที่คุณต้องการสร้าง ตัวอย่างเช่นคำสั่ง -
$mkdir mydir
$
สร้างไดเร็กทอรี mydirในไดเร็กทอรีปัจจุบัน นี่คืออีกตัวอย่างหนึ่ง -
$mkdir /tmp/test-dir
$
คำสั่งนี้สร้างไดเร็กทอรี test-dir ใน /tmpไดเรกทอรี mkdir คำสั่งไม่สร้างเอาต์พุตหากสร้างไดเร็กทอรีที่ร้องขอได้สำเร็จ
หากคุณให้มากกว่าหนึ่งไดเร็กทอรีบนบรรทัดคำสั่ง mkdirสร้างไดเรกทอรีแต่ละรายการ ตัวอย่างเช่น -
$mkdir docs pub
$
สร้างไดเร็กทอรี docs และ pub ภายใต้ไดเร็กทอรีปัจจุบัน
การสร้างไดเรกทอรีหลัก
ตอนนี้เราจะเข้าใจวิธีสร้างไดเรกทอรีหลัก บางครั้งเมื่อคุณต้องการสร้างไดเร็กทอรีไดเร็กทอรีหลักหรือไดเร็กทอรีอาจไม่มีอยู่ ในกรณีนี้,mkdir ออกข้อความแสดงข้อผิดพลาดดังนี้ -
$mkdir /tmp/amrood/test
mkdir: Failed to make directory "/tmp/amrood/test";
No such file or directory
$
ในกรณีเช่นนี้คุณสามารถระบุไฟล์ -p ตัวเลือกสำหรับ mkdirคำสั่ง สร้างไดเรกทอรีที่จำเป็นทั้งหมดสำหรับคุณ ตัวอย่างเช่น -
$mkdir -p /tmp/amrood/test
$
คำสั่งด้านบนสร้างไดเร็กทอรีหลักที่จำเป็นทั้งหมด
การลบไดเรกทอรี
สามารถลบไดเรกทอรีโดยใช้ไฟล์ rmdir คำสั่งดังนี้ -
$rmdir dirname
$
Note - ในการลบไดเร็กทอรีตรวจสอบให้แน่ใจว่าว่างซึ่งหมายความว่าไม่ควรมีไฟล์หรือไดเร็กทอรีย่อยใด ๆ ในไดเร็กทอรีนี้
คุณสามารถลบไดเร็กทอรีทีละหลายรายการได้ดังนี้ -
$rmdir dirname1 dirname2 dirname3
$
คำสั่งดังกล่าวจะลบไดเร็กทอรี dirname1, dirname2 และ dirname3 หากว่างเปล่า rmdir คำสั่งไม่ก่อให้เกิดเอาต์พุตหากทำได้สำเร็จ
การเปลี่ยนไดเรกทอรี
คุณสามารถใช้ไฟล์ cdคำสั่งทำมากกว่าแค่เปลี่ยนเป็นโฮมไดเร็กทอรี คุณสามารถใช้เพื่อเปลี่ยนเป็นไดเร็กทอรีใดก็ได้โดยระบุพา ธ สัมบูรณ์หรือสัมพัทธ์ที่ถูกต้อง ไวยากรณ์เป็นไปตามที่ระบุด้านล่าง -
$cd dirname
$
ที่นี่ dirnameคือชื่อของไดเร็กทอรีที่คุณต้องการเปลี่ยน ตัวอย่างเช่นคำสั่ง -
$cd /usr/local/bin
$
การเปลี่ยนแปลงไดเร็กทอรี /usr/local/bin. จากไดเร็กทอรีนี้คุณสามารถcd ไปยังไดเร็กทอรี /usr/home/amrood โดยใช้เส้นทางสัมพัทธ์ต่อไปนี้ -
$cd ../../home/amrood
$
เปลี่ยนชื่อไดเรกทอรี
mv (move)คำสั่งสามารถใช้เพื่อเปลี่ยนชื่อไดเร็กทอรี ไวยากรณ์มีดังนี้ -
$mv olddir newdir
$
คุณสามารถเปลี่ยนชื่อไดเร็กทอรี mydir ถึง yourdir ดังต่อไปนี้ -
$mv mydir yourdir
$
ไดเรกทอรี (dot) และ .. (dot dot)
filename .(จุด) แทนไดเร็กทอรีการทำงานปัจจุบัน และfilename .. (dot dot) แสดงถึงไดเร็กทอรีหนึ่งระดับเหนือไดเร็กทอรีการทำงานปัจจุบันซึ่งมักเรียกว่าไดเร็กทอรีหลัก
หากเราป้อนคำสั่งเพื่อแสดงรายการไดเร็กทอรี / ไฟล์การทำงานปัจจุบันและใช้ไฟล์ -a option เพื่อแสดงรายการไฟล์ทั้งหมดและไฟล์ -l option เพื่อให้รายชื่อยาวเราจะได้รับผลดังต่อไปนี้
$ls -la
drwxrwxr-x 4 teacher class 2048 Jul 16 17.56 .
drwxr-xr-x 60 root 1536 Jul 13 14:18 ..
---------- 1 teacher class 4210 May 1 08:27 .profile
-rwxr-xr-x 1 teacher class 1948 May 12 13:42 memo
$