e30-851 29 ارسال شده در 14 مرداد، 2015 اشتراک گذاری ارسال شده در 14 مرداد، 2015 دستور tar gnu tar محبوب*ترین و پر استفاده*ترین برنامه برای فشرده*سازی و استخراج بسته*های مختلف به فرمت*های گوناگون است. در اینجا چند مثال از این برنامه را خواهید دید: ساخت یک فايل بایگانی با فرمت tar. کد: [انتخاب] >tar cvf directory_name.tar directory_name_path/ استخراج یک آرشیو با فرمت tar. کد: [انتخاب] >tar xvf file_name.tar اما گاهی پیش می*آید که مي*خواهيم مطلع شويم درون یک فایل فشرده چه فایل*ها و پوشه*هایی وجود دارد. ساده*ترین راه*حل استخراج این فایل و مشاهده محتویات آن است اما زمانی که حجم فایل سنگین باشد و هارددیسک فضاي کافي نداشته باشد؛ این راه*حل عملی نیست. راه*حل حرفه*ای*تر استفاده از tar به همراه سوئیچ t برای مشاهده محتویات یک فایل فشرده یا tar شده است: کد: [انتخاب] >tar tvf archive_name.tar tar در حقیقت برای یک تکه*کردن فایل*ها یا پوشه*ها برای انتقال بهتر به کار می*رود و در عمل هیچ فشرده*سازی انجام نمی*دهد (همانند zip) اما بهتر است بدانید بهترین و جدیدترین متد*ها و توسعه*های فشرده*سازی متن*باز به*صورت سوئیچ*ها و گزینه*هایی در این برنامه وجود دارند. سوئیچ z برای فشرده*سازی یا استخراج فرمت gz (که برنامه gzip نیز آن را فراهم می*کند)، سوئیچ j برای استفاده در فرمت bz2 (برنامه bzip2 آن را فراهم می*کند) و سوئیچ J برای استفاده از فرمت xz به کار می*رود. برای نمونه، می*توان مثال*های زیر را استفاده کرد: کد: [انتخاب] > tar cvfz directory_name.tar.gz directory_name_path/ tar xvfj file_name.tar.bz2 اگر بخواهید از متدهای پیشرفته*تر فشرده*سازی مانند lzma استفاده کنید می*توانید از گزینه*ای به همین عنوان (--lzma) استفاده کنید. Gnu tar گزینه*ها و سوئیچ*های فراوان و متنوعی دارد که می*تواند تمامی نیازهای یک کاربر یا مدیر سیستم حرفه*ای را تأمین کند. برای دیدن تمامی سوئیچ*ها و آپشن*ها می*توان به راهنماي برنامه یا مستندات آنلاین پروژه گنو مراجعه کرد. grep اگر تا*کنون نیاز به مشاهده یک دستور یا یک کلمه در خروجی بسیار مفصل ترمینال یا یک فایل متنی بلند بالا داشته باشید، به*طور حتم، از grep نیز استفاده کرده*اید. Grep ورودی را (از ورودی استاندارد ترمینال) می*گیرد و خطوطی مشخص شده را نمایش می*دهد. در حقیقت grep نوعی فیلترسازی را انجام می*دهد. کد: [انتخاب] >grep -i “the” demo_file دستور فوق، خطوط دارای the را در فایل متنی demo_file پیدا کرده و نمایش می*دهد. سوئیچ i به grep می*گوید که the را به*صورت case in-sensitive (غیر حساس به حروف بزرگ و کوچک) جست*وجو کند. فرض کنید نیاز دارید تا در یک فایل متنی یک واژه را جست*وجو کنید اما مطمئن نیستید که این واژه به همان معنی و مفهوم که مورد نظر شما است به کار رفته یا خیر. در این مواقع می*توان از grep به این صورت استفاده کرد: کد: [انتخاب] >grep -A 3 -i "example" demo_text ممکن است بدترين حالت این باشد که به دنبال یک کلمه یا جمله می*گردید اما مطمئن نیستید این واژه یا رشته در کدام یک از فایل*ها قرار دارد. سوئیچ r و * دستور grep برای این مواقع هستند: کد: [انتخاب] >grep -r "word" * find اگر فکر کرده*اید فقط برنامه*های جست*وجوی گرافیکی با آن زرق و برق منوها و نوار ابزارهای شلوغ*شان هستند که می*توانند شما را به فایل/پوشه گمشده*تان برسانند اشتباه کرده*اید. find دستوری است که با سرعت بسیار بالاتر نسبت به برنامه*های گرافیکی هاردديسک شما را می*گردد و با سوئیچ*ها و گزینه*های زیاد خود باعث می*شود زودتر به هدفتان برسید. کد: [انتخاب] >find -iname "MyCProgram.c" نکته: اگرچه امکان اجرای تمامی دستورات فوق توسط هر کاربری وجود داشت (و find نیز این*گونه است) اما از این جهت کاربر root اجازه خواندن تمامی پوشه*ها و فایل*ها را دارد، برای جست*وجوی کامل*تر بهتر است این دستور را توسط کاربر ریشه اجرا کنید. دستور فوق باعث جست*وجو برای MyCProgram.c در پوشه جاری می*شود و البته iname به find می*گوید که به دنبال فایل مورد نظر بدون حساسیت به حروف کوچک و بزرگ آن بگردد. در مثال بعدی، find به دنبال فایل/فایل*های مورد نظر در مسیر / می*گردد و البته پس از پیدا کردن آن*ها، دستور md5sum را روی آن*ها اجرا کرده و md5 را محاسبه و در خروجی نمایش می*دهد. کد: [انتخاب] >find / -iname "MyCProgram.c" -exec md5sum {} \; مثال آخر نیز باعث جست*وجو برای پیدا کردن تمامی فایل*های خالی در پوشه خانگی کاربر اجرا کننده دستور می*شود: کد: [انتخاب] >find ~ -empty اگر بخواهیم یک سوئیچ پر کاربرد دیگر در find نام ببریم، بايد از سوئیچ type- نام ببریم که می*تواند به دنبال file،directory ،socket و... ( با استفاده از حروف s برای socket، d برای directory و f برای file) بگردد. ssh بدون شک ssh شناخته شده*ترین و پر استفاده*ترین دستور لینوکسی برای مدیریت راه دور سرورها است. در حالت ساده می*توان با استفاده از ssh با کاربر مورد نظر به سرور راه دور لاگین کرد: کد: [انتخاب] >ssh -l root remotehost.example.com می*توان برای مشخص کردن کاربر، از شیوه زیر نیز استفاده کرد: کد: [انتخاب] >ssh [email protected] اما اگر به*صورت ساده از دستوری مانند ssh remotehost.example.com استفاده کنید، ssh با کاربر اجرا کننده دستور سعی در ورود به سرور ریموت می*کند. پر واضح است که به جای نام سرور، می*توان از آی*پی آن نیز استفاده کرد. اگر در اتصال به سرور راه دور مشکل دارید، می*توانید از سوئیچ v- برای اشکال*زدایی (debug) استفاده کنید. اگر باز هم مشکل پیدا نشد vv- می*تواند کمک بیشتری کند اما اگر باز هم متوجه خطا یا مشکل پیش*آمده نشدید، باید آخرین تیر ترکش یعنی سوئیچ vvv- را امتحان کنید. اما اگر سروری دسترسی راه دور با استفاده از رمزعبور را بسته بود باید چه کرد؟ ssh برای این مشکل، استفاده از key را پیشنهاد می*دهد. به کمک سوئیچ i- و کلید عمومی سرور می*توان به راحتی بدون نیاز به رمزعبور به سرور راه دور متصل شد: کد: [انتخاب] >ssh -i /home/ali/id_dsa [email protected] sed می*دانید که امکان ویرایش فایلی که توسط برنامه* دیگری در حال ویرایش است توسط ویرایشگرهای متنی متداول وجود ندارد. اما sed (سرنام stream editor) راه*حل خوبی دارد و بدون نیاز به باز کردن یک فایل متنی می*تواند تغییرات مورد نیازمان را روی آن فایل انجام و فایل را ذخیره کند. شاید دیده*اید که فایل*های متنی ویندوزی در لینوکس به*طور کامل در یک خط نمایش داده می*شوند (با ذخیره فایل در ویندوز با تنظیمات پیش فرض). اگر می*خواهید خطوط به*صورت صحیح نمایش داده شود، باید در پایان هر خط ویندوزی یک r\n\ اضافه کنید. Sed این کار را به*راحتی برای شما انجام می*دهد: کد: [انتخاب] >sed 's/.$//' filename به طورحتم، از این مثال هم متوجه شدید که دستور sed، شکل و شمايل يا به*اصطلاح syntax عجیبی دارد اما کارهای عجیبی نیز انجام می*دهد. به عنوان مثال دستور زیر، محتویات فایل متنی را از انتها به ابتدا نمایش می*دهد: کد: [انتخاب] >sed -n '1!G;h;$p' theTextFile.txt فرض کنید مدیر سیستمی هستید که اسکریپتی نوشته*اید و می*خواهید به روش غیرمعمول و به قول معروف «لقمه را دور سر گرداندن» ببینید، این اسکریپت چند خط دارد. مثال sed زیر جلوی هر خط غیر خالی شماره آن را می*گذارد: کد: [انتخاب] >sed '/./=' theScript.sh | sed 'N; s/\n/ /' awk awk نیز یک زبان عجیب و غریب برنامه*نویسی است که پیاده*سازی آزاد آن، gawk ( سر حرف GNU awk) است. awk بیشتر برای پردازش و تطبیق متن با الگوی مورد نظر به کار می*رود. به عنوان مثال دستور زیر، یکی از خطوط برنامه را که چند بار تکرار شده*اند نگه می*دارد و بقیه را پاک می*کند: کد: [انتخاب] >awk '!($0 in array) { array[$0]; print }' temp یا به عنوان یک نمونه دیگر می*توان دستور زیر را مثال زد که خطوطی از فایل etc/passwd/ را که داری شناسه کاربری (uid) و گروه کاربری (gid) یکسان باشند را نمایش می*دهد: کد: [انتخاب] >awk -F ':' '$3==$4' passwd.txt فهم دستور زیر کمی ساده*تر است؛ نمایش فیلدهای دلخواه یک فایل: کد: [انتخاب] >awk '{print $2,$5;}' employee.txt vim vim و nano از محبوب*ترین برنامه*های ویرایشگر متن خط فرمانی هستند. کار با nano نسبت به vim ساده*تر است اما برای کار با vim باید ترفندهای این برنامه را بلد باشید. هر چند کار با vim به اندازه nano ساده نیست اما سر خوره*های لینوکسی درد می*کند برای چنین برنامه*هایی. در دستور زیر، vim فایل متنی filename.txt را باز می*کند و به خط ۱۴۳ آن می*رود: کد: [انتخاب] >vim +143 filename.txt دستور زیر باعث باز شدن فایل متنی در vim شده و به نخستین واژه جست*وجو شده پرش می*کند. برای رفتن به واژه*های بعدی مطابق با این کلمه باید کلید n و برای رفتن به واژه*های قبلی باید N را زد: کد: [انتخاب] >vim +/search-term filename.txt مطمئناً تمامی فایل*های متنی را نمی*توان در مد خواندن/نوشتن باز کرد و بعضی را باید با احتیاط کامل و فقط به صورت خواندنی باز کرد تا مبادا در اثر اشتباه، فایل تنظیمات یک سرویس خراب شد و آن سرویس از کار بیفتد یا برای دفعات بعدی شروع به کار نکند: کد: [انتخاب] >vim -R /etc/passwd diff همان*گونه که می*شود از نام این دستور حدس زد، از این دستور برای مقایسه بین دو فایل استفاده می*شود. استفاده از diff برای پی بردن به تفاوت*های بین دو نسخه از یک اسکریپت یا سورس کد یک برنامه بسیار مفید و ساده است. کد: [انتخاب] > $diff -w name_list.txt name_list_new.txt 2c2,3 < John Doe --- > John M Doe > Jason Bourne دستور فوق با حذف فضاهای خالی (space) دو فایل را از نظر تغییرات و تفاوت*ها مقایسه می*کند. استفاده از diff نیاز به توضیح و تفسیر بیشتری ندارد. sort نام sort نیز به اندازه کافی گویای کاربرد آن است. اما ذکر چند مثال از استفاده*های این دستور خالی از لطف نیست. کد: [انتخاب] >sort names.txt استفاده از این دستور به همراه فایل متنی که در آن واژه*هایی نوشته شده است (به*صورت هر کلمه در یک خط) باعث نمایش ترتیب این کلمه*ها به صورت صعودی (به ترتیب حروف الفبا) می*شود. به کمک سوئیچ r- می*توان ترتیب نمایش را از صعودی به نزولی تغییر داد: کد: [انتخاب] >sort -r names.txt از دیگر سوئیچ*های این برنامه می*توان به b- برای حذف فضای سفید ابتدای هر خط، f- برای نادیده گرفتن حروف کوچک و بزرگ و R- برای مرتب سازی اتفاقی اشاره کرد. export export برای صدور متغیرهای محیطی خط فرمان به گونه*ای که توسط سایر برنامه*ها در آن شل (ترمينال خط فرمان) قابل استفاده باشد به کار می*رود. استفاده از export بدون هیچ گزینه*ای باعث نمایش تمامی متغیرهای محیطی می*شود. دستور زیر برای لیست کردن متغیرهای مرتبط با oracle استفاده شده است: کد: [انتخاب] > $ export | grep ORACLE declare -x ORACLE_BASE="/u01/app/oracle" declare -x ORACLE_HOME="/u01/app/oracle/product/10.2.0" declare -x ORACLE_SID="med" declare -x ORACLE_TERM="xterm" برای تعریف یک متغیر محیطی به گونه*ای که در سایر برنامه*ها نیز قابل استفاده باشد، می*توان به این صورت از export استفاده کرد. کد: [انتخاب] >export ORACLE_HOME=/u01/app/oracle/product/10.2.0 سه چیز رو هیچ وقت یادت نره 1- به همه نمی تونی کمک کنی 2- همه چیز رو نمی تونی عوض کنی 3-همه تو رو دوست نخواهند داشت اسماعیل عطایی کچویی چهارشنبه - ۲ اردیبهشت ۱۳۹۴ الأربعاء - ٣ رجب ١٤٣٦ Wednesday - 2015 22 April لینک ارسال
e30-851 29 ارسال شده در 14 مرداد، 2015 مالک اشتراک گذاری ارسال شده در 14 مرداد، 2015 Xargs پایپ (|) یکی از ابزارهای انتقال خروجی استاندارد (که ممکن است خروجی یک برنامه یا دستور باشد) به ورودی استاندارد یک برنامه دیگر است. اما انتقال موارد لیست شده در چندین خط به ورودی برنامه یا دستورات دیگر کمی کار را مشکل می*کند. xargs موارد ورودی را از ورودی استاندارد می*خواهند و دستورات را روی آن*ها (دستورات به*صورت پیش*فرض با bin/echo/ اجرا می*شوند) با آرگومان*های داده شده یک یا چند بار تکرار می*کند. Xargs فضای خالی را به*عنوان مرز یک گزینه می*شناسد. مثال* زیر بهتر می*تواند کاربرد xargs را مشخص کند. کد: [انتخاب] > ls *.jpg | xargs -n1 -i cp {} /home/ali/Pictures با اجرای دستور فوق، هر فایلی با پسوند jpg در پوشه home/ali/Pictures/ کپی می*شود. عدد مقابل گزینه n بیشینه آرگومان*ها در هر خط را مشخص می*کند و سوئیچ i نیز دستور جلوی خود (در این مثال دستور cp) را جلوی هر کدام از آیتم*های ورودی اجرا می*کند که در*نهایت باعث کپی شدن هر کدام از فایل*های jpg نمایش داده شده توسط دستور ls به پوشه مورد نظر می*شود. کد: [انتخاب] >find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz در مثال فوق، کلیه تصاویر jpg جست*وجو شده و سپس با فرمت tar.gz فشرده می*شوند. کد: [انتخاب] >Cat url-list.txt | xargs wget –c کلیه URLهایی را که در یک فایل ذخیره شده*اند و در هر خط یک url وجود دارد به wget انتقال داده و سپس wget اقدام به دانلود آن*ها می*کند. (با گزینه i- در wget می*توان urlها را از یک فایل خواند و مثال فوق جهت آشنایی با xargs آورده شده است) ls یکی از نخستین دستوراتی که هر کاربر تازه*کار لینوکسی اجرا می*کند ls است. اجرای این دستور بدون هیچ گزینه*ای باعث لیست*کردن فایل*ها و پوشه*ها در مسیر جاری می*شود اما گزینه*های متنوعی در این دستور وجود دارند که باعث کاربردی*تر شدن این دستور می*شوند. کد: [انتخاب] >ls -lh همان*طور که در بالا نیز اشاره شد اجرای دستور ls بدون هیچ گزینه*ای باعث لیست*کردن فایل*ها و پوشه*های موجود در مسیر جاری می*شود اما این فهرست فقط شامل نام فایل*ها و پوشه*ها می*شود. گزینه l باعث نمایش ویژگی*های بیش*تر و مشروح*تر این فهرست نظیر سطح دسترسی*ها، نام و گروه مالک فایل/پوشه، آخرین زمان تغییر و حجم آن می*شود. علاوه*بر آن با استفاده از این گزینه، فایل*ها و پوشه*های مخفی نیز نمایش داده می*شوند. نمایش حجم فایل*ها و پوشه*ها در گزینه l بر*اساس بایت بوده که خواندن آن کمی سخت است. گزینه h باعث خوانایی بیشتر حجم فایل با استفاده از نمایش حجم بر*اساس KB/MB/GB/TB خواهد شد. کد: [انتخاب] >ls -ltr اگر می*خواهید جدیدترین فایل/پوشه*هایی را که تغییر کرده*اند فهرست کنید، می*توانید از گزینه t استفاده کنید اما اگر می*خواهید ترتیب نمایش بر*عکس شود از گزینه r نیز باید استفاده کرد. کد: [انتخاب] >ls -F توزیع*های کاملی مانند مینت و فدورا در دستور ls از رنگ*های مختلفی برای تمیز دادن بین پوشه*ها و فایل*های از نوع مختلف استفاده می*کنند اما اگر توزیع شما به*صورت مینی*مال نصب شده یا مانیتور شما سیاه و سفید است، می*توان از گزینه F برای تشخیص بین فایل*ها، پوشه*ها، لینک*های سمبلیک و ... استفاده کرد. به*عنوان نمونه نمایش / در انتهای هر گزینه نشان دهنده این است که آن مورد پوشه است و <= نشان می*دهد که آن مورد یک لینک سمبلیک به یک فایل یا پوشه دیگر است. pwd اگرچه pwd یک دستور بسیار ساده شامل تنها دو گزینه است و شاید نخستین دستوری است که هر تازه وارد به لینوکس آن را اجرا می*کند، اما یک دستور کاملاً کاربردی و مفید است. تنها گزینه*های pwd شامل L برای logical و P برای physical می*باشد. در حالت پیش*فرض pwd با گزینه L اجرا می*شود. مثلاً اگر به پوشه شماره ۱ بروید و pwd را اجرا کنید، مسیر همین پوشه نمایش داده می*شود هر چند اگر این پوشه به پوشه دیگری لینک شده باشد، اجرای pwd با P- باعث نمایش مسیر واقعی پوشه می*شود. cd cd نیز از جمله ابتدایی*ترین دستورات لینوکسی است. دستور cd بدون هیچ گزینه*ای باعث انتقال مسیر جاری به پوشه خانگی کاربر اجرا کننده دستور می*شود. .. cd باعث رفتن به پوشه سطح بالاتر می*شود و . cd به پوشه جاری می*رود (مسیر جاری تغییر نمی*کند). اگر اشتباهی به یک مسیر رفته باشید و بخواهید به مسیر قبلی برگردید می*توان از - cd استفاده کرد. تایپ نام پوشه جلوی cd باعث رفتن به آن پوشه می*شود اما برای جلوگیری از تایپ اشتباه نام پوشه می*توان دستور shopt -s cdspell را یک*بار اجرا کرد تا اشتباهات تایپی نام پوشه در اجرای دستور cd برای ورود به آن پوشه به صورت خودکار اصلاح شود و با زدن کلید tab نام پوشه کامل شود. gzip gzip را از نظر گستردگی استفاده در سیستم*عامل*های خانواده لینوکس می*توان با zip در ویندوز مقایسه کرد. البته gzip فشردگی مناسب و کافی روی فایل*ها و پوشه*ها نیز اعمال می*کند. کد: [انتخاب] >gzip test.txt دستور فوق باعث فشرده شدن فایل test.txt با فرمت gz. می*شود. کد: [انتخاب] >gzip -d test.txt.gz برای استخراج یک فایل gz. باید از گزینه d استفاده کرد. کد: [انتخاب] > gzip -l wordpress-3.1.3.tar.gz compressed uncompressed ratio uncompressed_name 2764167 9338880 70.4% wordpress-3.1.3.tar گزینه l برای لیست*کردن و مقایسه حجم فایل اصلی با فایل فشرده شده و نمایش درصد فشرده*سازی است. bzip2 از نظر درصد فشرده*سازی، bzip2 نسبت به gzip دارای میزان فشرده*سازی بیشتری است و به*همین دلیل در سیستم*های جدید از این گزینه بیشتر استفاده می*شود. کد: [انتخاب] >bzip2 test.txt همانند gzip، استفاده از bzip بدون هیچ آرگومانی باعث فشرده سازی فایل ورودی می*شود. کد: [انتخاب] >bzip2 -d test.txt.bz2 و برای استخراج نیز می*توان همانند gzip از گزینه d استفاده کرد. gunzip اگرچه معادل آزاد zip در لینوکس، tar است اما گاهی پیش می*آید که بخواهیم فایل*هایی را که در ویندوز zip شده*اند extract کنیم. کد: [انتخاب] >unzip test.zip استفاده از unzip بدون هیچ آرگومانی باعث استخراج فایلی می*شود که به*عنوان آرگومان به آن داده شده است. کد: [انتخاب] > unzip -l Documents/articles/Shabakeh/1392/mysql-tips-tricks.zip Archive: Documents/articles/Shabakeh/1392/mysql-tips-tricks.zip Length Date Time Name --------- ---------- ----- ---- 0 04-16-2013 09:29 mysql-tips-tricks/ 25179 04-16-2013 09:29 mysql-tips-tricks/mysql-tips.jpg 24651 04-16-2013 00:06 mysql-tips-tricks/mysql-tips-tricks-PART1.odt 23253 04-14-2013 15:34 mysql-tips-tricks/mysql-tips-tricks-PART1 (copy).odt --------- ------- 73083 4 files shutdown برای خاموش یا راه*اندازی دوباره سیستم دستورات زیادی وجود دارد اما shutdown جزء دستورات کامل و انعطاف*پذیر است. لازم به ذکر است که دستور shutdown را فقط کاربر ریشه یا کاربرانی که به آن*ها دسترسی لازم داده شده است می*توانند اجرا کنند. کد: [انتخاب] >Shutdown -h now اجرای دستور بالا باعث خاموش شدن بی*درنگ سیستم می*شود. Shutdown گزینه*های مختلفی دارد بنابراین، با گزینه h به آن می*گوییم که منظور از اجرای دستور، خاموش کردن سیستم است. اگر می*خواهید خاموش کردن سیستم را به دقایقی دیگر موکول کنید، می*توانید مانند الگوی زیر از shutdown استفاده کنید. کد: [انتخاب] >shutdown -h +10 برای راه*اندازی دوباره سیستم باید به این صورت از shutdown استفاده کرد: کد: [انتخاب] >shutdown -r now برای بررسی کردن فایل سیستم پیش از راه*اندازی دوباره سیستم می*توان از گزینه F استفاده کرد: کد: [انتخاب] >shutdown -Fr now اگر می*خواهید اجرای shutdown را که به دقایق بعدی موکول شده است، متوقف کنید می*توانید از سوئیچ c استفاده کنید. ftp ftp یکی از قدیمی*ترین پروتکل*ها برای انتقال فایل است و sftp یا secure ftp برای رمزنگاری و جلوگیری از شنود به کار می*رود. Ftp و sftp دارای گزینه*های مشابه هستند. کد: [انتخاب] > ftp IP/hostname ftp> mget *.html برای لیست گرفتن فایل*ها پیش از دانلود آن*ها می*توان مانند مثال زیر عمل کرد: کد: [انتخاب] > ftp> mls *.html - /ftptest/features.html /ftptest/index.html /ftptest/othertools.html /ftptest/samplereport.html /ftptest/usage.html crontab مدیران سیستم از crontab برای اجرای هر دستور در زمان معینی از روز، ماه یا سال استفاده می*کنند. Crontab مدیران سیستم را بی نیاز از نگه*داری و اجرای دستورات تکراری روزانه می*کند. کد: [انتخاب] >crontab -u ali -l دستور فوق موجب لیست*کردن دستوراتی را که کاربر ali برای اجرا توسط crontab تعیین کرده است می*شود. کد: [انتخاب] >*/10 * * * * /home/ali/check-disk-space الگوی فوق باعث اجرای دستور بررسی کردن فضای دیسک در هر ۱۰ دقیقه می*شود. وضعیت زمان*دهی و نحو دستورات به این صورت است (از چپ به راست): روز هفته کاربر اجرا کننده دستور دستور روز ماه (1تا 31) ماه (۱ تا ۱۲ یا jan ،feb و ...) دقیقه (۰ تا ۵۹) ساعت (۰ تا۲۳) البته، فرمتی که در بالا گفته شد فرمتی است که می*توان در فایل etc/fstab/ وارد کرد (توسط کاربر ریشه) تا هر دستور توسط کاربر مورد نظر اجرا شود اما از آنجا که هر کاربر سیستم*های لینوکسی می*تواند crontab مخصوص به خود را داشته باشد و در مثال فوق از crontab کاربر ali استفاده شده است بنابراین، نیازی به وارد کردن فیلد کاربر اجرا کننده دستور نیست. سه چیز رو هیچ وقت یادت نره 1- به همه نمی تونی کمک کنی 2- همه چیز رو نمی تونی عوض کنی 3-همه تو رو دوست نخواهند داشت اسماعیل عطایی کچویی چهارشنبه - ۲ اردیبهشت ۱۳۹۴ الأربعاء - ٣ رجب ١٤٣٦ Wednesday - 2015 22 April لینک ارسال
e30-851 29 ارسال شده در 14 مرداد، 2015 مالک اشتراک گذاری ارسال شده در 14 مرداد، 2015 service اسکریپت*های آغازین System V در مسیر etc/init.d/ (در توزیع*های دبیان بیس) و etc/rc.d/init.d/ (در توزیع*های ردهت بیس) قرار دارند. برای اجرای هر اسکریپت موجود در این مسیر باید ابتدا آن اسکریپت را با اجرای مسیر کامل فراخوانی و سپس از سوئیچ*های start ،stop،reload،restart و... استفاده کرد. در دستور service می*توان نام اسکریپت و سپس سوئیچ مورد نظر را وارد کرد و نیازی به تایپ مسیر کامل نیست. همچنین service تعدادی ویژگی مفید دیگر هم دارد. کد: [انتخاب] >service sshd status این دستور وضعیت سرویس ssh را نشان می*دهد. کد: [انتخاب] >Service --status-all این دستور وضعیت سرویس*های مختلف را نشان می*دهد. ps از ps برای نمایش اطلاعات در مورد پروسه*های در حال اجرای سیستم استفاده می*شود. آرگومان*های زیادی برای ps وجود دارد که در اینجا به چند مورد از آن*ها اشاره می*شود. کد: [انتخاب] >ps -ef | more از دستور قبلی می*توان برای مشاهده تمام پروسه*های سیستم استفاده کرد. سوئیچ e برای مشاهده کلیه پروسه*ها و گزینه f برای نمایش به*صورت full format استفاده می*شود. از آنجا که به*احتمال تعداد پروسه*های در حال اجرای سیستم زیاد است، خروجی به more پایپ شده است تا بتوان به*صورت صفحه*ای پروسه*ها را مرور کرد. کد: [انتخاب] >Ps -efH | more اگر می*خواهید پروسه*ها را به*صورت نمودار درختی مشاهده کنید تا ببینید هر پروسه زیر پروسه کدام پروسه دیگر است می*توان از گزینه H استفاده کرد. free یکی از نخستین مواردی که در کند شدن و خواندن/نوشتن*های پیاپی روی هارددیسک سیستم مورد بررسی قرار می*گیرد میزان فضای خالی و مورد استفاده RAM است. دستور free میزان فضای خالی، فضای استفاده شده و مقدار حافظه cache شده RAM و حافظه swap را نشان می*دهد. آن*چه که free به*عنوان خروجی می*دهد به این صورت است: کد: [انتخاب] > [ali@localhost ~]$ free total used free shared buffers cached Mem: 3919808 3624220 295588 0 233068 1766916 -/+ buffers/cache: 1624236 2295572 Swap: 2047996 20648 2027348 اما خروجی نشان داده شد بر حسب بایت است و خواندن را دچار مشکل می*کند. اگر می*خواهید به سرعت دریابید که چند گیگابایت از حافظه اصلی سیستم شما در حال استفاده و چند گیگا*بایت آزاد است، می*توانید از گزینه g- استفاده کنید تا خروجی بر حسب گیگابایت نشان داده شود. سوئیچ*های m- فضا را بر حسب مگا*بایت و سوئیچ k- میزان فضا را بر حسب کیلوبایت نمایش می*دهد. b- که گزینه پیش فرض نیز هست مقدار فضای آزاد و استفاده شده را بر حسب بایت نشان می*دهد. مشاهده مجموع فضای خالی RAM و حافظه SWAP با استفاده از گزینه t- به*راحتی امکان*پذیر است. کد: [انتخاب] > [ali@localhost ~]$ free -tg total used free shared buffers cached Mem: 3 3 0 0 0 1 -/+ buffers/cache: 1 2 Swap: 1 0 1 Total: 5 3 2 top زمانی که load پردازنده بالا رفته و به کندی به درخواست*ها جواب می*دهد، نخستین دستوری که برای بررسی*کردن بار پردازنده اجرا می*شود دستور top است. Top به*صورت پیش فرض تمامی پروسه*ها را بر*اساس باری که روی پردازنده می*گذارند لیست می*کند. شکل1 پروسه*های در حال اجرای سیستم را در دستور top نشان می*دهد. پس از باز شدن top در ترمینال، cursor مخصوص برنامه در بالای پروسه*ها آماده دریافت دستورات دستورات شما است. دستورات در top به کمک کلید*های ترکیبی یا استفاده از حروف وارد می*شوند. به*عنوان مثال، با وارد کردن حرف h یا علامت ؟، منوی help برنامه نمایش داده می*شود. Z برای تغییر رنگ top و B برای Bold/Unbold کردن پروسه*ها به کار می*رود. با زدن کلید n می*توان تعداد پروسه*های نمایش داده شده را تعیین کرد. به عنوان مثال، می*توان ۵ پروسه*ای را که بیشترین*بار را روی پردازنده می*گذارند، به کمک n تعیین کرد. از k هم می*توان برای kill کردن یک پروسه استفاده کرد. از u هم می*توان برای فیلتر کردن کاربر اجرا کننده پروسه استفاده کرد. معادل استفاده از سوئیچ u را می*توان در هنگام اجرای دستور top مانند الگوی زیر استفاده کرد. کد: [انتخاب] >top -u ali top علاوه*بر نمایش بار روی پردازنده، میزان فضای حافظه*ای که پروسه استفاده کرده، دستوری که پروسه را اجرا کرده، pid پروسه و اطلاعات بسیار دیگری را نمایش می*دهد. df df ( سر حرف disk free) است و برای مشاهده میزان فضای خالی و استفاده شده هر پارتیشن استفاده می*شود. اجرای دستور df بدون هیچ گزینه*ای میزان فضا را بر حسب بایت نمایش می*دهد اما برای خواناتر شدن می*توان از سوئیچ h- استفاده کرد. Df به صورت پیش فرض نوع فایل سیستم پارتیشن*ها را نمایش نمی*دهد و در صورتی*که بخواهیم فایل سیستم نیز در خروجی دستور نمایش داده شود باید از سوئیچ T استفاده کرد. کد: [انتخاب] > df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 6.6M 1.9G 1% /dev/shm tmpfs tmpfs 1.9G 194M 1.7G 11% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda5 ext4 16G 9.1G 5.6G 63% / tmpfs tmpfs 1.9G 96K 1.9G 1% /tmp /dev/sda8 ext4 314G 281G 18G 95% /home kill از kill برای خاتمه دادن به یک پروسه استفاده می*شود. زمانی که پروسه*ای به صورت زامبی درآید یا بار زیادی را روی سیستم تحمیل کند، به*طوری که در کار سایر پروسه*ها و برنامه*ها اختلال ایجاد کند، باید به اجبار متوسل شد و از kill برای خاتمه دادن به آن پروسه استفاده کرد. کد: [انتخاب] > ps aux | grep libreoffice ali 2433 0.0 0.0 230788 2788 ? Sl Jul09 0:01 /usr/lib64/libreoffice/program/oosplash --writer ali 2449 0.1 3.5 1313272 137620 ? Sl Jul09 2:56 /usr/lib64/libreoffice/program/soffice.bin --writer --splash-pipe=6 ali 22265 0.0 0.0 109180 848 pts/0 S+ 10:46 0:00 grep --color=auto libreoffice گزینه a برای نمایش پروسه*هایی که تمامی کاربران روی سیستم اجرا کرده*اند، x برای نمایش پروسه*هایی که چه از طریق ترمینال و چه از غیر آن اجرا شده باشند، استفاده می*شود و u هم برای نمایش کاربر اجرا*کننده پروسه استفاده می*شود. برای نابودی یک پروسه هم می*توان از دستور kill به همراه pid آن پروسه استفاده کرد. اما اگر یک پروسه زیر پروسه*هایی نیز داشته باشد باید از kill -9 استفاده کرد تا آن پروسه به همراه تمامی زیر پروسه*هایش kill شوند. اگر می*خواهید وضعیت زیر پروسه*ها و این*که هر پروسه چه پروسه*های دیگری را اجرا کرده است، می*توان از گزینه f در دستور ps استفاده کرد. rm rm هم از ابتدایی*ترین دستوراتی است که هر کاربر یونیکسی/لینوکسی اجرا می*کند. اگرچه این دستور ساده است اما در عین سادگی می*تواند بسیار خطرناک هم باشد. برای به حداقل رساندن این خطر و جلوگیری از پاک شدن اشتباهی فایل*ها می*توان از گزینه i به همراه این دستور استفاده کرد: کد: [انتخاب] > rm -i vz.pdf rm: remove regular file ‘vz.pdf’? استفاده از گزینه i نیاز به تأیید در*مورد پاک کردن فایل یا پوشه را موجب می*شود که میزان خطر پاک*کردن یک فایل دیگر به حداقل می*رسد. همچنین اگر بخواهید چند فایل از بین چندین فایل را پاک کنید می*توان از i برای نمایش نام فایل*ها و انتخاب گزینه*های موردنظر برای پاک شدن یا باقی ماندن استفاده کرد. کد: [انتخاب] > rm -i Screenshot* rm: remove regular file ‘Screenshot from 2012-12-28 18:06:39.png’? y rm: remove regular file ‘Screenshot from 2013-05-25 05:52:39.png’? y rm: remove regular file ‘Screenshot from 2013-05-25 23:36:19.png’? n rm: remove regular file ‘Screenshot from 2013-05-27 20:04:09.png’? Y نخستین مشکلی که در rm با آن برخورد می*شود، هنگام پاک*کردن پوشه*ای است که درون آن چندین فایل یا پوشه دیگر وجود دارد که rm خطای خالی نبودن پوشه را بر*می*گرداند. اگر از پاک کردن پوشه مورد نظر مطمئن هستید، می*توان از گزینه r برای پاک کردن پوشه به همراه تمامی محتویات آن استفاده کرد. cp کپی کردن نیز جزء نخستین و ساده*ترین دستورات است اما می*توان از گزینه*های حیاتی و مفید این برنامه نیز استفاده کرد. اجرای دستور cp بدون هیچ گزینه*ای، آرگومان دوم دستور را به*عنوان یک کپی از آرگومان اول دستور می*سازد. با اجرای دستور cp، مالکیت فایل*ها/پوشه*ها منتقل نمی*شود و مالک فایل یا پوشه ایجاد شده، کاربر اجرا کننده دستور خواهد شد. در صورتی*که مایل هستید تا مالکیت هم منتقل شود، باید از گزینه p استفاده کرد. برای کپی*کردن بازگشتی از پوشه*هایی که خود دارای فایل یا زیر پوشه*های دیگر هستند، باید از گزینه r استفاده کرد. اجرای cp در صورتی*که فایل یا پوشه*ای هم اکنون در آن مسیر وجود داشته باشد باعث overwrite شدن روی مورد قبلی می*شود. برای جلوگیری از این موضوع و این*که آیا از قبل فایل/پوشه*ای با این نام وجود دارد یا خیر می*توان از گزینه i استفاده کرد. mv از mv هم می*توان برای تغییر نام و هم برای جابه*جایی استفاده کرد. کد: [انتخاب] > mv -i 25.png 26.png mv: overwrite ‘26.png’? همانند سوئیچ i در دستور cp، در دستور mv نیز می*توان از این گزینه برای درخواست تأیید و اجتناب از overwrite شدن یک فایل روی فایل دیگر استفاده کرد. سوئیچ f دقیقا عکس i است و برای اجبار به overwrite کردن استفاده می*شود. در صورتی*که مایل هستید تا یک خروجی مشروح از تغییر نام یا انتقال داشته باشید، می*توانید از گزینه v استفاده کنید. cat اگر چه ویرایشگرهای فوق*العاده*ای در لینوکس برای استفاده در محیط ترمینال وجود دارند اما بعضی اوقات نیاز نیست تا یک فایل را در یک ویرایشگر باز کرد. بلکه فقط می*خواهیم محتویات یک فایل متنی را مشاهده کنیم. البته به کمک cat می*توان چندین فایل را نیز مشاهده کرد: کد: [انتخاب] >cat file1 file2 اگر بخواهیم شماره خطوط نیز در خروجی نمایش داده شوند می*توان از گزینه n استفاده کرد: کد: [انتخاب] > [ali@localhost ~]$ cat -n cross.repo 1 [cross] 2 name=cross 3 mirrorlist=http://mirrorlist.fedora-arm.wantstofly.org/?repo=cross&arch=$basearch 4 gpgcheck=0 سه چیز رو هیچ وقت یادت نره 1- به همه نمی تونی کمک کنی 2- همه چیز رو نمی تونی عوض کنی 3-همه تو رو دوست نخواهند داشت اسماعیل عطایی کچویی چهارشنبه - ۲ اردیبهشت ۱۳۹۴ الأربعاء - ٣ رجب ١٤٣٦ Wednesday - 2015 22 April لینک ارسال
ارسال های توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.