لینوکس و شبکه

لینوکس و شبکه
طبقه بندی موضوعی
آخرین مطالب
  • ۹۹/۱۱/۱۳
    java

دستور find

جمعه, ۳ آذر ۱۳۹۶، ۰۱:۰۴ ب.ظ

از این دستور می توان برای سرچی دقیق تر استفاده کرد . به این صورت که واقعا تک تک دایرکتوری ها را به صورت آنلاین جست و جو می کند
جستجوی یکی یکی فایل ها برای پیدا شدن فایل مورد نظر (برخلاف locate)

جستجوی مکان فعلی و زیر مسیر ها برای فایل هایی که با  f شروع شود

find    .    -name    “f*”

جستجو کرده و رکوردهای جستجو شده را پاک کند

find    آرگومانهای ورودی    -delete

جستجوی فایل و دایرکتوری در داخل پارتیشن لینوکس ( root )

find / -name file1

جستجوی فایل و دایرکتوری متعلق به user1

find / -user user1

جستجوی فایل های با پسوند bin در داخل دایرکتوری home/user1

find /home/user1 -name \*.bin

جستجوی فایل های باینری که در ۱۰۰ روز گذشته استفاده نشده اند

find /usr/bin -type f -atime +100

جستجوی فایل های ایجاد شده با تغییر کرده در طول ۱۰ روز گذشته

find /usr/bin -type f -mtime -10

جستجوی فایل های با پسوند rpm و تغییر مجوز آنها !

find / -name *.rpm -exec chmod 755 '{}' \;

جستجوی فایل های با پسوند mp3 و حذف آنها !

# find . -type f -name "*.mp3" -exec rm -f {} \;

جستجوی فایل های با پسوند rpm بدون جستجو در پارتیشن های جداشدنی مانند سی دی رام , حافظه فلش و ...

find / -xdev -name \*.rpm

پیدا کردن تمامی فایل های با پسوند log و ساختن یک فایل فشرده با فرمت bzip از آن‌ها find

/var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2

پیدا کردن همه ی فایل های با پسوند txt و کپی آنها از یک دایرکتوری به دایرکتوری دیگر

find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents

نمایش تمام فایلهایی که پیدا شده(\ یعنی اتمام دستور)({} یعنی در اینجا پیدا شده ها را قرار بده)

جستجوی مسیرها و فایل ها    -exec    ls    -ltrh    “{}”    \

پاک کردن  تمام فایلهایی که پیدا شده(\ یعنی اتمام دستور)({} یعنی در اینجا پیدا شده ها را قرار

بده)

جستجوی  مسیرها و فایل ها    -exec    rm    “{}”    \

نمایش همه ی فایل ها داخل پارتیشن لینوکس ( / ) که دارای مجوز مورد نظر هستند

find / -perm -u+s

از سویچ iname- برای مشخص کردن اسم فایل استفاده می کنیم

find ~/Desktop -iname "*pazhoheshi*"

از سویچ inum- برای سرچ عدد Inode ای خاص در تمامی فایل ها و دایرکتوری ها استفاده می کنیم

find ~ -inum 1723181

از سویچ perm- برای پیدا کردن تمامی فایل ها و دایرکتوری ها با پرمیشنی مشخص استفاده می کنیم

find /usr -perm 4755

توجه داشته باشید که علامت – قبل از عدد 4000 به مفهوم پیدا کردن تمامی فایل ها و دایرکتوری

هایی است که پرمیشنی بیش تر از 4000 دارد

find /usr -perm -4000

ابتدا با استفاده از سویچ -iname به دنبال تمامی فایل هایی با پسوند c می گردیم سپس به Group همه ی آن ها پرمیشن نوشتن یا همان write را اضافه می کنیم .

find ~/src -iname "*.c" -exec chmod g+w {} \;

ابتدا با استفاده از سویچ iname- تمامی فایل ها با پسوند conf در مسیر etc/ را پیدا کرده سپس تمام آن ها را در مسیر config/~ کپی می کنیم .

find /etc -iname "*.conf" -exec cp {} ~/config \;

جستجوی فایل‌هایی که خالی اند

# find /tmp -type f -empty


سوییچ‌های دستور find:


iname           “ “

غیر حساس به حروف کوچک و بزرگ

iname          “???”

غیر حساس بخه حروف کوچک و بزرگ و جستجوی فایل های سه حرفی

type          d

جستجو براساس دایرکتوری(تمام دایرکتوری ها را می گردد)

type          f

جستجوی فایل

type          l

جستجوی لینک

size          100b

جستجوی فایل با حجم دقیقاً 100 بایت

size          +100b

جستجوی فایل با حجم بزرگتر از 100 بایت

Size          +1G

جستجوی فایلی با حجم بزرگتر از یک گیگا بایت

size          0

فایل با حجم صفر

(-atime)

جستجو بر اساس آخرین زمان دسترسی access Time

(-ctime)

جستجو بر اساس دسترسی از نوع change attribute نظیر owner، copy، touch و ...

 (-mtime)

آخرین دسترسی براساس تغییر در محتوا (modify)

-atime          +6

تغییرات در access time  آن قدیمی تر از 6 روز باشد، بیشتر از شش روز اخیر

-atime          -6

تغییرات در access time  آن جدیدتر از 6 روز باشد، زمان کمتری از شش روز اخیر گذشته باشد(منفی بیانگر از زمان x تا حالا است)

-atime          +1

تغییرات در access time  آن قدیمی تر از 1 روز باشد، فایل هایی که دیروز تا امروز روی آن کار شده(امروز دست به فایل ها نخورده باشد)

-atime          +4

تغییرات در access time  آن قدیمی تر از 4 روز باشد، بیشتر از چهار روز اخیر، مثلاً هفت روز قبل

-atime          -1

فایل هایی که امروز دست زده ایم، تا به لحظه حالا(جدیدتر از یک روز)

-amin          -40

فایل هایی با تغییر در access در 40 دقیقه قبل تا حالا

-cmin          -40

فایل هایی با تغییر در change در 40 دقیقه قبل تا حالا

-mmin          -40

فایل هایی با تغییر در modify در 40 دقیقه قبل تا حالا


  • ۹۶/۰۹/۰۳
  • behrooz mohamadi nsasab