اطلاعیه

بستن
No announcement yet.

آموزش جستجو و پیدا کردن فایل در لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    آموزش جستجو و پیدا کردن فایل در لینوکس

    دستور find یک ابزار قدرتمند برای پیدا کردن محل دقیق فایل ها در هر نقطه از سیستم شماست. در مقاله آموزش جستجو و پیدا کردن فایل در لینوکس خواهید دید که چگونه میتوانید با استفاده از دستور find تنها با اضافه کردن چند گزینه ساده به سرعت محل قرارگیری فایل های مختلف را در فایل های سیستمی خود پیدا کنید.

    آموزش جستجو و پیدا کردن فایل در لینوکس :

    1 - پیدا کردن یک فایل با نام فایل file name :
    در این دستور از سوئیچ -name استفاده میکنیم . در مثال زیر مشاهده میکنید که با جستجوی نام host.conf در داخل کوتیشن (“”) دایرکتوری و زیر دایرکتوری که این فایل در آن واقع شده نشان داده خواهد شد . –name به کوچکی و بزرگی حروف حساس است .

    کد PHP:
    [root@devops ~]# find / -name "host.conf"
    /etc/host.conf 

    2 - پیدا کردن یک فایل با نام آن و بدون در نظر گرفتن کوچکی و بزرگی حروف :
    سوئیچ -iname نیز همانند سوئیچ –name عمل میکند با این تفاوت که در جستجوی -iname کوچکی و بزرگی حروف در نظر گرفته نمیشود و با جستجوی نام host.conf تمام دایرکتوری و زیر دایرکتوری های حاوی فایل هایی با این نام نشان داده خواهد شد .

    کد PHP:
    [root@devops ~]# find / -iname "host.conf"
    /etc/host.conf
    /etc/HOST.CONF 

    3 - استفاده از دستور mindepth و maxdepth برای جستجو محدود در فولدر خاص :
    یافتن فایل passwd در دایرکتوری روت و زیر دایرکتوری های آن

    کد PHP:
    [root@devops ~]# find / -name passwd
    /usr/bin/passwd
    /etc/pam.d/passwd
    /etc/passwd
    /selinux/class/passwd
    /selinux/class/passwd/perms/passwd 

    یافتن فایل passwd در دایرکتوری روت فقط تا یک سطح بعد از دایرکتوری روت :

    کد PHP:
    [root@devops /]# find -maxdepth 2 -name passwd
    ./etc/passwd 
    یافتن فایل passwd در دایرکتوری روت تا حداکثر دو سطح بعد از دایرکتوری روت :

    کد PHP:
    [root@devops /]# find / -maxdepth 3 -name passwd
    /usr/bin/passwd
    /etc/pam.d/passwd
    /etc/passwd
    /selinux/class/passwd 
    یافتن فایل passwd بین زیر دایرکتوری دوم و چهارم :

    کد PHP:
    [root@devops /]# find -mindepth 3 -maxdepth 5 -name passwd
    ./usr/bin/passwd
    ./etc/pam.d/passwd
    ./selinux/class/passwd
    ./selinux/class/passwd/perms/passwd
    [root@devops /]

    4 - استفاده از شماره inode (آی نود ) برای پیدا کردن فایل :
    هر فایل تنها دارای یک شماره inode میباشد که به منظور تشخیص آن،میتوانید دو فایل با نام های مشابه ایجاد کرده و در انتهای یکی از آنها یک فضای خالی با دکمه space ایجاد کنید .

    کد PHP:
    [root@devops ~]# touch "test.txt"
    [root@devops ~]# touch "teset.txt "
    [root@devops ~]# ls -l test*
    [root@devops ~]# ls -l test*
    -rw-r--r--. 1 root root 0 feb  27 06:59 test.txt
    -rw-r--r--. 1 root root 0 feb  27 07:00 test.txt 

    خروجی دستور “ls” نمی تواند فضای خالی انتهای فایل را تشخیص دهد. با استفاده از گزینه i- ، شماره inode فایل نشان داده خواهد شد و از این طریق میتوانید بین دو فایل تمایز قائل شوید.

    کد PHP:
    [root@devops ~]# ls -il test*
    134078 -rw-r--r--. 1 root root 0 feb  27 06:59 test.txt
    134082 
    -rw-r--r--. 1 root root 0 feb  27 07:00 test.txt 
    همانطور که در مثال زیر مشاهده میکنید ، می توانید یک شماره inode را مشخص کرده و با استفاده از دستور Find نام یک فایل را با inode تغییر دهید :

    کد PHP:
    [root@devops ~]# find -inum 134078 -exec mv {} testmv \;

    [root@devops ~]# ls -il test*
    134078 -rw-r--r--. 1 root root 0 feb  27 06:59 testmv
    134082 
    -rw-r--r--. 1 root root 0 feb  27 07:00 test.txt 

    5 - یافتن فایل های تهی همه دایرکتوری ها و زیر دایرکتوری ها (0 بایت) :

    تنها فهرستی از فایل های تهی موجود در دایرکتوری اصلی را نشان میدهد :

    کد PHP:
    find . -maxdepth 1 -empty 
    تنها فهرست دایرکتوری های تهی و غیر مخفی را نشان می دهد :

    کد PHP:
    find . -maxdepth 1 -empty -not -name ".*" 

    6 - یافتن ۵ تا از بزرگترین فایل ها:
    دستور زیر ۵ تا از بزرگترین فایل های موجود در دایرکتوری و زیر دایرکتوری جاری را لیست میکند . با توجه به اندازه فایل مورد نیاز این جستجو ممکن است کمی زمانبر باشد.

    کد PHP:
    find . -type f -exec ls -{} \; | sort --head -

    7 - یافتن ۵ تا از کوچکترین فایل ها :

    کد PHP:
    find . -type f -exec ls -{} \; | sort -n  head -

    8 - استفاده از سوئیچ –type برای یافتن فایل ها بر اساس نوع فایل :

    فقط فایل سوکت را پیدا میکند :

    کد PHP:
    find . -type s 
    دایرکتوری فایل را در دایرکتوری جاری پیدا میکند :

    کد PHP:
    find . -type d 
    همه فایل های معمولی را پیدا میکند :

    کد PHP:
    find . -type f 
    find / -user user1 جستجوی فایل و دایرکتوری متعلق به user1

    find /home/user1 -name \*.bin جستجوی فایل های با پسوند bin در داخل دایرکتوری home/user1

    find /usr/bin -type f -atime +100 جستجوی فایل های باینری که در ۱۰۰ روز گذشته استفاده نشده اند

    find /usr/bin -type f -mtime -10 جستجوی فایل های ایجاد شده با تغییر کرده در طول ۱۰ روز گذشته

    find / -name *.rpm -exec chmod 755 ‘{}’ \; جستجوی فایل های با پسوند rpm و تغییر مجوز آنها !

    find / -xdev -name \*.rpm جستجوی فایل های با پسوند rpm بدون جستجو در پارتیشن های جداشدنی مانند سی دی رام , حافظه فلش و …

    locate \*.ps جستجو فایل های با پسوند ps – ابتدا دستور updatedb اجرا می شود

    whereis halt نمایش مکان یک فایل باینری , سورس یا مستندات

    which halt نمایش مسیر کامل یک فایل باینری یا اجرایی

    find . -name or -iname *doc توی همون فولدر هرچی پسوندش doc باشه پیدا میکنه

    find / -name *doc توی مسیر اسلش / دنبال فایل هایی با پسوند doc میگرده.

    find -type f -name *doc توی فایل ها دنبال doc میگرده.

    find -type d -name *doc توی دایرکتوری ها دنبالش میگرده.

    find Desktop -type d -size +30m
    find Desktop -type f -size +30m
    find /home -type f -size +10m
    find . -name *.pdf -exec ls -l{} \;
    find . -name *.pdf -exec ls -lh



    locate برای سرچ با سرعت بالا
    updatedb با sudo اجرا شود.

    نویسنده سپیده محراب
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-13-2020, 02:22 AM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X