Sunday, June 30, 2013

Hidden file ใน Linux

ใน Linux มี hidden file (แปลตรงๆ คือ ไฟล์ที่ถูกซ่อน)อยู่ครับ ตัว hidden file ทำได้ง่ายๆ คือ สร้างไฟล์หรือ directory ที่ชื่อขึ้นต้นด้วย . (ตัวอักษร จุด)ยกตัวอย่างเช่น .profile , .bashrc

hidden ไฟล์นี้ ที่จริงซ่อนเหมือนไม่ซ่อน คือไม่สามารถเรียกดูหรือใช้ได้โดยวิธีปกติ เช่น ถ้าใช้คำสั่ง ls เรียก ดูจะมองไม่เห็น ต้องใช้คำสั่ง ls และตามด้วย  option -a 

จากตัวอย่างในรูป ถ้าเราใช้คำสั่ง ls  เฉยๆ  ดูไฟล์ จะเห็นเฉพาะไฟล์ปกติ คือ myfile และ _abcd แต่ถ้าใช้ ls -a จะเห็น hidden file เพิ่มขึ้นมาอีกไฟล์หนึ่งด้วย คือ .hidden_file 

อีกตัวอย่างนึงที่เกี่ยวข้องกับ hidden file คือ การใช้คำสั่ง cp เพื่อ copy ไฟล์

จาก directory เดิมที่ชื่อ dir1  ถ้าเรา copy  file จาก dir1 ไปอีก  directory นึ่ง สมมติว่าชื่อ dir2 ทีมีอยู่แล้วโดยใช้คำสั่ง

cp dir1/* dir2

ในกรณีนี้ hidden file จะไม่ถูก copy  ไปด้วยนะครับ

 แต่ถ้าเราใช้คำสั่ง cp -R  เพื่อที่จะ copy directory dir1 ไปยัง directory dir3

cp -R dir1 dir3

ในกรณีนี้ file ทั้งหมดรวมไปถึง hidden file  ใน dir1 จะถูก copy ไปที่ dir3 ครับ
หมายเหตุ : ในกรณีนี้ dir3 จะถูกสร้างขึ้นใหม่นะครับ ของเดิมไม่มี