اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

نحوه ی آرشیو کردن / فشرده سازی فایل ها و دایرکتوری ها، تنظیمات خصوصیات فایل ها، پیدا کردن فایل ها در لینوکس - قسمت 3

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

    نحوه ی آرشیو کردن / فشرده سازی فایل ها و دایرکتوری ها، تنظیمات خصوصیات فایل ها، پیدا کردن فایل ها در لینوکس - قسمت 3

    اخیرا موسسه لینوکس مدرک LFCS (مخفف Linux Foundation Certified Sysadmin) را ارائه داده است، که در حقیقت برنامه ای جدید به منظور اجازه دادن به افراد از سرتاسر جهان برای دسترسی داشتن به امتحان مربوطه (EXAM) میباشد که ثابت میکند شخص دارای گواهینامه قادر به اجرا کردن وظایف مدیریتی سیستم های لینوکسی از سطح مقدماتی تا متوسطه میباشد. این برنامه همچنین شامل راه اندازی سیستم ها و سرویس ها، همچنین ترابل شوت و آنالیز در سطح ابتدایی بعلاوه توانایی تصمیم گیری به هنگام مشکلات برای مهندسی گروه های کاری در این زمینه را پشتیبانی میکند.
    برای بزرگتر شدن عکس روی آن کلیک کنیدنام:	lfcs.jpgنمایش ها:	1اندازه:	68.9 KBشناسه:	19532






    در این مقاله ما نحوه ی Archive/Compress فایل ها، تنظیم attribute ها و جستجوی فایل ها در filesystem را پوشش می دهیم، که در آزمون LFCS مورد نیاز است.


    همچنین توصیه میشود مطالعه کنید :

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

    فشرده سازی فایل ها در لینوکس با bzip2 - gzip - zip - tar

    5 ابزار جهت فشرده سازی فایل ها از طریق خط فرمان در لینوکس - قسمت اول

    DTRX - ابزاری هوشمند جهت Extract کردن فایل های فشرده در لینوکس (ارباب حلقه ها)

    دستور bzip2 برای فشرده سازی (Compress / Decompress) یک فایل .bz2 در لینوکس

    دستور Rsync در لینوکس برای بک آپ گیری و انتقال فایل ها تحت شبکه



    ابزارهای آرشیو کردن و فشرده سازی فایل ها

    یک ابزار آرشیو کردن، مجموعه ای از فایل ها را در داخل یک فایل گروه بندی می کند، که ما می توانیم با استفاده از آن از مدیا های مختلف بک آپ گیری کنیم، آنها را تحت شبکه منتقل کنیم و یا از طریق ایمیل ارسال کنیم. در لینوکس اغلب از tar استفاده می شود. هنگامیکه ابزار آرشیو کردن همراه با فشرده سازی استفاده می شود، اجازه می دهد که برای ذخیره ی همان فایل ها برروی دیسک، حجم کمتری مورد نیاز باشد.


    ابزار tar

    بسته ی نرم افزاری tar گروهی از فایل ها در داخل یک فایل آرشیو شده است. نام آن به طور کلی از tape archive برگرفته شده است. Tar به طور معمول با ابزار فشرده سازی همچون gzip ،bzip2 یا xz استفاده می شود.


    ساختار دستور tar

    کد PHP:
    # tar [options] [pathname ...] 

    رایج ترین موارد استفاده ی دستور tar
    آپشن مخفف توضیحات
    –create c ایجاد یک آرشیو tar
    –concatenate A اضافه کردن فایل های tar به یک فایل آرشیو
    –append r اضافه کردن فایل های tar به انتهای یک فایل آرشیو
    –update u اضافه کردن فایل های جدید tar و کپی در فایل آرشیو
    –diff or –compare d یافتن تفاوت بین فایل آرشیو و فایل سیستم
    –file archive f استفاده از فایل آرشیو
    –list t لیست کردن محتوای یک tarball
    –extract or –get x استخراج فایل ها از یک آرشیو
    مواردی که به طور معمول مورد استفاده قرار می گیرد.
    آپشن مخفف توضیحات
    –directory dir C تغییر به دایرکتوری dir قبل از اجرای هر عملیاتی
    –same-permissions p نمایش پرمیشن های اصلی
    –verbose v لیست کردن تمام فایل های خوانده شده. هنگامیکه این فایل استفاده می شود، سایز فایل ها و زمان و ... نمایش داده خواهد شد.
    –verify W اصلاح آرشیو پس از نوشتن برروی آن
    –exclude file بیروت انداختن فایل از آرشیو
    –exclude=pattern X بیرون انداختن فایل ها با استفاده از الگوی خاص
    –gzip or –gunzip z تبدیل آرشیو به gzip
    –bzip2 j تبدیل آرشیو به bzip2
    –xz J تبدیل آرشیو به xz
    Gzip قدیمی ترین ابزار فشرده سازی است و حداقل فشرده سازی را فراهم می کند. در حالیکه bzip2 فشرده سازی بیشتری را فراهم می کند. علاوه بر آن xz جدید ترین و بهترین نوع فشرده سازی است.


    گروه بندی و فشرده سازی با استفاده از gzip، bzip2 و یا xz

    فایل ها را در دایرکتوری جاری، گروه بندی کنید و با استفاده از gzip، bzip2 و یا xz، فشرده سازی کنید.
    کد PHP:
    # tar czf myfiles.tar.gz file[0-9]
    # tar cjf myfiles.tar.bz2 file[0-9]
    # tar cJf myfile.tar.xz file[0-9] 

    لیست کردن محتویات یک tarball و بروزرسانی فایل ها

    محتویات tarball را لیست کنید و اطلاعات فایل ها را نمایش دهید. توجه کنید که عملیات بروزرسانی و اضافه کردن فایل ها نمی تواند به طور مستقیم برروی فایل فشرده اعمال شود.
    کد PHP:
    # tar tvf [tarball] 

    دستورات زیر را اجرا کنید.
    کد PHP:
    # gzip -d myfiles.tar.gz       [#1]
    # bzip2 -d myfiles.tar.bz2     [#2]
    # xz -d myfiles.tar.xz                [#3] 

    سپس
    کد PHP:
    # tar --delete --file myfiles.tar file4 (deletes the file inside the tarball)
    # tar --update --file myfiles.tar file4 (adds the updated file) 
    و
    کد PHP:
    # gzip myfiles.tar             [ if you choose #1 above ]
    # bzip2 myfiles.tar            [ if you choose #2 above ]
    # xz myfiles.tar               [ if you choose #3 above ] 
    در آخر
    کد PHP:
    # tar tvf [tarball] #again 

    و زمان و تاریخ تغییرات file4 را مقایسه کنید.


    بیرون کشیدن نوع فایل

    فرض کنید شما می خواهید یک بک آپ از دایرکتوری home کاربر داشته باشید. یک تمرین خوب بیرون کشیدن فایل های ویدئو و صوت از backup تان است.

    شاید اولین روش شما بیرون کشیدن تمام فایل های با پسوند mp3 و mp4 باشد. اگر شما کاربر باهوشی داشته باشید که پسوند ها را به txt یا bkp تغییر داده باشد روش شما خوب نخواهد بود. بنابراین برای تشخیص فایل های ویدئو شما نیاز دارید که نوع فایل ها را بررسی کنید. اسکریپت زیر این کار را به شما نشان خواهد داد.
    کد PHP:
    #!/bin/bash
    # Pass the directory to backup as first argument.
    DIR=$1
    # Create the tarball and compress it. Exclude files with the MPEG string in its file type.
    # -If the file type contains the string mpeg, $? (the exit status of the most recently executed command) expands to 0, and the filename is redirected to the exclude option. Otherwise, it expands to 1.
    # -If $? equals 0, add the file to the list of files to be backed up.
    tar X <(for i in $DIR/*; do file $i | grep -i mpeg; if [ $? -eq 0 ]; then echo $i; fi;done) -cjf backupfile.tar.bz2 $DIR/* 

    بازیابی Backup ها با حفظ پرمیشن های tar

    شما می توانید بک آپ ی که گرفته اید را در دایرکتوری home اصلی کاربر با حفظ پرمیشن ها بازیابی کنید. از دستور زیر استفاده کنید.
    کد PHP:
    # tar xjf backupfile.tar.bz2 --directory user_restore --same-permissions 


    استفاده از دستور find برای جستجوی فایل ها

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

    به طور معمول، ما میخواهیم براساس نام، owner، گروه، نوع، سطح دسترسی، و تاریخ و حجم فایل جستجو کنیم.


    همچنین توصیه میشود مطالعه بفرمایید.

    دستور find در لینوکس به همراه 35 مثال عملی


    ساختار اصلی دستور :
    کد PHP:
    # find [directory_to_search] [expression] 

    پیدا کردن فایل ها به صورت Recursive, بر اساس سایز (جستجو در دایرکتوری و زیر شاخه های موجود در آن)

    تمام فایل ها (-f) در دایرکتوری جاری (.) و دو زیر دایرکتوری (-maxdepth 3 شامل دایرکتوری جاری و 2 زیر دایرکتوری است) که سایز آنها (-size) بزرگتر از 2MB است را پیدا کنید.
    کد PHP:
    # find . -maxdepth 3 -type f -size +2M 

    یافتن فایل ها براساس atime یا mtime

    تمام فایل های کانفیگ را در /etc که دارای زمان دسترسی (atime) و زمان اصلاح (mtime) بیشتر (+180) یا کمتر (-180) از 6 ماه پیش یا دقیقا 6 ماه پیش(180) است را پیدا کنید.
    کد PHP:
    # find /etc -iname "*.conf" -mtime -180 -print 


    پیدا کردن سطوح دسترسی و ویژگی های اولیه

    10 کاراکتر اول در خروجی ls –l ویژگی های فایل هستند. اولین کارکتری که استفاده می شود به انواع زیر اشاره دارد:
    • - : فایل
    • -d : دایرکتوری
    • -l : لینک سیمبولینک
    • -c : دیوایس کاراکتر
    • -b : دیوایس بلاک



    9 کاراکتر بعدی، پرمیشن های فایل هستند که به صورت خواندنی (r)، نوشتنی(w) و اجرایی (x) هستند که برای کاربر و گروه و دیگر تعریف می شوند.

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

    پرمیشن فایل ها را با دستور chmod به صورت زیر می توان تغییر داد :
    کد PHP:
    # chmod [new_mode] file 

    که new_mode یک عدد هشت هشتی برای پرمیشن جدید است.

    عدد هشت هشتی می تواند از برابر باینری خودش گرفته شود. که از پرمیشن فایل برای owner و group و other به صورت زیر گرفته می شود.
    برای بزرگتر شدن عکس روی آن کلیک کنیدنام:	table.jpgنمایش ها:	1اندازه:	14.9 KBشناسه:	19533





    برای ست کردن پرمیشن ها به صورت زیر استفاده کنید.
    کد PHP:
    # chmod 744 myfile 

    شما همچنین می توانید با استفاده از حروف u که به owner اشاره دارد و g که به گروه و o که دیگران را شامل می شود نیز پرمیشن فایل را ست کنید. و همه ی آنها را می توان با a نشان داد. و پرمیشن ها با + یا – به فایل داده و گرفته می شوند.


    لغو پرمیشن اجرایی برای تمام فایل های شل اسکریپت کاربران

    همانطور که توضیح دادیم، ما می توانیم پرمیشن ها را با – لغو کنیم. دستور زیر این کار را انجام می دهد که a تمامی کاربران و – نیز برای لغو می باشد.
    کد PHP:
    # chmod a-x backup.sh 
    ما از سه رقم هشت هشتی برای ست کردن پرمیشن فایل ها استفاده می کنیم. اولین رقم به پرمیشن owner و دومین رقم به پرمیشن گروه و سومی به other اشاره دارد.
    • Owner: (r=22 + w=21 + x=20 = 7)
    • Group owner: (r=22 + w=21 + x=20 = 7)
    • World: (r=22 + w=0 + x=0 = 4),

    کد PHP:
    # chmod 774 myfile 
    در طول زمان و با تمرین شما قادر خواهید بود که روش تغییر مجوزهای یک فایل را تشخیص دهید. لیست دایرکتوری های زیر owner فایل و group owner فایل را به شما نشان می دهد.
    برای بزرگتر شدن عکس روی آن کلیک کنیدنام:	root.jpgنمایش ها:	1اندازه:	45.1 KBشناسه:	19534





    با استفاده از دستور chown میتون مالکیت فایل را تغییر داد. Owner و group owner میتواند همانند دستور زیر تغییر داده شوند.
    کد PHP:
    # chown user:group file 

    نمونه های بیشتر

    تغییر owner یک فایل برای کاربر خاص
    کد PHP:
    # chown gacanepa sent 
    تغییر owner و group یک کاربر خاص
    کد PHP:
    # chown gacanepa:gacanepa TestFile 
    تغییر تنها group owner یک فایل
    کد PHP:
    # chown :gacanepa email_body.txt 

    همچنین توصیه میشود مطالعه کنید.

    فشرده سازی فایل ها در لینوکس با دستور zip و اکسترکت کردن در یک دایرکتوری خاص

    آموزش دستور rar برای unzip - extract و compress فایل های لینوکس


    با آرزوی موفقیت
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 12-08-2019, 05:49 PM.
    اینستاگرام انجمن لینوکس ایران : https://www.instagram.com/iranlinuxforum

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

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

شبکه های اجتماعی
در حال انجام ...
X