چگونه از دستور Locate در لینوکس استفاده نماییم؟
در لینوکس قابلیت های بسیار زیادی برای جست و جو وجود دارد که از طریق آن ها می توانیم Bash File های بسیار قدرتمندی جهت انجام وظایف گوناگون بسازیم. یکی از برنامه های بسیار کاربردی در این زمینه ابزار Locate است. در این مقاله شما را با کار ابزار Locate ، نحوه عملکرد آن و روش استفاده به همراه دستور grep آشنا خواهیم کرد.
دستور Locate در لینوکس چه کاری انجام می دهد؟
ابزار یا برنامه کاربردی Locate یک عملیات جست و جو را در دیتابیسی از فایل ها و دایرکتوری ها که پیش از این توسط سیستم ایجاد شده است انجام می دهد. ( در ادامه مقاله به این نکته خواهیم پرداخت که چرا از عبارت پیش تر ساخته شده استفاده می کنیم؟ ) به دلیل اینکه وسعت جست و جوی این دستور بسیار بالاست ، بنابراین گاهی نتایج حاصل از آن بسیار طولانی هستند. جهت جست و جوی دقیق تر ما به شما آموزش خواهیم داد که چگونه از دستور grep با استفاده از Pipe Line وسعت نتایج را کم تر کنیم و به آن چه که می خواهیم برسیم. برنامه grep از بین نتایج Locate تنها نتایجی را به ما نمایش خواهد داد که کلمه کلیدی دیگری نیز در آن ها وجود داشته باشد. به این Command توجه کنید :
$ locate zip | grep bin
در اینجا ما تعیین کرده ایم که فایل ها و دایرکتوری هایی که در نام آن ها هر دو رشته bin و zip وجود دارد را نمایش دهد. همچنین با عملگر | دو دستور را به هم مرتبط ساخته ایم و در واقع نتایج Locate را درون نتایج grep ریخته ایم.
اما چرا گفتیم Locate از یک دیتابیسِ پیش تر ایجاد شده بهره می برد؟ در واقع این دستور از یک پایگاه داده که توسط برنامه دیگری به نام updatedb ایجاد می شود بهره می برد. بیش تر توزیع های لینوکس این برنامه را روزی یک بار به صورت خودکار اجرا می کنند. هرچند که شما می توانید در صورت تمایل هر زمان که مایل بودید با استفاده از دستور updatedb در محیط ترمینال آن را به روز رسانی نمایید. البته کاربر شما بایستی حتما دسترسی root را داشته باشد.
اجازه دهید با استفاده از چند تصویر برخی موارد مطرح شده در این مقاله را مرور کنیم :
فرض کنید ما به دنبال فایل ها و دایرکتوری هایی هستیم که کلمه passwd در نام آن ها وجود دارد. بنابراین به سادگی مانند تصویر زیر دستور را می نویسیم و کلید اینتر را می فشاریم :
نتیجه آن ممکن است مانند تصویر زیر باشد.