ต้องขออภัยเพื่อนผองน้องพี่ ชาว FreeBSD ที่ห่างหายไปนาน
เรื่องที่นำเสนอวันนี้ เป็นคำสั่งที่จำเป็น สำหรับการใช้งานทั่วไป รวมทั้ง command options ที่สมควรกำหนดไว้ก่อนเลย เพราะ FreeBSD นั้นทำงานในลักษณะของ multi users, multi programming ผลที่นึกไม่ถึงอาจเกิดขึ้น ตัวอย่างพื้นๆ คือการลบแฟ้ม เมื่อกดแป้นพิมพ์ Enter แล้ว ก็เป็นอันเลิกคิดที่จะ กู้แฟ้มนั้นกลับคืนมา ทั้งนี้ เพราะไม่มีทางทราบได้เลยว่า process ไหน ที่มาจับจอง inode ที่ว่างลงไปจากการที่เรา ลบแฟ้ม ทิ้ง การกำหนด -i , interactive option, เพื่อให้ผู้ใช้ สามารถหยุดยั้งคิดได้ จึงสมควรอยู่
อ้อ ขอทึกทักเอาว่า พี่พี่ต่างก็ใช้ csh , C shell, น่ะครับ สำหรับพี่พี่ที่ใช้ shell อื่นก็คงไม่มีปัญหา เพราะคงเข้าใจเรื่อง shell ที่ใช้ได้ดีพอควรแล้ว จะไม่ขอเขียนเรื่องของ shell ในนี้หละ
interactive mode
เพื่อให้เข้าใจว่า interactive mode นั้นเป็นอย่างไร อันดับแรก ก็ขอยกคำสั่ง ลบแฟ้ม มาให้ทราบก่อน ซึ่งเขามีรูปแบบ หรือ ไวยากรณ์คำสั่งแรกเริ่ม ดังนี้ ดูเอา จำเอาเน้าะ
ก็อย่างที่เรียนให้ทราบแต่แรกแล้วว่า พอกด Enter ปุ้บ filename ก็หายวั้บไปเลย ซึ่งเราไม่ต้องการเช่นนั้น อย่างน้อย เราขอมีเวลายั้งคิดสักนิดหนึ่งก่อน เพราะ อาจเป็นไปได้ที่ ชื่อแฟ้ม มันใกล้เคียงกัน หรือสะดกชื่อแฟ้มผิดไป เช่น อยากลบแฟ้ม imid แต่ดันไปลบ imod ซึ่งสำคัญกว่า ถ้าใช้ interactive mode ก็จะเห็นข้อความที่จอ
remove imod ?
ขึ้นมา ก็ทำให้ทราบว่า เรากำลังจะลบสิ่งสำคัญออกไปน่ะ ยังดีกว่า พอกด Enter แล้วก็ ลบออกไปเลย ในกรณีนี้ ให้ตอบ n ไป แล้วกลับไปลบ imid ออกแทน
ใน interactive mode รูปแบบคำสั่งจะเป็นอีกอย่าง แบบนี้น่ะ
กลุ่มคำสั่ง ที่ มะไฟ แนะให้ใช้งานใน interactive mode ก็มี rm ลบแฟ้ม, cp สำเนาแฟ้ม, mv โยกย้ายแฟ้ม
cp -i src dst
mv -i src dst
alias
จากแนวคิดในเรื่อง interactive mode ทำให้เราต้อง เพิ่มการกดแป้นพิมพ์ ไปอีก ๓ เคาะ ไปเสียทุกครั้ง นับว่า ไม่สะดวกเลย แต่ csh เขามี facility ที่อำนวยความสะดวกให้ เรียกว่า alias ซึ่งเราสั่งซะทีเดียว ครั้งต่อไปที่เราเรียก ไม่ว่าจะเป็น rm mv หรือ cp ก็เท่ากับเราเรียก
rm -i
mv -i
cp -i
รูปแบบก็ง่ายๆ
alias cp cp -i
alias mv mv -i
~/.cshrc
การใช้บริการ alias ก็นับว่าสะดวกขึ้นมาก แต่ว่า เสียอยู่ว่า เราต้องมานั่งสั่งไปซะทุกครั้ง ที่ login เข้ามาทำงานนี่ซี บางทีที่ลืม ก็ทำเอาแย่ไปน่ะ
วิธีแก้ ก็มี โดยเอาคำสั่ง ที่แน่ใจ ว่า ต้องใช้งาน ทุกครั้งที่ login เข้ามาทำงาน นั้น อย่างของเราครั้งนี้ ก็พวก alias ทั้งหลาย ไว้ในแฟ้ม ~/.cshrc
แล้วเราจะแน่ใจยังไงว่า มันเป็นยังงั้นจริงๆ ?
วิธีตรวจสอบก็ง่ายๆ
alias
เท่านั้นเอง
ทำตามนี้ไปก่อนน่ะ มันเป็น ทริค สำหรับ เพิ่มข้อความ ทีละบรรทัด ต่อท้ายเอกสาร โดยไม่ต้องเรียก editor
% echo alias cp cp -i >> ~/.cshrc
% echo alias rm rm -i >> ~/.cshrc
% echo alias mv mv -i >> ~/.cshrc
แล้วก็ยังไม่ต้อง logout น่ะ แต่ให้สั่ง
% source ~/.cshrc
แล้วลองสั่ง alias ดูซี อ้ออ้ออ้อ คงไม่เห็นความแตกต่าง ถ้าพี่ท่านทำ alias cp cp -i กับคณะ ไว้ก่อนหน้านี้แล้ว ถ้าเป็นยังงั้น ก็ให้สั่ง unalias ทั้งสามคำสั่งนั้นไปซะ ก่อนที่จะสั่ง source ดั่งว่า
/usr/share/skel/dot.cshrc
ดูเหมือนว่า จะมีประโยชน์ แต่ก็กับเราคนเดียวแหละน่อ จะให้ดี ให้มันเป็นยังงี้ทุกครั้ง ที่ เพิ่มผู้ใช้งานใหม่ เข้ามาในระบบเลยดีกว่า โดยไปแก้ที่แฟ้ม /usr/share/skel/dot.cshrc นี้เลย เพราะหน้าที่ของแฟ้มนี้คือ แปลงร่างเป็นแฟ้ม ~/.cshrc ให้กับผู้ใช้ในระบบนั่นเอง ที่เหลือ คงไม่ต้องแนะอะไรมาก สำหรับ แอ้ด เมืองมิน ที่เฉลียวฉลาด
ตั้งใจ จะเขียนเรื่องคำสั่งสักหลายๆคำสั่ง แต่พอเริ่มลงมือเข้า มันก็ลากไปเอง และ ไม่อยากให้ สายตาพี่พี่ล้า เลยต้องขอ น่ะ ขอยอ
Wed Aug 5 17:42:19 ICT 2009
No comments:
Post a Comment