اطلاعیه

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

3 نوع حقه یا کلک مفید در لینوکس

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

    3 نوع حقه یا کلک مفید در لینوکس

    جهان لینوکس پر شده است با چیزهای جالب و مفید، بیشتر ما به سراغ موارد جالب میرویم و آنها را پیدا می کنیم. در اینجا ما تلاش کرده ایم که نکاتی را در 3 ترفند کوچک آموزش خواهیم داد.


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

    20 دستور بامزه و سرگرم کننده در لینوکس

    اجرای بازی قدیمی Snake (بازی مار) در ترمینال لینوکس

    دوستان خود را با این ترمینال هکری قلابی Hollywood تحت تاثیر قرار دهید



    1. نحوه ی زمانبندی Job در لینوکس بدون Cron

    زمانبندی یک job یا یک دستور در لینوکس سرنام cron می باشد. هر زمان که ما نیاز به زمانبندی یک job داریم، ما cron را صدا می زنیم، اما آیا شما می دانید که ما میتوان یک job را بدون استفاده از cron زمانبندی کرد؟ شما می توانید آنرا به صورت زیر انجام دهید.

    یک دستور را هر 5 ثانیه یکبار اجرا کنید و خروجی آنرا در فایلی به نام date.txt بنویسید. برای آرشیو کردن این سناریو، ما نیاز داریم اسکریپت خطی زیر را بر روی خط فرمان به صورت مستقیم اجرا کنیم.
    کد:
    $ while true; do date >> date.txt ; sleep 5 ; done &

    آناتومی بالا یک اسکریپت خطی است:

    1. While true : پرسیدن اسکریپت برای اجرای شرط درستی، آن به عنوان حلقه ای که دستوری را به صورت مکرر اجرا می کند استفاده می شود.

    2. Do : برای انجام آنچه در ادامه آورده شده است، دستور یا مجموعه دستوراتی که در ادامه بیان می شود را اجرا می کند.

    3. Date>>date.txt : در اینجا خروجی دستور date در یک فایل نوشته می شود. همچنین توجه داشته باشید که ما از >> استفاده کرده ایم و نه >.

    4. >> به ما اطمینان میدهد که فایل date.txt هربار که اسکریپت اجرا می شود بازنویسی نخواهد شد. تنها به انتهای فایل اضافه خواهد شد. در حالیکه > برروی فایل به صورت مکرر بانویسی خواهد کرد.

    5. Sleep 5 : آن شل را برای 5 ثانیه قبل از اجرای دوباره ی دستور نگه میدارد. نکته اینکه زمان در اینجا همیشه به ثانیه می باشد. اگر شما می خواهید دستوری را هر 5 دقیقه اجرا کنید شما باید از(6*60) 360 استفاده کنید.

    6. Done : انتهای حلقه را مشخص می کند.

    7. & : کل پروسس حلقه را در background قرار می دهد.


    به طور مشابه ما می توانیم هر اسکریپتی را به همین صورت اجرا کنیم. در اینجا دستوری برای صدازدن یک اسکریپت بعد از هر 100 ثانیه وجود دارد که نا م اسکریپت script_name.sh می باشد.

    همچنین لازم به ذکر است که اسکریپت بالا بایددر دایرکتوری ای که اسکریپت در آن قراردارد اجرا شود، در غیر اینصورت شما نیاز دارید مسیر کامل آنرا صدا بزنید(/home/$USER/…/script_name.sh). syntax صدازدن اسکریپت در اینتروال گفته شده به صورت زیر است.
    کد:
     $ while true; do /bin/sh script_name.sh ; sleep 100 ; done &

    نتیجه گیری : خط بالا جایگزین cron نیست، به دلیل اینکه cron ابزاری است که یک مجموعه ای از گزینه هایی را ساپورت می کند که بسیار انعطاف پذیر و قابل تنظیم است. اما اگر ما می خواهیم موارد خاصی را تست کنیم و یا معیارمان I/O می باشد، دستور بالا به هدف مان کمک خواهد کرد.

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

    دستور cronjob و crontab در لینوکس برای اتوماتیک کردن کارها



    2. نحوه ی پاک کردن ترمینال بدون استفاده ار دستور clear

    برای پاک کردن صفحه چه کار میکنید؟ خوب شما ممکن است فکر کنید که این سوال احمقانه ای است. خوب همه ی ما با دستور clear آشنا هستیم. اما اگر ما عادت به استفاده از ctrl+l برای پاک کردن ترمینال داشته باشیم، زمان زیادی را صرفه جویی خواهیم کرد.

    کلیدهای ctrl+l همان تاثیر دستور clear را خواهند داشت. بنابراین از دفعه ی بعد برای پاک کردن صفحه ی ترمینال از ctrl+l استفاده کنید.


    نتیجه گیری : به دلیل اینکه ctrl+l یک کلید ترکیبی است، بنابراین ما نمی توانیم آنرا در یک اسکریپت استفاده کنیم. اگر ما نیازبه پاک کردن صفحه در یک اسکریپت شل داریم، می توانیم از دستور clear استفاده کنیم. برای موارد دیگر استفاده از ctrl+l مفیدتر خواهد بود.



    3. اجرای یک دستور و برگشتن به دایرکتوری که در آن بودید به صورت خودکار

    بسیاری از مردم این را می دانند که شما ممکن است یک دستور را اجرا کنید و به دایرکتوری جاری برگردید. برای این کار نیاز دارید که آن دستور را در پرانتز اجرا کنید (and).

    به مثال زیر نگاهی بیاندازید:
    کد:
    avi@deb:~$ (cd /home/avi/Downloads/)
    نمونه خروجی
    کد:
    avi@deb:~
    ابتدا به دایرکتوری Downlads ،cd می کند و سپس به دایرکتوری home برمی گردد. ممکن است شما فکر کنید که دستور اجرا نشده است و به دلایلی هیچ خطایی نیز نشان داده نشده است، و تغییری در prompt رخ نداده است. اجازه دهید کمی بیشتر بررسی کنیم...
    کد:
    avi@deb:~$ (cd /home/avi/Downloads/ && ls -l)
    نمونه خروجی
    کد:
    -rw-r-----  1 avi  avi     54272 May  3 18:37 text1.txt
    -rw-r-----  1 avi  avi     54272 May  3 18:37 text2.txt
    -rw-r-----  1 avi  avi     54272 May  3 18:37 text3.txt
    avi@deb:~$
    بنابراین در دستور بالا ابتدا به دایرکتوری Downlaods (دانلود) cd شده است و سپس محتوای آن دایرکتوری لیست شده و به دایرکتوری جاری بازگشته است. همچنین آن ثابت می کند که دستور با موفقیت اجرا شده است. شما می توانید هر دستور ی را در پرانتز اجرا کرده و به دایرکتوری جاری تان برگردید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-31-2021, 06:50 PM.
    اینستاگرام انجمن لینوکس ایران : https://www.instagram.com/iranlinuxforum

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

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

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