در لینوکس هر فایل دارای یک صاحب (owner) است.
در بعضی موارد ممکن است بخواهید فایل هایی که متعلق به کاربر خاصی هستند را پیدا کنید. برای مثال زمانی که یک سرور cpanel دارید و فضای مصرفی فایل های کاربر و فضای نمایش داده شده توسط سی پنل با هم همخوانی ندارد. (معمولا در بخش Disk Usage گزینه مبهم Other usage با حجم بالایی نمایش داده میشود)
در این موارد تعدادی از فایل هایی که متعلق به آن کاربر هستند خارج از پوشه home کاربر هستند. بنابراین نیاز است که فایل ها توسط دستورات ssh پیدا شوند.
برای جستجوی همه فایل های متعلق به کاربر این دستور را در خط فرمان (ترمینال یا ssh) اجرا کنید:
find / -user USERNAME
بجای USERNAME نام کاربری مورد نظر را جایگزین کنید.
اگر تعداد فایل ها زیاد باشد نمیتوان همه فایل ها را در خروجی صفحه نمایش مشاهده و بررسی کرد. در این صورت میتونید نتیجه را در یک فایل txt ذخیره کرده سپس آن فایل تکست را بررسی نمایید:
find / -user USERNAME > user-files.txt
همهی فایل های متعلق به کاربر در فایل user-files.txt ذخیره میشوند.
برای جستجوی فایل های کاربر با نام یا پسوند خاص از پارامتر name استفاده میکنیم:
find /home -user USERNAME -name "*.php"
با این دستور تمامی فایل ها با پسوند php متعلق به کاربر USERNAME در صفحه نمایش لیست میشوند.
همانند قبل میتوانید نتیجه را در فایل ذخیره کنید:
find /home -user USERNAME -name "*.php" > user-files.txt
برای جستجوی فایل های کاربر با حجم بیشتر از x مگابایت از پارامتر size استفاده میکنیم:
find / -user USERNAME -size +10M
با این کار تمامی فایل های متعلق به یوزر USERNAME و با حجم بیشتر از ۱۰ مگابایت جستجو و نمایش داده میشوند.
Shortlink for this post: https://blog.talahost.com/?p=658