صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 43

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

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

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

    اما چند نکته:
    1. بهتر است که این صفحه را محلی برای سوال و جواب و رفع اشکالاتمان قرار ندهیم؟! برای طرح سوال می‌توانید یک تاپیک جدید ایجاد کنید و یا شاید تاپیک گسترش نیافته ی زیر را بتوان به این کار اختصاص داد:
    http://www.forum.persianadmins.com/s...88%DA%A9%D8%B3
    http://forum.ubuntu.ir/index.php/topic,14715.0.html
    2. حتی‌المقدور یک دستور را جامع و کامل (و مطمئن از صحت) شرح دهیم، آن‌گونه که برای تازه کارها و حتی آن‌ها که جز محیط‌های گرافیکی تجربه‌ی دیگری ندارند، قابل استفاده باشد.
    3. لطفاْ از تاپیک‌هایی مثل "آره، فکر خوبیه - چه عالی، موافقم - نه، بی‌نتیجه است و ..." جداْ خودداری کنید و فقط آن چه را که از ترمینال می دانید، با نگاه آموزشی، برای این صفحه ارسال کنید. تشکر و یا هر نظر دیگری را با پیغام خصوصی برای آن کاربری که مطلب را منتشر کرده، ارسال کنید.
    4. نام دستوری که قصد شرح آن را دارید، عنوان مطلب ارسالی انتخاب کنید. و تا آن جا که ممکن است از زبان رسمی در نوشته‌هایتان استفاده کنید.
    5. اگر مطلب ارسالی دارای منبعی است و یا ترجمه شده است، آن منبع ذکر شود.
    6. چنان چه در مطالب ارسال شده، ایرادی را مشاهده می‌کنید، اصلاحیه یا پیشنهاد خود را به صورت پیغام خصوصی برای کاربر ارسال کننده‌ی مطلب مورد نظر بفرستید تا ایشان به تصحیح و یا گسترش آن بپردازند. هم چنین اگر به نظرتان مطلبی می‌تواند کامل‌تر باشد، بهتر است به جای ارسال جدید باز همین روش را اتخاذ کنید که به این ترتیب از عنوان‌های مشابه جلوگیری می‌شود. اما اگر مایل بودید که خودتان ارسالی مرتبط داشته باشید، برای ارسال خود یکی از این دو مورد را مد نظر قرار دهید: یا در متن ارسالی خود به وجود ارسال مشابه دیگری با ارجاع به شماره‌ی پاسخ و شماره‌ی صفحه‌ی آن اشاره کنید و یا عنوان همان ارسال را برای ارسال خود برگزینید و به انتهای آن شماره ترتیبی اضافه کنید که رعایت هر دو با هم جالب‌تر است.7
    8. http://wiki.ubuntu.ir/BashCommands

    منبع : http://forum.ubuntu.ir/index.php/topic,17561.0.html
    آخرین ویرایش به وسیله alieblice : سه شنبه 31 خرداد 1390 در 15:20 بعد از ظهر

  2. 4 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  3. #2
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    فراخواندن ترمینال

    فراخواندن ترمینال
    محیط متنی لینوکس که همان محیط سنتی یونیکس(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







  4. 7 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  5. #3
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور sudo

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

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

          sudo visudo 

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

          man sudoers 

    راهنمای مناسبی در این مورد را می‌توانید در آدرس زیر بیابید:
    http://www.go2linux.org/sudoers-how-to


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


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



    منبع: http://forum.ubuntu.ir/index.php/topic,17561.0.html

  6. 7 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  7. #4
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور 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 به این ادرس بروید
    http://community.fsforums.ir/Thread-...C?pid=55#pid55
    آخرین ویرایش به وسیله alieblice : چهارشنبه 25 آبان 1390 در 20:10 بعد از ظهر

  8. 7 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  9. #5
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور du

    دستور du

    دستور du برای دیدن فضاهای اشغال شده توسط فایل ها و دیگر اجزای داخل دایرکتوری ممورد نظر است
    شکل کلی دستو ر به این شکل هستش

          du [OPTION]... [FILE 

    چند مثال:

    1-اگه دستور du رو به صورت هیچ اپشنی بزنین فقط حجم دایرکتوری های داخل اون فایل و ساب دایرکتوری هاشون رو نشون میده
    root@192.168.1.43:/var/log# du
    756 ./account
    2140 ./apache2
    320 ./installer/cdebconf
    684 ./installer
    12 ./fsck
    36 ./apt

    اگه اعداد قابل فهم نیستن میتونین از اپشن -h استفاده کنین

    root@192.168.1.43:/var/log# du -h
    760K ./account
    2.1M ./apache2
    320K ./installer/cdebconf
    684K ./installer
    12K ./fsck
    36K ./apt


    2- اگه میخاین که فقط حجم فایلای داخل فولدر مورد نظر رو ببینین بدون هیچ ساب دایرکتوری این دستورو بزنین
    root@192.168.1.43:/var# du -sh *
    2.9M backups
    103M cache
    109M lib
    4.0K local
    8.0K lock
    11M log
    4.0K mail
    4.0K opt
    84K run
    12K spool
    4.0K tmp
    12G www


    3-اگه فقط حجم یک دایرکتوری خاصی رو می خاین ببینین از اپشن -s استفاده کنین

    root@192.168.1.43:/# du -s /var/log
    10404 /var/log
    root@95-168-161-82:/#

    4-اگه میخاین حجم یک سری فایل با فرمت خاص و به همراه حجمشون ببینین دستورو این جوری بزنین
    root@192.168.1.43:/var/www//files# du -h *.rar
    416M backtrack4.r2.www.vatandownload.com.part3.rar
    382M backtracktutorials.www.vatandownload.com.part1.rar
    382M backtracktutorials.www.vatandownload.com.part2.rar
    ]
    منبع : LPIC-1_In_Nutshell_Oreilly_Edition3.pdf
    آخرین ویرایش به وسیله alieblice : چهارشنبه 25 خرداد 1390 در 23:41 بعد از ظهر

  10. 6 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  11. #6
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور rm

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

    برای پاک کردن یک فایل

          rm file name 

    با دستور بالا فایل مورد نظر پاک می شود.(با فرم دستور بالا نمی توانید پوشه ها را پاک کنید)


          rm -r File/Directory name rm -rf File/Directory name 

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


          rmdir Directory name 

    با این دستور می توانید فقط پوشه های خالی(Empty) راحذف کنید.

    + توضیح بیش تر:


    وقتی ترمینال را باز می کنید، به طور پیش فرض در دسکتاپ لوکالیزه است. بنابراین تا زمانی که تغییر مکان نداده اید و در دسکتاپ هستید، با دستوری به فرم rm Practice تنها در صورتی که فایل Practice روی دسکتاپ باشد ریموو خواهد شد.
    آیا فایلتان روی دسکتاپ است؟! آیا باید با ذستور cd تغییر مکان بدهید!؟
    هم چنین نام فایل را باید کامل به همراه پسوند آن تایپ کرد. مثلاْ اگر نام فایلی A.ogg است، دستور rm A عمل نخواهد کرد. ضمناْ با فرم دستوری rm نمی توان پوشه ها را پاک کرد و اگر با خطای Is a directory روبرو شدید بیانگر همین موضوع خواهد بود.

    * دستور rmdir
    با این دستور می توانید یک یا چندین پوشه ی خالی(empty) را خذف کنید. برای پوشه هایی که خالی نباشند عمل نخواهد کرد. مثلاْ پاک کردن پوشه هایی با نام های F1, F2,F3 که همگی خالی اند:

          rmdir F1 F2 F3 

    * دستور rm -r
    برای پاک کردن پوشه ها - که دایرکتوری محسوب می شوند - کاربرد دارد. خالی و غیرخالی هم نمی شناسد.
    شما هم چنین می توانید به صورت ترکیبی پوشه و فایل ها را حذف کنید:


          rm -r A.ogg B C 

    که B و C پوشه هستند.

    منبع : http://forum.ubuntu.ir/index.php/topic,17561.15.html

  12. 7 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  13. #7
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور mkdir




    ستور mkdir برای ساختن دایرکتوری ((پوشه , فلدر )) استفاده میشه

    برای ساختن یک دایرکتوری

          mkdir FILE1 

    برای ساختن چند دایرکتوری

          mkdir FILE1 FILE2 FILE3 

    رای ساختن دایرکتوری و گذاشتن پرمیشن به طور هم زمان برای اون دایرکتوری از m- استفاده کنین
    در زیر برای پوشه پرمیشن 777 رو میزاریم

          mkdir -m 777 FILE 

    حالا اگه ls -l بگیرین میبنین که پرمیشنش به این شکله drwxrwxrwx

          ls -l total 12 drwxrwxrwx 2 root root 4096 2011-05-21 07:37 FILE 

    برای اینکه بعد از ساخته شدن هر دایرکتوری دستور mkdir به ما بگه که چه دایرکتوری ساخته از v- استفاده کنین
    poy:/home# mkdir -v FILE1 FILE2 FILE3
    mkdir: cannot create directory `FILE1': File exists
    mkdir: cannot create directory `FILE2': File exists
    mkdir: cannot create directory `FILE3': File exists
    poy:/home#


    اگه زمانی خاستین که یک دایرکتوری بسازین که داخل چند دایرکتوری دیگر بود و اون چند دایرکتوری وجود نداشن از p- استفاده کنین
    مثلا در زیر میخایم دایرکتوری dada که داخل 3 دایرکتوری FILE//pic/2010 هستشو بسازیم ولی 3 دایرکتوری FILE//pic/2010 وجود ندارن.
    هم زمان پرمیشن 777 رو هم میزاریم از V- استفاده میکنیم

    poy:/home# mkdir -m 777 -p -v FILE//pic/2010/dada
    mkdir: created directory `FILE'
    mkdir: created directory `FILE//pic'
    mkdir: created directory `FILE//pic/2010'
    mkdir: created directory `FILE//pic/2010/dada'

    اینم tree ش ((اگه اینجا درست نشون نمیده به این جا مراجعه کنین http://forum.ubuntu.ir/index.php/top...html#msg135162))
    poy:/home# tree FILE
    FILE
    `-- pic
    `-- 2010
    `-- dada

    3 directories, 0 files

    اینو از توی wikipedia پیدا کردم
    (اگه اینجا درست نشون نمیده به این جا مراجعه کنین http://forum.ubuntu.ir/index.php/top...html#msg135162))
          mkdir -p tmpdir/{trunk/sources/{includes,docs},branches,tags} 

    که اینو میسازه
    tmpdir
    ________|______
    | | |
    branches tags trunk
    |
    sources
    ____|_____
    | |
    includes docs
    ]
    منبابع : LPIC-1_In_Nutshell_Oreilly_Edition3.pdf
    http://en.wikipedia.org/wiki/Mkdir
    http://publib.boulder.ibm.com/infoce...mds3/mkdir.htm
    آخرین ویرایش به وسیله alieblice : چهارشنبه 25 خرداد 1390 در 23:43 بعد از ظهر

  14. 6 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  15. #8
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور mv

    دستور mv برای انتقال یا تغییر اسم یک فلدر استفاده میشه

    برای تغییر نام‌دادن یک پرونده از filename به newfilename


          $ mv filename newfilename 

    نکته : اگه در دستور بالا فلدر newfilename از قبل وجود داشته باشه کار انتقال فایل انجام میشه ولی اگر نباشه کار تغییر اسم انجام میشه

    برای جابه‌جا کردن یک پرونده به یک پوشهٔ خاص


          $ mv afile /home/nickname/newfile 

    دستور زیر تمام فایلای file1 FILE2 FILE3 به tmpdir انتقال میده
    v- هم فایلای انتقال یافته رو نشون میده [CODE]'
    poy:/home# mv -v  file1  FILE2  FILE3 tmpdir
    `file1' -> `tmpdir/file1'
    `FILE2' -> `tmpdir/FILE2'
    `FILE3' -> `tmpdir/FILE3'


    توضیح چندتا از سوئیچ‌ها
    -u(برگرفته از update) : اگر تاریخ آخرین تغییر پرونده یا پوشه‌ای که می‌خواهیم انتقال دهیم از پوشه‌ای که قبلا وجود داشت به‌روزتر باشد، آن را بر روی پوشه یا پروندهٔ قدیمی انتقال می‌دهد.

    -f (برگرفته از force): در صورتی که پرونده یا پوشهٔ موجود باشد بدون اخطار دادن، انتقال را انجام می‌دهد.
    آخرین ویرایش به وسیله alieblice : چهارشنبه 25 خرداد 1390 در 23:45 بعد از ظهر

  16. 5 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  17. #9
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

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




    دستور 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

  18. 5 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  19. #10
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    روش ها ی خاموش کردن لینوکس

    ((( اگه روش هایی به غیر از روش های زیر دوستان میدونستین به صورت پیقام خصوصی یا زیر همین پست بگین تا اموزشو کامل کنم - ممنون )))

    برای خاموش کردن لینوکس 4 روش وجود داره که هرکدوم مقداری تفاوت با هم دارن مثلا یکی زود تر خاموش میکنه یا یکی به صورت اصولی خاموش میکنه یا یکی همین جوری یک دفعه ای سیستمو میبره پایین .


    1- shutdown
    2- init 0 یا telinit 0
    3- halt
    4- poweroff




    1- shutdown


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


    shutdown [-akrhPHfFnc] [-t sec] time [warning message
    ]
    [/s]
    چند مثال

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


    shutdown -h  23:539


    خاموش کردن در همین لحظه


    shutdown -h now


    خاموش کردن در 25 دقیقه اینده


    shutdown -h +25


    در دستورای بالا به جای -h که همون دستور halt رو صدا میزنه اگه از -r استفاده کنین کار ریستارت کردنو میکنه



    init 0

    دستور init یا telinit مربوط به تغییر runlevel ها میشه که 0 برای خاموش کردن و 6 برای ریستازت کردن هستش

    برای خاموش کردن


    init 0

    یا


    telinit 0


    برای ریستارت کردن عدد صفر در دستورای بالا رو به عدد 6 نغییر بدین




    halt


    دستور halt اسم دیگه runlevel 0 هستش که همون کار خاموش کردنو میکنه

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


    halt


    خطر


    اگه دستور halt رو با -f و -p بزنین مثل کشیدن کابل برق عمل میکنه ! خطر



    halt -fp

    دستور بالا تو سیستم های مجازی مثل freez کردن عمل میکنه سیستمو خاموش نمیکنه تو vmware player که این جوری بود .



    poweroff


    اگه خروجی help-- دو دستور halt و poweroff رو بگیرین می بینین که هردوشون مثل همن

    برای خاموش کردن سیستم


    poweroff


    دستور
    خطر

    بالا هم برای poweroff صدق میکنه

    منبع : http://forum.ubuntu.ir/index.php/top...html#msg134448
    آخرین ویرایش به وسیله alieblice : پنجشنبه 26 خرداد 1390 در 17:27 بعد از ظهر

  20. 7 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  21. #11
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور 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 ((کیو کوچک)) استفاده کنین

    منبع: http://www.thegeekstuff.com/2010/01/...mand-examples/
    چند مثال دیگه تو منبع هست که نگفتم


    نرم افزار دیگه ای هم هست که همین کار top رو انجام میده ولی یک مقدار فرق داره
    اسم نرم افزار: htop
    http://fa.wikipedia.org/wiki/Htop



    منبع : http://www.thegeekstuff.com/2010/01/15-practical-unix-linux-top-command-examples

  22. 5 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  23. #12
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور 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


    منبع : http://www.thegeekstuff.com/2008/08/...-line-history/

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

  24. 5 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  25. #13
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور man

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

    یک دستور میتونه چندین تا راهنمای مجزا (( چندین صفحه man )) داشته یاشه که به صورت استاندارد به بخش های زیر تقسیم میشن

    Section Description
    1 User programs
    2 System calls
    3 Library calls
    4 Special files (usually found in /dev)
    5 File formats
    6 Games
    7 Miscellaneous
    8 System administration


    شکل کلی دستور

    man [options] [section] name


    مثلا دستور
    man mkdir 

    اگه بزنین راهنمای mkdirرو میاره

    man mkdir
    MKDIR(1) User Commands MKDIR(1)

    NAME
    mkdir - make directories

    SYNOPSIS
    mkdir [OPTION]... DIRECTORY...

    DESCRIPTION
    Create the DIRECTORY(ies), if they do not already exist.

    Mandatory arguments to long options are mandatory for short options
    too.

    -m, --mode=MODE
    set file mode (as in chmod), not a=rwx - umask

    -p, --parents
    no error if existing, make parent directories as needed

    -v, --verbose
    print a message for each created directory

    -Z, --context=CTX
    set the SELinux security context of each created directory to
    CTX

    --help display this help and exit

    --version
    output version information and exit

    AUTHOR
    Written by David MacKenzie.

    REPORTING BUGS
    Report mkdir bugs to bug-coreutils@gnu.org
    GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
    General help using GNU software: <http://www.gnu.org/gethelp/>
    Report mkdir translation bugs to <http://translationproject.org/team/>

    COPYRIGHT
    Copyright © 2010 Free Software Foundation, Inc. License GPLv3+: GNU
    GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    SEE ALSO
    mkdir(2)

    The full documentation for mkdir is maintained as a Texinfo manual. If
    the info and mkdir programs are properly installed at your site, the
    command

    info coreutils 'mkdir invocation'

    should give you access to the complete manual.

    GNU coreutils 8.5 April 2010 MKDIR(1)



    دیدن man های یک دستور
    man -wa command 


    مثلا

    $ man -wa mkfifo
    /usr/share/man/man1/mkfifo.1
    /usr/share/man/man3/mkfifo.3


    خوب حالا اگه بخاین راهنمای C-language دستور mkfifo رو ببینین باید به manای که عدد 3 رو داره برین که برای این کار دستور به این شکل میشه
    $ man 3 mkfifo



    اگه بخاین که man تمام راهنما های موجود برای یک دستورو یک جا براتون بیاره از a- استفاده کنین
    حالا اگه دستور زیرو بزنین اول man 1 و بعد man 7 رو میاره به این صورت که با بسته شدن man 1 با q ((کیو )) یا Ctrl-C به man 2 میرود
    man -a man 




    نکته :
    اگه دستور دیدن مکان man یک دستورو به شکل man -w COMMAND بزنین فقط مکان راهنمایی رو که بازدن man COMMAND میبینین رو نشون میده که برای دیدن مکان همه ی man های یک دستور باید از aw- استفاده کنین .


    سیرچ کردن تمام صفحات man موجود
    برای این کار از k- استفاده کنین
    مثلا کلمه apache رو سیرچ میکنیم

    ali@172.16.15.149:~$ man -k apache
    a2dismod (8) - enable or disable an apache2 module
    a2dissite (8) - enable or disable an apache2 site / virtual host
    a2enmod (8) - enable or disable an apache2 module
    a2ensite (8) - enable or disable an apache2 site / virtual host
    ab (1) - Apache HTTP server benchmarking tool
    apache2 (8) - Apache Hypertext Transfer Protocol Server
    apache2ctl (8) - Apache HTTP server control interface
    apachectl (8) - Apache HTTP server control interface
    check_forensic (8) - tool to extract mod_log_forensic output from apache lo...
    logresolve (1) - Resolve IP-addresses to hostnames in Apache log files
    rotatelogs (8) - Piped logging program to rotate Apache logs



    وقتی که دستور man ls رو میزنین راهنمای ls باز میشه که خود همون صفه باز شده از چند قسمت تشکیل شده که به صورت زیر هستش

    Heading Description
    Name The name of the item, along with a description
    Synopsis A complete description of syntax or usage
    Description A brief description of the item
    Options Detailed information on each command-line option (for commands)
    Return values Information on function return values (for programming references)
    See also A list of related items that may be helpful
    Bugs Descriptions of unusual program behavior or known defects
    Files A list of important files related to the item, such as configuration files
    Copying or copyright A description of how the item is to be distributed or protected
    Authors A list of those who are responsible for the item



    دستور خلاصه تر از man هم هست که فقط توضیح کوتاهی از اون دستورو میده

    whatis ls
    ls (1) - list directory contents





    منبع : LPIC-1_In_Nutshell_Oreilly_Edition3.pdf
    ادرس دانلود
    http://ubuntuone.com/p/15HZ/
    آخرین ویرایش به وسیله alieblice : سه شنبه 08 شهریور 1390 در 14:57 بعد از ظهر

  26. 5 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  27. #14
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    ۵ روش برای شناسایی فایل سیستم

    روش برای شناسایی فایل سیستم
    • df -T




    rf@Aref-Ubuntu:~$ df -T

    Filesystem Type 1K-blocks Used Available Use% Mounted on

    /dev/sda1 ext4 28868732 818088 26584176 3% /

    none devtmpfs 505400 688 504712 1% /dev

    none tmpfs 512008 356 511652 1% /dev/shm

    none tmpfs 512008 224 511784 1% /var/run

    none tmpfs 512008 0 512008 0% /var/lock

    /dev/sda5 ext4 68246080 30481724 34297656 48% /home

    /dev/sda6 ext4 16339372 3596348 11913024 24% /usr

    /dev/sdb1 vfat 1003584 937464 66120 94% /media/Receiver Fl

    -T در فرمان df نوع فایل سیستم را مشخص میکند.


    • Mount command


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


    mount | grep "^/dev"




    rf@Aref-Ubuntu:~$ mount | grep "^/dev"

    /dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0)

    /dev/sda5 on /home type ext4 (rw,commit=0)

    /dev/sda6 on /usr type ext4 (rw,commit=0)

    /dev/sdb1 on /media/Receiver Fl type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000, shortname=mixed,dmask=0077,utf8=1,showexec,flush)



    • file command


    با استفاده از دسترسی root از فرمان file به شکل زیر استفاده کنید. توجه شود که نام device مورد نظر باید به دستور داده شود.


    file -sL /dev/sda1



    rf@Aref-Ubuntu:~$ sudo file -sL /dev/sda1

    [sudo] password for rf:

    /dev/sda1: Linux rev 1.0 ext4 filesystem data, UUID=83c2ae51-5ab2-4380-bbc8-910f8148a288 (needs journal recovery) (extents) (large files) (huge files)



    • مشاهده فایل /etc/fstab


    اگر یک mountpoin مشخص، طوری تنظیم شده باشد که هنگام بالا آمدن سیستم بخواهد mount شود، میتونیم نوع فایل سیستم اون رو تو fstab ببینیم.
    استفاده از فرمان fsck


    rf@Aref-Ubuntu:~$ cat /etc/fstab

    # /etc/fstab: static file system information.

    #

    # Use 'blkid -o value -s UUID' to print the universally unique identifier

    # for a device; this may be used with UUID= as a more robust way to name

    # devices that works even if disks are added and removed. See fstab(5).

    #

    # <file system> <mount point> <type> <options> <dump> <pass>

    proc /proc proc nodev,noexec,nosuid 0 0

    # / was on /dev/sda1 during installation

    UUID=83c2ae51-5ab2-4380-bbc8-910f8148a288 / ext4 errors=remount-ro 0 1

    /dev/sda5 /home ext4 defaults 0 2

    /dev/sda6 /usr ext4 defaults 0 2

    /dev/sda7 none swap sw 0 0





    توجه شود که در این روش باید device مورد نظر مشخص شود:


    fsck -N /dev/sda1




    rf@Aref-Ubuntu:~$ fsck -N /dev/sda1

    fsck from util-linux-ng 2.17.2

    [/sbin/fsck.ext4 (1) -- /] fsck.ext4 /dev/sda1

    و در آخر اینکه اگر شما دسترسی root را ندارید، اما میخواهید که فایل سیستمتان را شناسایی کنید، از:
    کد:
    /sbin/fsck -N
    استفاده کنید.
    ممنون از همه دوستان عزیز
    موفق باشید


    منبع : http://forum.ubuntu.ir/index.php/top...html#msg135707
    آخرین ویرایش به وسیله alieblice : پنجشنبه 26 خرداد 1390 در 17:29 بعد از ظهر

  28. 5 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  29. #15
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور write




    دستور write برای چت کردن در ترمینال با کاربرای دیگر که login شده اند استفاده میشه که خیلی هم ساده هستش و اپشنی هم نداره

    شکل کلی دستور


    write user [tty]


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


    alieblice@alieblice-desktop:~$ write alieblice
    write: alieblice is logged in more than once; writing to pts/4
    salamm

    در بالا میبینین که گفته write: alieblice is logged in more than once; writing to pts/4
    یعنی کاربر alieblice بیشتر از یک ترمینال باز شده داره که همه این ترمینال ها میتونه مال یک نفر یا چند نفر باشه که برای جلو گیری از اشتباه بهتره که tty کاربر رو هم معلون کنین . برای دیدن tty کاربرای وارد شده به سیستم دستور w یا who رو بزنین
    مثال w تو سیستم من


    alieblice@alieblice-desktop:~$ w
    00:20:51 up 1:34, 7 users, load average: 0.73, 0.67, 0.54
    USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
    alieblic tty8 :0 22:52 1:34m 2:54 0.08s gnome-session
    alieblic pts/0 :0.0 23:24 56:08 0.17s 0.17s bash
    alieblic pts/1 :0.0 23:51 27:03 0.14s 0.14s bash
    alieblic pts/2 :0.0 23:57 3:23 0.14s 0.14s bash
    alieblic pts/3 :0.0 00:08 0.00s 0.14s 0.00s w
    tia pts/4 - 00:20 39.00s 0.41s 0.14s -bash
    tia pts/5 - 00:20 2.00s 0.36s 0.01s top
    alieblice@alieblice-desktop:~$
    همونطر که میبینین کاربر tia دو بار وارد سیستم شده
    مثلا من به کار بری که شناسش pts/5 هست ارتباط برقرار میکنم که الان داره با top کار میکنه


    alieblice@alieblice-desktop:~$ write tia pts/5
    hi tia


    بستن چت

    اگر زمانی خاستین که کسی مزاحمتون نشه در حین کار میتونین از دستور mesg استفاده کنین که به صورت y و n استفاده میشه
    Usage: mesg [y|n]

    مثلا باری این که کاربر tia اجازه ی چت رو ببنده دستور به این شکل هست که اگر mesg رو هم به صورت خالی بزنین y یا n بودنشو میگه


    tia@alieblice-desktop:~$ mesg n
    tia@alieblice-desktop:~$ mesg
    is n
    tia@alieblice-desktop:~$


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

    دستورات مشابه دیگه ای هم وجود داره مثل talk

  30. 3 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  31. #16
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    گرفتن image iso در ترمینال

    گرفتن image iso در ترمینا.



    sudo dd if=/dev/cdrom of=cd.iso




    sudo dd if=/dev/dvd of=dvd.iso


    مونت کردن Mounting an image



    mkdir -p /mnt/isoimage



    mount -o loop -t iso9660 cd.iso /mnt/isoimage


    Unmount



    umount -lf /mnt/isoimage




    پی نوشت: اگه دو تا سیدی رام یا دیوی دی رام دارین
    /dev/cdrom می شه اولی /dev cdrom1 می شه دومی یا /dev/dvd و /dev/dvd1


    منبع :http://forum.ubuntu.ir/index.php/top...html#msg133455
    آخرین ویرایش به وسیله alieblice : پنجشنبه 26 خرداد 1390 در 17:29 بعد از ظهر

  32. 4 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  33. #17
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور alias



    دستور alias برای کوتا ه کردن دستورات طولانی استفاده میشه که باعث افزایش سرعت کار شما در ترمینال می شود

    شکل کلی دستور به شکل زیر هستش


      $ alias name='unix command with options'

    alias - دستوری که با اون دستور کوتاه شده یک دستورو میسازین
    name - دستور جایگزین دستور بلند
    unix command with options - دستور واقعی که براش می خواهین دستور جایگزین درست کنین

    چند مثال

    پیدا کردن 5 فایل بزرگ داخل دایرکتوری


    alias findbig="find . -type f -exec ls -s {} \; | sort -n -r | head -5
    "


    برای پاک کردن تمام صفحه‌ی نمایش و تاریخچه‌ی ترمینال ((history))


    alias hcl='history -c; clear'


    برای وارد شدن ((رموت)) به یک سیستم با ssh


    alias server_name='ssh root@192.168.1.1 -p7777 -c'


    برای دیدن افراد انلاین pp*tp سرور ((روی سیستم شما شاید کار نکنه . دلیلش کار نکردنش اینه که رو سیستمتون pp*tp سرور ندارین ))


    alias pppp='last |grep ppp|grep still'


    *********************************************

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

    برای دیدن دستور واقعی یک دستور الیا س اول دستور alias و سپس دستور خلاصه شده را بنویسید مثلا در زیر میخواهیم دستور اصلی دستور dus رو ببینیم :


    $ alias dus
    alias dus='df -h'


    برای پاک کردن یک دستور الیاس از unalias استفاده کنین


    unalias dus

    $ dus
    -bash: dus: command not found




    برای پاک کردن تمام دستورات alias اینو بزنین


    $ unalias -a
    $ alias

    نکته !!

    اگه یک موقعی با رستارت کردن کامپیوتر دستورات alias تون پاک می شد , برای این که پاک نشه دستورات alias خودتونو داخل فلدر


    .bash_aliases

    قرار بدین
    ادرس فلدر :


    /home/username/.bash_aliases


    منبع با مقداری تغییرات : http://www.thegeekstuff.com/2010/04/...lias-examples/
    چند مثال دیگه تو منبع هست که نگفتم

  34. 3 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  35. #18
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    کرنل و سی پی یو 32 bit یا 64 bit !!




    کرنل 32 یا 64 ::

    استفاده از دستور uname -a برای فهمیدن 32 بیت یا 64 بیت بودن
    اگه در خروجی دستورتون کلمه ی x86_64 بود یعنی کرنل سیستم شما 64 بیت است

    اگه در خروجی دستورتون یکی از کلمات i386/i486/i586/i686 بود یعنی کرنل شما 32 بیت است

    دستور زیر یک نمونه کرنل 64 بیت رو نشون میده


    $ uname -a
    Linux ora100 2.6.5-7.252-smp #1 SMP Tue Feb 14 11:11:04 UTC 2006 x86_64 x86_64 x86_64 GNU/Linux



    cpu 32 یا 64 ::

    استفاده از /proc/cpuinfo
    این دستورو داخل ترمینال بزنین تا اطلاعات cpu شما رو نشون بده که از داخل اون اطلاعات 32 یا 64 بیت بودن cpuتونو می تونین بفهمین


    less /proc/cpuinfo


    این دستورو در ترمینال بزنین که اگر در خروجیش کلمه ی lm بود شما cpu 64 بیت دارین




    $ grep flags /proc/cpuinfo
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm

    دستور lscpu هم هست که اطلاعات کاملی از cpu در اختیارتون قرار میده ((تجزیه تحلیل دستورش با خودتون ))


    ali@172.16.15.149:~$ lscpu
    Architecture: i686
    CPU op-mode(s): 64-bit
    CPU(s): 1
    Thread(s) per core: 1
    Core(s) per socket: 1
    CPU socket(s): 1
    Vendor ID: GenuineIntel
    CPU family: 6
    Model: 44
    Stepping: 2
    CPU MHz: 2127.777
    Hypervisor vendor: Microsoft
    Virtualization type: full
    L1d cache: 32K
    L1i cache: 32K
    L2 cache: 256K
    L3 cache: 12288K

    منبع : http://www.thegeekstuff.com/2010/12/linux-32-or-64-bit

  36. 4 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  37. #19
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور wget ((دانلود منیجر تحت ترمینال))




    wget یک دانلود منیجر تحت ترمینال هستش که که اپشن های زیادی هم داره که به واسطه همونا در موقعیت های مختلف دانلود کردن میشه ازش استفاده کرد
    برای پیدا کردن اطلاعات کاملی در مورد دانلود منیجر های لینوکسی به این ادرس برید

    کد:
    دانلود منیجرهای دنیای لینوکس

    http://linuxreview.ir/1390/01/%D8%AF...8%DA%A9%D8%B3/



    شکل کلی دستور



     wget [OPTION]... [URL]... 


    دانلود کردن یک فایل

    برای دانلود کردن یک فایل دستور wget رو بنویسین و در ادامش url ((ادرس فایل مورد نظر )) تونو بنویسین مثلا :


    $ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

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

    توضیح دستور بالا :

    ٪ مقدار درصد فایل که دانلود شده در زیر 31% فایل دانلود شده
    مقدار بایت فایل دانلو شده که در ادامه فلش میاد که در زیر 1,213,592 است
    سرعت دانلود کردن که در زیر 68.2K/s است
    مقدار زمان باقی مانده تا اتمام دانلود فایل که در زیر 34s است

    درحال دانلود شدن


    $ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
    Saving to: `strx25-0.9.2.1.tar.bz2.1'

    31% [=================> 1,213,592 68.2K/s eta 34s

    اتمام دانلود


    $ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
    Saving to: `strx25-0.9.2.1.tar.bz2'

    100%[======================>] 3,852,374 76.8K/s in 55s

    2009-09-25 11:15:30 (68.7 KB/s) - `strx25-0.9.2.1.tar.bz2' saved [3852374/3852374]


    دانلود کردن چندین فایل به وسیله ی لیست ادرس ها

    برای این کار لیست ادرس های خود را داخل یک فایل متنی ذخیره کنید و دستور wget رو به همراه اپشن i- استفاده کنین


    $ wget -i download-file-list.txt

    نکته : ادرس هاتون باید یه شکل زیر باشه یعنی در هر خط یک url قرار بدین و url بعدی زیر خط بالایی


    $ cat > download-file-list.txt
    URL1
    URL2
    URL3
    URL4

    دانلود کردن وذخیره کردن با اسمی متفاوت
    به طور پیش فرض wget اسم فایلو از اخرین کلمه بعد از اسلش (( / )) بر میداره
    برای این کار از اپشن O- (( اوو بزرگ))


    wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
    دربالا اگه از اپشن O- استفاده نکنین فایل با اسم download_script.php?src_id=7701 ذخیره می شود و اگر استفاده کنین با اسم taglist.zip ذخیره میشود

    محدودیت سرعت در دانلود

    برای این کار از اپشن limit-rate=NUMBER-- استفاده کنین مثلا در زیر محدودیت 200 کیلپبایت میزاریم


    $ wget --limit-rate=200k http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

    ادامه دادن دانلود فایل ناقص دانلود شده

    برای این کار از c- استفاده کنین


    $ wget -c http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

    نکته مهم : دستور بالا رو باید در همون دایرکتوری که فایلتونو بار اول زدین و ناقص دانلود کردین بزنین تا فایلتون که به صورت ناقص هست به وسیله wget پیدا بشه در غیر این صورت از اول شروع به دانلود میکند
    اگر فایلی رو خاستین دانلود کنین که یک فایل دیگه هم اسمش وجود داره به اخر فایلی که شما دانلود میکنین یک 1- اضافه میکنه اگه همون اسم با 1- وجود داشت 2- اضافه میکند


    دانلود کردن در پشت صحنه :
    برای این کار از b- استفاده کنین
    نکته : در این حالت با دستور fg نمیتونین wget رو به روی صفحه بیارین اگر دستور jobs هم بزنین میبینین که خبری از wget نیست '.


    $ wget -b http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
    Continuing in background, pid 1984.
    Output will be written to `wget-log

    در این حالت wget اطلاعات رو در یک فایل ذخیره میکند که همون طور که در بالا میبینین اسم اون فایل wget-log است

    برای دیدن فایل به صورت on time از دستور tail استفاده کنین


    $ tail -f wget-log
    Saving to: `strx25-0.9.2.1.tar.bz2.4'

    0K .......... .......... .......... .......... .......... 1% 65.5K 57s
    50K .......... .......... .......... .......... .......... 2% 85.9K 49s
    100K .......... .......... .......... .......... .......... 3% 83.3K 47s
    150K .......... .......... .......... .......... .......... 5% 86.6K 45s
    200K .......... .......... .......... .......... .......... 6% 33.9K 56s
    250K .......... .......... .......... .......... .......... 7% 182M 46s
    300K .......... .......... .......... .......... .......... 9% 57.9K 47s


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

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


    $ wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL


    مثال :


     wget --mirror -p --convert-links -P /tmp http://forum.ubuntu.ir/index.php/topic,17561.0.html


    ادرس http://forum.ubuntu.ir/index.php/topic,17561.0.html دانلود میکنپ ودر فایل tmp/ ذخیره میکند

    توضیح دستور بالا : ((ترجمش با خودتون ))
    کد:
    –mirror : turn on options suitable for mirroring.
    -p : download all files that are necessary to properly display a given HTML page.
    –convert-links : after the download, convert the links in document for local viewing.
    -P ./LOCAL-DIR : save all the files and directories to the specified directory.







    چند مثال مفید دیگه هم در منبع بود که من نگفتم
    منبع : http://www.thegeekstuff.com/2009/09/...some-examples/

  38. 4 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  39. #20
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    ساختن کاربر ((user)) و پاک کردن و ایجاد بعضی محدودیت ها



    برای ساختن user چندین تا دستور وجود داره که این جا برای ساختن user دستور
    useradd
    adduser
    داریم و برای پاک کردن user
    deluser
    userdel
    داریم
    حالا اگه بخایم که برای یک کاربر محدودیت زمانی و بعضی محدودیتای دیگه بزاریم از دستور
    usermod
    استفاده میکنیم

    useradd

    برای ساختن یک کاربر
    با این دستور کاربر tia ساخته میشه


    useradd tia


    برای ساختن یک کاربر به همراه home دایرکتوریش


    useradd -m tia

    حالا اگه خروجی home دایرکتوریرو بگیرین میبینین که فلدر tia ساخته شده


    ساختن کاربر و اضافه کردن اون به لیست کاربرای یک گروه
    با این دستور کاربر tia ساخته میشه و به گروه student اضافه میشه


    useradd -g student tia


    ساختن کاربر و مشخص کردن ادرس home دایرکتوری
    با این دستور کاربر tia ساخته میشه و home دایرکتوریش هم میشه ادرسه /var/www/LILI


    useradd tia -d /var/www/LILI




    adduser

    برای ساختن کاربر و دادن هم زمان بعضی اطلاعات مثل شماره تلفن و غیره



    root@debian:/# adduser tia
    Adding user `tia' ...
    Adding new group `tia' (1009) ...
    Adding new user `tia' (1008) with group `tia' ...
    The home directory `/home/tia' already exists. Not copying from `/etc/skel'.
    adduser: Warning: The home directory `/home/tia' does not belong to the user you are currently creating.
    Enter new UNIX password:
    Retype new UNIX password:
    Sorry, passwords do not match
    passwd: Authentication token manipulation error
    passwd: password unchanged
    Try again? [y/N] y
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    Changing the user information for tia
    Enter the new value, or press ENTER for the default
    Full Name []: tia dada
    Room Number []: 1122
    Work Phone []: 1212121212
    Home Phone []: 121212121
    Other []: blablanla
    Is the information correct? [Y/n] y
    root@debian:/#


    اضافه کردن کاربر tia به گروه student


    root@debian:/# adduser tia student
    Adding user `tia' to group `student' ...
    Adding user tia to group student
    Done.



    deluser

    دستور deluser برای پاک کردن کاربرا هستش
    پاک کردن کاربر tia


    root@debian:/# deluser
    Enter a user name to remove: tia
    Removing user `tia' ...
    Warning: group `tia' has no more members.
    Done.
    root@debian:/#


    بعضی اپشن ها

    برای پاک کردن home دایرکتوری


    --remove-hom


    برای پاک کردن تمام فایلایی که کاربر مورد نظر صاحبشونه


    --remove-all-files


    برای پشتیبان گیری از فایلای اون کاربر قبل از پاک کردن


    --backup-to <DIR>





    userdel


    برای پاک کردن کاربر به همراه دایرکتوری خانه
    کد:
    userdel tia -r




    usermod

    دستور usemod برای گذاشن محدودیت برای یک کاربر هسنش

    برای قفل کردن کاربر


    usermod -L tia


    برای باز کردن قفل کاربر


    usermod -U tia


    -d
    برای تعیین تاریخ برای از کار افتادن کاربر

    -s
    برای تعیین شل کاربر

    کلا تنضیماتش خیلی نیست با --help میتونین تنضیماتشو ببینین اکثرشم احتیاج به توضیح نداره



    chage
    این دستور هم برای گذاشتن یک سری دیگه از محدودیت ها استفاده میشه
    برای گذاشتن محدودیت های دیگه ای مثل تعداد پروسس با حد اکثر تعداد login ها و غیره میتونین از فلدر
    /etc/security
    استفاده کنین

    برای دیدن کاربرای online هم میتونین از دستور
    who
    یا
    w
    کنین

  40. 6 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  41. #21
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور 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




    منبع : http://www.thegeekstuff.com/2010/09/...mand-examples/
    چند مثال دیگه تو منبع هست که نگفتم

  42. 5 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  43. #22
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    فشرده سازی در لینوکس (قسمت اول 1) -* دستور zip *-



    تقریبا اطمینان دارم که همه میدونن zip چی هستش پس خیلی توضیح نمیدم
    zip یک فرمت فشرده سازی هستش که با اون مبشه یک یا چند فایل و یا دایرکتوری را zip فشرده کرد که باعش کم شدن حجم میشود

    فایلی که با zip فشرده بشود در اخر اسم ان کلمه zip قرار میگیرد که نشانه فرمت اون هست
    اطلاعات بیشتر که zip چی هست : http://en.wikipedia.org/wiki/ZIP_%28file_format%29


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



    tia@alieblice-desktop:~/com$ zip 1.zip 1.jpeg
    adding: 1.jpeg (deflated 0%
    )


    1-در بالا فایل 1.jpeg رو به فرمت zip دز میاریم و با اسم 1.zip ذخیره میکنیم (( اول اسمی که میخایم فایل ذخیره بشه و بعد ادرس فایل مورد نظر ))
    2- در بالا در هر دایرکتوری که باشیم فایل فشرده در همون جا ذخیره میشه . اگه دوست داشتین میتونین ادرس بدین به هش
    مثلا در زیر فایل رو در /home/tia ذخیره میکنیم



    zip /home/tia/1.zip /var/www/1.jpeg


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



     zip archivefile1 doc1 doc2 doc3


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


     zip archivefile1 *

    نکته : در بالا دایرکتوری های داخل دایرکتوری ها فشرده نمیشن برای این کار از r- استفاده کنین(( This copies the current directory, including all subdirectories into the archive file)).


    zip error: Nothing to do! (/home/tia/1.zip)
    tia@alieblice-desktop:~/com$ zip -r ggg.zip *
    adding: 1.jpeg (deflated 0%)
    adding: 1.zip (stored 0%)
    adding: 2.flv (deflated 3%)
    adding: limit-3 (deflated 76%)
    adding: untitled folder/ (stored 0%)
    adding: untitled folder/limit-3 (deflated 76%)
    adding: untitled folder/untitled folder/ (stored 0%)


    نکته : در بالا فایل هایی که اولشون با نقطه شروع میشه ((فایل های مخفی)) فشرده نمیشوند برای این که اون ها هم فشرده شوند دستور به این شکل میشه
    کد:
    zip archivefile1 .* *


    سطح فشرده سازی

    در zip ر 9 سطح فشرده سازی دارسم (-0, -1, -2, -3, -4, -5, -6, -7, -8, -9) داریم که 9 بالا ترین و صفر اصلا فشرده نمیکنه و به طور پیش فرض روی 6 هستش



    zip -r -9   /home/tia/padmins3.zip *



    گذاشتن رمز
    گذاشتن رمز به 2 صورت انجام میشه یک با اپشن e- و دیگری با اپشن P- ((پی بزرگ )) که فرق این 2 تا اینه که در p- باید رمز رو در دستور بنویسین ولی با e- رمزو خودش میپرسه



    tia@alieblice-desktop:~/com$ zip -r -9 -P @LiebL1C3 /home/tia/padmins3.zip 1.jpeg
    updating: 1.jpeg (deflated 0%)
    tia@alieblice-desktop:~/com$
    tia@alieblice-desktop:~/com$ zip -r -9 -e /home/tia/padmins3.zip 1.jpeg Enter password:
    Verify password:
    updating: 1.jpeg (deflated 0%)
    tia@alieblice-desktop:~/com$


    اپدیت کردن فایل zip

    اگه یک فایل دارین از یک دایرکتوری و به اون دایرکتوری چیزی اضافه شده و میخاین که اونا رو هم به اون فایل zip اضافه کنین از u- میتونین استفاده کنین که عمل اپدیت کردنو انجام میده ((فقط فایلایی که اضافه شدن رو به فایل zip اضافه میکنه و فایلی که کم شده باشه از فایل zip پاک نمیکنه))



    tia@alieblice-desktop:~/com$ zip test.zip *
    adding: 1.jpeg (deflated 0%)
    adding: 1.zip (stored 0%)
    adding: 2.flv (deflated 3%)
    adding: ggg.zip (stored 0%)
    adding: limit-3 (deflated 76%)
    adding: untitled folder/ (stored 0%)
    tia@alieblice-desktop:~/com$ zip -u test.zip *
    adding: oo-presenting-kubuntu-fa.pdf (deflated 11%)
    tia@alieblice-desktop:~/com$



    unzip

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

    مثلا برای از فشرده دراوردن فایل letter


     unzip letters 

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

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



    ali@172.16.15.133:~$ unzip -j syslog.save.zip
    Archive: syslog.save.zip
    replace syslog.save? [y]es, [n]o, [A]ll, [N]one, [r]ename: ^Cali@172.16.15.133:~$
    ali@172.16.15.133:~$
    ali@95-168-161-82:~$ unzip syslog.save.zip
    Archive: syslog.save.zip
    replace syslog.save? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
    new name: syslog-01
    extracting: syslog-01
    ali@172.16.15.133
    :~$

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


    unzip \*.zip


    باز کردن فایل zip از حالت فشرده در محل دیگری :
    برای این کار از d- استفاده کنین


    PersianAdmins:~# unzip padmins.zip -d /padmins/
    Archive: padmins.zip
    [padmins.zip] ali/ password:
    creating: /padmins/ali/
    creating: /padmins/ali/navid/
    extracting: /padmins/ali/navid/reza
    extracting: /padmins/file1.txt
    inflating: /padmins/file2.txt
    PersianAdmins:~#

    اطمینان از سالم بودن فایل zip
    روش اول


    ali@172.16.15.133:~$ unzip -tq syslog.save.zip
    No errors detected in compressed data of syslog.save.zip
    .

    روش دوم


    ali@172.16.15.133:~$ unzip -t test.zip
    Archive: test.zip
    testing: wtmp OK
    testing: syslog.save OK
    No errors detected in compressed data of test.zip.



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



    ali@172.16.15.133:~$ zip test.zip wtmp syslog.save
    adding: wtmp (deflated 96%)
    adding: syslog.save (stored 0%)
    ali@172.16.15.133:~$
    ali@172.16.15.133:~$ unzip test.zip wtmp -d /home/ali/
    Archive: test.zip
    replace /home/ali/wtmp? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
    new name: wtmp-2
    inflating: /home/ali/wtmp-2


    بدست آوردن اطلاعاتی در مورد فایل ها و دایرکتوری های موجود در فایل zip :



    ali@172.16.15.133:~$ unzip -v test.zip
    Archive: test.zip
    Length Method Size Cmpr Date Time CRC-32 Name
    -------- ------ ------- ---- ---------- ----- -------- ----
    427392 Defl:N 16218 96% 2011-03-27 12:23 8be4c72a wtmp
    1 Stored 1 0% 2011-03-26 10:44 32d70693 syslog.save
    -------- ------- --- -------
    427393 16219 96% 2 files


    منابع : http://linux.about.com/od/commands/a/blcmdl1_unzipx.htm
    http://persianadmins.ir/v2/articles/...-on-linux.html

  44. 3 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  45. #23
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور blkid (پیدا کردن اطلاعاتی در مورد درایو ها )




    دستور blkid بارای پیدا کردن اطلاعاتی در مورد درایو ها از جمله اسم , نوع فایل سیستم , UUID , و ... استفاده میشود

    شکل کلی دستور


    blkid [ -hlv ] [ [ -c cachefile ] -w writecachefile ] [ -o format ] [ -s tag ] [ -t NAME=value ] [ device ... ] 



    برای این که ببینین چه درایو هایی روی سیستمتون وجود داره دستورو به تنهایی بزنین
    دستورو به همراه sudo بزنین "


    root@172.16.49.20:/# blkid
    /dev/sda1: UUID="eb51f2cf-636e-49a0-8ed5-31daee03f0f9" TYPE="ext3" LABEL="LILI"
    /dev/sda5: UUID="ccc497b8-da19-4965-b96f-2c0d44332025" TYPE="swap

    همون طور که در بالا میبینین 2 درایو وجود دارد که ادرساشون :
    /dev/sda1
    /dev/sda5
    هستش که sd اولشون نشان دهنده این هست که از نوع هارد های sata هستن
    LABEL="LILI" : اسم درایو رو میگه
    TYPE="ext3" و TYPE="swap" نوع فرمت درایو رو میگه

    اپشن o-

    به وسیله ی این اپشن می تونین خروجی دستورو بر اساس فرمت های مختلف ببینین که به صورت پیش فرض full هستش
    value, device, list, udev or full))

    list


    root@172.16.49.20:/# blkid -o list
    device fs_type label mount point UUID
    ----------------------------------------------------------------------------------------------------------------
    /dev/sda1 ext3 LILI / eb51f2cf-636e-49a0-8ed5-31daee03f0f9
    /dev/sda5 swap <swap> ccc497b8-da19-4965-b96f-2c0d44332025


    udev


    root@172.16.49.20:/# blkid -o udev
    ID_FS_UUID=eb51f2cf-636e-49a0-8ed5-31daee03f0f9
    ID_FS_UUID_ENC=eb51f2cf-636e-49a0-8ed5-31daee03f0f9
    ID_FS_TYPE=ext3
    ID_FS_LABEL=LILI
    ID_FS_LABEL_ENC=LILI
    ID_FS_UUID=ccc497b8-da19-4965-b96f-2c0d44332025
    ID_FS_UUID_ENC=ccc497b8-da19-4965-b96f-2c0d44332025
    ID_FS_TYPE=swap



    value


    root@172.16.49.20:/# blkid -o value
    eb51f2cf-636e-49a0-8ed5-31daee03f0f9
    ext3
    LILI
    ccc497b8-da19-4965-b96f-2c0d44332025
    swap

    به وسیله ی دستور blkid میتونین lable یا UUID یک درایو رو به device name تبدیل کنین


    root@172.16.49.20:/# blkid -L LILI
    /dev/sda1
    root@172.16.49.20:/# blkid -U eb51f2cf-636e-49a0-8ed5-31daee03f0f9
    /dev/sda1
    root@172.16.49.20:/#


    موضوعات مرتبط :
    ۵ روش برای شناسایی فایل سیستم
    http://forum.ubuntu.ir/index.php/top...html#msg135707

  46. 4 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  47. #24
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور mount




    دستور mount برای بالا اوردن یک درایو استفاده میشه که در فارسی هم همون موینت کردن میگن
    هر درایوی که شما در سیستمتون داشته باشین یک device name بهش تعلق میگیره که در فولدر /dev/میتونین اونا رو پیدا کنین مثلا


    dev/sda
    /dev/sda5

    برای بدست اوردن اطلاعاتب در مورد فایل سیستم درایوهاتون و پیدا کردن uuid , lable و device name به 2 اموزش زیر رجوع کنین
    http://forum.ubuntu.ir/index.php/top...html#msg135707
    http://forum.ubuntu.ir/index.php/top...html#msg145022

    شکل کلی دستور


    mount [-alrsvw] [-t fstype] [-o options] [device] [mountpoint]



    mount کردن یک درایو به ساده ترین شکل
    برای این کار احتیاج به device name اون درایو و یک محل برای مونت کردنش احتیاج داریم که به اون mount point میگن
    پس شکل کلی به این شکل میشه


    mount device-name mount-point

    مثلا


    alieblice@ubuntu:~$ sudo blkid
    [sudo] password for alieblice:
    /dev/sda1: UUID="246dcfec-7380-48d3-942b-a5ba4c2e8882" TYPE="ext4"
    /dev/sda5: UUID="715fa349-8dd1-4104-bd70-9a31a6279749" TYPE="swap"
    /dev/sdb: UUID="d1a62327-4227-439b-81f9-4ef82027957b" TYPE="ext4" LABEL="New Volume"
    /dev/sdc1: UUID="5f1bb23f-3857-4e06-8bda-28e0cb6f61d3" TYPE="ext2"
    /dev/sdc5: UUID="b4637559-61e4-41ff-ae1c-667632393686" SEC_TYPE="ext2" TYPE="ext3"
    alieblice@ubuntu:~$ mount /dev/sdb /media/sdb
    mount: only root can do that
    alieblice@ubuntu:~$ sudo mount /dev/sdb /media/sdb
    alieblice@ubuntu:~$

    دستور blkid برای دیدن دایو های موجود روی سیستمتون استفاده میشه که قبلا کامل توضیح داده شده
    همون طور که در بالا میبینین چندین تا دراییو وجود داره که ما درایو dev/sdb رو به /media/sdb موینت کردیم که /dev/sdb درواقع mount point مون بود
    نکته : فلدر sdb باید از قبل در فولدر media موجود باشه در غیر این صورت ارور میده
    mountکردنو میتونین بر اساس label و uuid هم انجام بدین که دستور به این صورت میشه
    برای lable از L- استفاده کنین ((ال بزرگ))
    label


    alieblice@ubuntu:~$ sudo mount -L New Volume
    mount: no such partition found
    alieblice@ubuntu:~$ sudo mount -L "New Volume"
    alieblice@ubuntu:~$
    پیشنهاد میکنم همیشه اسم درایو رو بین "" قرار بدین تا به مشکل بر نخرین
    در بالا mount point رو تعیین نکردم به این دلیل که داخل فایل /etc/fstab تنظیماتی رو انجام دادم (( در اخر اموزش در مورد فایل fstab توضیح دادم ))

    uuid


    alieblice@ubuntu:~$ sudo mount -U d1a62327-4227-439b-81f9-4ef82027957b  /media/sdb



    توضیح بعضی اپشن ها
    a- : استفاده از a- باعث میشه که تمام درایو های لیست شده در فایل /etc/fstab موینت بشن ((دیگه لازم نیست دونه به دونه برای هرکدوم دستور موینت رو بنویسیم ))

    r- : استفاده از r- باعث میشه تا درایومون به صورت read-only ((فقط قابل خواندن)) موینت بشه
    w- : با استفاده از w- درایوتون به صورت read and write ((قابل خواندن و نوشتن)) موینت میشود
    v- : اطلاعات بیشتری رو از مراحل موینت شدن درایو به شما میدهد
    t- : با استفاده از t- میتونین نوع فایل سیستم مورد نظرتونو انتخاب کنین ((ext4 ,ext3 , .....))
    L- و U- که به ترتیب برای موینت کردن بر اساس اسم و uuid هستش که در بالا مثالش زده شد

    o-
    یک سری اپشن دیگر هستن که باید در ادامه o- بیان که در زیر تعدادیشون توضیح داده شده

    defaults : با عث میشه تا تنظیمات پیش فرض برای موینت کردن اون درایو استفاده بشه که در درجه اول تنظیمات داخل فایل /etc/fstab رو میخونه و اگر تنظیماتی نبود سراغ تنظیمات خودش میزه

    auto : با این اپشن میتونیم بگیم که در هنگام بوت شدن سیستم , این درایو هم موینت بشود یا در موقعی که از a- استفاده کردیم به عنوان اپشن , این درایو هم موینت بشود

    noauto : عکس کار auto رو انجام میده یعنی در موقع بوت شدن سیستم درایو رو موینت نکند و در موقع استفاده از اپشن a- موینت نشود

    user یا nouser : با استفاده از این 2 میتونیم به کاربران غیر روت اجازه دهیم که یک درایو رو بدون دست رسی به روت موینت کنن که معمولا همون کاربری که موینت کرده درایو رو میتونه unmount بکند .

    اپشن بالا بیشتر برای درایو هایی مثل usb فلاپی و غیره استفاده میشه

    users : شبیه user با این تفاوت که هرکسی میتونه درایو رو unmount کند

    remount : بعضی اوقات پیش میاد که لازم میشه بدون این که یک درایوی unmount بشه تغییراتی روی اون درایو ایجاد کنیم مثلا تبدیلش کنیم به read-only در این مواقع میتونیم از این اپشن استفاده کنیم

    loop : فرض کنیم که یک فایل ایمیج داریم که میخایم اونو جوری موینتش کنیم که انگار یک درایو از hard disk مون بوده میتونیم از این اپشن استفاده کنیم مثلا


    mount -t vfat -o loop image.img /mnt/image

    فایل image.img جوری موینت میکنه که انگار یک درایو یا یک هارد بوده

    ro :همون فقط قابل خوندن هستش
    rw :همون قابل خوندن و نوشتن هستش

    چند مثال از اپشن های بالا



    alieblice@ubuntu:~$ sudo blkid
    /dev/sda1: UUID="246dcfec-7380-48d3-942b-a5ba4c2e8882" TYPE="ext4"
    /dev/sda5: UUID="715fa349-8dd1-4104-bd70-9a31a6279749" TYPE="swap"
    /dev/sdb: LABEL="New Volume" UUID="d1a62327-4227-439b-81f9-4ef82027957b" TYPE="ext4"
    /dev/sdc1: UUID="5f1bb23f-3857-4e06-8bda-28e0cb6f61d3" TYPE="ext2" LABEL="LILI"
    /dev/sdc5: UUID="b4637559-61e4-41ff-ae1c-667632393686" SEC_TYPE="ext2" TYPE="ext3"
    alieblice@ubuntu:~$


    مثال :
    در زیر یک درایو با فرمت ext2 و به همراه اپشن فقط قابل خواندن (r-) و همچنین توانایی unmount کردن درایو به وسیله ی هرکاربری(users) که اسم درایو LILI است رو به mount point به این ادرس /media/LILI موینت میکنیم


    alieblice@ubuntu:~$ sudo mount -v -r -t ext2 -o users -L LILI /media/LILI
    /dev/sdc1 on /media/LILI type ext2 (ro,noexec,nosuid,nodev)
    alieblice@ubuntu:~$

    در مثال زیر همون درایو بالا رو بدون این که unmount کنیم از اپشن فقط قابل خواندن به قابل خواندن و نوشتن و همچنین قابلیت unmount کردنشو به وسیلهی هر کاربری میگیرم


    alieblice@ubuntu:~$ sudo mount -v -o remount -w -U 5f1bb23f-3857-4e06-8bda-28e0cb6f61d3
    /dev/sdc1 on /media/LILI type ext2 (rw,noexec,nosuid,nodev)
    alieblice@ubuntu:~$

    نکته ک برای 2 مثال بالا حتما نکته اخر اموزش رو هم بخونین

    فایل /etc/fstab

    فایل /etc/fstab از 6 قسمت تشکیل شده که شامل موارد زیر هستش


    #device      mount point  filesystem options      dump fsck


    dump : یک نرم افزار backup گیر هستش که ازش استفاده میکنین میتونین مقدار رو به عدد یک تغییر بدین تا از درایوتون پشتیبان تهیه کند
    pass یا fsck : لینوکس در زمان بوت شدن از نرمافزار fsck برای چک کردن فایل سیستم ها استفاده میکنه که اگه مقدارشو به عدد 1 تغییر بدین در هر بار بالا امدن فایل سیستم برای اون درایو رو چک میکنه

    در واقع شما میتونین همون اپشن هایی که در دستور mount مینوشتین رو در این فایل بنویسین تا هر بار نخواد دستورو از نو بنویسین و هم چنین ایجاد اپشن هایی مثل مونت شدن اتوماتیک در موقع بوت سیستم
    مثال :
    در زیر یک درایو با فرمت ext2 و به همراه اپشن فقط قابل خواندن (r-) و همچنین توانایی unmount کردن درایو به وسیله ی هرکاربری(users) که ادرس درایو /dev/sdc1 است رو به mount point به این ادرس /media/LILI و قابلیت موینت شدن خودکار در زمان بوت و قابلیت موینت کردن به وسیله ی کاربران عادی رو داخل فایل fstab مینویسیم

    # <


    file system> <mount point> <type> <options> <dump> <pass>
    /dev/sdc1 /media/LILI ext2 ro,users,user,auto 0 0

    نکته : در قسمت device میتونیم از lable و یا uuid هم استفاده کنیم که در مثال زیر نوع چگونگی نوشتنش رو میتونین ببینین

    نمونه یک فایل fstab پیشرفته


    #device mount point filesystem options dump fsck

    /dev/sda1 / ext3 defaults 1 1

    UUID=3631a288-673e-40f5-9e96-6539fec468e9

    /usr reiserfs defaults 0 0

    LABEL=/home /home reiserfs defaults 0 0

    /dev/sdb5 /windows vfat uid=500,umask=0 0 0

    /dev/cdrom /media/cdrom iso9660 users,noauto 0 0

    /dev/sdb1 /media/usb auto users,noauto 0 0

    server:/home /other/home nfs users,exec 0 0

    //winsrv/shr /other/win cifs users,credentials=/etc/creds 0 0

    /dev/sda4 swap swap defaults 0 0


    نکته مهم :

    بعضی اوقات در دستوراتی که استفاده میکنیم از اپشنایی مثل : قابلیت موینت شدن به وسیله ی هر کاربری
    یا قابلیت unmount شدن به وسیله ی هر کاربری و ... استفاده میکنیم مثل دستور زیر


    sudo mount -v -r -t ext2 -o users -L LILI /media/LILI

    خوب حالا اگه الان به عنوان یک کاربر معمولی بیاین وبخاین که اونو unmount کنین , نمیتونین اونو unmount کنین و این اررورو میده


    alieblice@ubuntu:~$ umount /dev/sdc1
    umount: /dev/sdc1 is not in the fstab (and you are not root)
    alieblice@ubuntu:~$

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

    منبع : lpic_2_linux_professional_institute_certification
    آخرین ویرایش به وسیله alieblice : دوشنبه 30 خرداد 1390 در 15:14 بعد از ظهر

  48. 2 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  49. #25
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور wall



    دستور wall برای فرستادن متن به تمام کاربران وارد شده به سیستم استفاده میشود

    برای استفاده از wall اول خود دستور رو بنویسید بعد یک صفه باز میشه میتونین متنتونو در اون بنویسین بعد که متنتونو نوشتین Ctrl+d رو بزنین تا متن برای همه ارسال شود
    مثلا



    root@de-10:/home/alieblice# wall
    abdarchi chaii biar

    Broadcast Message from alieblice@de-10.04
    (/dev/pts/0) at 17:35 ...

    barname kary emrooz:
    8 AM -2:30 PM zange tafrihhhh
    ^D
    root@de-10:/home/alieblice#


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


    root@de-10:/home/alieblice# wall Desktop/broadcast

    Broadcast Message from alieblice@de-10.04
    (/dev/pts/0) at 17:37 ...

    ta 10 daghigheie dige hame dar salon egtemaat game sheed ((genab raees))
    ^D
    root@de-10:/home/alieblice#


    برای این که نخواد Crtl+d بزنین میتونین از روش های زیر استفاده کنین
    استفاده از echo


    root@de-10:/# echo Remember to brush your teeth! | wall

    Broadcast Message from root@de-10.04
    (/dev/pts/0) at 17:46 ...

    Remember to brush your teeth!

    root@de-10:/#



    استفاده از >>>


    root@de-10:/# wall <<<'Remember to brush your teeth!'

    Broadcast Message from root@de-10.04
    (/dev/pts/0) at 17:50 ...

    Remember to brush your teeth!

    root@de-10:/#



    نکته : اگه کاربرانی ورود هر نوع مسیجی رو بسته باشن به وسیلهی دستور mesg فقط کاربر روت میتونه به اون افراد متنی رو ارسال کند



    منبع : http://en.wikipedia.org/wiki/Wall_%28Unix%29
    آخرین ویرایش به وسیله alieblice : سه شنبه 18 مرداد 1390 در 22:07 بعد از ظهر

  50. 3 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  51. #26
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور 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 قبلا کامل گفته شده
    http://forum.ubuntu.ir/index.php/top...html#msg145022


    دستور fdisk دو گروه اپشن داره یک گروه اپشن هایی که به طور معمولی استفاده میشه ویک گروه اپشن هایی که خودش به این اسم نام برده :

    extra functionality (experts only)

    من در اینجا فقط یک سری از اپشن های سری معمولی رو اموزش میدم

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


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

    مثال 1



    در مثال شماره یک فقط 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:~$


    عکس بعد از پاک کردن پارتیشن ها




    مثال 2
    در مثال دوم از همون درایو قبلی به همراه همون پارتیشن بندی که در پایان ایجاد شد ((عکس پایانی مثال اول --عکس بالا )) استفاده میکنیم به این صورت
    که میخاهیم یک درایو از نوع 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دوم


    منبع :
    http://www.thegeekstuff.com/2010/09/linux-fdisk/
    http://www.cyberciti.biz/faq/linux-h...fdisk-command/
    http://www.cyberciti.biz/faq/linux-viewing-drive-partitions-with-fdisk-parted
    آخرین ویرایش به وسیله alieblice : سه شنبه 07 تیر 1390 در 13:40 بعد از ظهر

  52. 3 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  53. #27
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور chmod




    دسترسی به هر فایل یا دایرکتوری توسط ۹بیت اطلاعات اضافه‌ای که به فایل یا دایرکتوری چسبانده می‌شود برای ۳ کلاس ۳ بیتی کاربر, گروه کاربر و سایر کاربران , تعیین می‌شود که به ترتیب با کدهای u(کاربر) , g(گروه) و o(سایرین) مشخص می‌شوند. 0 یا 1 بودن بیت اول تعیین کننده دسترسی خواندن (Read)برای صاحب فایل ( کاربر), بیت دوم امکان نوشتن (Write) و ایجاد تغییر در فایل یا دایرکتوری مورد نظر و بالاخره بیت سوم امکان اجرای(eXecute) فایل‌های اجرایی را مشخص می‌کند. سه بیت دوم این دسترسی‌ها را برای کلاس گروه کاربر و سه بیت آخر دسترسی‌ها را برای سایر کاربران مشخص می‌کند. در صورتی که یک مجوز به کاربری داده نشده باشد به جای مجوز مورد نظر(یکی از حروف R,W یاX ) هنگام نمایش مجوزها، علامت دش (-) دیده می‌شود. آنچه در زیر دیده می‌شود مجوز دسترسی کامل به یک فایل است. یعنی همه کاربران امکان خواندن، نوشتن و اجرای فایل را دارند :
    rwxrwxrwx



    یا در حالتی که صاحب فایل دسترسی کامل، گروهش امکان خواندن و اجرا و سایرین هیچگونه دسترسی به فایل مورد نظر نداشته باشند این مجوزها به صورت زیر خواهد بود:

    rwxr-x---


    نمونه‌ای از این مجوزها را می‌توانید با اجرای فرمان ls -l مشاهده نمایید. توجه کنید که علاوه بر ۹بیت ذکر شده، یک کاراکتر اضافه نیز در ابتدای این رشته وجود دارد که تعیین کننده نوع فایل است که برای فایل‌های عادی بصورت دش (-) و برای دایرکتوری ها بصورت d دیده می‌شود:
     drwxr-xr-x




     -rwxr-xr-x


    نکته:

    مجوز پیش فرض برای فایل‌های جدید بصورت زیر است:



    rw-r- - r--



    و در صورتی که فایلی توسط یکی از کامپایلرهای موجود اجرایی شده باشد x (یا امکان اجرا کردن) به دسترسی‌ها اضافه می‌گردد. مجوز پیش فرض دسترسی به یک دایرکتوری جدید نیز مشابه همین حالت است:

    rwxr-xr-x



    در صورتی که بخواهید مجوزهای پیش فرض را برای نشست جاری خود تغییر دهید می‌توانید از دستور umask استفاده کنید.

    برای تغییر مجوزهای یک فایل یا دایرکتوری کاربری که این اختیار را دارد (کاربر ریشه یا صاحب فایل یا دایرکتوری) می‌تواند با دستور chmod این کار رابوسیله یکی از دو روش زیر انجام دهد.

    -در روش نخست پس از دستور chmod می‌توان با علامت های "+" یا "–" یک یا چند مجوز را به کلاس ها افزود و یا از آنها گرفت. در این حالت کلاس ها با کدهایی که در بالا ذکر شد تعیین می شوند.مثلا:



    #chmod go-rx anything



    این دستور تعیین می کند که مجوز خواندن و اجرای فایلی به نام anything از کلاس گروه کاربر(u) و سایرین(o) گرفته شود و برعکس آن به صورت زیر است:



    #chmod go+rx anything



    -در روش دوم مجموع سه سطح دسترسی(خواندن,نوشتن و اجرا) به صورت یک عدد بین صفر تا هفت برای 3 کلاس کاربر, گروهش و سایرین به صورت زیر تعیین می شود و پس از دستور chmod می آید. برای خواندن عدد چهار, برای نوشتن عدد دو و برای اجرا عدد یک منظور می شود. یعنی هفت(1+2+4) نشان دهنده دسترسی کامل است در نتیجه مثلا 777 نشان دهنده اعطای دسترسی کامل به همه کاربران است.مثلا:



    #chmod 750 anything



    این دستور نیز تعیین می کند که مجوزها بصورت زیر تغییر کنند:



    rwxr-x---


    منبع :
    http://sat4u.org/showthread.php?t=237441&page=5
    آخرین ویرایش به وسیله alieblice : سه شنبه 21 تیر 1390 در 04:36 قبل از ظهر

  54. 2 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  55. #28
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور du شماره 2



    دستور du شماره 2
    برای به دست آوردن سایز یه دایرکتوری
    du
    این دستور همه دایرکتوری های داخل دایرکتوری جاری رو سایزشون رو بهتون میگه. خط آخر هم سایز دایرکتوری جاری رو میگه. توجه بشه که سایز ها در حالت عادی به صورت Kb نشان داده میشوند.
     du /home/david

    این فرمان size دایرکتوری /home/david رو میده
     du -h

    این فرمان یه خروجی قابل فهم تری رو نشون میده. در این حالت اگر فایل‌ها به کیلوبایت باشه با K، اگه به مگابایت باشه با M و …
     du -ah

    این دستور نه تنها دایرکتوری ها بلکه تمام فایل‌های داخل دایرکتوری جاری رو نشون میده
    du -c
    اندازه دایرکتوری جاری را به شکل زیر نشان میدهد:
    30M.
    30M total
    من خودم درست متوجه نشدم که این دقیقاً به چه دردی میخوره اما این Total
    میتونه جایی که میخوایم با دستور grep فقط اندازه نهایی دایرکتوری جاری رو پیدا کنیم مفید باشه.

     du -ch | grep total

    این دستور فقط خط آخر را در خروجی خواهد داشت که اندازه دایرکتوری جاری را نشان میدهد.
     du -s

    بهترین راه و ساده‌ترین راه برای فهمیدن اندازه دایرکتوری جاری.(بسیار خلاصه و فقط اندازه دایرکتوری جاری رو نشون میده)که البته بهتره که یه h هم بهش اضافه کنید تا خوانا تر بشه.
     du –exculde=mp3

    خوب این دستور میاد اندازه دایرکتوری جاری و زیر دایرکتوری ها رو اعلام میکنه، به جز اون فایل‌هایی رو که تو نامشون mp3 وجود داره. بنابر این اگه فایل‌های Mp3 در دایرکتوری جاری داشته باشیم، اندازه اونا اعلام نمیشه.
    دستور df
    برای به دست آوردن مقدار فضای خالی دیسک/اندازه استفاده شده

    df
    با زدن این دستور خروجی نمایش داده شده شامل ۶ ستون است که کاملاً قابل فهم هستند. توجه شود که اندازه ها بر اساس کیلوبایت هستند
     df -h 

    همونطور که قبلاً هم گفته شد، option -h برای قابل فهم تر شدن خروجی به کار میره
    اکثر کاربر ها از option دیگه ای چندان استفاده نمیکنن. بنابر این df رو در همین حد توضیح میدیم.

    منبع:
    http://www.codecoffee.com/tipsforlinux/articles/22.html
    دستور du شماره یک
    http://barnamenevis.org/showthread.p...B1%D8%B3%DB%8C
    وسطای صفحه هستش

    منبع :
    http://forum.ubuntu.ir/index.php/top...html#msg151917

  56. کاربرانی که به خاطر مطلب مفید alieblice از وی تشکر کرده‌اند:


  57. #29
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور at




    دستور at برای زمان بندی کارها , مثلا اجرا شدن یک دستور در زمان خاصی یا اجرا شدن یک اسکریپت در زمان خاصی استفاده میشود
    دستور مشابه دیگه ای مثل دستور at هستش که اسمش cron هستش
    اموزش cron :
    http://wiki.ubuntu.ir/CronHowto?highlight=%28cron%29
    یکی از فرق های مهم cron و at در این هست که cron قابلیت تکرار شدن رو داره (( مثلا هر روز در زمان خاصی کار خاصی انجام بشه)) اما at کاری که بهش دادیم رو یک بار انجام میدهد


    شکل کلی دستور

    at [-V] [-q queue] [-f file] [-mldv] timespec...
    at [-V] [-q queue] [-f file] [-mkdv] [-t time]
    یا به شکل ساده تر

     at time date

    تعیین زمان در at

    تنها قسمت مهم دستور at تعیین زمان اجرا شدن دستور هستش
    در دستور at وقتی که دستور به همراه زمان معیین شده زدین یک صفه باز میشه که به صورت زیر هستش در اون صفه میتونین دستور مورد نظر خودتونو بنویسین و سپس کلید ترکیبی Ctrl+D رو بزنین تا اجرا بشه


    alieblice@ubuntu:~$ at 12:00 tomorrow + 3 min
    warning: commands will be executed using /bin/sh
    at> ls > ~/Desktop/ls.txt
    at> حالا کنترل= دی رو بزنین <EOT>
    job 73 at Fri Jul 10 12:03:00 2009
    alieblice@ubuntu:~$
    جزع به جزع دستور بالا در پایین تر توضیح داده شده

    معنی کلمات در تعیین زمان

    اگه فرض کنیم ساعت وتاریخ هم اکنون

     10:00 AM Tuesday, September 18, 2001
    باشد ,, هر کدوم از زمان یندی های زیر معنیشونو جلوشون نوشته


    at noon = 12:00 PM September 18, 2001
    at midnight = 12:00 AM September 19, 2001
    at teatime = 4:00 PM September 18, 2001
    at tomorrow = 10:00 AM September 19, 2001
    at noon tomorrow = 12:00 PM September 19, 2001
    at next week = 10:00 AM September 25, 2001

    همون طور که در بالا میبینین بعضی کلمات معنی خاصی دارن مثلا noon یعنی ساعت 12:00 pm و کلمات به صورت ترکیبی هم میتونن استفاده بشن مثلا

     at noon tomorrow
    یعنی فردا ((روز بعد از امروز )) ساعت 12:00 pm


     at next week
    اگه امروز سه شنبه ساعت 10 صبح باشه دستور بالا میگه هفته ی دیگهسه شنبه ساعت 10 صبح کار انجام بشه


    مشخص کردن روز های هفته

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

     day_of_week     : SUN | MON | TUE | WED | THU | FRI | SAT
    از چپ به راست به ترتیب بالا یعنی

     Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |  
    چند مثال :

     at next monday  =    10:00 AM September 24, 2001 
    اگه الان ساعت 10 صبح باشه یک شنبه بعدی همین ساعت دستور اجرا میشه


     at 04:46 am fri
    روز جمعه ساعت 4:46 دقیقه صبح کارو انجام میده



    نام گذاری ماه ها

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

    month_name : JAN | FEB | MAR | APR | MAY | JUN
    | JUL | AUG | SEP | OCT | NOV | DEC

    چند مثال

     at 2:30 PM Sept 21
    ساعت 2:5 ظهر در تاریخ 21 سپتامر


     at noon jul 24

    چند مثال اضافه از تمام قسمتایی که تا الان گفتیم
    اگه فرض کنیم هم اکنون ساعت و تاریخ

     10:00 AM Tuesday, September 18, 2001 

    at 9:00 AM = 9:00 AM September 19, 2001
    at 2:30 PM = 2:30 PM September 18, 2001
    at 1430 = 2:30 PM September 18, 2001
    at 2:30 PM tomorrow = 2:30 PM September 19, 2001
    at 2:30 PM next month = 2:30 PM October 18, 2001
    at 2:30 PM Fri = 2:30 PM September 21, 2001
    at 2:30 PM Sept 21 = 2:30 PM September 21, 2001
    at 2:30 PM 9/21/2010 = 2:30 PM September 21, 2010
    at 5 pm Friday = خودتون حدث بزنین
    نکته : بعد از next مقادیری که بر اثاث واحد های زیر باشه میتونه بیاد

    * minute[s]
    * hour[s]
    * day[s]
    * week[s]
    * month[s]
    * year[s]


    نکته
    :

    در

     at 1430 =    2:30 PM September 18, 2001     
    از am و pm نمیتونین استفاده کنین باید زمان رو به صورت 24 ساعته بزنین یعنی مثلا به جای 2 ظهر بزنین 14



    زمان معکوس ((Countdown))

    شاید بخاین کاری رو در مثلا 5 دقیقه اینده انجام بدین یا مثلا در فردا پنج دقیقه بعد از ساعت 12 ظهر خوب این 5 دقیقه ها رو باید به صورت زیر بنویسین
    نکته : مقاکد:
    مفادیری که بعد از بعلاوه می ایند بر اثاث یکی از این واحد های زیر میتونه باشه
    * minute[s]
    * hour[s]
    * day[s]
    * week[s]
    * month[s]
    * year[s]
    مثلا برای این که کاری رو در 25 دقیقه اینده از هم اکنون انجام بدین دستورو این جوری بنویسین

     at now +15 min
    به جای min میتونین minutes یا minute هم بزارین


    برای این که کاری رو فردا 3 ساعت بعد از ساعت 12 انجام بدین دستورو این شکلی بنویسین

    at noon tomorrow +3 hours
    یا
    at 12:00 pm tomorrow +3 hours


    جند مثال از این قسمت
    اگه فرض کنیم زمان و تاریخ هم اکنون

     10:00 AM Tuesday, September 18, 2001 
    معنی هر مثال جلوش نوشته شده

    at now + 30 minutes = 10:30 AM September 18, 2001
    at now + 1 hour = 11:00 AM September 18, 2001
    at now + 2 days = 10:00 AM September 20, 2001
    at 4 PM + 2 days = 4:00 PM September 20, 2001
    at now + 3 weeks = 10:00 AM October 9, 2001
    at now + 4 months = 10:00 AM January 18, 2002
    at now + 5 years = 10:00 AM September 18, 2007


    چند مثال واقعی به همراه کار

    روش کار به این صورت هستش که شما اول دستور at رو به همراه زمان اجرا شدنش مینویسین و سپس برای شما یک صفه باز میشه که در اون جا میتونین دستور مورد نظرتونو بنویسین و برای این که کار خود را ذخیره کنین کلید ترکیبی Ctrl+D رو بزنین

    در دستور زیر کاری رو فردا 3 دقیقه بعد از ساعت 12 انجام میدهد

    alieblice@ubuntu:~$ at 12:00 tomorrow + 3 min
    warning: commands will be executed using /bin/sh
    at> ls > ~/Desktop/ls.txt
    at> <EOT>
    job 73 at Fri Jul 10 12:03:00 2009
    alieblice@ubuntu:~$
    دستور بالا رو میتونین به صورت زیر هم بنویسین که فکر کنم راحت تر باشه

    alieblice@ubuntu:~$ echo ls > ~/Desktop/ls.txt | at 12:00 tomorrow + 3 min
    warning: commands will be executed using /bin/sh
    job 74 at Fri Jul 10 12:03:00 2009
    alieblice@ubuntu:~$


    اپشن v- (( وی کوچک ))


    اپشن v- برای نشون دادن زمان اجرا شدن دستور در همان اول کار یعنی قبل از امدنه صفحه ای که شما توش دستورو مینویسین

    alieblice@ubuntu:~$ at -v noon jul 24 + 10 min
    Fri Jul 24 12:10:00 2009

    warning: commands will be executed using /bin/sh
    at> cp -r /home/alielbice /var/backup/alieblice-bkp
    at> <EOT>
    job 77 at Fri Jul 24 12:10:00 2009
    alieblice@ubuntu:~$


    اپشن f-


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

    alieblice@ubuntu:~$ cat myjobs.txt
    /home/sathiya/calculate-space.sh
    /path/to/a/shell-script
    /path/to/any/command/or/script

    alieblice@ubuntu:~$ at -f /home/alieblice/jobs.txt now +1 hour
    warning: commands will be executed using /bin/sh
    job 79 at Thu Jul 9 08:07:00 2009
    alieblice@ubuntu:~$


    اپشن l-

    نکته : به جای l- میتونین از atq هم استفاده کنین
    این اپشن و atq برای لیست کردن کار هایی که هنوز انجام نشده اند و در انتظار رسیدن زمان تعیین شده هستن استفاده میشه

    alieblice@ubuntu:~$ at -l
    79 Thu Jul 9 08:07:00 2009 a alieblice
    77 Fri Jul 24 12:10:00 2009 a alieblice
    73 Fri Jul 10 12:03:00 2009 a alieblice
    74 Fri Jul 10 12:03:00 2009 a alieblice
    alieblice@ubuntu:~$
    همون طور که میبینین هر کار برای خودش عددی دارد که از اون برای پاک کردن و دیدن محتویات اون استفاده میشه

    پاک کردن یک کار


    از اپشن d- یا atrm میتونین استفاده کنین
    برای این کار نیاز به شماره اون کار دارین که میتونین با لیست کردنشون شمارشونو یدست بیارین
    مثلا در زیر کار به شماره 77 رو پاک میکنیم

    alieblice@ubuntu:~$ atq
    79 Thu Jul 9 08:07:00 2009 a alieblice
    77 Fri Jul 24 12:10:00 2009 a alieblice
    73 Fri Jul 10 12:03:00 2009 a alieblice
    74 Fri Jul 10 12:03:00 2009 a alieblice
    alieblice@ubuntu:~$
    alieblice@ubuntu:~$ at -d 77
    alieblice@ubuntu:~$
    alieblice@ubuntu:~$ at -l
    79 Thu Jul 9 08:07:00 2009 a alieblice
    73 Fri Jul 10 12:03:00 2009 a alieblice
    74 Fri Jul 10 12:03:00 2009 a alieblice
    alieblice@ubuntu:~$



    دیدن اطلاعات یک کار

    برای این کار از اپشن c- ((سی کوچک )) استفاده کنین

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

    alieblice@ubuntu:~$ at -l
    73 Fri Jul 10 12:03:00 2009 a alieblice
    74 Fri Jul 10 12:03:00 2009 a alieblice
    alieblice@ubuntu:~$
    alieblice@ubuntu:~$ at -c 73
    #!/bin/sh
    # atrun uid=1000 gid=1000
    # mail alieblice 0
    umask 22

    خروجی کامل نیست


    محدود کردن دسترسی به at

    برای این که دسترسی کاربران رو به دستور at ببندین یا دسترسی رو برای یک سری کار بر خاص باز بگذارین میتونین از 2 فایل زیر استفاده کنین
    سیستم اول فلدر at.allow رو چک میکنه اگه وجود نداشت میره سراغ at.deny
    /etc/at.allow
    /etc/at.deny
    مثلا اگه کاربر tia رو به فایل at.deny اضافه کنین موقعی که کاربر tia بخاد از at استفاده کنه این اررور رو میگیره

    tia@ubuntu:~$ at 12:00 pm
    You do not have permission to use at.
    tia@ubuntu:~$
    اگرم بخاین که at رو برای فقط کاربرای مشخصی باز بگذارین از فلدر at.allow استفده کنین
    ممکنه این فلدر وجود نداشته باشه میتونین بسازینش


    فایل های مرتبط به at


    /var/spool/cron/atjobs
    /var/spool/cron/atspool
    /var/run/utmp
    /etc/at.allow
    /etc/at.deny


    منابع :
    http://www.thegeekstuff.com/2010/06/...mand-examples/
    http://publib.boulder.ibm.com/infoce...ixcmds1/at.htm
    http://pcsupport.about.com/od/comman...at-command.htm
    http://www.softpanorama.org/Utilities/at.shtml
    http://content.hccfl.edu/pollock/Unix/AtDemo.htm
    آخرین ویرایش به وسیله alieblice : دوشنبه 20 تیر 1390 در 13:39 بعد از ظهر

  58. کاربرانی که به خاطر مطلب مفید alieblice از وی تشکر کرده‌اند:


  59. #30
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور scp




    دستور scp برگرفته از secure copy برای کپی کردن اطلاعات از یک کامپیوتر به یک کامپیوتر دیگر استفاده میشود
    درواقع تمام امکانات دستور cp را دارد با این تفاوت که قابلیت انتقال داده بین ۲ کامپیوتر نیز وجود دارد (( یعنی فقط به صورت لوکال کار نمیکنه به صورت رموت هم کار میکنه ))
    یکی از مزیت هایی که این دستور دارد امن بودن اون به واسته استفاده از تونل ssh هستش ((همه چیز encrypt میشه))

    شکل کلی دستور

    scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
    [-l limit] [-o ssh_option] [-P port] [-S program]
    [[user@]host1:]file1 ... [[user@]host2:]file2


    شکل قابل فهم تر

    $ scp REMOT-SYSTEM:ADRESS  LOCAL-SYSTEM-ADRESS  



    در دستور زیر یک فایل رو از سیستم رموت به سیتم لوکال انتقال میدهیم
    alieblice@de-10:~$ scp root@172.16.49.21:/var/www/ShaunTheSheep_Part_07.avi /home/alieblice/
    root@172.16.49.21's password:
    ShaunTheSheep_Part_07.avi 100% 49MB 24.6MB/s 00:02
    alieblice@de-10:~$


    root@172.16.49.21 = یوزرنیم به همراه ادرس سیستم رموت
    /var/www/ShaunTheSheep_Part_07.avi = اسم و ادرس فایلی که میخایم کپیش دیم به سیستم لوکال
    /home/alieblice/ = محل ذخیره شدن فایل در سیستم لوکال


    کپی کردن فایل و تغییر اسم ان
    برای این کار مثل مثال بالا عمل میکنیم با این تفاوت که وقتی محل ذخیره شدن اونو در سیستم لوکال انتخاب میکنیم اسمش را هم انتخاب میکنیم
    alieblice@de-10:~$ scp  root@172.16.49.21:/var/www/ShaunTheSheep_Part_07.avi /home/alieblice/Videos/scp/cartoon-07.avi
    root@172.16.49.21's password:
    ShaunTheSheep_Part_07.avi 100% 49MB 49.1MB/s 00:01
    alieblice@de-10:~$

    حالا اگه ls محل ذخیره شدنو بگیریم میبینین که اسم فایل تغییر کرده
    alieblice@de-10:~$ ls /home/alieblice/Videos/scp/
    cartoon-07.avi
    alieblice@de-10:~$


    کپی کردن فایل ها
    برای این کار مثل دستور cp از r- استفاده کنین
    در دستور زیر دایرکتوری DNSvideo رو از سیستم رموت به لوکال کپی میکنیم
    alieblice@de-10:~$ scp -r root@172.16.49.21:/var/www/DNSvideo /home/alieblice/Documents/
    root@172.16.49.21's password:
    YouTube - ‪Setting Up and Configuring a DNS 100% 20MB 20.1MB/s 00:01
    YouTube - Setup DNS Server Quick & Simple.flv 100% 9288KB 9.1MB/s 00:00
    YouTube - ‪Setting Up and Configuring a DNS 100% 20MB 19.6MB/s 00:00
    YouTube - ‪Instala y configura Bind 9 en Ub 100% 10MB 10.2MB/s 00:01
    YouTube - ‪Setting Up and Configuring a DNS 100% 15MB 15.1MB/s 00:00
    YouTube - install dan konfigurasi bind9 (DNS) 100% 6742KB 6.6MB/s 00:00
    YouTube - Setting Up and Configuring a DNS Se 100% 17MB 17.5MB/s 00:00
    alieblice@de-10:~$


    اگر از -r استفده نکنین این اررور رو میده
    a
    lieblice@de-10:~$ scp root@172.16.49.21:/var/www/DNSvideo /home/alieblice/Documents/
    root@172.16.49.21's password:
    scp: /var/www/DNSvideo: not a regular file


    Local Copy

    برای این کار دقیقه مثل دستور cp عمل میکنیم
    alieblice@de-10:~$ scp -r /home/alieblice/Documents/DNSvideo ~/



    انتقال فایل از لوکال به رموت

    برای این کار اول ادرس فایل در لوکال رو بدین و سپس ادرس و محل ذخیره شدن در رموت را بدهید
    alieblice@de-10:~$ scp /home/alieblice/Videos/ShaunTheSheep_Part_18.avi root@172.16.49.21:
    root@172.16.49.21's password:
    Permission denied, please try again.
    root@172.16.49.21's password:
    ShaunTheSheep_Part_18.avi 100% 49MB 49.3MB/s 00:01
    alieblice@de-10:~$

    نکته : اگر برای ذخیره شدن فایل یا برای کپی شدن فایل در سیستم رموت ادرسی رو انتخاب نکنیم مثل بالا به طور پیش فرض home دایرکتوری استفاده میشه


    توضیح بعضی از اپشن ها

    -B
    برگرفته از batch mode بیشتر در اسکریپت ها استفاده میشه و باعث میشه که از interactive authentication methods
    نتونین استفاده کنین وباید از روش هایی مثل key authenticationباید استفاده کنین

    -C
    (سی بزرگ) برای فشرده سازی استفاده میشود که در سرعت های پایین باعث بالا رفتم سرعت میشه ولی در سرعت های بالا فقط باعث کندی سرعت میشه

    -l
    برای محدود کردن سرعت کپی کردن فایل استفاده میشود بر اثاث Kbit/s

    در زیر سرعت 1000 کلو بیت بر ثانیه استفاده شده که برای تبدیل ان به کیلو بایت بر ثانیه باید ان را تقسیم بر 8 کنین 1000/8=125
    در مثال زیر اگه توجه کنین بعد از مدت کوتاهی سرعت به 125 رسیده

    مثال :
    alieblice@de-10:~$ scp -l 1000 root@172.16.49.21:/var/www/ShaunTheSheep_Part_07.avi ~/
    root@172.16.49.21's password:
    ShaunTheSheep_Part_07.avi 0% 400KB 141.0KB/s 05:53 ETA
    ShaunTheSheep_Part_07.avi 1% 528KB 139.7KB/s 05:56 ETA
    ShaunTheSheep_Part_07.avi 7% 3520KB 125.8KB/s 06:11 ETA^



    -P
    برای مشخص کردن پرت ارتباطی استفاده میشود
    نکته : این جا از پی بزرگ استفاده شده بر عکس ssh که از پی کوچک استفاده میشود دلیلش اینه که در rcp از پی کوچک برای کار دیگری استفاده میشده

    -p

    برای شما quiet mode رو فعال میکنه به تفاوتش در مثال زیر توجه کنین
    alieblice@de-10:~$ scp -q root@172.16.49.21:/var/www/ShaunTheSheep_Part_07.avi ~/
    root@172.16.49.21's password:
    alieblice@de-10:~$


    درصد و سرعت انتقال رو نشون نمیده

    -v

    از وی برای گرفتن اطلاعات اضافی تری در باره ی نوع اتصال و چیز های دیگه میتونین استفاده کنین
    از وی تا 3 بار میتونین استفاده کنین که سومین وی خیلی اطلاعات دقیقی میده

    مثال برای یک وی
    alieblice@de-10:~$ scp -v root@172.16.49.21:/var/www/ShaunTheSheep_Part_07.avi ~/
    Executing: program /usr/bin/ssh host 172.16.49.21, user root, command scp -v -f /var/www/ShaunTheSheep_Part_07.avi
    OpenSSH_5.3p1 Debian-3ubuntu6, OpenSSL 0.9.8k 25 Mar 2009
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug1: Applying options for *
    debug1: Connecting to 172.16.49.21 [172.16.49.21] port 22.
    debug1: Connection established.
    debug1: identity file /home/alieblice/.ssh/identity type -1
    debug1: identity file /home/alieblice/.ssh/id_rsa type 1
    debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-4096
    debug1: Checking blacklist file /etc/ssh/blacklist.RSA-4096
    debug1: identity file /home/alieblice/.ssh/id_dsa type -1
    debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-6
    debug1: match: OpenSSH_5.5p1 Debian-6 pat OpenSSH*
    debug1: Enabling compatibility mode for protocol 2.0
    debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu6
    debug1: SSH2_MSG_KEXINIT sent
    debug1: SSH2_MSG_KEXINIT received
    debug1: kex: server->client aes128-ctr hmac-md5 none
    debug1: kex: client->server aes128-ctr hmac-md5 none
    debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
    debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
    debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
    debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
    debug1: Host '172.16.49.21' is known and matches the RSA host key.
    debug1: Found key in /home/alieblice/.ssh/known_hosts:1
    debug1: ssh_rsa_verify: signature correct
    debug1: SSH2_MSG_NEWKEYS sent
    debug1: expecting SSH2_MSG_NEWKEYS
    debug1: SSH2_MSG_NEWKEYS received
    debug1: SSH2_MSG_SERVICE_REQUEST sent
    debug1: SSH2_MSG_SERVICE_ACCEPT received
    debug1: Authentications that can continue: publickey,password
    debug1: Next authentication method: publickey
    debug1: Offering public key: /home/alieblice/.ssh/id_rsa
    debug1: Authentications that can continue: publickey,password
    debug1: Trying private key: /home/alieblice/.ssh/identity
    debug1: Trying private key: /home/alieblice/.ssh/id_dsa
    debug1: Next authentication method: password
    root@172.16.49.21's password:
    debug1: Authentication succeeded (password).
    debug1: channel 0: new [client-session]
    debug1: Requesting no-more-sessions@openssh.com
    debug1: Entering interactive session.
    debug1: Sending environment.
    debug1: Sending env LANG = en_US.utf8
    debug1: Sending command: scp -v -f /var/www/ShaunTheSheep_Part_07.avi
    Sending file modes: C0755 51482624 ShaunTheSheep_Part_07.avi
    Sink: C0755 51482624 ShaunTheSheep_Part_07.avi
    ShaunTheSheep_Part_07.avi 100% 49MB 49.1MB/s 00:01
    debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
    debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
    debug1: channel 0: free: client-session, nchannels 1
    debug1: fd 0 clearing O_NONBLOCK
    debug1: fd 1 clearing O_NONBLOCK
    Transferred: sent 14816, received 51535384 bytes, in 1.3 seconds
    Bytes per second: sent 11794.2, received 41024565.4
    debug1: Exit status 0
    alieblice@de-10:~$



    مثال برای 2 وی

    alieblice@de-10:~$ scp -vv root@172.16.49.21:/var/www/ShaunTheSheep_Part_07.avi ~/


    خروجیش رو نمیزارم چون خیلی زیاد بود


    دستور مشابه دیگری به اسم rsync با امکانات خیلی بیشتری وجود دارد که قبلا اموزشش گذاشته شده

    منبع :
    Pro OpenSSH (2005).pdf
    ادرس دانلود کتاب :
    http://ubuntuone.com/p/12CZ/

  60. کاربرانی که به خاطر مطلب مفید alieblice از وی تشکر کرده‌اند:


  61. #31
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور grep

    نکته :
    خروجی هر دستور به صورت عکس هم قرار گرفته برای درک بهتر
    اگه عکس ها دیده نمیشن از ادرس زیر میتونین عکس هارو ببینین (( شماره هر عکس رو بالاش با رنگ ابی قرار دادم ))
    http://alieblice.persiangig.com/image/grep-pic/
    یا از این ادرس دانلود کنین
    http://ubuntuone.com/p/15nL/



    دستور grep برای پیدا کردن یک نوشته در بین تعداد زیادی نوشته استفاده میشه که خروجیش میتونه به صورت های مختلف باشه مثلا :
    خط هایی که اون نوشته مورد نظر رو دارا هستن رو نشون بده
    تعداد خط هایی که نوشته در انها منطبق شده نشون بدهد
    ....
    ..
    .

    شکل کلی دستور

    grep [OPTION]... PATTERN [FILE]...
    یا
    grep "literal_string" filename
    [size=13pt]نکته : [/size]

    در طی اموزش از 3 فایل به نام های demo و demo2 و demo3 استفاده میشه که متن داخلشون به ترتیب به صورت زیر هست

    demo
    alieblice@de-10:~$ cat demo
    THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
    this line is the 1st lower case line in this file.
    This Line Has All Its First Character Of The Word With Upper Case.

    Two lines above this line is empty.
    And this is the last line
    .

    demo2
    alieblice@de-10:~$ cat demo2
    THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
    this line is the 1st lower case line in this file.
    This Line Has All Its First Character Of The Word With Upper Case.

    Two lines above this line is empty.
    And this is the last line.
    demo3
    alieblice@de-10:~$ cat demo3
    4. Vim Word Navigation

    You may want to do several navigation in relation to the words, such as:

    * e - go to the end of the current word.
    * E - go to the end of the current WORD.
    * b - go to the previous (before) word.
    * B - go to the previous (before) WORD.
    * w - go to the next word.
    * W - go to the next WORD.

    WORD - WORD consists of a sequence of non-blank characters, separated with white space.
    word - word consists of a sequence of letters, digits and underscores.

    Example to show the difference between WORD and word

    * 192.168.1.1 - single WORD
    * 192.168.1.1 - seven words.
    جستوجو برای یک کلمه در متن
    این دستور ساده ترین نوع دستور grep هستش که به صورت زیر عمل میکنیم
    grep "literal_string" filename
    مثال
    قبل از زدن دستور زیر فایل demo رو با محتویاتی که اول اموزش گذاشتم بسازید

    در مثال زیر به دنبال کلمه this میگردیم

    [code]alieblice@de-10:~$ grep "this" demo
    this line is the 1st lower case line in this file.
    Two lines above this line is empty.
    And this is the last line.
    alieblice@de-10:~$
    1



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

    مثال
    قبل از زدن دستور زیر فایل demo2 رو بسازین

    [code]alieblice@de-10:~$ grep "this" demo demo2
    demo:this line is the 1st lower case line in this file.
    demo:Two lines above this line is empty.
    demo:And this is the last line.
    demo2:this line is the 1st lower case line in this file.
    demo2:Two lines above this line is empty.
    demo2:And this is the last line.
    2



    همون طور که در بالا میبینین اول هر خط نوشته که هر خط ماله چه فایلی هست

    دستور بالا رو میتونین به این صورت هم بنویسین
    alieblice@de-10:~$ grep "this" demo*
    حساس نبودن به حروف بزرگ و کوچک بوسیله i-
    در حالت عادی grep حساس به حروف بزرگ و کوچک هستش اگه با i- برای the جستوجو کنیم تمام کلمات THE و The و the رو شامل میشه
    alieblice@de-10:~$ grep -i "the" demo
    THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
    this line is the 1st lower case line in this file.
    This Line Has All Its First Character Of The Word With Upper Case.
    And this is the last line.
    alieblice@de-10:~$
    [size=12pt]4[/size]


    استفاده از regular expression در grep
    grep به خوبی از regular expression پشتیبانی میکند که روش استفادشم مثل مثال اول هستش
    اطلاعات بیشتر در مورد regular expression رو از ادرسهای زیر میتونین بخونبن
    http://www.thegeekstuff.com/2011/01/...-grep-command/
    http://www.thegeekstuff.com/2011/01/...80%93-part-ii/
    http://www.grymoire.com/Unix/Regular.html
    مثال
    alieblice@de-10:~$ grep "lines.*empty" demo
    Two lines above this line is empty.
    alieblice@de-10:~$

    5



    در بالا grep برای هر چیزی که با lines شروع بشه و با empty به پایان برسه که در بینشون هر چیزی میتونه باشه جستو جو میکنه

    جستوجو فقط برای کلمه خاصته شده
    اگه با grep کلمه is رو جستوجو کنیم کلمات زیر رو هم جزو خروجی میاره
    “is”, “his”, “this”
    حالا اگه بخایم که فقط دنبال is بگرده از w- میتونیم استفاده کنیم

    عکس grep با اپشن i-
    6

    عکس grep با اپشن w-

    alieblice@de-10:~$ grep -iw "is" demo
    THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
    this line is the 1st lower case line in this file.
    Two lines above this line is empty.
    And this is the last line.
    alieblice@de-10:~$
    7]



    نشون دادن چند خط قبل یا بعد یا دوروبر نوشته پیدا شده -A, -B and -C
    برای این قسمت فایل demo3 رو بسازین

    نشون دادن N خط بعد نوشته تطبیق شده با استفاده از A-

    alieblice@de-10:~$ grep -A 3 -i "example" demo3
    Example to show the difference between WORD and word

    * 192.168.1.1 - single WORD
    * 192.168.1.1 - seven words.
    alieblice@de-10:~$
    8]


    نشون دادن N خط قبل از نوشته تطبیق شده با استفاده از B-

    alieblice@de-10:~$ grep -B 2 "single WORD" demo3
    Example to show the difference between WORD and word

    * 192.168.1.1 - single WORD
    alieblice@de-10:~$
    9



    نشون دادن چند خط دورو بر نوشته تطبیق شده با استفاده از C- ((سی بزرگ))

    alieblice@de-10:~$ grep -C 2 "Example" demo3
    word - word consists of a sequence of letters, digits and underscores.

    Example to show the difference between WORD and word

    * 192.168.1.1 - single WORD
    alieblice@de-10:~$
    10]


    جستوجو در داخل تمام فایل ها و ساب دایرکتوری ها با استفاده از r-
    grep -r "ramesh" *
    بر عکس کردن جستوجو با استفاده از v-

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

    alieblice@de-10:~$ grep -v "go" demo3
    4. Vim Word Navigation

    You may want to do several navigation in relation to the words, such as:


    WORD - WORD consists of a sequence of non-blank characters, separated with white space.
    word - word consists of a sequence of letters, digits and underscores.

    Example to show the difference between WORD and word

    * 192.168.1.1 - single WORD
    * 192.168.1.1 - seven words.
    alieblice@de-10:~$
    11


    همون طور که میبینین در عکس خروجی رنگی وجود ندارد


    جستو جو هم زمان برایه چند نوشته به وسیله e-
    برای این کار دستورو به این شکل مینویسیم
    grep -v -e "pattern" -e "pattern"
    مثال :
    alieblice@de-10:~$ grep -e "is" -e "line" demo
    this line is the 1st lower case line in this file.
    This Line Has All Its First Character Of The Word With Upper Case.
    Two lines above this line is empty.
    And this is the last line.
    alieblice@de-10:~$
    12]



    میتونین خط هایی که هیچکدان از نوشته های مورد نظر رو ندارن هم پیدا کنین که به این شکل میشه
    alieblice@de-10:~$ grep -ve "is" -e "line" demo
    THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
    13]




    شمردن خط هایی که نوشته تطبیق شده رو داراست به وسیله c-

    alieblice@de-10:~$ grep -c "go" demo3
    6
    alieblice@de-10:~$
    یا

    alieblice@de-10:~$ grep -c this demo
    3
    alieblice@de-10:~$
    نشون دادن فایل هایی که نوشته مورد نظر درون انها تطبیق شده بوسیله l-

    alieblice@de-10:~$ grep -l this *
    demo
    demo2
    یا
    alieblice@de-10:~$ grep -l this demo*
    demo
    demo2
    نشون دادن خطی که در ** نوشته تطبق شده بوسیله n-
    alieblice@de-10:~$ grep -n "go" demo3
    5: * e - go to the end of the current word.
    6: * E - go to the end of the current WORD.
    7: * b - go to the previous (before) word.
    8: * B - go to the previous (before) WORD.
    9: * w - go to the next word.
    10: * W - go to the next WORD.
    alieblice@de-10:~$
    16


    همون طور که میبینین شماره خط رو اول هر خط نوشته

    رنگی کردن

    به طور پیش فرض grep از رنگ قرمز برای مشخص کردن متن های تطبیق یافته استفاده میکند که در عکس های بالا دیده میشه
    حالا اگه بخاین رنگش رو تغییر بدین راحت ترین روش اینه که یک خط مثل خط پایین رپ به فایل
    .bashrc
    که در home دایرکتوری تون هست قرار بدین (( نکته : اول فایل یک نقطه داره که باعث مخفی شدنش میشه ))
    نمونه خط :
    export GREP_OPTIONS='--color=auto' GREP_COLOR='COLOR'
    در خط بالا به جای COLOR کد رنگ مورد نظرتونو بزارین

    چند نمونه رنگ
    export GREP_OPTIONS='--color=auto' GREP_COLOR='100;8'
    17


    export GREP_OPTIONS='--color=auto' GREP_COLOR='1;37;41'
    18


    export GREP_OPTIONS='--color=auto' GREP_COLOR='1;32'
    19



    export GREP_OPTIONS='--color=auto' GREP_COLOR='7'
    منبع :
    http://www.thegeekstuff.com/2009/03/...mand-examples/
    http://www.debian-administration.org/articles/460

  62. کاربرانی که به خاطر مطلب مفید alieblice از وی تشکر کرده‌اند:


  63. #32
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور usermod




    ما با این دستور میتونیم یه سری تغییرات روی یوزر های لینوکسی بدیم .
    همون طور که می بینید دستور usermod شامل 17 آپشن هست که یکی یکی توضیح میدم .
    البته آپشن های


    -L
    -p
    -U


    به صورت انحصاری هست و اگر بخوایم از این 3 تا آپشن استفاده کنم فقط در یک دستور باید یکی از این آپشن هارو قرار بدیدم یعنی همزمان نمیتونیم از آپشن های -p و -L استفاده کرد .



    root@debian:~# usermod --help
    Usage: usermod [options] LOGIN

    Options:
    -c, --comment COMMENT new value of the GECOS field
    -d, --home HOME_DIR new home directory for the user account
    -e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
    -f, --inactive INACTIVE set password inactive after expiration
    to INACTIVE
    -g, --gid GROUP force use GROUP as new primary group
    -G, --groups GROUPS new list of supplementary GROUPS
    -a, --append append the user to the supplemental GROUPS
    mentioned by the -G option without removing
    him/her from other groups
    -h, --help display this help message and exit
    -l, --login NEW_LOGIN new value of the login name
    -L, --lock lock the user account
    -m, --move-home move contents of the home directory to the
    new location (use only with -d)
    -o, --non-unique allow using duplicate (non-unique) UID
    -p, --password PASSWORD use encrypted password for the new password
    -s, --shell SHELL new login shell for the user account
    -u, --uid UID new UID for the user account
    -U, --unlock unlock the user account
    -Z, --selinux-user new SELinux user mapping for the user account

    root@debian:~#


    آپشن -c :
    با این آپشن میتونیم یه توضیح مختصر برای یک یوزر بنویسیم مثلا :


    root@debian:~# usermod -c Administrator vahid

    با توجه به دستور بالا ما گفتیم که یوزر vahid مدیر هست .

    آپشن -d :
    با این آپشن میتونیم ست کنیم home directory یک یوزر رو , توی ویندوز مثلا c:\users\vahid هست که میتونیم توی لینوکس به صورت دیفالت در home یک فایل به اسم خود یوزر ساخته میشه و Home Directory اون شخص میشه . به طور مثال برای تغییر Home Directory یک کاربر :

        root@debian:~# usermod -d /home2/vahid vahid



    آپشن -e :
    با این آپشن میتونیم تاریخ انتقضای یک کاربر رو ست کنیم به طور مثال :

        root@debian:~# usermod -e 2020-10-10 vahid


    با توجه به دستور بالا ما گفتیم که یوزر vahid یوزر کاربریشون در تاریخ 2020-10-10 باطل بشه و دسترسی به سیستم نداشته باشه .

    آپشن -f :
    با این آپشن میتونیم ست کنیم که زمانی که پسورد Expire شد یه مدت بر حسب روز به کاربر وقت داده بشه که پسوردشو عوض کنه . برای مثال :

        root@debian:~# usermod -f 7 vahid


    اینجا ست کردیم که بعد از اینک پسورد کاربری vahid باطل شد 7 روز وقت داشته باشه تا پسورش خودشو عوض کنه .

    آپشن -g :
    با این آپشن میتونیم گروه کاربری رو تغییر بدیم برای مثال :

    root@debian:~# id vahid
    uid=1000(vahid) gid=1000(vahid) groups=1000(vahid)
    root@debian:~# usermod -g root vahid
    root@debian:~# id vahid
    uid=1000(vahid) gid=0(root) groups=0(root)

    توی دستور های بالا اول ما ای دی یوزر vahid رو چک کردیم . دیدم یوزر و گروه هر دو vahid هست بعد با دستور usermod یوزر vahid رو در گروه root قرار دایدم .

    آپشن -G :
    با این آپشن میتونیم یک یوزر رو در گروه قرار بدیدم برای مثال :

    root@debian:~# usermod -G vahid vahid
    root@debian:~# id vahid
    uid=1000(vahid) gid=0(root) groups=0(root),1000(vahid)

    خوب ما میبینم که علاوه بر اینکه یوزر Vahid در گروه خودش هست در گروه root هم هست .

    آپشن -a :
    زمانی که ما از دستور های -G استفاده میکنیم فقط ما کاربر رو به یک گروه ها اضافه میکنیم ولی اگه یه زمان بخوایم در چندین گروه قرار بگیره از -a استفاده میکنیم برای مثال :

    root@debian:~# usermod -aG sales vahid
    root@debian:~# id vahid
    uid=1000(vahid) gid=0(root) groups=0(root),1002(sales)
    root@debian:~# usermod -aG vahid vahid
    root@debian:~# id vahid
    uid=1000(vahid) gid=0(root) groups=0(root),1000(vahid),1002(sales)

    آپشن -l :
    با این آپشن میتونیم یوزر کاربری رو اسمشو عوض کنیم برای مثال :

    root@debian:~# usermod -l master sirous

    در مثال بالا یوزر کاربری sirous به یوزر master تغییر کرد

    آپشن -L :
    با این آپشن خیلی ساده یک یوزر رو دسترسیشو قطع میکنیم در واقع میبیندیمش برای مثال :

    root@debian:~# usermod -L master

    در مثال بالا یوزر master لاک شد و دیگه دسترسی به سیستم نداره

    آپشن -m :
    با این آپشن میتونیم home Directory یک یوزر رو منتقل کنیم به یک مکان دیگه برای مثال :

        usermod -m -d /home/master master


    در مثال بالا home directory منتقل میشه به /home/master

    آپشن -o :
    همون طور که میدونید uid یا همون user id به طور منحصر به فرد مربوط به یک کاربر هست ولی با این آپشن میتونیم به چند کاربر یک uid بدیم برای مثال :

        root@debian:~# usermod -o vahid


    آپشن -p :
    با این آپشن میتونیم پسورد برای یک کاربر بزاریم یا تغییرش بدیم الیته باید encrypted باشد پسورد برای مثال :

    root@debian:~# mkpasswd
    Password:
    D9Fv4apNaq/rE
    root@debian:~# usermod -p D9Fv4apNaq/rE master

    اول ما با دستور mkpasswd یک پسورد encrypted ساختیم و بعد اون پسورد رو برای کاربر قرار دایدم

    اپشن -s :
    با این آپشن میتونیم دسترسی shell کاربر رو تعیین کنیم برای مثال

        root@debian:~# usermod -s /bash/false vahid


    در مثال بالا ما دسترسی shell رو از کاربر vahid گرفتیم

    آپشن -u :
    با این آپشن میتونیم عدد UID رو خودمون برای کاربر ست کنیم برای مثال :

    root@debian:~# usermod -u 22 master
    root@debian:~# id master
    uid=22(master) gid=1011(sirous) groups=1011(sirous)

    در مثال بالا uid کاربر master رو 22 قرار دادیم

    آپشن -U :
    با این آپشن میتونیم کاربری که لاک هست رو آنلاک کنیم

        root@debian:~# usermod -U Vahid


    در مثال بالا یوزر Vahid انلاک هست و میتونه به سیستم دسترسی داشته باشه .

    آپشن -Z :
    با این آپشن میتونیم ست کنیم که یک یوزر جزو یوزر های selinux باشه برای مثال :

    root@debian:~# usermod -Z master

    یوزر master رو جزو یوزر های Selinux قرار دادیم که یه سری دسترسی های خاص داده



    با تشکر
    وحید سیروس


    منبع: http://www.webhostingtalk.ir/f104/28950/

    موضوعات وابسته : ساختن کاربر ((user)) و پاک کردن و ایجاد بعضی محدودیت ها
    http://forum.ubuntu.ir/index.php/top...html#msg134502

  64. 2 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  65. #33
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    سطح دسترسی ها در لینوکس و دستور chmod




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

    پایه و اساس سطح دسترسی ها در لینوکس شامل دو تا قسمت میشه یکی مالکیت فایل یا (ownership ) و یکی مجوز فایل ها (permissions ) .
    مالکیت فایل (ownership ) شامل دو تا قسمت میشه :
    یکی مالکیت کاربری (User Ownership)
    یکی مالکیت گروهی (Group Ownership)
    پس یک فایل دو تا مالکیت میگیره یکی مالکیت گروه یکی مالکیت کاربر
    برای مثال فایل زیر رو ببینید :

    root@debian:~/# ll
    -rw-r--r-- 1 root vahid 0 Aug 5 00:58 vahid.txt
    root@debian:~/#

    از فایل بالا متوجه میشیم که Group Ownership این فایل گروه vahid هست .
    و User Ownership این فایل مربوط به یوزر root هست .
    حالا ما چه شکلی میتونیم ownership یک فایل رو تغییر بدیم ؟ با دستور chown
    به صورت زیر :

        chown userowner:groupowner myfile.txt


    به طور مثال ما میخوایم User Ownership و Group Ownership هر دو این فایل رو به vahid تغییر بدیم

    root@debian:~/wht# chown vahid:vahid vahid.txt
    root@debian:~/wht# ll
    -rw-r--r-- 1 vahid vahid 0 Aug 5 00:58 vahid.txt
    root@debian:~/wht#

    حالا میریم سراغ قسمت دوم یعنی مجوز فایل ها (permissions )
    مجوز فایل ها (permissions ) شامل 3 تا قسمت میشه :
    مجوز برای کاربر
    مجور برای گروه
    مجوز برای دیگران (که شامل بقیه کاربران سیستم میشه)

    rw- r-- r-- 1 vahid vahid 0 Aug 5 00:58 vahid.txt
    | | |
    | | |________ user permission
    | |___________ group permission
    |_______________ other permission


    که هر قست شامل 3 قسمت میشه :

    r = read permission
    w = write permission
    x = execute permission

    یعنی :
    دسترسی خواندن
    دسترسی نوشتن
    دسترسی اجرایی (برای اجرا کردن یک برنامه)

    که هر قسمت یه عدد میگیره

    4 = read (r)
    2 = write (w)
    1 = execute (x)
    0 = no permission (-)

    برای مثال فایل زیر رو مد نظر بگیرید :

    root@debian:~/wht# ll
    -rw-r--r-- 1 vahid vahid 0 Aug 5 00:58 vahid.txt
    root@debian:~/wht#

    اگر permission فایل رو سه قسمت کنیم :

        -rw-       r--      r--


    میبینیم که
    در سطح کاربر فقط میتونه فایل رو بخونه
    در سطح گروه هم فقط میتونه فایل رو بخونه
    و در سطح other دسترسی خوندن و نوشن رو داره

    حالا ما چه شکلی میتونیم permission یک فایل رو تغییر بدیم ؟ با دستور chmod

        chmod permissionnumber myfile.txt


    به طور مثال ما میخوایم خود کاربر دسترسی خوندن و نوشتن و اجرا شدن رو داشته باشه ولی گروهش هیج دسترسی نداشته باشه و برای Other هم فقط دسترسی خوندن باشه
    حالا میایم عدد ها رو جمع میزنی
    دسترسی برای کاربر = خوندن + نوشتن + اجرا شدن = 4+2+1 = پس عدد دسترسی برای کاربر میشه 7
    دسترسی برای گروه = هیچ دسترسی نداشته باشه = 0 = پس عدد دسترسی گروه میشه 0
    دسترسی برای other = خوندن = 4 = پس عدد دسترسی other میشه 4
    و این دسترسی رو اعمال میکنیم :

    root@debian:~/wht# chmod 407 vahid.txt
    root@debian:~/wht# ll
    -r-----rwx 1 vahid vahid 0 Aug 5 00:58 vahid.txt
    root@debian:~/wht#

    حالا اگر خواستید تمامی فایل ها و زیر مجموعه هاش رو تغیر owner یا permission بدید باید از آپشن -R (تاکید میکنم بر روی R بزرگ هست ) استفاده کنید
    برای مثال :

    root@debian:~# chown -R vahid:vahid wht/
    root@debian:~# chmod -R 407 wht/

    این دو تا دستور تمامی owner های این فایل هارو به vahid تغییر میده و تمامی فایل های این فولدر به 407 تغییر میکنه

    موفق و پیروز باشید

    منبع : http://www.webhostingtalk.ir/f104/29244/
    موضوعات وابسته : http://forum.ubuntu.ir/index.php/top...html#msg151252

  66. 2 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  67. #34
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور cd




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

    مثال
    فرض میکنیم که میخاین وارد دسکتاپتون بشین خوب برای این کار اگه ترمینال رو باز کنینباید داخل home دایرکتوریتون باشین که برای فهمیدنش میتونین از دستور زیر استفاده کنین
    pwd

    دستور pwd مکان هم اکنون شما رو نشون میده که مثلا برای من الان این هست
    alieblice@de-10:~$ pwd
    /home/alieblice

    همون طور که در بالا میبینین alieblice فولدر خانگی من هست ((( user's home directory ))

    حالا چگونه وارد دسکتاپ بشیم
    اول دستور cd رو مینویسیم و سپس ادرس فولدری که میخایم واردش بشیم
    alieblice@de-10:~$ cd Desktop

    حالا pwd بگیرین
    alieblice@de-10:~/Desktop$ pwd
    /home/alieblice/Desktop


    چند نکته :
    در بالا گفتیم ادرس فایل رو مینویسیم که خوب در مواقعی مثل بالا که فایل مورد نظر ما (( Deksktop )) در همون مکانی هست که ما الان داخلش هستیم فقط لازمه اسم اون فولدر مورد نظرمون رو بنویسیم

    اگه شرایط مثل بالا نبود و در یک فولدر دیگری بودیم باید ادرس فولدر مورد نظرمون (( Desktop )) رو به صورت کامل بنویسیم (( به صورت کامل یعنی از اولین صفحه دایرکتوری درایومون )) با مثال زیر بهتر متوجه میشین

    مثال :
    در زیر فرض میکنیم شمت میخاین از دسکتاپ (( /home/alieblice/Desktop )) میخاین به فایل videos که ادرسش این هست برین (( /home/alieblice/Videos))

    کارو به 2 صورت میشه انجام داد
    1- ادرس فولدر Videos روکامل بزنیم
    نکته مهم :
    به ' / ' قبل از home توجه کنین اگه اون رو بزارین یعنی ادرس رو دارین از اولین دایرکتوری (( صفحه اول درایو )) مینویسین ولی اگر نزارین دنباله ادرس داخل همون دایرکتوری که هم اکنون هستین میگرده


    alieblice@de-10:~/Desktop$ cd /home/alieblice/Videos
    alieblice@de-10:~/Videos$
    alieblice@de-10:~/Videos$ pwd
    /home/alieblice/Videos
    alieblice@de-10:~/Videos$


    یکی این که یک دایرکتوری به عقب برگردیم و بعد بریم داخل Videos
    برای برگشتن به یک دایرکتوری به عقب از دو تا نقطه استفاده مکینیم
    alieblice@de-10:~/Desktop$ pwd
    /home/alieblice/Desktop
    alieblice@de-10:~/Desktop$
    alieblice@de-10:~/Desktop$ cd ..
    alieblice@de-10:~$
    alieblice@de-10:~$ pwd
    /home/alieblice
    alieblice@de-10:~$
    alieblice@de-10:~$ cd Videos/
    alieblice@de-10:~/Videos$
    alieblice@de-10:~/Videos$ pwd
    /home/alieblice/Videos
    alieblice@de-10:~/Videos$


    مراحل رو کامل به همراه pwd گذاشتم قکر نکنم احتیاج به تو ضیح باشه


    برگشتن به ادرس قبلی

    اگه به روش اول مثال قبل عمل کرده باشین یعنی مستقیم از Desktop به Videos رفته باشین و بخاین دوباره به Desktop برگردین از - استفاده میکنیم که مراحل کار به این شکل میشود

    alieblice@de-10:~/Videos$ cd -
    /home/alieblice/Desktop
    alieblice@de-10:~/Desktop$


    برگشتن به home دایرکتوری

    برایه این کار از ‍~ (( shift +دکمه بالایه tab )) استفاده کنین

    alieblice@de-10:~/Desktop$ cd ~
    alieblice@de-10:~$
    alieblice@de-10:~$ pwd
    /home/alieblice
    alieblice@de-10:~$


    برگشتن به 2 دایرکتوری قبل
    alieblice@de-10:~/Desktop$ cd ../..
    alieblice@de-10:/home$ pwd
    /home
    alieblice@de-10:/home$

    به طور مشابه برایه 4 دایرکتوری به این شکل در میاد
    cd ../../../../


    استفاده از tab برایه کامل کردن اسامی

    هنگامی که ادرس فایلی رو مینویسین اگه اسم دقیق یا املاش رو بلد نیستین میتونین از tab استفاده کنین مثلا در زیر تمام فایلایی که اولشون با dir شروع میشه رو لیست میکنه
    alieblice@de-10:/$ cd /home/alieblice/Desktop/dede/dire
    dire1/ dire2/ dire3/ dire4/
    alieblice@de-10:/$ cd /home/alieblice/Desktop/dede/dire1
    alieblice@de-10:~/Desktop/dede/dire1$



    دردست کردن اشتباهات به صورت اتومات به وسیله shopt -s cdspell

    به مثال زیر نگاه کنین
    بار اول کلمهی mail رو به صورت اشتباه ((mall)) مینویسیم که اررور میده و بعد از زدن دستورز
    shopt -s cdspell
    خودش به صورت اتومات غلط املایی رو حل میکنه

    # cd /etc/mall
    -bash: cd: /etc/mall: No such file or directory

    # shopt -s cdspell
    # cd /etc/mall
    # pwd
    /etc/mail
    [Note: By mistake, when I typed mall instead of mail,
    cd corrected it automatically]


    منبع :
    http://www.thegeekstuff.com/2008/10/...ip3-for-geeks/

  68. 2 کاربر از alieblice به خاطر این مطلب مفید تشکر کرده اند:


  69. #35
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور cat



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

    شکل کلی دستور
           cat [OPTION]... [FILE]...


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

    THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
    this line is the 1st lower case line in this file.
    This Line Has All Its First Character Of The Word With Upper Case.



    Tree lines above this line is empty.

    One lines above this line is empty.
    And this is the last line.



    اگه دستور cat رو به تنهایی بزنین خروجی مثل متن بالا رو نشون میده نه کم نه زیاد

    alieblice@~/Desktop$ cat sisi.txt
    THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
    this line is the 1st lower case line in this file.
    This Line Has All Its First Character Of The Word With Upper Case.



    Tree lines above this line is empty.

    One lines above this line is empty.
    And this is the last line.
    alieblice@~/Desktop$


    شماره گذاری خط ها
    خط هارو به دو صورت میشه نام گذاری کرد
    1- تمام خط ها یعنی هم خط هایه پر و هم خط هایه خالی بوسیله n-
    خط هایه خالی یعنی خط هایه 4 ,5,6,8
    مثال

    alieblice@~/Desktop$ cat -n sisi.txt
    1 THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
    2 this line is the 1st lower case line in this file.
    3 This Line Has All Its First Character Of The Word With Upper Case.
    4
    5
    6
    7 Tree lines above this line is empty.
    8
    9 One lines above this line is empty.
    10 And this is the last line.
    alieblice@~/Desktop$


    2- فقط خط هایه پر رو شماره گذاری مکند یعنی خط هایه خالی رو شماره گذاری نمیکنه بوسیله b-
    مثال:

    alieblice@~/Desktop$ cat -b sisi.txt
    1 THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
    2 this line is the 1st lower case line in this file.
    3 This Line Has All Its First Character Of The Word With Upper Case.



    4 Tree lines above this line is empty.

    5 One lines above this line is empty.
    6 And this is the last line.
    alieblice@~/Desktop$



    نشانه گذاری پایان خط ها به وسیله E-

    بوسیله این اپشن میتونین پایان هر خط رو با علامت ﷼ مشخص کنین

    alieblice@~/Desktop$ cat -E sisi.txt
    THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.$
    this line is the 1st lower case line in this file.$
    This Line Has All Its First Character Of The Word With Upper Case.$
    $
    $
    $
    Tree lines above this line is empty.$
    $
    One lines above this line is empty.$
    And this is the last line.$
    alieblice@~/Desktop$


    پاک کردن خط هایه خالی پشت سر هم بوسیله s- (( اس کوچک ))

    اگه به متنی که اول اموزش گذاشته شده توجه کنید وسط متن 3 خط خالی پشت سر هم وجود داره که اگه بخاین اونارو حذف کنین و یک خطو نگه دارین از s- استفاده کنین
    مثال :
    alieblice@~/Desktop$ cat -s sisi.txt 
    THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
    this line is the 1st lower case line in this file.
    This Line Has All Its First Character Of The Word With Upper Case.

    Tree lines above this line is empty.

    One lines above this line is empty.
    And this is the last line.
    alieblice@~/Desktop$

    همون طور که میبینین 3 خط به یک خط تبدیل شد

    نکته :
    اگه اسم چند فایلو پشت سر هم تو cat بیاریم همشونو پشت سر هم نشون میده
        cat file1 file2 file3


    چند دستور ترکیبی cat

    اگه خروجی cat اونقدر زیاده که تو صفحه ترمینالتون جا نمیشه میتونین از این اپشن استفاده کنینی
        cat file1 | less


    با دستور زیر میتونین اطلاعات FILENAME رو به فایل جدید NEWFILENAME انتقال بدین
    cat FILENAME > NEWFILENAME

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

    cat FILENAME >> NEWFILENAME


    ذخیره خروجی چندین تا فایل در یک فایل
        cat file1 file2 file3 > file4


    منابع :
    http://publib.boulder.ibm.com/infoce...xcmds1/cat.htm
    http://www.linfo.org/cat.html
    آخرین ویرایش به وسیله alieblice : جمعه 18 شهریور 1390 در 20:31 بعد از ظهر

  70. #36
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور 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/
    آخرین ویرایش به وسیله alieblice : جمعه 18 شهریور 1390 در 20:41 بعد از ظهر

  71. #37
    کاربر جدید آواتار MogsIncon
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    Brunei Darussalam
    پست
    1
    تشکر کردن
    0
    0 بار تشکر شده در 0 پست

    My blog!

    HI all! It's my new blog zxc88cxz_anchor2!

  72. #38
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور free

    دستور free



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

    با زدن خود دستور free به تنهایی خروجی شبیه زیر رو دریافت میکنین که بر اساس کیلوبایت است
    alieblice@ali:~$ free 
    total used free shared buffers cached
    Mem: 4037504 723244 3314260 0 44752 198608
    -/+ buffers/cache: 479884 3557620
    Swap: 2096124 0 2096124
    alieblice@ali:~$


    Mem = مقدار رم مصرفی شما رو با احتصاب disk caching نشون میده ((disk caching در اخر توضیح داده شده ))
    -/+ buffers/cache = مقدار رم مصرف شده برایه disk caching و مقدار رم خالی شما بدون احتصاب disk caching رو نشون میدهد
    Swap = مقدار فضایه مصرف شده از رم Swap رو نشون میده
    توضیح اپشن ها :
    = -b برایه نشون دادن بر اساس بایت است
    = -k برایه نشون دادن بر اساس کیلوبایت است
    = -m برایه نشون دادن بر اساس مگابایت است
    alieblice@ali:~$ free -m
    total used free shared buffers cached
    Mem: 3942 706 3236 0 43 193
    -/+ buffers/cache: 468 3473
    Swap: 2046 0 2046
    alieblice@ali:~$



    = -g برایه نشون دادن بر اساس گیگابایت است
    نکته : همون طور که در مثال اپشن –m میبینین مقدار رم 3942 مگابایت است ولی در حالت –g مقدار 3 رو نشون میده پس کلی نشون میده
    alieblice@ali:~$ free -g
    total used free shared buffers cached
    Mem: 3 0 3 0 0 0
    -/+ buffers/cache: 0 3
    Swap: 1 0 1
    alieblice@ali:~$


    = -s برایه خروجی گرفتن به صورت ادامه دار هستش با تعیین مدت رمان (( پشت سر هم اپدیت میشه ))
    در زیر هر 3 ثانیه خروجیمون بروز میشه
    alieblice@ali:~$ free -s 3
    total used free shared buffers cached
    Mem: 4037504 726784 3310720 0 44848 200992
    -/+ buffers/cache: 480944 3556560
    Swap: 2096124 0 2096124

    total used free shared buffers cached
    Mem: 4037504 726908 3310596 0 44848 200992
    -/+ buffers/cache: 481068 3556436
    Swap: 2096124 0 2096124

    ^C
    alieblice@ali:~$


    = -c برایه تعیین تعداد مرتبه خروجی است که حتما باید با –s بیاد
    مثال:
    در زیر 4 بار خروجی میگریم با فاصله زمانی 3 ثانیه
    alieblice@ali:~$ free -ms 3 -c 4
    total used free shared buffers cached
    Mem: 3942 711 3231 0 43 196
    -/+ buffers/cache: 471 3471
    Swap: 2046 0 2046

    total used free shared buffers cached
    Mem: 3942 711 3231 0 43 196
    -/+ buffers/cache: 471 3471
    Swap: 2046 0 2046

    total used free shared buffers cached
    Mem: 3942 711 3231 0 43 196
    -/+ buffers/cache: 471 3471
    Swap: 2046 0 2046

    total used free shared buffers cached
    Mem: 3942 711 3231 0 43 196
    -/+ buffers/cache: 471 3471
    Swap: 2046 0 2046

    alieblice@ali:~$



    = -o به صورت شکل قدیم نشون میده
    فرقش اینه که خط -/+ buffers/cache (( buffer adjusted )) رو نشون نمیده



    alieblice@ali:~$ free -o -m
    total used free shared buffers cached
    Mem: 3942 711 3231 0 43 196
    Swap: 2046 0 2046
    alieblice@ali:~$


    = -t مجموع مقداررم swap و ram سخت افزاری رو نشون میده
    نکته : اعداد خط -/+ buffers/cache رو تو جمع حساب نمیکنه
    alieblice@ali:~$ free -tm
    total used free shared buffers cached
    Mem: 3942 712 3230 0 43 196
    -/+ buffers/cache: 471 3470
    Swap: 2046 0 2046
    Total: 5989 712 5277
    alieblice@ali:~$


    مقدار واقعی مصرف رم شما
    در لینوگس 2 نوع مصرف رم داریم
    1= رمی که شما مصرف میکنین
    2= رمی که شما مصرف میکنین به همراه disk caching
    disk caching چیست ؟
    disk caching در این جا به عملی می گویند که سیستم میاد مقدار رم خالی شما (( مثلا 2.5 گیگ از 4 گیگ )) که استفاده نمیشه مقداریش رو برایه کش کردن استفاده میکنه اما به محض این که شما اون مقدار فضا (( مثلا 500 مگابایت )) یا به مقداری از اون فضا احتیاج پیدا کردین سیستم بلافاصله فضا رو برایه شما خالی میکنه . پس اختلالی در انجام کار ها پیش نمیاره و حتی باعث سریع شدن کار ها بالا رفتن سرعت لود نرم افزارها میشه .
    اگه هنوز متوجه نشدین داستان زیر رو بخونین
    و برایه دیدن تاثیرش هم ادرس زیر رو نگاه کنین
    پس برایه این که بدونین چه مقدار رم خالی دارین باید عددی که در خط -/+ buffers/cache است رو بخونین
    که در مثال زیر 3470 مگابایت است
    alieblice@ali:~$ free -tm
    total used free shared buffers cached
    Mem: 3942 712 3230 0 43 196
    -/+ buffers/cache: 471 3470
    Swap: 2046 0 2046
    Total: 5989 712 5277
    alieblice@ali:~$

    نکته :
    در دستور top مقدار رم مصرفی با احتصاب disk caching نشون داده میشه
    در دستور htop مقدار رم مصرفی بدون احتصاب disk caching محاصبه میشود
    غیر فعال کردن disk caching
    حقیقتش نمیدونم که با این کار به طور کامل از کش شدن جلو گیری میکنیم یا تا حدی جلوشو میگیریم ولی در اعداد تغییر چشم گیری ایجاد میشه
    دستور زیر رو برایه جلوگیری کردن بزنین
    Sudo echo 3 | sudo tee /proc/sys/vm/drop_caches


    حالا اگه دوباره دستور free رو بزنین میبینین که اعداد زیر ستون هایه
    shared buffers cached
    نغییر کرده است

    در ادرس زیر هم ((جلوگیری از cache شدن ram در لینوکس بطور اتوماتیک))
    http://www.forum.persianadmins.ir/sh...ad.php?t=18296

    فایل هایه مربوطه
    /proc/meminfo
    /proc/sys/vm/drop_caches


    منابع:
    http://www.forum.persianadmins.ir/sh...ad.php?t=18296
    http://www.linuxatemyram.com/

  73. کاربرانی که به خاطر مطلب مفید alieblice از وی تشکر کرده‌اند:


  74. #39
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    دستور uptime

    دستور uptime

    دستور uptime برایه دیدن مقدار مدت زمان روشن بودن سیستم استفاده میشود که در کنار اون ساعت ; تعداد کاربر و مقدار لود سیستم رو نشون میدهد
    دستور uptime اپشنی ندارد و خروجیش به شکل زیر هستش
    13:17:57 up 214 days, 2:52, 4 users, load average: 0.09, 0.03, 0.01


    یا برایه سیستم من

    alieblice@ali:~$ uptime
    22:00:58 up 13 min, 2 users, load average: 0.00, 0.06, 0.10

    13:17:57 = ساعت سیتم
    214 days, 2:52 = مدت زمان روشن بودن سیستم که اگر بیشتر از 24 ساعت شود تبدیل به روز و ساعت میشود
    load average: 0.09, 0.03, 0.01 = مقدار لود سیستم رو نشون میده که در اینجا 0.09است که از چپ به راست برایه 1, 5 و 15 دقیقه است
    load average در لینوکس بر اساس تعداد پروسس هایی که در نوبت اجرا (( run queue )) هستن محاصبه میشود که این پروسس ها میتونه مربوط به cpu ; disk I/O یا حتی network باشن
    متن زیر کامل ترشو گقته
    Load average on a Linux system is defined as the number of blocking processes in the run queue
    averaged over a certain time period. A blocking process is a process that is waiting on a resource
    to continue, usually the CPU, disk I/O, or network. Many processes waiting in the run queue
    will drive up the load average of your system. It’s not uncommon to see a load average over 1;
    that just means for the designated time interval (1, 5 or 15 minutes) there was an average of at
    least one process waiting on resources in the run queue. This is usually indicative of a busy
    system and might not necessarily mean anything is amiss. However, high load averages will
    negatively affect system performance, so it’s always a good idea to be aware of what is causing
    them. Here is the uptime output of a relatively busy web server:
    $ uptime
    1:20pm up 3 days 15:49, 1 user, load average: 1.47, 1.10, 0.83

    پیدا کردن uptime به روش هایه دیگر
    مدت زمان روشن بودن سیستم در فایل زیر نیز وجود دارد
    cat /proc/uptime
    ali@95:~$ cat /proc/uptime
    91554.73 89629.48
    ali@95:~$

    91554.73 = زمان روشن بودن سیستم بر اثاث ثانیه
    89629.48 =
    The second number is how much of that time the machine has spent idle, in seconds.[10] On multi core systems (and some linux versions) the second number is the sum of the idle time accumulated by each CPU.

    با دستور زیر هم میشه مدت زمان رو دید
    sudo ps -p 1 -o etime=


    ali@95:~$ sudo ps -p 1 -o etime=
    1-01:34:53
    ali@95:~$
    ali@95:~$ uptime
    17:17:08 up 1 day, 1:35, 2 users, load average: 0.00, 0.00, 0.00

    ali@95:~$

    با دستور top و htop هم میشه دید

    منابع:
    http://en.wikipedia.org/wiki/Uptime
    http://www.thegeekstuff.com/2011/04/...mand-examples/

  75. #40
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1387
    پست
    61
    تشکر کردن
    9
    145 بار تشکر شده در 40 پست

    shell job controls (دستور fg bg jobs nohup)

    shell job controls (دستور fg bg jobs nohup)

    منظور از shell job از کاv انداختن و راه اندازی مجدد یک پروسس یا ازبین بردن و یا به پشت صحنه بردن یک پروسس در ترمینال است

    jobs = برایه دیدن کار هایه پشت صحنه
    fg = برایه رویه صحنه اوردن کاری که در پشت صحنه است
    bg = برایه رستارت کردن کاری که در پشت صحنه است
    nohup = برایه ازبین نرفتن کاری به هنگام بستن ترمینال

    منظور از فرستادن یک کار (( پروسس )) به پشت صحنه

    فرض کنین تو ترمینال دستور firefox رو میزنین یا مثلا دستور nautilus وقتی که یکی از این دو دستور رو میزنین نرم افزار مربوطه رو صفحه ظاهر میشود و یک سری اطلاعاتی رو تو ترمینال مینویسد و عملا ترمینال رو برایه زدن دستورات دیگر غیر قابل مصرف میکند . حالا برایه این که ترمینالتون در این مواقع قابل استفاده باشد اون نرم افزار یا پروسس رو به پشت صحنه میفرستیم


    مثال:
    مراحل کار :

    اول nautilus رو اجرا میکنیم
    دوم به وسیله کلید ترکیبی Ctrl+z از کار میندازیمش و
    سوم به وسیله ی دستور bg رستارتش میکنیم تا شروع به کار کند


    alieblice@/$ sudo nautilus
    Initializing nautilus-open-terminal extension
    Initializing nautilus-gdu extension
    Initializing nautilus-image-converter extension


    ^Z
    [1]+ Stopped sudo nautilus
    alieblice@/$



    اگر الان دستور jobs رو بزنین خروجی شبیه زیر رو میبینین

    alieblice@/$ jobs
    [1]+ Stopped sudo nautilus
    alieblice@/$

    همون طور که میبینین کلمه Stopped رو نوشته که نشون از ازکار افتادن این پروسس ((در اینجا به وسیله Ctrl+z )) هست که برایه راه اندازیش از دستور bg به همراه شماره کار (پروسس) که در این جا [1] میباشد استفاده میکنیم

    alieblice@/$ bg 1
    [1]+ sudo nautilus &
    alieblice@/$

    حالا اگر دستور jobs رو بزنین میبینین که از کلمه Runnig استفاده شده است

    alieblice@/$ jobs
    [1]+ Running sudo nautilus &
    alieblice@/$

    اگر خاستین nautilus رو دوباره به رویه صحنه بیارین از fg استفاده کنین به همراه شمارش

    alieblice@/$ fg 1
    sudo nautilus

    alieblice@/$



    اجرا کردن یک پروسس که به طور خود کار به پشت صحنه برود

    برایه این کار در پایان دستورتون از حرف & استفاده کنین
    مثال:
    بعد از زدن دستور به همراه & یک بار دکمه enter رو بزنین

    alieblice@/$ sudo nautilus&
    [1] 7661
    alieblice@/$ Initializing nautilus-open-terminal extension
    Initializing nautilus-gdu extension
    Initializing nautilus-image-converter extension

    alieblice@/$


    دستور jobs
    در مورد jobs این جا کامل توضیح داده ولی چون بیشتر چیزایی که گفته بود کار نمیکرد من فقط دو تا از اپشناشو میگم
    http://publib.boulder.ibm.com/infoce...ds3%2Fjobs.htm

    همون طور که در بالا دیدین دستور jobs برایه دیدن کارهایه پشت صحنه هستش
    مثال:
    alieblice@/$ jobs
    [1]+ Running sudo nautilus &
    alieblice@/$


    توضیح چند تا از اپشن ها

    از l- برایه دیدن job number, current job, process group ID
    از p- برایه دیدن pid



    دستور nohup
    از این دستور برایه زمانی که یک پروسس رو در ترمینال ایجاد کردیم و میخایم که بابسته شدن ترمینال پروسسمون از بین نره استفاده میکنیم
    در nohup
    خروجی ها در $HOME/nohup.out
    اررور ها در خود ترمینال
    و ورودی ها :
    If standard input is a terminal, redirect it from /dev/null

    نکته : همیشه با بسته شدن ترمینال پروسس هامون از بین نمیره مثلا در مثال هایه nautilus بالا اگه nautilus پشت صحنه باشه از بین نمیره


    مثال :
    alieblice@~$ sudo nohup firefox
    nohup: ignoring input and appending output to `nohup.out'
    alieblice@~$


    نکته :
    پروسس هایی که با nohup اجرا میشن در لیست کار هایه دستور jobs نمیاد

    منابع :
    LPIC-1_In_Nutshell_Oreilly_Edition3
    http://ubuntuone.com/p/15HZ/

    http://publib.boulder.ibm.com/infoce...ds3%2Fjobs.htm
    آخرین ویرایش به وسیله alieblice : چهارشنبه 04 آبان 1390 در 17:12 بعد از ظهر

صفحه 1 از 2 12 آخرآخر

بوک مارک کردن این تاپیک

بوک مارک کردن این تاپیک

قوانین ایجاد تاپیک در تالار

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