نمایش نتایج: از شماره 1 تا 10 , از مجموع 36

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

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    عضو انجمن alieblice آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    111
    تشکر تشکر کرده 
    10
    تشکر تشکر شده 
    247
    تشکر شده در
    86 پست

    پیش فرض اموزش دستورات لینوکس به فارسی

    اما چند نکته:
    1. بهتر است که این صفحه را محلی برای سوال و جواب و رفع اشکالاتمان قرار ندهیم؟! برای طرح سوال می‌توانید یک تاپیک جدید ایجاد کنید و یا شاید تاپیک گسترش نیافته ی زیر را بتوان به این کار اختصاص داد:
    http://www.webhostingtalk.ir/f10/14520/
    2. حتی‌المقدور یک دستور را جامع و کامل (و مطمئن از صحت) شرح دهیم، آن‌گونه که برای تازه کارها و حتی آن‌ها که جز محیط‌های گرافیکی تجربه‌ی دیگری ندارند، قابل استفاده باشد.
    3. لطفاْ از تاپیک‌هایی مثل "آره، فکر خوبیه - چه عالی، موافقم - نه، بی‌نتیجه است و ..." جداْ خودداری کنید و فقط آن چه را که از ترمینال می دانید، با نگاه آموزشی، برای این صفحه ارسال کنید. تشکر و یا هر نظر دیگری را با پیغام خصوصی برای آن کاربری که مطلب را منتشر کرده، ارسال کنید.
    4. نام دستوری که قصد شرح آن را دارید، عنوان مطلب ارسالی انتخاب کنید. و تا آن جا که ممکن است از زبان رسمی در نوشته‌هایتان استفاده کنید.
    5. اگر مطلب ارسالی دارای منبعی است و یا ترجمه شده است، آن منبع ذکر شود.
    6. چنان چه در مطالب ارسال شده، ایرادی را مشاهده می‌کنید، اصلاحیه یا پیشنهاد خود را به صورت پیغام خصوصی برای کاربر ارسال کننده‌ی مطلب مورد نظر بفرستید تا ایشان به تصحیح و یا گسترش آن بپردازند. هم چنین اگر به نظرتان مطلبی می‌تواند کامل‌تر باشد، بهتر است به جای ارسال جدید باز همین روش را اتخاذ کنید که به این ترتیب از عنوان‌های مشابه جلوگیری می‌شود. اما اگر مایل بودید که خودتان ارسالی مرتبط داشته باشید، برای ارسال خود یکی از این دو مورد را مد نظر قرار دهید: یا در متن ارسالی خود به وجود ارسال مشابه دیگری با ارجاع به شماره‌ی پاسخ و شماره‌ی صفحه‌ی آن اشاره کنید و یا عنوان همان ارسال را برای ارسال خود برگزینید و به انتهای آن شماره ترتیبی اضافه کنید که رعایت هر دو با هم جالب‌تر است.7
    8. BashCommands - Iranian Ubuntu Team Wiki

    منبع : راهنمای ترمینال اوبونتو (دانسته‌هایمان را به اشتراک بگذاریم)


    ---------- Post added at 01:20 PM ---------- Previous post was at 01:08 PM ----------

    فراخواندن ترمینال
    محیط متنی لینوکس که همان محیط سنتی یونیکس(Unix) است، یک رابط خط فرمان(Command Line Interface, CLI) است که در آن با تایپ دستور به کامپیوتر می گویید که چه انجام دهد. برای دسترسی به این محیط متنی که اصطلاحاً Shell نامیده می شود، کافی است یک ترمینال جدید باز کنید. برای باز کردن ترمینال مسیر زیر را ـ که در توزیع های مختلف محل آن اندکی فرق می کند ـ دنبال کنید یا از کلیدهای ترکیبی Ctrl + Alt + T برای فراخواندن آن بهره بگیرید.

    در محیط گنوم و یونیتی (مانند اوبونتو)
    Applications menu > Accessories > Terminal
    در محیط Xfce (مانند زوبونتو)
    Applications menu > System > Terminal
    در محیط KDE (مانند کوبونتو)
    KMenu > System > Terminal Program (Konsole)
    در محیط LXDE (مانند لوبونتو)
    Menu > Accessories > LXTerminal








    ---------- Post added at 01:40 PM ---------- Previous post was at 01:20 PM ----------

    دستورهایی که به پیکربندی سیستم مربوط می شوند یا سطح دسترسی بالا(مدیر سیستم) را نیاز دارند، بایستی با sudo شروع شوند. این دستور، هم چنین مجوز دسترسی به مسیرها و فایل هایی را که شما با یک اکانت ممکن است نداشته باشید، را به طور موقت تا سطح اجرایی کاربر ریشه(root user) بالا می برد. وقتی دستور sudo را به کار می برید، بی درنگ از شما پسورد ریشه ی سیستم یا همان پسورد اکانت مدیر سیستم پرسیده می شود. پسورد را تایپ کنید که عموماً در صفحه ی ترمینال چیزی تایپ نمی شود. اما شما پسورد را به درستی تایپ کرده و اینتر کنید. تنها کاربران با سطح دسترسی root می نوانند از این دستور استفاده کنند.
    توضیح بیشتر:

    دراوبونتو اکانت ریشه یامدیر سیستم به دلایل امنیتی به طورپیش فرض قفل است. شمابرای نصب نرم افزار واساساْ هردستور پیکربندی بایدکاربرریشه باشید.دستور sudo برای شناسایی شمابه عنوان کاربرصاحب اکانت دراوبونتو استفاده میشود. توجه داشته باشیدکه sudo، پسورداکانت شمارا می طلبد نه root را، مگراینکه شما تنهاکاربری باشیدکه همان مدیر سیستم هستید وهردو پسوردتان یکی است و تغییراتی راهم دراین زمینه اعمال نکرده اید. دستور سودو، ناپایداراست وارتقامدیریت سیستم رافقط تاحد زمانی مشخصی که تعریف شده(20دقیقه، بیشتر یا کم تر)نگه خواهد داشت و پس از این زمان و یا با بستن ترمینال انقضا خواهد شد. با ویرایش فایل etc/sudoers/ می توانید این مقدار و نیز موارد دیگری را تغییردهید. اما توصیه اکید می شود که مقادیر را دستی تغییرندهید. به جای آن از visudo editor با اجرای دستور زیر استفاده کنید:

    کد:
          sudo visudo
    دستور زیر را برای راهنمایی بیش تر به کار گیرید:

    کد:
          man sudoers
    راهنمای مناسبی در این مورد را می‌توانید در آدرس زیر بیابید:
    sudoers file 1


    سودو دارای یک فرم گرافیکی هم می باشد که با اجرای دستور gksu یا gksudo در ترمینال محیط گنوم و kdesu در محیط KDE، باکس دیالوگ آن به نمایش در می آید.
    می توانید با دستور sudo -i خود را کاربر ریشه نگه دارید. دستور sudo -i را اجرا کنید و پسورد کاربری خود را پس از این که در خواست کرد بدهید. خواهید دید که شناسه ی شما تغییر می کند.:
    quark@HADRON:~$ => root@HADRON


    باقی ماندن به عنوان کاربر root:
    عبارت sudo su -l ویا sudo su راتایپ واجراکنید. همچنین دستورهای sudo -s و sudo -i معادل آن هستند. البته از لحاظ امنیتی توصیه نمی شود.



    منبع: راهنمای ترمینال اوبونتو (دانسته‌هایمان را به اشتراک بگذاریم)

    ویرایش توسط alieblice : July 28th, 2011 در ساعت 18:25

  2. تعداد تشکر ها ازalieblice به دلیل پست مفید


  3. #2
    عضو انجمن alieblice آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    111
    تشکر تشکر کرده 
    10
    تشکر تشکر شده 
    247
    تشکر شده در
    86 پست

    پیش فرض دستور ls



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

    قبل از شروع اموزش دستور یک محیط کوچک شبیه محیط زیر برایه یاد گیری درست کنین
    یک دایرکتوری مثلا با اسم ls ایجاد کنین که داخلش چند فایل متنی و غیر متنی مثل عکس و چند دایرکتوری که داخل اون ها هم چند تا فایل باشه
    مثلا محیطی شبیه محیط زیر


    کد:
    $ tree
    .
    |-- backup
    |   `-- bookmarks 2011 10 07.json
    |-- Link to water.avi -> /home/alieblice/Desktop/water.avi
    |-- LPIC 1 In Nutshell  Edition3.pdf
    |-- lpic_2_linux_professional.pdf
    |-- pic
    |   |-- HD Wallpapers Wide Pack.jpg
    |   `-- Scotland_29.jpg
    |-- pic1.jpg
    `-- vmware-1.log
    
    2 directories, 8 files
    شکل کلی دستور
    کد:
      ls [OPTION]... [FILE]...
    به داخل دایرکتوری که ساختین برین و دستور ls رو بزنین
    اگر دستور ls رو بدون هیچ اپشنی بزنین فقط محتویات داخل اون دایرکتوری که هم اکنون داخلش هستین رو نمایش میدهد
    کد:
    $ ls
    'backup             LPIC 1 In Nutshell  Edition3.pdf  pic1.jpg
    Link to water.avi  lpic_2_linux_professional.pdf     vmware-1.log
    logo.jpg           pic
    اگر میخاهید محتویات دایرکتوری خاصی رو ببینین اول دستور ls و سپس ادرس دایرکتوری رو بنویسین
    کد:
    $ ls /home/alieblice/Desktop/LS
    backup             LPIC 1 In Nutshell  Edition3.pdf  pic1.jpg
    Link to water.avi  lpc_2_linux_professional.pdf     vmware-1.log
    logo.jpg           pic
    جدا کردن فایل ها با کاما به وسیله ی –m
    کد:
    $ ls -m
    backup, Link to water.avi, LPIC 1 In Nutshell  Edition3.pdf, lpic_2_linux_professional.pdf,
    pic, pic1.jpg, vmware-1.log

    دیدن هر فایل در یک خط به وسیله -1
    کد:
    $ ls -1
    backup
    Link to water.avi
    logo.jpg
    LPIC 1 In Nutshell  Edition3.pdf
    lpic_2_linux_professional.pdf
    pic
    pic1.jpg
    vmware-1.log
    دیدن اطلاعات کامل هر فایل به وسیله l-
    به وسیله اپشن –l ((ال کوچک)) میتونین اطلاعاتی از قبیل نوع فایل ، پرمیشن فایل ...
    کد:
    $ ls -l
    total 10500
    drwxr-xr-x 2 alieblice alieblice    4096 2011-11-08 09:04 backup
    lrwxrwxrwx 1 alieblice alieblice      33 2011-11-08 09:10 Link to water.avi -> /home/alieblice/Desktop/water.avi
    -rw-r--r-- 1 alieblice alieblice   93671 2011-10-07 20:47 logo.jpg
    -rw-r--r-- 1 alieblice alieblice 3918360 2010-07-20 23:16 LPIC 1 In Nutshell  Edition3.pdf
    -rw-r--r-- 1 alieblice alieblice 6565740 2011-06-06 09:02 lpic_2_linux_professional.pdf
    drwxr-xr-x 2 alieblice alieblice    4096 2011-11-08 09:03 pic
    -rw-r--r-- 1 alieblice alieblice   74110 2011-10-07 20:47 pic1.jpg
    -rw-r--r-- 1 alieblice alieblice   82279 2011-07-31 07:33 vmware-1.log
    توضیح خروجی دستور
    کد:
    drwxr-xr-x 2 alieblice alieblice    4096 2011-11-08 09:04 backup
    d : نوع فایل رو نشون میدهد که در این جا از نوع دایرکتوری هستش که میتونه یکی از نماد هایه زیر باشد :
    d : برایه دایرکتوری مثل backup و pic در با لا
    - : برایه فایل هایه معمولی مثلا عکس
    l: برایه لینک ها مثل فایل water.avi در خروجی بالا
    s : socket file
    2 : تعداد لینک هارو نشون میده
    alieblice : نام صاحب فایل رو نشون میدهد
    alieblice : نام گروه فایل رو نشون میدهد
    4096 : سایز فایل رو نشون میدهد (برایه این که راحت تر بشه خوندش بهتره از –h هم در کنار –l استفاده کنید پایینتر توضیح دادم )
    2011-11-08 09:04 : اخرین زمان تغییرات رویه این فایل رو نشون میدهد
    Backup : اسم فایل رو نشون میدهد

    نمایش فایل هایه مخفی به وسیله -a یا –A
    در لینوکس اگر اول اسم فایل ها یا دایرکتوری ها نقطه باشد اون فایل به صورت مخفی در میاد
    یک فایل با اسم .logo.jpg ایجاد میکنیم . اگر الان دستور ls رو بزنین میبینین که در خروجی فایل ظاهر نمیشود .
    به مثال زیر توجه کنین
    کد:
    $ ls -a
    .       Link to water.avi                 lpic_2_linux_professional.pdf  vmware-1.log
    ..      .logo.jpg                         pic
    backup  LPIC 1 In Nutshell  Edition3.pdf  pic1.jpg
    همون طور که میبینین فایل نشون داده میشود البته یک فرق کوچک بین a و A هست که در مثال بالا همون طور که میبینین . و .. دیده میشود ولی در –A دیده نمیشود.
    . = نشان دهنده دایرکتوری که هم اکنون در ان هستیم
    .. = نشان دهنده دایرکتوری قبلی است
    استفاده .. بیشتر در دستور cd هستش . دستور cd برایه جابه جایی بین چند دایرکتوری است

    مشخص کردن سایز فایل به وسیله –k یا –h
    نکته : 2 اپشن بالا حتما باید به همراه –l باشن
    برایه این که اعداد مربوط به سایز فایل رو بر اساس کیلو بایت در یافت کنین از –k ((کی کوچک)) استفاده کنین
    کد:
    $ ls -lk
    total 10500
    -rw-r--r-- 1 alieblice alieblice   92 2011-10-07 20:47 logo.jpg
    -rw-r--r-- 1 alieblice alieblice 3827 2010-07-20 23:16 LPIC 1 In Nutshell  Edition3.pdf
    برایه این که خود ls به صورت اوتومات اعداد رو به مگابایت و یا گیگابایت تبدیل کند از –h استفاده کنین که بهش میگن Human Readable Format
    نکته : در این حالت اعداد کمی گرد میشوند

    لیست کردن بر اساس سایز فایل به وسیله –S (( اس بزرگ ))
    به مثال زیر توجه کنین
    کد:
    $ ls -lhS
    total 11M
    -rw-r--r-- 1 alieblice alieblice 6.3M 2011-06-06 09:02 lpic_2_linux_professional.pdf
    -rw-r--r-- 1 alieblice alieblice 3.8M 2010-07-20 23:16 LPIC 1 In Nutshell  Edition3.pdf
    -rw-r--r-- 1 alieblice alieblice  81K 2011-07-31 07:33 vmware-1.log
    -rw-r--r-- 1 alieblice alieblice  73K 2011-10-07 20:47 pic1.jpg
    drwxr-xr-x 2 alieblice alieblice 4.0K 2011-11-08 09:04 backup
    drwxr-xr-x 2 alieblice alieblice 4.0K 2011-11-08 09:03 pic
    lrwxrwxrwx 1 alieblice alieblice   33 2011-11-08 09:10 Link to water.avi -> /home/alieblice/Desktop/water.avi
    نشون دادن بر اساس اخرین اصلاحات ((تغییرات)) به وسیله –t
    به وسیله این اپشن میتونین فایل ها رو براساس اخرین تغییرات دسته بندی کنین به این صورت که جدید ترین فایل تغییر یافته در بالا قرار میگیرد
    بیشتر اوقات با –l کاربردی تر هستش
    کد:
    $ ls -lt
    total 10408
    lrwxrwxrwx 1 alieblice alieblice      33 2011-11-08 09:10 Link to water.avi -> /home/alieblice/Desktop/water.avi
    drwxr-xr-x 2 alieblice alieblice    4096 2011-11-08 09:04 backup
    drwxr-xr-x 2 alieblice alieblice    4096 2011-11-08 09:03 pic
    -rw-r--r-- 1 alieblice alieblice   74110 2011-10-07 20:47 pic1.jpg
    -rw-r--r-- 1 alieblice alieblice   82279 2011-07-31 07:33 vmware-1.log
    -rw-r--r-- 1 alieblice alieblice 6565740 2011-06-06 09:02 lpic_2_linux_professional.pdf
    -rw-r--r-- 1 alieblice alieblice 3918360 2010-07-20 23:16 LPIC 1 In Nutshell  Edition3.pdf
    اگر خاستین لیست رو بر عکس کنین یعنی جدید ترین فایل تغییر یافته در پایین قرار گیرد از –r استفاده کنین . کلا –r برایه عکس کردن لیست هست با -1 یا –l یا ... میشه استفاده کرد

    نشون دادن بر اساس نوع فرمت به وسیله –X
    نکته : در این حالت نوع فرمت بر اساس حروف الفبا ترتیب میشود .
    کد:
    $ ls -1X
    backup
    pic
    Link to water.avi
    pic1.jpg
    vmware-1.log
    LPIC 1 In Nutshell  Edition3.pdf
    lpic_2_linux_professional.pdf
    نشون دادن نوع فایل از طریق اشکال به وسیله –F
    کد:
    $ ls -1F
    backup/
    Link to water.avi@
    LPIC 1 In Nutshell  Edition3.pdf
    lpic_2_linux_professional.pdf
    pic/
    pic1.jpg
    vmware-1.log
    *= قابل اجرا ((executable ))
    /= دایرکتوری
    @= symbolic link
    |= fifo
    = = socket
    فایل هایی که هیچی ندارن یعنی فایل هایه معمولی هستن



    نشون دادن نام ترمینالیه اسامیه فاصله دار به وسیله –b
    بعضی اوقات پیش میاد که در نام فایلامون فاصله وجود دارد . اگر بخایم نام اون فایلا رو بر اساس نوع ترمینالی ببینین از –b استفاده کنین در –X چون دایرکتوری ها فرمت ندارند همیشه اول قرار میگیرند
    کد:
    $ ls -1b
    backup
    Link\ to\ water.avi
    LPIC\ 1\ In\ Nutshell\ \ Edition3.pdf
    lpic_2_linux_professional.pdf
    pic
    pic1.jpg
    vmware-1.log
    همون طور که میبینین به اضایه هر فاصله یک \ قرار گرفته

    دیدن تمام فایل ها و فولدر ها به همراه همه ی ساب دایرکتوری ها و فایل هایه داخل انها تا اخرین ساب دایرکتوری به وسیله –R
    فرض میکنیم یک فایل یه صورت شکل درختی که اول اموزش بود داریم
    حالا اگر دستورو بزنیم خروجی این جوری میشه
    کد:
    $ ls -Rl
    .:
    total 10408
    drwxr-xr-x 2 alieblice alieblice    4096 2011-11-08 09:04 backup
    lrwxrwxrwx 1 alieblice alieblice      33 2011-11-08 09:10 Link to water.avi -> /home/alieblice/Desktop/water.avi
    -rw-r--r-- 1 alieblice alieblice 3918360 2010-07-20 23:16 LPIC 1 In Nutshell  Edition3.pdf
    -rw-r--r-- 1 alieblice alieblice 6565740 2011-06-06 09:02 lpic_2_linux_professional.pdf
    drwxr-xr-x 2 alieblice alieblice    4096 2011-11-08 09:03 pic
    -rw-r--r-- 1 alieblice alieblice   74110 2011-10-07 20:47 pic1.jpg
    -rw-r--r-- 1 alieblice alieblice   82279 2011-07-31 07:33 vmware-1.log
    
    ./backup:
    total 172
    -rw-r--r-- 1 alieblice alieblice 172258 2011-10-07 03:47 bookmarks 2011 10 07.json
    
    ./pic:
    total 10996
    -rw-r--r-- 1 alieblice alieblice 6428039 2009-09-06 22:02 HD Wallpapers Wide Pack.jpg
    -rw-r--r-- 1 alieblice alieblice 4827095 2009-05-07 03:55 Scotland_29.jpg
    رنگی کردن خروجی به وسیله -–color
    معمولا این امکان به صورت پیش فرض وجود دارد اگر برایه شما فعال نیست به وسیله اپشن –color میتونین فعالش کنین
    پیشنهاد میدم این امکان رو به صورت دستور الیاس دربیارین که هر بار دستور ls رو میزنین انگار ls –color رو زدین



    معنی رنگ ها :
    رنگ پیش فرض ترمینال = فایل هایه معمولی (( در عکس بالا رنگ سفید رنگ پیش فرض ست ))
    سبز= فایل هایه قابل اجرا ((executable))
    ابی = دایرکتوری
    زرد =fifo
    سرخابی= socket و عکس ها ((,tiff jpg, gif ,png )) صوت ها ((mp3 ,ogg ,wav))
    قرمز= فایل هایه فشرده ((tar, zip, rpm, deb,))

    توضیح بعضی اپشن ها
    -n = خروجی شبیه –l هست ولی uig و gid رو به صورت عدد نمایش میدهد
    -G = به همراه –l کاربردی هست وباعث میشه group-name یا gid پرینت گرفته نشود

    دستورات ترکیبی پیشنهادی
    کد:
    vi `ls -t | head -1`
    باز کردن اخرین فایلی که ویرایش کردید
    کد:
    ls  -1 *.pdf
    فقط فایل هایه pdf رو پرینت میگیره به صورت یکی در یک خط
    کد:
    Ls -ltrbh
    دستورات الیاس پیشنهادی
    کد:
    alias ls='ls --color=auto'
    alias la='ls -a'
    alias lf='ls -alF'
    alias ll='ls -ltrhb'
    alias ls=’ls –lrshb’
    مىابع:
    Unix LS Command: 15 Practical Examples
    Linux: Phrasebook
    Ls man page

    برابه دانلود اخرین نسخه pdf به این ادرس بروید
    آموزش دستورات لینوکس به فارسی
    ویرایش توسط alieblice : November 16th, 2011 در ساعت 20:08

  4. تعداد تشکر ها ازalieblice به دلیل پست مفید


  5. #3
    عضو انجمن alieblice آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    111
    تشکر تشکر کرده 
    10
    تشکر تشکر شده 
    247
    تشکر شده در
    86 پست

    پیش فرض دستور sort



    دستور sort همون طور که از معنیش معلومه برایه ترتیب کردن حروف بر اساس حروف الفبا و همچنین ترتیب کردن اعداد بر اساس اعداد استفاده میشود
    از جایی که اپشن هایه زیادی دارد من این جا فقط اونایی که از همه بیشتر مصرف میشوند و کار راه انداز هستن رو میگم

    شکل کلی دستور
    کد:
    sort [OPTION]... [FILE]...
    ساده ترین شکل دستور sort به شکل زیر هستش که به صورت پیش فرض ترتیب کردن رو بر اساس حروف انجام میدهد
    برایه این مثال اول فایل زیر رو با محتویات زیر بسازید و ذخیره کنید
    کد:
    alieblice@~/Desktop/sisi$ nano lili.txt
    X
    C
    d
    c
    a
    h
    g
    A
    G
    H
    K
    p
    برایه ذخیره شدن دکمه کنترل و ایکس رو فشار بدین و سپس دکمه y رو بزنین (( Ctrl+x ))
    alieblice@~/Desktop/sisi$
    مثال :
    کد:
    alieblice@~/Desktop/sisi$ sort lili.txt 
    a
    A
    c
    C
    d
    g
    G
    h
    H
    K
    p
    X
    alieblice@~/Desktop/sisi$
    ترتیب بر اساس اعداد به وسیله n-
    برایه این کار فایل sisi.txt رو به روش بالا با محتویات زیر بسازین
    کد:
    10
    30
    40
    5
    7
    1
    88
    2
    1390
    یک فایل رو به دو صورت میشود به ترتیب اعداد کرد

    1=
    از این طریق اعداد فقط بر حصب عدد اولشون ترتیب میشن
    مثال:
    کد:
    alieblice@~/Desktop/sisi$ sort lili.txt 
    
    1
    10
    1390
    2
    30
    40
    5
    7
    88
    alieblice@~/Desktop/sisi$
    2=
    بر اساس ترتیب شمردن که احتیاج به اپشن n- دارد
    مثال:
    کد:
    alieblice@~/Desktop/sisi$ sort -n lili.txt 
    
    1
    2
    5
    7
    10
    30
    40
    88
    1390
    alieblice@~/Desktop/sisi$
    نکته : اگه خاستین بر عکس ترتیب بشود از اپشن r- استفاده کنین یعنی مثلا در ترتیب اعداد در مثال بالا اول 1390 بعد 88 وبعد 40 و بعد ....


    تعیین جدول

    برایه تعیین جدول احتیاج به دو چیز داریم یک جدا کننده که به ما میگه چه جوری دو تا جدول از هم جدا میشوند و دیگری شماره جدول
    در مثال هایه زیر از متن زیر استفاده شده است

    کد:
    acl Safe_ports port 80        # http
    bin:x:2:2:bin:/bin:/bin/sh
    games:x:5:60:games:/usr/games:/bin/sh
    nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
    acl Safe_ports port 777        # multiling http
    acl Safe_ports port 631        # cups
    acl Safe_ports port 873        ## rsync
    acl Safe_ports port 901        # SWAT
    alieblice:x:1000:1000:alieblice,,,:/home/alieblice:/bin/bash
    tia:x:1000:1000::/home/tia:/bin/bash
    به خط زیر توجه کنین
    کد:
    alieblice:x:1000:1000:alieblice,,,:/home/alieblice:/bin/bash
    اگه در خط بالا نوع جدا کننده را : در نظر بگیریم خط بالا از 7 قسمت درست شده که ما اینجا به اونا جدول می گفتیم
    در مثال زیر میگیم که خطوط رو بر اساس جدول 3وم و نوع جدا کننده : به ترتیب اعداد بکند
    کد:
    alieblice@~/Desktop/sisi$ sort -n -t: -k3 lili.txt 
    acl Safe_ports port 631        # cups
    acl Safe_ports port 777        # multiling http
    acl Safe_ports port 80        # http
    acl Safe_ports port 873        ## rsync
    acl Safe_ports port 901        # SWAT
    bin:x:2:2:bin:/bin:/bin/sh
    games:x:5:60:games:/usr/games:/bin/sh
    alieblice:x:1000:1000:alieblice,,,:/home/alieblice:/bin/bash
    tia:x:1000:1000::/home/tia:/bin/bash
    nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
    alieblice@~/Desktop/sisi$
    در مثال بالا t- برای تعیین جدا کننده و k- برایه تعیین جدول هستش
    اگه خاستین خروجی هایه تکراری پاک شوند از u- استفاده کنین

    مثال :
    کد:
    alieblice@~/Desktop/sisi$ sort -nu -t":" -k3 lili.txt 
    acl Safe_ports port 80        # http
    bin:x:2:2:bin:/bin:/bin/sh
    games:x:5:60:games:/usr/games:/bin/sh
    alieblice:x:1000:1000:alieblice,,,:/home/alieblice:/bin/bash
    nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
    alieblice@~/Desktop/sisi$
    همون طور که میبینین این خط به همراه تمام خط هایی که توش جدا کننده پیدا نشده به جز یکی حذف شدند
    کد:
    tia:x:1000:1000::/home/tia:/bin/bash
    مثالی دیگر :
    در مثال زیر جدا کننده رو یک فاصله (( space )) در نظر میگیریم
    کد:
    alieblice@~/Desktop/sisi$ sort -t" " -k 4 -nu lili.txt 
    bin:x:2:2:bin:/bin:/bin/sh
    acl Safe_ports port 80        # http
    acl Safe_ports port 631        # cups
    acl Safe_ports port 777        # multiling http
    acl Safe_ports port 873        ## rsync
    acl Safe_ports port 901        # SWAT
    alieblice@~/Desktop/sisi$
    نکته :
    یکی از مشکلاتی که دستور sort دارد نوع جدا کننده هستش که نمیشه دو حرفی تعیین کرد یعنی مثلا چیزهایی مثل " :" ::" ":@" نمیشه تعیین کرد

    منبع : LPIC-1_In_Nutshell_Oreilly_Edition3
    ادرس دانلود:
    http://ubuntuone.com/p/15HZ/

  6. تعداد تشکر ها ازalieblice به دلیل پست مفید


  7. #4
    عضو انجمن alieblice آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    111
    تشکر تشکر کرده 
    10
    تشکر تشکر شده 
    247
    تشکر شده در
    86 پست

    پیش فرض نسخه pdf اموزش دستورات لینوکس

    سلام دوستان

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

    اموزش دستور LS ((نسخه PDF ))
    از ادرس زیر در دست رس است



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

    دستور cd هم قرار گرفت از ادرس بالا در دست رس است
    پیشاپیش ممنون
    ویرایش توسط alieblice : November 30th, 2011 در ساعت 17:29

  8. تعداد تشکر ها ازalieblice به دلیل پست مفید


  9. #5
    عضو انجمن alieblice آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    111
    تشکر تشکر کرده 
    10
    تشکر تشکر شده 
    247
    تشکر شده در
    86 پست

    پیش فرض پاسخ : اموزش دستورات لینوکس به فارسی


  10. تعداد تشکر ها ازalieblice به دلیل پست مفید


  11. #6
    عضو انجمن alieblice آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    111
    تشکر تشکر کرده 
    10
    تشکر تشکر شده 
    247
    تشکر شده در
    86 پست

    پیش فرض دستور fdisk



    دستور fdisk برای پارتیشن بندی یک هارد استفاده میشود
    نکته : دستور fdisk کار فرمت کردنو انجام نمیده فقط پارتیشن رو میسازه

    در قالب بیسیک کلا سه نوع پارتیشن داریم
    primary , extended , logical

    حداکثر تعداد پارتیشن ها
    primary : چهار
    extended : یک
    logical : درون پارتیشن extended تا 26 عدد
    عدد 26 رو مطمءن نیستم بعضی جاها به عنوان نا محدود نام بردن

    قیل از هر کاری باید هاردی که میخاین پارتیشن بندیش کنین پیدا کنین که میتونین از این دستورا برای این کار استفاده کنین

    fdisk -l
    کد:
    alieblice@de-10:~$ sudo fdisk -l
    
    Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
    255 heads, 63 sectors/track, 121601 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xe51ba496
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           2      119618   960823522    f  W95 Ext'd (LBA)
    /dev/sda2          119619      121552    15526912   83  Linux
    /dev/sda3          121552      121602      402432   82  Linux swap / Solaris
    /dev/sda5               2      119618   960823521    7  HPFS/NTFS
    
    Disk /dev/sdb: 320.1 GB, 320072933376 bytes
    249 heads, 33 sectors/track, 76079 cylinders
    Units = cylinders of 8217 * 512 = 4207104 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x41894189
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1   *           1       12462    51197952    7  HPFS/NTFS
    /dev/sdb2           12462       76077   261361485    f  W95 Ext'd (LBA)
    /dev/sdb5           12462       76077   261359616    7  HPFS/NTFS
    
    Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
    255 heads, 63 sectors/track, 121601 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x465668a5
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdc1               1      117794   946176000    7  HPFS/NTFS
    /dev/sdc2   *      117794      121601    30582784    7  HPFS/NTFS
    alieblice@de-10:~$
    یا تو یک سیستم خلوت تر
    کد:
    alieblice@ubuntu:/$ sudo fdisk -l
    
    Disk /dev/sda: 4294 MB, 4294967296 bytes
    255 heads, 63 sectors/track, 522 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0003f696
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1         493     3952640   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2             493         523      238593    5  Extended
    Partition 2 does not end on cylinder boundary.
    /dev/sda5             493         523      238592   82  Linux swap / Solaris
    
    Disk /dev/sdb: 213 MB, 213909504 bytes
    64 heads, 32 sectors/track, 204 cylinders
    Units = cylinders of 2048 * 512 = 1048576 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    Disk /dev/sdb doesn't contain a valid partition table
    
    Disk /dev/sdc: 106 MB, 106954752 bytes
    64 heads, 32 sectors/track, 102 cylinders
    Units = cylinders of 2048 * 512 = 1048576 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0004bbdd
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdc1               1          30       30704   83  Linux
    /dev/sdc2              31          70       40960   83  Linux
    /dev/sdc3              71         102       32768   83  Linux
    alieblice@ubuntu:/$
    یا برای این که فقط پارتیشن های یک هاردو ببینین ادرس هارد هم بزنین

    کد:
    alieblice@ubuntu:~$ sudo fdisk -l /dev/sdc
    
    Disk /dev/sdc: 106 MB, 106954752 bytes
    64 heads, 32 sectors/track, 102 cylinders
    Units = cylinders of 2048 * 512 = 1048576 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0004bbdd
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdc1               1          30       30704   83  Linux
    /dev/sdc2              31          70       40960   83  Linux
    /dev/sdc3              71         102       32768   83  Linux
    alieblice@ubuntu:~$
    blkid
    کد:
    alieblice@de-10:~$ sudo blkid
    /dev/sda2: UUID="b69e95f0-bcf7-409e-a898-f9e70d78d0f4" TYPE="ext4" 
    /dev/sda3: UUID="69bc2dec-ef4f-487b-bf50-5e7c273596a9" TYPE="swap" 
    /dev/sda5: LABEL="1-TB" UUID="FA402FC0402F828D" TYPE="ntfs" 
    /dev/sdb1: UUID="D410B13310B11E04" TYPE="ntfs" 
    /dev/sdb5: UUID="70E8BF68E8BF2B6C" TYPE="ntfs" 
    /dev/sdc1: LABEL="1-TB-2" UUID="9AA05A1BA059FE67" TYPE="ntfs" 
    /dev/sdc2: UUID="D6308EFC308EE2BB" TYPE="ntfs" 
    alieblice@de-10:~$
    اموزش blkid قبلا کامل گفته شده
    راهنمای ترمینال اوبونتو (دانسته‌هایمان را به اشتراک بگذاریم)


    دستور fdisk دو گروه اپشن داره یک گروه اپشن هایی که به طور معمولی استفاده میشه ویک گروه اپشن هایی که خودش به این اسم نام برده :
    کد:
     extra functionality (experts only)
    من در اینجا فقط یک سری از اپشن های سری معمولی رو اموزش میدم

    d = برای پاک کردن پارتیشن استفاده میشه
    l = هر پارتیشنی برای خودش کدی داره که میتونین با این اپشن کد هارو ببینین در حالت عادی احتیاجی به این کدها پیدا نمیکنین مگر اینکه بخاین پارتیشنایی مثل lvm بسازین
    n = برای ساختن یک پارتیشن استفاده میشود
    p = پارتیشنایی که هم اکنون روی هاردتون وجود داره رو نشون میدهد
    q = خروج بدون ذخیره کردن چیزی
    t = برای تغییر کد پارتیشن استفاده میشود
    u = برای تغییر واحد ها بین sectors و cylinders استفاده میشود
    w = ذخیره اطلاعات و خروج


    [size=15pt]چند مثال[/size]
    نکته: من در اینجا از درایوهایی که توسط vmware player ایجاد شدن استفاده میکنم که حجمشونم خیلی کم هستش زیر (( مگابایت 300)) برای سریع کردن کار

    [size=13pt]مثال 1[/size]



    در مثال شماره یک فقط 2 درایو از 3 درایو روی هاردمونو پاک میکنیم
    روش کار :
    1 = هارد مورد نظرتونو توسط دستورایی که بالا نام بردم پیدا کنین
    2 = دستور fdisk رو به همراه ادرس اون بنویسید
    کد:
    alieblice@de-10:~$ sudo fdisk /dev/sdc
    نکته : وقتی دستور fdisk رو میزنین وارد یک محیط دیگه میشید که فقط اپشن هایی که بالا نام بردم و اپشنای دیگری که با زدن m میتونین ببینین رو میتونین استفاده کنین
    کد:
    alieblice@de-10:~$ sudo fdisk /dev/sdc
    
    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
             switch off the mode (command 'c') and change display units to
             sectors (command 'u').
    
    Command (m for help): q
    
    alieblice@de-10:~$
    3 = بعد از این که وارد محیط شدین اگه m رو بزنین اپشن های قابل قبول رو براتون میاره اگه p روبزنین پارتیشن های موجود روی اون هاردرو میاره

    کد:
    alieblice@ubuntu:~$ sudo fdisk /dev/sdc
    
    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
             switch off the mode (command 'c') and change display units to
             sectors (command 'u').
    
    Command (m for help): m
    Command action
       a   toggle a bootable flag
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition
       l   list known partition types
       m   print this menu
       n   add a new partition
       o   create a new empty DOS partition table
       p   print the partition table
       q   quit without saving changes
       s   create a new empty Sun disklabel
       t   change a partition's system id
       u   change display/entry units
       v   verify the partition table
       w   write table to disk and exit
       x   extra functionality (experts only)
    
    Command (m for help): p
    
    Disk /dev/sdc: 106 MB, 106954752 bytes
    64 heads, 32 sectors/track, 102 cylinders
    Units = cylinders of 2048 * 512 = 1048576 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0004bbdd
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdc1               1          30       30704   83  Linux
    /dev/sdc2              31          70       40960   83  Linux
    /dev/sdc4              71         102       32768   83  Linux
    
    Command (m for help):
    همون طور که میبینین در بالا 3 درایو درون هارد وجود دارد

    4 = باری پاک کردن یک درایو باید d رو بزنین که بعد از زدن d از شما شماره درایو رو میپرسه که باتوجه به اطلاعاتی که در خروجی اپشن p گرفتین میتونین درایو درست رو بدین
    به این صورت که اگه مثلا میخاین dev/sdc2 رو پاک کنین عدد 2 رو بدین و با این کار پارتیشن dev/sdc2 پاک میشود
    نکته : هنوز پارتیشنتون به صورت واقعی پاک نشده اگه اشتباه زدین عدد رو میتونین با زدن q ((کیو کوچک)) هیچ چیزی رو ذخیره نکنین و خارج شید
    4-1 = کار بالا دو باره انجام بدین تا درایو بعدی رو هم پاک کنین
    4-2 = حالا p رو بننین تا ببینین که پاک شده
    5 = حرف w ((دبلیو کوچک)) رو بزنین و همه چیز ذخیره میشود

    خروجی کامل مثال یک :
    کد:
    alieblice@ubuntu:~$ sudo fdisk /dev/sdc
    
    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
             switch off the mode (command 'c') and change display units to
             sectors (command 'u').
    
    Command (m for help): m
    Command action
       a   toggle a bootable flag
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition
       l   list known partition types
       m   print this menu
       n   add a new partition
       o   create a new empty DOS partition table
       p   print the partition table
       q   quit without saving changes
       s   create a new empty Sun disklabel
       t   change a partition's system id
       u   change display/entry units
       v   verify the partition table
       w   write table to disk and exit
       x   extra functionality (experts only)
    
    Command (m for help): p
    
    Disk /dev/sdc: 106 MB, 106954752 bytes
    64 heads, 32 sectors/track, 102 cylinders
    Units = cylinders of 2048 * 512 = 1048576 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0004bbdd
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdc1               1          30       30704   83  Linux
    /dev/sdc2              31          70       40960   83  Linux
    /dev/sdc4              71         102       32768    5  Extended
    
    Command (m for help): d
    Partition number (1-5): 2
    
    Command (m for help): d
    Partition number (1-5): 4
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    alieblice@ubuntu:~$
    عکس بعد از پاک کردن پارتیشن ها




    [size=13pt]مثال 2[/size]
    در مثال دوم از همون درایو قبلی به همراه همون پارتیشن بندی که در پایان ایجاد شد ((عکس پایانی مثال اول --عکس بالا )) استفاده میکنیم به این صورت
    که میخاهیم یک درایو از نوع extende بسازیم و درون اون دو درایو از نوه logical
    تو این مثال مراحلو به صورت جزع جزع توضیح نمیدم دیگه به غیر از چند قسمتش
    1 = دستور fdisk رو به همراه ادرس هاردمون میزنیم
    سپس p رو میزنیم که درایو های موجود روی هاردو نشون بدهد
    سپس n رو میزنیم تا درایو جدید ایجاد کنیم
    2 = بعد از این که n رو زدیم از ما سوال میپرسه که چه نوع درایوی میخاین اضافه کنین ((extended یا primary ))
    از جایی که قراره یک extended بسازیم خوب من e رو انتخاب میکنم
    p = primary
    e = extended
    نکته : در اینجا گذینه logical رو نیاورد به این دلیل که پارتیشن logical داخل پارتیشن extende ساخته میشه
    3 = بعد از این که نوع پارتیشن رو تعیین کردین از شما یک شماره میخاد که اون میشه شماره درایوتون من 2 رو میدم

    کد:
    alieblice@ubuntu:~$ sudo fdisk /dev/sdc
    
    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
             switch off the mode (command 'c') and change display units to
             sectors (command 'u').
    
    Command (m for help): p
    
    Disk /dev/sdc: 106 MB, 106954752 bytes
    64 heads, 32 sectors/track, 102 cylinders
    Units = cylinders of 2048 * 512 = 1048576 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0009b8f2
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdc1               1          20       20464   83  Linux
    
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    e
    Partition number (1-4): 2
    First cylinder (21-102, default 21):
    4 = بعد از مرحله بالا میرسیم به مرحله تعیین حجم درایو
    به صورت پیش فرض حجم درایو رو به صورت cylinder میاره که به شما میگه میتونید از یک عدد مشخص تا عدد مشخص دیگری انتخاب کنین در این مثال عدد بین ((21 تا 102 )) هستش. از جایی که خیلی کم پیش میاد کسی بخاد بر اساس cylinder پارتیشن بندی کنه من اینجا بر اساس مگابایت یاد میدم
    4-1 = چگونه بر اثاث مگابایت پارتیشن یندی کنیم

    همون طور که در خروجی مرحله 1 تا 3 میبینین عدد انتخابی ما بین 21 تا 102 هستش برای شروع بر اثاث مگابایت عدد 21 رو بزنین وقتی عدد 21 رو زدین از شما یک عدد دیگر میخاد که در این قسمت میتونین عدد رو به صورت مگابایت کیلوبایت و گیگابایت بدین
    کد:
    +size{K,M,G}
    همیشه از اون عددی که میدین یک مقدار بزرگ ترشو میسازه دلیلشو نتونستم پیدا کنم مثلا برای 170 مگابایت 179 مگابایت ساخت و برای 80 مگابایت حدود 85 تا
    اگه دلیلشو پیدا کردین به منم بگین
    مثلا برای این که 2350 مگابایت بشه سایز درایوتون عدد رو به این شکل بدین
    کد:
    +2350M
    به طور مشابه برای کیلوبلیت و گیگا بایت مثلا 10 گیگ --- 1000000کیلو بایت
    کد:
    +10G
    +100000K
    کد:
    در زیر 80 مگابایت تعیین کردم 
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    e
    Partition number (1-4): 2
    First cylinder (21-102, default 21): 21
    Last cylinder, +cylinders or +size{K,M,G} (21-102, default 102): +80M
    
    Command (m for help):
    5 = تا این جا دو درایو داریم یکی از قبل با نوع primary و یکی هم که الان ساختیم با نوع extended
    حالا 2 درایو داخل پارتیشن extended رو میسازیم که از نوع logical میشن
    6 = مثل مرحله قبل n رو میزنیم بعد نوع درایو که در اینجا میشه l ((ال کوچیک )) رو میزنیم و بعد مثل مرحله قبل حجمشو میدیم
    نکته : در اینجا گذینه extended نیامد چون یکی ازش میشه ساخت
    7 = دوباره همون کار مرحله 6 رو انجام میدیم تا دومی رو هم اضافه کنیم
    و بارای ذخیره کردن w رو میزنیم
    و همه چی ذخیره میشه

    خروجی کامل مثال دوم

    کد:
    alieblice@ubuntu:~$ sudo fdisk /dev/sdc
    
    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
             switch off the mode (command 'c') and change display units to
             sectors (command 'u').
    
    Command (m for help): p
    
    Disk /dev/sdc: 106 MB, 106954752 bytes
    64 heads, 32 sectors/track, 102 cylinders
    Units = cylinders of 2048 * 512 = 1048576 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0009b8f2
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdc1               1          20       20464   83  Linux
    
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    e
    Partition number (1-4): 2
    First cylinder (21-102, default 21): 21
    Last cylinder, +cylinders or +size{K,M,G} (21-102, default 102): +80M
    
    Command (m for help): p
    
    Disk /dev/sdc: 106 MB, 106954752 bytes
    64 heads, 32 sectors/track, 102 cylinders
    Units = cylinders of 2048 * 512 = 1048576 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0009b8f2
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdc1               1          20       20464   83  Linux
    /dev/sdc2              21         101       82944    5  Extended
    
    Command (m for help): n
    Command action
       l   logical (5 or over)
       p   primary partition (1-4)
    l
    First cylinder (21-101, default 21): 21
    Last cylinder, +cylinders or +size{K,M,G} (21-101, default 101): +50M
    
    Command (m for help): p
    
    Disk /dev/sdc: 106 MB, 106954752 bytes
    64 heads, 32 sectors/track, 102 cylinders
    Units = cylinders of 2048 * 512 = 1048576 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0009b8f2
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdc1               1          20       20464   83  Linux
    /dev/sdc2              21         101       82944    5  Extended
    /dev/sdc5              21          71       52208   83  Linux
    
    Command (m for help): n
    Command action
       l   logical (5 or over)
       p   primary partition (1-4)
    l
    First cylinder (72-101, default 72): 72
    Last cylinder, +cylinders or +size{K,M,G} (72-101, default 101): 101
    
    Command (m for help): p
    
    Disk /dev/sdc: 106 MB, 106954752 bytes
    64 heads, 32 sectors/track, 102 cylinders
    Units = cylinders of 2048 * 512 = 1048576 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0009b8f2
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdc1               1          20       20464   83  Linux
    /dev/sdc2              21         101       82944    5  Extended
    /dev/sdc5              21          71       52208   83  Linux
    /dev/sdc6              72         101       30704   83  Linux
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    alieblice@ubuntu:~$
    عکس نهایی مثال 2دوم


    منبع :
    7 Linux fdisk Command Examples to Manage Hard Disk Partition
    Linux: How to delete a partition with fdisk command
    Linux View Hard Drive Partitions with fdisk and parted commands


  12. تعداد تشکر ها ازalieblice به دلیل پست مفید


  13. #7
    عضو انجمن alieblice آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    111
    تشکر تشکر کرده 
    10
    تشکر تشکر شده 
    247
    تشکر شده در
    86 پست

    پیش فرض دستور rsync ((گرفتن :پشتیبان backup ))





    دستور rsync برای بکاپ گیری در لینوکس استفاده میشه همچنین قابلیت synchronize دو فایل رو هم داره که این 2 فایل میتونن در یک کامپیوتر یا یکیشون در یک کامپیوتر رموت باشه

    چند نکته خوب درمورد rsync

    سرعت بالا : به دلیل این که اول 2 تا فایلو باهم مقایسه میکنه بعد فقط قسمت های تغییر کرده رو بروز یا تغییراتی درشون اءمال میکنه
    امنیت : چون rsync از ssh برای برقراری ارتباط استفاده میکنه از امنیت بالایی برخورداره
    مصرف پهنای باند کم : چون از فشرده سازی به صورت block by block استفاده میکند همیشه پهنای باند مصرفی از مقدار فایل تبادل شده کمتر است
    در اخر هم پیشنیاز خاصی برای نصبش نیاز نیست

    نصب :

    برای نصب دستورات زیر رو بزنین
    کد:
    apt-get update 
    apt-get install rsync
    شکل کلی دستور
    کد:
    $ rsync options source destination
    Synchronize دو فلدر در یک کامپیوتر
    کد:
    $ rsync -zvr /var/opt/installation/inventory/ /root/temp
    building file list ... done
    sva.xml
    svB.xml
    .
    sent 26385 bytes  received 1098 bytes  54966.00 bytes/sec
    total size is 44867  speedup is 1.63
    $
    -z بزای فشرده سازی
    v- برای نشون دادن مراحل کار
    r- indicates recursive

    حالا اگه ls -l هردو فایلو بگیرین میبینین که پرمیشن ها ثابت مانده اند ولی زمان ساخته شدن فایلا تغییر کردن
    کد:
    $ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml
    -r--r--r-- 1 bin  bin  949 Jun 18  2009 /var/opt/installation/inventory/sva.xml
    -r--r--r-- 1 root bin  949 Sep  2  2009 /root/temp/sva.xml
    برای این که زمان ساخته شدن فایلا تغییر نکند از a- استفاده کنین
    کد:
    $ rsync -azv /var/opt/installation/inventory/ /root/temp/
    building file list ... done
    ./
    sva.xml
    svB.xml
    .
    sent 26499 bytes  received 1104 bytes  55206.00 bytes/sec
    total size is 44867  speedup is 1.63
    $
    حالا اگه خروجی ls -l رو نگاه کنین میبینین که زمان ساخته شدن فایلها بعد از بکاپ گیری یکی هستش
    کد:
    $ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml
    -r--r--r-- 1 root  bin  949 Jun 18  2009 /var/opt/installation/inventory/sva.xml
    -r--r--r-- 1 root  bin  949 Jun 18  2009 /root/temp/sva.xml
    Synchronize فقط یک فایل که عمل کپی کردن یک فایل به فلدر دیگر رو انجام میده

    کد:
    $ rsync -v /var/lib/rpm/Pubkeys /root/temp/
    Pubkeys
    
    sent 42 bytes  received 12380 bytes  3549.14 bytes/sec
    total size is 12288  speedup is 0.99
    Synchronize کردن فایل از کامپیوتر local به کامپیوتر remote
    local : کامپیوتری که شما الان باهاش کار میکنین ((کامپیوتر محلی))
    remote : کامپیوتری که در دور دست هستش

    کد:
    $ rsync -avz /root/temp/ thegeekstuff@192.168.200.10:/home/thegeekstuff/temp/
    Password:
    building file list ... done
    ./
    rpm/
    rpm/Basenames
    rpm/Conflictname
    
    sent 15810261 bytes  received 412 bytes  2432411.23 bytes/sec
    total size is 45305958  speedup is 2.87
    برای انجام این کار احتیاج به username وIP address سیستم رموت و همچنین ادرس فایل در سیستم رموت که شکل کلی به این شکل میشه
    کد:
     username@machinename:path
    path : ادرس دایرکتوری در سیستم رموت 
    که در دستور بالا به این شکل بود :  thegeekstuff@192.168.200.10:/home/thegeekstuff/temp/
    /root/temp/ : ادرس فایل های ارسالی از لوکال به سرور


    Synchronize سیستم رموت به سیستم خانگی
    کد:
    alieblice@alieblice-desktop:~$ sudo rsync -avz root@172.16.49.128:/var/www/Videos /home/reza
    [sudo] password for alieblice: 
    root@172.16.49.128's password: 
    receiving incremental file list
    created directory /home/reza
    Videos/
    Videos/.htaccess
    Videos/Oggy.001.avi
    Videos/Oggy.002.avi
    Videos/Oggy.003.avi
    Videos/Oggy.004.avi
    Videos/Oggy.005.avi
    
    sent 129 bytes  received 347205008 bytes  10063917.01 bytes/sec
    total size is 350419831  speedup is 1.01
    alieblice@alieblice-desktop:~$
    root@172.16.49.128:/var/www/Videos : ادرس سیستم رموت

    /home/reza : ادرسی که میخایم فایلا از رموت تو کامپیوتر لوکال شخصی ذخیره شود


    دیدن اطلاعاتی در مورد انتقال هر فایل
    برای این کار از progress-- استفاده کنین

    کد:
    alieblice@alieblice-desktop:~$ sudo rsync --progress -avz root@172.16.49.128:/var/www/Videos /home/reza
    root@172.16.49.128's password: 
    receiving incremental file list
    Videos/
    Videos/Oggy.001.avi
        70811648 100%   17.25MB/s    0:00:03 (xfer#1, to-check=4/7)
    Videos/Oggy.002.avi
        70343454 100%   11.02MB/s    0:00:06 (xfer#2, to-check=3/7)
    Videos/Oggy.003.avi
        70598656 100%   13.04MB/s    0:00:05 (xfer#3, to-check=2/7)
    Videos/Oggy.004.avi
        69273600 100%   14.00MB/s    0:00:04 (xfer#4, to-check=1/7)
    Videos/Oggy.005.avi
        69392384 100%   12.04MB/s    0:00:05 (xfer#5, to-check=0/7)
    
    sent 110 bytes  received 350537798 bytes  12746833.02 bytes/sec
    total size is 350419831  speedup is 1.00
    alieblice@alieblice-desktop:~$

    ممکنه وقتی که 2 فایلو باهم دارین synce میکنین یکسری فایل در فلدر ی که دارین بکاپ هارو توش ذخیره میکنین ((target )) وجود داشته باشه که در فلدر اصلی ((source)) که ازش بکاپ میگیرین نباشه حالا اگه بخاین که فایلای اضافی که در target بودنو پاک کنین از delet-- استفاده کنین
    ls فولدر source
    کد:
    root@debian:/var/www/Videos# ls
    Oggy.003.avi  Oggy.004.avi  Oggy.005.avi
    ls فلدر target
    کد:
    alieblice@alieblice-desktop:~$ ls /home/reza/Videos
    Oggy.001.avi  Oggy.002.avi  Oggy.003.avi  Oggy.004.avi  Oggy.005.avi
    alieblice@alieblice-desktop:~$
    کد:
    alieblice@alieblice-desktop:~$ sudo rsync --progress --delete  -avz root@172.16.49.128:/var/www/Videos /home/reza
    root@172.16.49.128's password: 
    receiving incremental file list
    deleting Videos/Oggy.002.avi
    deleting Videos/Oggy.001.avi
    Videos/
    Videos/Oggy.005.avi
        69392384 100%   16.48MB/s    0:00:04 (xfer#1, to-check=0/5)
    
    sent 34 bytes  received 69415891 bytes  9255456.67 bytes/sec
    total size is 209264729  speedup is 3.01
    alieblice@alieblice-desktop:~$

    ممکنه فقط بخاین فایلایی که با کلمه خاصی شروع میشن رو بکاپ بگیرین
    که برای این کار از include-- و exclude-- استفاده کنین
    --include 'P*' : فایلایی که با P شروع میشن رو بکاپ بگیر
    --exclude '*' : تمام فایلای دیگر رو در نظر نگیر
    کد:
    $ rsync -avz --include 'P*' --exclude '*' thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/
    Password:
    receiving file list ... done
    ./
    Packages
    Providename
    Provideversion
    Pubkeys
    
    sent 129 bytes  received 10286798 bytes  2285983.78 bytes/sec
    total size is 32768000  speedup is 3.19

    محدودیت حجمی

    برای ایجاد محدودیت حجمی میتونین از
    کد:
    --min-size=SIZE :فقط فایلایی که حجمشون از مقدار در نظر گرفته شده بیشتر است رو انتقال بده 
    --min-size=SIZE : فقط فایلایی که حجمشون از مقدار در نظر گرفته شده کمتر است رو انتقال بده
    دستور زیر فایلای زیر 100 کیلوبایت رو انتقال میده
    M for megabytes and G for gigabytes K for kilobyte

    کد:
    $ rsync -avz --max-size='100K' thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/
    Password:
    receiving file list ... done
    ./
    Conflictname
    Group
    Installtid
    Name
    Sha1header
    Sigmd5
    Triggername
    
    sent 252 bytes  received 123081 bytes  18974.31 bytes/sec
    total size is 45305958  speedup is 367.35

    rsync خیلی گسترده هستش و پایه اساس خیلی از نرم افزارای بکاپ گیری لینوکس و ویندوز هستش
    برای دیدن کامل کارایی که rsync میتونه انجام بدهد به man یا helpش مراجعه کنین

    نسخه گرافیکی مختلفی برای لینوکس و ویندوز داره که از ادرس زیر میتونین ببینین
    کد:
    http://en.wikipedia.org/wiki/Rsync
    منبع : How to Backup Linux? 15 rsync Command Examples
    چند مثال دیگه تو منبع هست که نگفتم

  14. تعداد تشکر ها ازalieblice به دلیل پست مفید


  15. #8
    عضو انجمن alieblice آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    111
    تشکر تشکر کرده 
    10
    تشکر تشکر شده 
    247
    تشکر شده در
    86 پست

    پیش فرض دستور history




    دستور history برای دیدن دستوراتی هست که شما قبلا در ترمینال نوشته اید

    با زدن history به تنهایی لیست تمام دستوراتی که قبلا نوشته اید رو میاره

    مثلا قسمتی از history سیستم من
    کد:
    root@debian:/# history
        3  echo "4+10" | bc
        4  echo "obase=15;5+9" | bc
        5  sudo 
        6  halt
        7  cd /
        8  ls /etc
        9  nano pam.conf
       10  cd pam.conf
       11  nano pam.conf
       12  cd pam.d
       13  cd pam.d
       14  nano pam.d
       15  nano /etc/pam.conf
       16  cd /etc/pam.d
       17  ls
       18  man pam
       19  PAM
       20  man PAM
       21  ls
       22  nano su
       23  ls
       24  cp su /etc/pam.d/su.save
       25  ls
       26  nano su
       27  login
       28  ls
       29  mkdir test
       30  cd /
       31  nano /etc/passwd
       32  login
       33  nano /etc/passwd
       34  nano /etc/passwd
       35  sudo 
       36  login
       37  cd /
       38  ls
       39  nano /etc/passwd
       40  login
       41  ls
       42  login
       43  nano /etc/passwd
       44  login
       45  cd /
       46  mkdir /home/khodam
       47  login
       48  cd /
       49  groupadd
       50  groupadd 
       51  gropadd limit
       52  gruopadd limit
       53  groupadd
       54  groupadd limit
       55  useradd -g  {limit} khodam 
       56  useradd -g  limit khodam 
       57  passwd khodam]
       58  passwd khodam
       59  usermod khodam
       60  chage
       61  chage khodam
       62  usermod --help
       63  ls 
       64  ls  /home
       65  login
       66  nano /etc/security/limits.conf
       67  nano /etc/security/limits.conf
       68  cd /etc/sudoers
       69  cd /etc/sudoers
       70  cd /etc
       71  ls
       72  cd sudoers
       73  cd sudoers
       74  ls sudoers
       75  nano sudoers
       76  visudo 
       77  nano /etc/security/limits.conf
       78  visudo 
       79  apt-get install squid
       80  squid
       81  nano /etc/squid.conf
       82  cd /etc/squid
       83  nano squid.conf
       84  nano squid.conf
       85  /etc/init.d/squid restart
       86  cd /
       87  nano /etc/squid/squid.conf
       88  /etc/init.d/squid restart
       89  nano /etc/squid/squid.conf
       90  /etc/init.d/squid restart
       91  /etc/init.d/squid restart
       92  nano /etc/shels
       93  ls /etc/shels
       94  cd etc
       95  ls
       96  cd /
       97  cd etc
       98  ls
       99  cd shells
      100  nano shells
      101  chsh
      102  chsh khodam
      103  nano shells
      104  chsh khodam
      105  nano shells
      106  apt-get install lshel
      107  apt-get install lshell
      108  ch
      109  cd security
      110  ls
      111  nano access.conf
      112  visudo
      113  visudo 
      114  visudo 
      115  visudo 
      116  cd /
      117  upime
      118  uptime
      119  apt­get install sudo debianutils coreutils 
      120  apt-get install  debianutils coreutils 
      121  apt-get install  coreutils 
      122  cd /usr/local/sbin 
      123  wget http://www.fuschlberger.net/programs/ssh­scp­sftp­chroot­jail/make_chroot_jail.sh 
      124  wget http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/make_chroot_jail.sh
      125  chmod 700
      126  chmod 700 make_chroot_jail.sh
      127  nano make_chroot_jail.sh
      128  useradd
      129  useradd ansary
      130  passwd ansary
      131  cd /home
      132  ls
      133  ln ­s . home 
      134  ln ­s . home 
      135  ls
      136  ln ­s . home
      137  ls
      138  mkidir gailed
    جستوجو در history

    برای جستو جو در history کلید ترکیبی Control+R بزنید بعد کلمهی کلیدی مورد نظر رو وارد کنین این جوری دستور قبلی که توش اون کلمه کلیدی بوده رو میاره وشما بازدن enter میتونین اونو اجرا کنین
    مثلا در زیر با دادن کلمه کلیدی red دستور قبلی که توش کلمهی red بوده رو میاره ((cat /etc/redhat-release))
    کد:
    # [Press Ctrl+R from the command prompt,
    which will display the reverse-i-search prompt]
    (reverse-i-search)`red': cat /etc/redhat-release
    [Note: Press enter when you see your command,
    which will execute the command from the history]
    # cat /etc/redhat-release
    Fedora release 9 (Sulphur)
    اگه وقتی که کلمه کلیدی خودتونو دادین و دستور مورد نظرتون امد و خاستین توش تغییری ایجاد کنین قبل از اجرا قبل از اینکه enter رو بزنین کلید چب یا راستو از روی کیبوردتون بزنین ((left arrow or right arrow))

    مثلا در زیر stop رو به start تغییر میدیم
    کد:
    # [Press Ctrl+R from the command prompt,
    which will display the reverse-i-search prompt]
    (reverse-i-search)`httpd': service httpd stop
    [Note: Press either left arrow or right arrow key when you see your
    command, which will display the command for you to edit, before executing it]
    # service httpd start
    تکرار کردن دستور قبلی به 4 روش

    1-با زدن دکمه بالا ((up arrow)) دستور قبلی نشون داده میشه . برای اجرا enter را بزنین

    2- بنویسین !! اینجوری دستور قبلی بدون اینکه نشون داده بشه و احتیاج به زدن enter باشه خودش اجرا میشه

    3-بنویسین !-1 اینجوری دستور قبلی بدون اینکه نشون داده بشه و احتیاج به زدن enter باشه خودش اجرا میشه ((اگر بنویسین 2-! 2 دستوری که قبل از دستور قبلی نوشتینو اجرا میکنه یعنی دستور قبل از 1-! اجرا میکنه ))

    4- Control+P دستور قبلب رو نشون میده برای اجرا کردنش enter رو بزنین


    اجرا کردن دستور به وسیله شماره اون در history

    اگه خروجی دستور history در بالا رو نگاه کنین میبینین که هر دستوری برای خودش یک شماره ای داره حالا اگر بخایم دستور شماره ی 517 رو اجرا کنیم دستور به این شکل میشه
    کد:
    517!
    مثلا
    کد:
    501  cd /
      502  history
      503  history --help
      504  ls -a
      505  ls -a
      506  ls -a
      507  history |more
      508  history
      509  history
      510  history
      511  top
      512  ls -l
      513  top
      514  ls-1
      515  ls-1
      516  history
      517  last |grep ppp |grep still
      518  sudo netstat -na 
      519  history
      520  ls -a /var/log
      521  nano /etc/pam.d
      522  halt --help
      523  history
    کد:
    root@debian:/# !517
    last |grep ppp |grep still
    root@debian:/#
    چون دستورش خروجی نداشت چیزی نشون نداد


    اجرا کردن دستوری که با کلمه ی خاصی شروع میشه

    مثلا در بالا میخایم دستور 518 رو اجرا کنیم ولی شمارشو نمیدو نیم ولی اولشو می دونیم دستورو اینجوری می زنیم ((علامت تعجب وبدون فاصله در ادامه علامت تعجب قسمتی از دستور مورد نظر ))
    کد:
    sudo netstat -na!

    تغییر تعداد دستورات قابل ذخیره شدن


    برای این کار فلدر bash_profile. که در دایرکتوری خانگیتون هست رو با یک ادیتور باز کنین و مقادیر رو مثل پایین تغییر بدین
    کد:
    # vi ~/.bash_profile
    HISTSIZE=100
    HISTFILESIZE=100
    ذخیره نکردن بعضی دستورات

    برای این که history بعضی دستوراتو ذخیره نکنه فلدر bash_profile. باز کنین و این خطو اضافه کنین
    کد:
    HISTCONTROL=ignorespace
    حالا دستوراتی که اولشون یک space داشته باشه ذخیره نمیشه

    مثلا
    کد:
    # ls -ltr
    # pwd
    # service httpd stop [Note that there is a space at the beginning of service,
    to ignore this command from history]
    # history | tail -3
    67 ls -ltr
    68 pwd
    69 history | tail -3
    برای پاک کردن history این دستورو بزنین
    کد:
    history -c
    منبع : 15 Examples To Master Linux Command Line History

    چند مثال دیگه تو منبع هست که نگفتم

  16. تعداد تشکر ها ازalieblice به دلیل پست مفید


  17. #9
    عضو انجمن alieblice آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    111
    تشکر تشکر کرده 
    10
    تشکر تشکر شده 
    247
    تشکر شده در
    86 پست

    پیش فرض دستور top




    ین دستور در ترمینال به شما نشون می ده چه برنامه هایی در حال اجرا هستند و چه مقدار cpu و حافظه رو درگیر می کنند . همچنین نشون می ده برنامه ی در حال اجرا از طرف کدوم کاربر اجرا شده به همراه کلی اطلاعات دیگر

    شکل کلی خروجی دستور top به این شکل هستش




    دستور top به صورت پیش فرض بر اساس مقدار مصرف cpu پروسس هارو نشون میده اگه میخاین که بر اساس مقدار مصرف مموری نشون بده M ((ام بزرگ )) در حالتی که top در حال اجرا هست رو بزنین


    kill کردن یک پروسس

    برای این که یک پروسس رو از بین ببرین در حالتی که top در حال اجرا هست دکمه k رو بزنین ((k کوچک)) و عدد pid مربوط به اون پروسس رو بنویسین
    کد:
    PID to kill: 1309
    Kill PID 1309 with signal [15]: 
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
     1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
     1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent
     5136 root    16   0 38040  14m 9836 S    0  0.2   0:00.39 nautilus
    نشون دادن پروسس های مربوط به یک user

    اگه میخاین که top فقط پروسس های مربوط به یک user خاص رو نشون بده از u- استفاده کنین
    مثلا در اینجا پروسس مربوط به کاربر geek
    کد:
    $ top -u geek
    
    Which user (blank for all): geek
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
     1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
     1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent
    نشون دادن تمام cpu ها و هسته های cpu

    خروجی دستور top به صورت پیش فرض اطلاعات cpu رو در ترکیب باهم به صورت زیر نشون میده
    کد:
    top - 20:10:39 up 40 days, 23:02,  1 user,  load average: 4.97, 2.01, 1.25
    Tasks: 310 total,   1 running, 309 sleeping,   0 stopped,   0 zombie
    Cpu(s):  0.5%us,  0.7%sy,  0.0%ni, 92.3%id,  6.4%wa,  0.0%hi,  0.0%si,  0.0%st
    اگه میخاین که اطلاعات رو به صورت کامل و به اضای هر هسته cpu ببینین در موقعی که top در حال اجرا هست عدد 1 رو بزنین
    کد:
    top - 20:10:07 up 40 days, 23:03,  1 user,  load average: 5.32, 2.38, 1.39
    Tasks: 341 total,   3 running, 337 sleeping,   0 stopped,   1 zombie
    Cpu0  :  7.7%us,  1.7%sy,  0.0%ni, 79.5%id, 11.1%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu1  :  0.3%us,  0.0%sy,  0.0%ni, 94.9%id,  4.7%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu2 :  3.3%us,  0.7%sy,  0.0%ni, 55.7%id, 40.3%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu3 :  5.0%us,  1.0%sy,  0.0%ni, 86.2%id,  7.4%wa,  0.0%hi,  0.3%si,  0.0%st
    Cpu4  : 38.5%us,  5.4%sy,  0.3%ni,  0.0%id, 54.8%wa,  0.0%hi,  1.0%si,  0.0%st
    Cpu5  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu6  :  0.3%us,  0.7%sy,  0.0%ni, 97.3%id,  1.7%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu7  :  5.4%us,  4.4%sy,  0.0%ni, 82.6%id,  7.7%wa,  0.0%hi,  0.0%si,  0.0%st
    Cpu8 :  1.7%us,  1.7%sy,  0.0%ni, 72.8%id, 23.8%wa,  0.0%hi,  0.0%si,  0.0%st
    بروز شدن خروجی top

    خروجی دستور top به صورت پیشفرض هر 3 ثانیه بروز میشه که اگه میخاین این مدت رو مثلا به یک ثانیه تغییر بدین در موقعی که دستور top در حال اجرا هست دکمه d رو بزنین
    کد:
    Change delay from 3.0 to: 1
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
        1 root      20   0  2032  704  612 S    0  0.3   0:01.78 init               
        2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd           
        3 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0
    بسته شدن top بعد از نشون دادن تعداد خاصی خروجی

    برای این کار از n- استفاده کنین
    در زیر top بعد از 2 بار بروز شدن بسته میشه
    کد:
    $ top -n 2
    نشون دادن دستور کامل هر پروسس

    هر پروسسی که ایجاد میشه قبلش یک دستور زده شده مثلا همین top که بعد از زدن دستورش پروسسش ایجاد میشه در داخل خروجی خودش دستورشو به اینشکل نشون میده
    به زیر COMMAND توجه کنین

    کد:
          
    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND 
    1100 root      20   0  2332 1140  900 R    0  0.4   0:00.06 top
    مثال دیگه
    کد:
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
     1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 /usr/sbin/gagent
     1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 /usr/sbin/gagent -l 0 -u pre
    دستور top در حالت Batch Mode

    فرق این حالت با حالت معمولی top اینه که هر بار top به روز میشه اطلاعات جدید زیر اطلاعات قبلی مینویسه
    مثلا در زیر top بعد از 3 بار به روز شدن در حالت batch mode بسته میشه
    کد:
    root@debian:/# top -b -n 3 -u tia
    top - 13:55:26 up 58 min,  2 users,  load average: 0.00, 0.00, 0.00
    Tasks:  78 total,   1 running,  77 sleeping,   0 stopped,   0 zombie
    Cpu(s):  0.0%us,  0.1%sy,  0.0%ni, 99.8%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:    254672k total,    67884k used,   186788k free,     9432k buffers
    Swap:   308216k total,        0k used,   308216k free,    34232k cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND          
     1118 tia       20   0  8476 1492  860 S    0  0.6   0:00.01 sshd             
     1119 tia       20   0  4484 1728 1404 S    0  0.7   0:00.00 bash             
     1128 tia       20   0  8052 3608 2568 S    0  1.4   0:00.02 w3m              
    
    
    top - 13:55:29 up 58 min,  2 users,  load average: 0.00, 0.00, 0.00
    Tasks:  78 total,   1 running,  77 sleeping,   0 stopped,   0 zombie
    Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:    254672k total,    67884k used,   186788k free,     9432k buffers
    Swap:   308216k total,        0k used,   308216k free,    34232k cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND          
     1118 tia       20   0  8476 1492  860 S    0  0.6   0:00.01 sshd             
     1119 tia       20   0  4484 1728 1404 S    0  0.7   0:00.00 bash             
     1128 tia       20   0  8052 3608 2568 S    0  1.4   0:00.02 w3m              
    
    
    top - 13:55:32 up 58 min,  2 users,  load average: 0.00, 0.00, 0.00
    Tasks:  78 total,   1 running,  77 sleeping,   0 stopped,   0 zombie
    Cpu(s):  0.2%us,  0.2%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:    254672k total,    67884k used,   186788k free,     9436k buffers
    Swap:   308216k total,        0k used,   308216k free,    34232k cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND          
     1118 tia       20   0  8476 1492  860 S    0  0.6   0:00.01 sshd             
     1119 tia       20   0  4484 1728 1404 S    0  0.7   0:00.00 bash             
     1128 tia       20   0  8052 3608 2568 S    0  1.4   0:00.02 w3m              
    
    root@debian:/#
    روش بالا بیشتر برای ذخیره کردن خروجی دستور top در یک فایل متنی استفاده میشه با برای grep کردنش



    هدر top

    در موقعی که top در حال اجرا هست اگه

    l ((ال کوچک )) بزنین خط اول هدر مربوط به load average ناپدید میشه
    t بزنین خط 2م و 3م هدر مربوط به Tasks: و Cpu(s) ناپدید میشه
    m بزنین 2 خط اخر هدر مربوط به مموری ناپدید میشه


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

    در حالتی که top در حال اجرا هست n رو بزنین بعد از شما تعداد پروسس رو میپرسه
    کد:
    Maximum tasks = 0, change to (0 is unlimited): 2
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
     1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
     1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent
    در اخر هم برای بستن top در حالت اجرا از دکمه q ((کیو کوچک)) استفاده کنین

    منبع: Can You Top This? 15 Practical Linux Top Command Examples
    چند مثال دیگه تو منبع هست که نگفتم


    نرم افزار دیگه ای هم هست که همین کار top رو انجام میده ولی یک مقدار فرق داره
    اسم نرم افزار: htop
    Htop - ویکی‌پدیا



    منبع : Can You Top This? 15 Practical Linux Top Command Examples

  18. تعداد تشکر ها ازalieblice به دلیل پست مفید


  19. #10
    عضو انجمن alieblice آواتار ها
    تاریخ عضویت
    Feb 2010
    نوشته ها
    111
    تشکر تشکر کرده 
    10
    تشکر تشکر شده 
    247
    تشکر شده در
    86 پست

    پیش فرض دستور locate




    دستور locate اطلاعات رو از روی دیتابیسی که با updatedb اماده سازی میشه میخواند و بعد با توجه به کلمه ای که شما به اون داده اید گزینه های سازگار رو در خروجی خود مینویسد

    برای به روز کردن دیتابیس خود از دستور زیر استفاده کنین
    برای این کار به کاربر روت احتیاج هست
    نکته :اگه فایل یا هر چیز جدید دیگه ای ساختین بعدش دستور زیر رو بزنین تا به دیتابیس اضافه بشه چون بروز اوریه دیتا بیس خیلی سریع نیست .
    کد:
    sudo updatedb
    برای پیدا کردن تمام فایلاها و دایرکتوریهایی که کلمه screenshot رو دارن دستور به این شکل میشه

    کد:
    locate Screenshot
    با زدن این دستور تمام فایلاییو دایرکتوری که کلمه Screenshot در اسمشون باشه به شما نشون داده میشه که البته محدود به یک دایرکتوری خاص هم نمیشه و تمام دایرکتوری های موجود در درایوی که لینوکستون رو نصب کردین شامل میشه .

    اگه خاستین دنبال یک چیزی محدود به یک دایرکتوری بگردین میتونین به این صورت دستورو بزنین
    مثلا من در اینجا دنبال یک فایل در داخل /home/alieblice/Documents میگردم :
    کد:
    alieblice@alieblice-desktop:/$ locate firefox |grep /home/alieblice/Documents
    /home/alieblice/Documents/firefox-4.0.tar.bz2
    alieblice@alieblice-desktop:/$
    اگه دستور locate -i firefox رو بزنین میبینین که چه همه firefox دارین

    توضیح دستور بالا :
    i- برای case-insensitive یعنی حساس نبودن به بزرگی و کوچکی استفاده میشه
    | ((\+shift)) : میگه که خروجی دستور قبلی بشه ورودی دستور جدید که دستور بلافاصله بعد از | میاد ((پایپ pipe یا لوله میخوننش ))
    grep : تمام خطهایی که کلمه ی ورودی رو داره برای ما جدا میکنه که کلمه ی ورودی در اینجا /home/alieblice/Documents بود .

    جستوجو بر اساس اسم دقیق داده شده
    برای ای کار دستور به شکل زیر میشه
    کد:
    locate -b '\NAME'
    اینجوری فقط دایرکتوری یا فلدر هایی که اسمشون دقیقا NAME هست نشون داده میشه
    کد:
    alieblice@alieblice-desktop:/$ locate -b '\Oggy'
    /home/alieblice/Videos/Oggy
    alieblice@alieblice-desktop:/$ 
    alieblice@alieblice-desktop:/$ 
    alieblice@alieblice-desktop:/$ locate Oggy
    /home/alieblice/Documents/Oggy.003.htm
    /home/alieblice/Downloads/Oggy.003.htm
    /home/alieblice/Videos/Oggy
    /home/alieblice/Videos/Oggy.002.avi
    /home/alieblice/Videos/Oggy.003.avi
    alieblice@alieblice-desktop:/$
    لیست کردن تمام دایرکتوری ها و ساب دایرکتوری
    برای این کار بعد از دستور locate ادرس دایرکتوری رو بدین
    کد:
    alieblice@alieblice-desktop:/$ locate /home/alieblice/Videos
    /home/alieblice/Videos
    /home/alieblice/Videos/Oggy.001.avi
    /home/alieblice/Videos/Oggy.002.avi
    /home/alieblice/Videos/Oggy.003.avi
    /home/alieblice/Videos/test
    /home/alieblice/Videos/test/test2
    alieblice@alieblice-desktop:/$
    لیست کردن بر اساس فرمت داده شده
    کد:
        locate "*.png" -q
    -q برای نشون ندادن ارور هست
    اگر خاستین تعداد خاصی یعنی مثلا 3 تا خروجی بیشتر نداشته یاشه از n- استفاده کنین
    کد:
    alieblice@alieblice-desktop:/$ locate -n 3 "*.png" 
    /etc/alternatives/start-here-16.png
    /etc/alternatives/start-here-22.png
    /etc/alternatives/start-here-24.png
    alieblice@alieblice-desktop:/$
    اگه مقدار خروجی خیلی زیاد بود میتونین از less یا more استفاده کنین
    کد:
    locate *.png |less
    locate *.png |more
    نکته :
    دیتابیس locate در ادرس زیر هست
    کد:
    /var/lib/mlocate/mlocate.db
    که برای دیدن محتویات داخلش از این دستور میتونین استفاده کنین
    کد:
    sudo strings /var/lib/mlocate/mlocate.db |less

  20. تعداد تشکر ها ازalieblice به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 123
    آخرين نوشته: September 2nd, 2018, 22:20
  2. پاسخ ها: 14
    آخرين نوشته: June 11th, 2014, 13:25
  3. پاسخ ها: 0
    آخرين نوشته: February 21st, 2013, 21:30
  4. پاسخ ها: 0
    آخرين نوشته: December 24th, 2011, 16:39

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •