เปลี่ยนชื่อโฟลเดอร์ทำไมกลายเป็นไฟล์
ผมใช้ลีนุกซ์ 7.04 server แล้วติดตั้ง ubuntu-desktop จากนั้นผมไม่ต้องการให้มันเข้า gui mode เพื่อไ่ม่ให้เกิดปัญหาไฟล์เสียหายเนื่องจากไฟดับโดยเฉพาะระบบ และลดการทำงานของ server ที่ไม่จำเป็นออกไป โดยการเปลี่ยนชื่อโฟลเดอร์ \etc\rc2.d\S13gdm เป็น \etc\rc2.d\13gdm
โดยใช้คำสั่ง
cd \etc\rc2.d
mv S13gdm 13gdm
ตอนหลังติดตั้ง ups และติดตั้งซอฟท์แวร์ให้มันปิด/เปิดตัวเองได้ถ้าไฟดับ จากนั้นก็เปลี่ยนชื่อ 13gdm เป็น S13gdm เหมือนเดิม
แต่ปรากฏว่าจากเดิมที่เป็นโฟลเดอร์สีเหลืองเหมือนในวินโดว์
มันแสดงไอคอนเป็นรูปไฟล์สีขาวๆ แทน มีขนาดไฟล์บอกด้วย แต่ลีนุกซ์ยังทำงานได้ตามปกตินะครับ บูตขึ้นมาเข้า gui ได้ ไม่รู้ว่ามันจะมีผลอะไรกับระบบในส่วนอื่นๆ หรือเปล่า และไม่เข้าใจว่าทำไมมันเปลี่ยนจากโฟลเดอร์เป็นไฟล์ แล้วถ้าในโฟลเดอร์นั้นมันมีหลายไฟล์ พอถูกโฟลเดอร์ถูกเปลี่ยนเป็นไฟล์ ทำไมลีนุกซ์ยังสามารถเรียกสิ่งที่อยู่ข้างในได้
ดูจากรูปนี้นะครับ


มันไม่ใช่ไฟล์จริง และไม่ใช่โฟล์เดอร์ครับ
lrwxrwxrwx 1 root root 13 2007-05-07 16:47 S13gdm -> ../init.d/gdm
มันเป็นลิงค์ไฟล์ ถ้าพูดภาษา วินโดว์ก็คือ shortcut ครับ พี่ mv ไปแล้วมันก็เป็นไฟล์ธรรมดา
พี่ต้องสร้างใหม่ด้วยคำสั่ง ln คือสร้างลิงค์ใหม่
ลบ S13gdm ที่เป็นไฟล์ทิ้งไปก่อนแล้ว ทำตามนี้ครับ
เข้าไปที่ /etc/rc2.d ก่อน
root@sothorn:/etc/rc2.d# pwd
/etc/rc2.d
root@sothorn:/etc/rc2.d# ln -s ../init.d/gdm S13gdm
มี l นำหน้า permission นี่หมายถึง link ?
ถ้างั้นตรง lrwxrwxrwx ที่มี l นำหน้านี่หมายถึง link ใช่ไหมครับ
แล้วจะดูตรงไหนว่า ln ที่สร้างไว้ชี้ไปที่ไหน
ขอบคุณครับ
ถูกต้องแล้วครับ
- เป็นไฟล์
d เป็นไดเรกทอรี
l เป็นลิงค์
ลิงค์ไปที่ไหน ก็ดูที่คอลัมน์หลังสุด S13gdm -> ../init.d/gdm = /etc/init.d/gdm
/etc/rc2.d อยู่ในตำแหน่งเดียวกันกับ /etc/init.d
ตอนที่อ้าง ตำแหน่งไดรเรกทอรี เราทำงานอยู่ที่ /etc/rc2.d เราจะอ้างไปที่ /etc/init.d เรา ก็อ้างเป็น ../init.d
แถมอีกนิด
/etc/init.d เป็นที่เก็บไฟล์ start script ของโปรแกรมทั้งหมด จะให้โปรแกรมอะไรทำงานตอนบูทใน runlevel ไหน ก็ลิงค์ไปไว้ที่ /etc/rcX.d X= runlevel ที่ต้องการ