ในการใช้คำสั่งเพื่อแสดง Path ของไฟล์ เราสามารถทำได้หลายคำสั่ง เช่น Locate เพื่อแสดงที่อยู่ของไฟล์ หรือจะใช้ Find ในการค้นหา ซึ่งทั้งสองวิธีสามารถพิมพ์แค่ชื่อไฟล์ และไม่จำเป็นต้องอยู่ใน Directory ของไฟล์ด้วย ซึ่งเดี๋ยวมันจะไปหาให้เราเอง แน่นอนมันต้องต่างกันอยู่แล้ว แต่มันต่างกันยังไง
Syntax
- Locate
locate [option] [filename]
-b --basename :use patterns is search by match only
-r --regexp :no use patterns is search by relular expression
- Find
find / [option] [parameter]
-name :name of file or directory
-type :type ex. file, directory, symbolic link, character or block device
-size :size of file or directory
Compare
ซึ่งการทำงาน Locate จะทำงานเร็วกว่า เนื่องจากมันไม่ต้องไปอ่าน File System เพื่อทำการค้นหาชื่อ File หรือ Directory โดยมันจะทำเป็นเหมือนจัดเก็บไว้ในฐานข้อมูลเพื่อให้มาค้นหาในนี้แทน ซึ่งก็มีข้อเสียคือเวลามีการสร้าง File หรือ Directory ใหม่ ๆ จะต้องทำการอัพเดทข้อมูลในฐานข้อมูลด้วย ถ้าหากไม่ได้อัพเดทก็จะไม่สามารถหา File หรือ Directory ที่ถูกสร้างใหม่ได้
Get Started
- มาลองทดสอบสร้างไฟล์ test.sql
# vi test.sql
- จากนั้นใช้คำสั่ง locate เพื่อค้นหา Path ของไฟล์ ซึ่งเราจะไม่เห็น เนื่องจากยังไม่ได้ทำการอัพเดทฐานข้อมูล
# locate 'test.sql'
- อัพเดทฐานข้อมูล หรือจะเขียน cron เพื่อให้อัพเดททุกวัน แล้วลองค้นหาด้วย locate อีกทีก็จะเจอแล้ว
# updatedb
อ่านเพิ่มเติม : https://bit.ly/2KmPIWA
Leave a Reply