اطلاعیه

بستن
No announcement yet.

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

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

  • آموزش دستورات لینوکس

    مقاله قبلی ممکن است برای اکثر شما بسیار مفیده بوده باشد این مقاله هم نمونه ی مشابهی از مقاله قبلی ( آموزش مقدماتی لینوکس ) میباشد با این تفاوت که مقاله اول برای تازه واردین میباشد و این مطلب برای کاربران سطح متوسطه و همچنین پیشرفته مناسب است. در این مطلب شما نحوه شخصی سازی search, اطلاع از پروسس های در حال اجرا به منظور kill کردن آنها و همچنین نحوه تغییر ترمینال لینوکس شما ( که مورد مهمی است ) و همچنین نحوه کامپایل برنامه های c, c++ و java در سیستم های لینوکس را مشاهده خواهید کرد.

    برای بزرگتر شدن عکس روی آن کلیک کنید

نام:	terminal-linux-zone-1.png
نمایش ها:	1
اندازه:	14.9 KB
شناسه:	21779


    21 - دستور find

    جستجوی فایل ها در دایرکتوری مورد نظر با دستور find انجام میشود که به صورت سلسله مراتبی از دایرکتوری پدر ( parent directory ) آغاز و تا زیر دایرکتوری ها ادامه میابد :
    کد PHP:
    root@linux-zone:~# find -name *.sh
     
    ./Desktop/load.sh
    ./Desktop/test.sh
    ./Desktop/shutdown.sh
    ./Binary/firefox/run-mozilla.sh
    ./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh
    ./Downloads/kdewebdev-3.5.8/admin/doxygen.sh
    ./Downloads/kdewebdev-3.5.8/admin/cvs.sh
    ./Downloads/kdewebdev-3.5.8/admin/ltmain.sh
    ./Downloads/wheezy-nv-install.sh 

    نکته : آپشن -name باعث میشود که جستجوی ما حساس به حروف بزرگ و کوچک باشد. شما میتوانید از آپشن -iname برای پیدا کردن موارد مورد نظر بدون دقت به بزرگ یا کوچک بودن حروف استفاده کنید. ( ستاره "*" یک wildcard میباشد و تمام فایل هایی که پسوند .sh دارند را جستجو میکند شما میتوانید نام فایل یا بخشی از آنرا برای شخصی سازی بیشتر خروجی استفاده کنید.
    کد PHP:
    root@linux-zone:~# find -iname *.SH ( find -iname *.Sh /  find -iname *.sH)
     
    ./Desktop/load.sh
    ./Desktop/test.sh
    ./Desktop/shutdown.sh
    ./Binary/firefox/run-mozilla.sh
    ./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh
    ./Downloads/kdewebdev-3.5.8/admin/doxygen.sh
    ./Downloads/kdewebdev-3.5.8/admin/cvs.sh
    ./Downloads/kdewebdev-3.5.8/admin/ltmain.sh
    ./Downloads/wheezy-nv-install.sh
    root
    @linux-zone:~
    کد PHP:
    root@linux-zone:~# find -name *.tar.gz
     
    /var/www/modules/update/tests/aaa_update_test.tar.gz
    ./var/cache/flashplugin-nonfree/install_flash_player_11_linux.i386.tar.gz
    ./home/server/Downloads/drupal-7.22.tar.gz
    ./home/server/Downloads/smtp-7.x-1.0.tar.gz
    ./home/server/Downloads/noreqnewpass-7.x-1.2.tar.gz
    ./usr/share/gettext/archive.git.tar.gz
    ./usr/share/doc/apg/php.tar.gz
    ./usr/share/doc/festival/examples/speech_pm_1.0.tar.gz
    ./usr/share/doc/argyll/examples/spyder2.tar.gz
    ./usr/share/usb_modeswitch/configPack.tar.gz 
    نکته : دستور بالا همه فایل های با پسوند tar.gz که در دایرکتوری root و همه زیر دایرکتوری های آن شامل دایوایس های mount شده هستند را جستجو میکند.

    میتوانید مثال های بیشتر دستور find را در پست زیر مطالعه کنید.
    آموزش کامل دستور Find در لینوکس به همراه 35 مثال عملی


    22 - دستور grep

    دستور grep فایل مورد نظر را برای خط هایی که با string یا کلمات داده شده match باشند را جستجو میکند به طور مثال دستور پایین فایل /etc/passwd را برای یوزر linuxzone جستجو میکند.
    کد PHP:
    root@linux-zone:~# grep linuxzone /etc/passwd
     
    linuxzone:x:1000:1000:linuxzone,,,:/home/linuxzone:/bin/bash 
    برای صرف نظر کردن از حروف بزرگ و کوچک در هر ترکیبی از آپشن -i استفاده میکنیم.
    کد PHP:
    root@linux-zone:~# grep -i LINUXZONE /etc/passwd
     
    linuxzone:x:1000:1000:linuxzone,,,:/home/linuxzone:/bin/bash 
    برای جستجو به صورت recursive از آپشن -r استفاده میکنیم ( recursive یعنی اعمال سرچ در تمام زیر دایرکتوری ها ). دستور زیر همه فایل ها را در هر دایرکتوری برای مقدار "127.0.0.1" جستجو میکند.
    کد PHP:
    root@linux-zone:~# grep -r "127.0.0.1" /etc/
     
    /etc/vlc/lua/http/.hosts:127.0.0.1
    /etc/speech-dispatcher/modules/ivona.conf:#IvonaServerHost "127.0.0.1"
    /etc/mysql/my.cnf:bind-address                   127.0.0.1
    /etc/apache2/mods-available/status.conf:    Allow from 127.0.0.1 ::1
    /etc/apache2/mods-available/ldap.conf:    Allow from 127.0.0.1 ::1
    /etc/apache2/mods-available/info.conf:    Allow from 127.0.0.1 ::1
    /etc/apache2/mods-available/proxy_balancer.conf:#    Allow from 127.0.0.1 ::1
    /etc/security/access.conf:#+ : root : 127.0.0.1
    /etc/dhcp/dhclient.conf:#prepend domain-name-servers 127.0.0.1;
    /etc/dhcp/dhclient.conf:#  option domain-name-servers 127.0.0.1;
    /etc/init/network-interface.conf:      ifconfig lo 127.0.0.1 up || true
    /etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1).
    /etc/java-6-openjdk/net.properties:# http.nonProxyHosts=localhost|127.0.0.1
    /etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1).
    /etc/java-6-openjdk/net.properties:# ftp.nonProxyHosts=localhost|127.0.0.1
    /etc/hosts:127.0.0.1         localhost 
    نکته : شما میتوانید دستورات زیر را همراه با grep استفاده کنید :
    -w : این آپشن برای جستجوی کلمات استفاده میشود. ( به طور مثال grep -w 'word1|word2' /path/tofile )
    -c : این آپشن برای شمارش استفاده میشود، در حقیقت تعداد کل دفعاتی که یک پترن در یک فایل وجود دارد را میشمارد. ( به طور مثال grep -c ‘word‘ /path/to/file )
    -color : برای نمایش خروجی به صورت رنگی از این آپشن استفاده میشود. ( به طور مثال grep –color server /etc/passwd )

    توصیه میشود مطالعه کنید :
    دستور grep در لینوکس به همراه 12 مثال عملی


    23 - دستور man

    دستور man در حقیقت نمایش دهنده صفحات manual سیستم میباشد. man داکیومنت های آنلاین را با تمام آپشن های ممکن در یک کامند و کاربرد آنها را توضیح میدهد. اغلب برای همه دستورات صفحه manual مربوطه موجود است به طور مثال :
    کد PHP:
    root@linux-zone:~# man man
     
    MAN(1)                                                                Manual pager utils                                                               MAN(1)
     
    NAME
    man 
    an interface to the on-line reference manuals
     
    SYNOPSIS
           man  
    [-C  file]  [-d]  [-D]  [--warnings[=warnings]]  [-R   encoding]  [-L  locale]  [-m  system[,...]]  [-M  path]  [-list] [-e  extension] [-i|-I]
           [--
    regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P  pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation]  [--no-justification]  [-p
    string
    ] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] [[sectionpage ...] ...
    man -[apropos optionsregexp ...
    man -[-w|-W] [-list] [-i|-I] [--regex] [sectionterm ...
    man -[whatis optionspage ...
    man -[-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L  locale] [-P pager] [-r prompt] [-7] [-E encoding] [-p string] [-t]  [-T[device]]
           [-
    H[browser]] [-X[dpi]] [-Zfile ...
    man -w|-[-C file] [-d] [-Dpage ...
    man -[-C file] [-d] [-Dpage ...
    man [-hV
    در بالا صفحه manual برای خود دستور man را مشاهده میکنید که شبیه به man cat میباشد. ( صفحه manual برای دستور cat ) و همچنین man ls که صفحه manual دستور ls میباشد.

    نکته : صفحه man به منظور آموزش و مرجع دستورات در لینوکس تعبیه شده است.


    24 - دستور ps

    ps ( مخفف process ) وضعیت پروسه در حال اجرا را به همراه یک id یونیک به نام PID به ما نمایش میدهد.
    کد PHP:
    root@linux-zone:~# ps
     
     
    PID TTY          TIME CMD
     4170 pts
    /1    00:00:00 bash
     9628 pts
    /1    00:00:00 ps 

    برای لیست کردن وضعیت همه پراسس ها به همراه process id و PID از آپشن -A استفاده میکنیم.
    کد PHP:
    root@linux-zone:~# ps -A
     
     
    PID TTY          TIME CMD
     
    ?        00:00:01 init
     
    ?        00:00:00 kthreadd
     
    ?        00:00:01 ksoftirqd/0
     
    ?        00:00:00 kworker/0:0H
     
    ?        00:00:00 kworker/u:0H
     
    ?        00:00:00 migration/0
     
    ?        00:00:00 rcu_bh
    .... 
    نکته : این دستور برای اطلاع پیدا کردن از اینکه چه process هایی در حال اجرا هستند و همچنین گاهی اوقات اطلاع از PID انها و همچنین برای kill کردن یک پراسس، بسیار مفید است. شما میتوانید آنرا با دستور grep برای یافتن خروجی مورد نظرتان نیز استفاده کنید. به طور مثال :
    کد PHP:
    root@linux-zone:~# ps -A | grep -i ssh
     
    1500 ?        00:09:58 sshd
    4317 
    ?        00:00:00 sshd 
    در مثال بالا ps به دستور grep پایپ "|" شده تا خروجی مربوطه و مورد نظر با توجه به نیازمان را جستجو کنیم.


    25 - دستور kill

    شما از نام این دستور فهمیده اید که این دستور به چه منظوری استفاده میشود. از این دستور برای kill کردن process ها استفاده میشود. این دستور بسیار بسیار مفید است، شما با restart کردن مکرر ویندوز به دلیل این حقیقت که اکثر مواقع یک پروسس در حال اجرا را نمیتوان kill کرد و یا برای kill شدنش نیاز به restart ویندوز به منظور اعمال تغییرات آشنا هستید اما در دنیای لینوکس چنین مواردی وجود ندارد شما میتوانید یک پراسس را kill کنید و مجددا آنرا را بدون نیاز به ریستارت کردن کل سیستم، اجرا کنید.

    برای kill کردن یک دستور شما به pid آن process نیاز دارید. فرض میکنیم شما میخواهید برنامه apache2 که با مشکل رو به رو شده را kill کنید. ابتدا دستور ps -a را بهمراه grep اجرا کنید.
    کد PHP:
    root@linux-zone:~# ps -A | grep -i apache2
     
    1285 ?        00:00:00 apache2 
    در اینجا شما پراسس apache2 را خواهید دید، به pid ان دقت کنید و آنرا kill کنید. در اینجا pid مربوط به apache2 در سیستم من 1285 میباشد.
    کد PHP:
    root@linux-zone:~# kill 1285 (to kill the process apache2) 
    نکته : هر زمان که شما یک process را دوباره اجرا کنید و یا سیستم را restart کنید یک pid جدید برای هر پراسس ایجاد میشود و همچنین شما میتوانید درباره process های جاری و pid انها با استفاده از دستور ps اطلاعات لازم را کسب کنید.
    کد PHP:
    root@linux-zone:~# pkill apache2 
    نکته : دستور kill برای ارسال سیگنال ها نیاز به job id / process id دارد، در حالیکه در دستور pkill شما یک آپشنی برای استفاده از پترن مشخص کردن owner یک پراسس و غیره دارد.

    توصیه میشود مطالعه کنید :
    آموزش نحوه پیداکردن پروسس در حال اجرا و kill کردن آن در لینوکس


    26 - دستور whereis

    دستور whereis برای پیدا کردن مکان باینری، سورس ها و صفحات man یک دستور مورد استفاده قرار میگیرد. برای مثال برای پیدا کردن مکان باینری، سورس ها و صفحه man دستور ls و kill به موارد زیر توجه کنید.
    کد PHP:
    root@linux-zone:~# whereis ls 
     
    ls: /bin/ls /usr/share/man/man1/ls.1.gz 
    کد PHP:
    root@linux-zone:~# whereis kill
     
    kill: /bin/kill /usr/share/man/man2/kill.2.gz /usr/share/man/man1/kill.1.gz 
    نکته : این دستور برای اطلاع از مکانی که باینری ها نصب شده اند ( گاهی برای ویرایش دستی ) مفید است.


    27 - دستور service

    دستور service برای کنترل کردن وضعیت های یک سرویس، start, stop و restart کردن آن مورد استفاده قرار میگیرد. این دستور امکان start, stop و restart کردن یک سرویس را برای اعمال تغییرات لحاظ شده، بدون ریستارت کردن کل سیستم مهیا میکند.

    Start کردن یک سرور Apache2 روی Ubuntu
    کد PHP:
    root@linux-zone:~# service apache2 start
    Starting web server apache2                                                                                                                                   apache2Could not reliably determine the server's fully  qualified domain name, using 127.0.1.1 for ServerName
    httpd (pid 1285) already running                        [ OK ] 
    Restart کردن یک سرور Apache2 روی Ubuntu

    کد PHP:
    root@linux-zone:~# service apache2 restart
    Restarting web server apache2                                                                                                                                 apache2Could not reliably determine the server's fully  qualified domain name, using 127.0.1.1 for ServerName
    ... waiting .apache2: Could not reliably determine the server'
    s fully  qualified domain nameusing 127.0.1.1 for ServerName  OK 
    Stop کردن یک سرور Apache2 روی Ubuntu
    کد PHP:
    root@linux-zone:~# service apache2 stop
    Stopping web server apache2                                                                                                                                   apache2Could not reliably determine the server's fully  qualified domain name, using 127.0.1.1 for ServerName
    ... waiting                                                                   [ OK ] 
    نکته : همه اسکریپت های process در /etc/init.d/ قرار دارند و این مسیر ممکن است روی سیستم های خاص نیاز به include شدن داشته باشد. به طور مثال به منظور اجرا کردن service apache2 start شما باید دستور /etc/init.d/apache2 start را اجرا کنید.

    28 - دستور alias

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

    من دستور ls -l را خیلی زیاد استفاده میکنم که با احتساب space وسط آن 5 کاراکتر میشود میتوانم alias با نام "l" برای این منظور ایجاد کنم.
    کد PHP:
    root@linux-zone:~# alias l='ls -l' 
    بررسی کنید آیا الیاسی که ساختیم کار میکند یا خیر.
    کد PHP:
    root@linux-zone:~# l
     
    total 36 
    drwxr
    -xr-x 3 linuxzone linuxzone 4096 May 10 11:14 Binary 
    drwxr
    -xr-x 3 linuxzone linuxzone 4096 May 21 11:21 Desktop 
    drwxr
    -xr-x 2 linuxzone linuxzone 4096 May 21 15:23 Documents 
    drwxr
    -xr-x 8 linuxzone linuxzone 4096 May 20 14:56 Downloads 
    drwxr
    -xr-x 2 linuxzone linuxzone 4096 May  7 16:58 Music 
    drwxr
    -xr-x 2 linuxzone linuxzone 4096 May 20 16:17 Pictures 
    drwxr
    -xr-x 2 linuxzone linuxzone 4096 May  7 16:58 Public 
    drwxr-xr-x 2 linuxzone linuxzone 4096 May  7 16:58 Templates 
    drwxr
    -xr-x 2 linuxzone linuxzone 4096 May  7 16:58 Videos 
    برای حذف alias ایجاد شده "l" از دستور unalias زیر استفاده کنید.
    کد PHP:
    root@linux-zone:~# unalias l 
    بررسی کنید که ایا "l" همچنان alias میشود یا خیر :
    کد PHP:
    root@linux-zone:~# l
     
    bashlcommand not found 
    میتوانید کمی با این دستور سرگرم شوید و نام دستورات خاص را با دستورات مهم دیگر alias کنید.

    کد PHP:
    alias cd='ls -l' (set alias of ls -l to cd)
    alias su='pwd' (set alias of pwd to su)
    ....
    (
    You can create your own)
    .... 
    اکنون وقتی دوست شما cd را تایپ میکنند بسیار جالب است که او تنها لیست دایرکتوری ها را دریافت میکند و به دایرکتوری وارد نمیشود و زمانی که تلاش میکند با su لاگین کند تنها مسیر دایرکتوری جاری را دریافت میکند. شما میتوانید بعدا این alias ها را با استفاده از دستور unalias همانطور که در بالا گفته شد حذف کنید.


    29 - دستور df

    دستور df میزان استفاده فایل سیستم از Disk را گزارش میکند. این دستور برای کاربران و مدیران سیستم برای اطلاع از میزان استفاده از دیسک شان بسیار مفید است. df با مشخص کردن کل دایرکتوری کار میکند که عموما تنها زمانیکه یک فایل بسته میشود خودش را آپدیت میکند.
    کد PHP:
    root@linux-zone:~# df
     
    Filesystem     1K-blocks    Used Available Use% Mounted on
    /dev/sda1       47929224 7811908  37675948  18% /
    none                   4       0         4   0% /sys/fs/cgroup
    udev             1005916       4   1005912   1
    % /dev
    tmpfs             202824     816    202008   1
    % /run
    none                5120       0      5120   0
    % /run/lock
    none             1014120     628   1013492   1
    % /run/shm
    none              102400      44    102356   1
    % /run/user
    /dev/sda5         184307   79852     94727  46% /boot
    /dev/sda7       95989516   61104  91045676   1% /data
    /dev/sda8       91953192   57032  87218528   1% /personal 
    برای مثال های بیشتر توصیه میشود پست زیر را در مورد df مطالعه کنید.
    دستور df برای بررسی فضای دیسک در لینوکس


    30 - دستور du

    دستور du برای تخمین زدن فضای مصرفی فایل از این دستور استفاده میشود که خلاصه مصرف دیسک توسط هر فایل و همچنین به صورت سلسله مراتبی به شیوه ای recursive گونه ( با احتساب تمام زیر دایرکتوری ها ) را خروجی میدهد.
    کد PHP:
    root@linux-zone:~# du
     
    8       ./Daily Pics/wp-polls/images/default_gradient
    8       
    ./Daily Pics/wp-polls/images/default
    32      ./Daily Pics/wp-polls/images
    8       
    ./Daily Pics/wp-polls/tinymce/plugins/polls/langs
    8       
    ./Daily Pics/wp-polls/tinymce/plugins/polls/img
    28      
    ./Daily Pics/wp-polls/tinymce/plugins/polls
    32      
    ./Daily Pics/wp-polls/tinymce/plugins
    36      
    ./Daily Pics/wp-polls/tinymce
    580     
    ./Daily Pics/wp-polls
    1456    
    ./Daily Pics
    36      
    ./Plugins/wordpress-author-box
    16180   
    ./Plugins
    12      
    ./May Articles 2013/Xtreme Download Manager
    4632    
    ./May Articles 2013/XCache 
    نکته : df تنها آمار مصرف روی فایل سیستم ها را گزارش میدهد در حالیکه du محتوای دایرکتوری ها را اندازه میگیرد.

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


    31 - دستور rm

    دستور rm مخفف remove است و برای حذف فایل ها و دایرکتوریها استفاده میشود.

    حذف یک دایرکتوری
    کد PHP:
    root@linux-zone:~# rm PassportApplicationForm_Main_English_V1.0
     
    rmcannot remove `PassportApplicationForm_Main_English_V1.0': Is a directory 
    دایرکتوری نمیتواند به آسانی و تنها با دستور rm حذف شود شما باید از آپشن -rf به همراه دستور rm استفاده کنید.
    کد PHP:
    root@linux-zone:~# rm -rf PassportApplicationForm_Main_English_V1.0 
    هشدار : کامند rm -rf درصورتی که به صورت تصادفی و برای یک دایرکتوری اشتباهی استفاده شود یک دستور مخرب است. به محض اینکه شما برای یک دایرکتوری شما دستور rm -rf را استفاده کنید تمامی فایل ها و دایرکتوری های موجود و حتی خود دایرکتوری به طور ناگهان و برای همیشه از بین خواهد رفت. همیشه این دستور را با احتیاط استفاده کنید.


    32 - دستور echo

    دستور echo همانطور که از نامش پیداست یک متن را در standard output چاپ ( echo ) میکند. این دستور هیچ کاری ندارد که با shell انجام دهد و همچنین shell هم خروجی دستور echo را نمیخواند به هر حال این دستور یک اسکریپت تعاملی میباشد. echo پیغام را به کاربر از طریق ترمینال پاس میدهد. و این دستور یکی از دستوراتی است که به صورت رایج در اسکریپت نویسی به خصوص اسکریپت های interactive مورد استفاده قرار میگیرد.
    کد PHP:
    root@linux-zone:~# echo "linux-zone.org/forums is a very good website"
     
    linux-zone.org/forums is a very good website 
    ایجاد یک اسکریپت interactive ( تعاملی )

    1 . فایلی با نام interactive_shell.sh در دسکتاپ ایجاد کنید. ( به خاطر داشته باشید که پسوند .sh حتما باید استفاده شود )
    2 . متن زیر را در ان کپی کنید و دقت کنید که دقیقا همانند زیر باشد.
    کد PHP:
    #!/bin/bash 
    echo "Please enter your name:" 
    read name 
    echo "Welcome to Linux $name
    سپس permission اجرایی را روی آن set کنید و اسکریپت را اجرا کنید.
    کد PHP:
    root@linux-zone:~# chmod 777 interactive_shell.sh
    root@linux-zone:~# ./interactive_shell.sh
     
    Please enter your name:
    Ravi Saive
    Welcome to Linux Ravi Saive 
    نکته :
    ‘#!/bin/bash‘ به شل میگوید که این فایل یک اسکریپت است و همیشه در اولین خط اسکریپت استفاده میشود. آپشن "read" در اسکرپیت بالا ورودی داده شده را میخواند.

    توصیه میشود مقاله زیر را هم مطالعه کنید :
    دستور echo در لینوکس بهمراه 15 مثال عملی


    33 - دستور passwd

    دستور passwd یکی از دستورات مهم است و برای تغییر پسورد خودتان در ترمینال استفاده میشود. شما برای استفاده از این دستور شما باید پسورد جاری خودتان را به دلایل امنیتی بدانید.
    کد PHP:
    root@linux-zone:~# passwd 
     
    Changing password for linuxzone.
    (
    currentUNIX password: ******** 
    Enter new UNIX password: ********
    Retype new UNIX password: ********
    Password unchanged   [Here was passowrd remians unchangedi.e., new password=old password]
    Enter new UNIX password#####
    Retype new UNIX password:##### 

    34 - دستور lpr

    این دستور فایل نام برده را با استفاده از کامند لاین و printer مذکور پرینت میکند.
    کد PHP:
    root@linux-zone:~# lpr -P deskjet-4620-series 1-final.pdf 
    نکته : دستور lpq به شما امکان مشاهده وضعیت یک پرینتر ( آیا up هست یا نیست؟ ) و همچنین فایل هایی که منتظر پرینت شدن هستند را میدهد.


    35 - دستور cmp

    دستور cmp دو فایل از هر نوع را مقایسه کرده و نتیجه را در standard output مینویسد. به صورت پیش فرض cmp در صورتی که فایل ها یکسان باشد عدد "0" را برمیگرداند و اگر با هم متفاوت باشند بایت و شماره خطی که اولین تفاوت در آن رخ داده را گزارش میکند.

    برای نشان دادن مثال برای این دستور دو فایل زیر را در نظر بگیرید.

    file1.txt
    کد PHP:
    root@linux-zone:~# cat file1.txt
     
    Hi My name is linuxzone 

    file2.txt
    کد PHP:
    root@linux-zone:~# cat file2.txt
     
    Hi My name is linuxzone [dotcom 
    اکنون دو فایل را مقایسه کرده و خروجی دستور را میبینید.
    کد PHP:
    root@linux-zone:~# cmp file1.txt file2.txt 
     
    file1.txt file2.txt differbyte 15line 1 

    36 - دستور wget

    wget یک ابزار رایگان برای دانلود های غیر تعاملی ( بدون نیاز به yes و no ) از فایل ها در وب سایت ها میباشد. این دستور از پروتکل های HTTP, HTTPS, FTP و پراکسی های HTTP پشتیبانی میکند.

    دانلود ffmpeg با استفاده از wget
    کد PHP:
    root@linux-zone:~# wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
     
    --2013-05-22 18:54:52--  http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
    Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
    Connecting to downloads
    .sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
    HTTP request sentawaiting response... 302 Found
    Location
    http://kaz.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2 [following]
    --2013-05-22 18:54:54--  http://kaz.dl.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
    Resolving kaz.dl.sourceforge.net (kaz.dl.sourceforge.net)... 92.46.53.163
    Connecting to kaz
    .dl.sourceforge.net (kaz.dl.sourceforge.net)|92.46.53.163|:80... connected.
    HTTP request sentawaiting response... 200 OK
    Length
    275557 (269K) [application/octet-stream]
    Saving to‘ffmpeg-php-0.6.0.tbz2’
     
    100
    %[===========================================================================>] 2,75,557    67.8KB/s   in 4.0s   
     
    2013
    -05-22 18:55:00 (67.8 KB/s) - ‘ffmpeg-php-0.6.0.tbz2’ saved [275557/275557
    توصیه میشود مطالعه کنید :
    دستور wget (دانلودر فایل در linux)


    37 - دستور mount

    mount یک دستور مهم است که برای مانت کردن یک فایل سیستم که خودش mount نشده استفاده میشود. شما برای mount کردن یک دیوایس نیاز به پرمیژن root دارید.

    ابتدا lsblk را اجرا کنید تا فایل سیستم مورد نظرتان را تشخیص و نام اختصاص یافته به آن را مشاهده و پیدا کنید.
    کد PHP:
    root@linux-zone:~# lsblk 
     
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT 
    sda      8
    :0    0 931.5G  0 disk 
    ├─sda1   8
    :1    0 923.6G  0 part 
    ├─sda2   8:2    0     1K  0 part 
    └─sda5   8
    :5    0   7.9G  0 part [SWAP
    sr0     11:0    1  1024M  0 rom  
    sdb      8
    :16   1   3.7G  0 disk 
    └─sdb1   8
    :17   1   3.7G  0 part 
    از این صفحه مشخص است که من یک pendrive 4 GIG را استفاده کردم در نتیجه sdb1 فایل سیستمم است که باید mount شود. برای اجرای این عملیات باید ابتدا با کاربر root لاگین شد و به دایرکتوری /dev رفته که تمامی فایل سیستم ها در آن مانت شده اند.
    کد PHP:
    root@linux-zone:~# su
    Password:
    root@linux-zone:~# cd /dev 
    یک دایرکتوری با هر نامی ایجاد کنید اما بهتر است که با نام دیوایس مربوطه همخوانی داشته باشد.
    کد PHP:
    root@linux-zone:~# mkdir usb 
    اکنون فایل سیستم sdb1 را به دایرکتوری usb مانت کنید.
    کد PHP:
    root@linux-zone:~# mount /dev/sdb1 /dev/usb 
    حالا شما میتوانید در ترمینال و یا محیط گرافیکی ( x-windows system ) به مسیر /dev/usb رفته و به فایل های از طریق دایرکتوری mount شده دسترسی داشته باشید.


    38 - دستور gcc

    gcc کامپایلر درونی زبان c در محیط لینوکس است. در زیر یک برنامه ساده c را مشاهده میکنید، آنرا در دسکتاپ تان با نام hello.c ذخیره کنید. ( به خاطر داشته باشید پسوند .c ضروری میباشد )
    کد PHP:
    #include <stdio.h>
    int main()
    {
    printf("Hello world\n");
    return 
    0;


    آنرا compile کنید :
    کد PHP:
    root@linux-zone:~# gcc Hello.c 

    آنرا اجرا کنید :
    کد PHP:
    root@linux-zone:~# ./a.out 
     
    Hello world 

    نکته : در کامپایل کردن یک برنامه c خروجی به صورت اتوماتیک در یک فایل جدید به نام a.out ایجاد میشود و هر زمانی که شما یک برنامه c را کامپایل کنید همان فایل a.out تغییر میکند. البته این یک نصیحت خوبی است که در طول کامپایل کردن یک خروجی تعریف کنید و ریسک overwrite شدن خروجی روی فایل قبلی را نداشته باشید.


    آنرا به این صورت کامپایل کنید
    کد PHP:
    root@linux-zone:~# gcc -o Hello Hello.c 
    در اینجا -o خروجی را به فایل hello ( و نه به فایل a.out ) ارسال میکند. برنامه را دوباره اجرا کنید.
    کد PHP:
    root@linux-zone:~# ./Hello 
     
    Hello world 


    39 - دستور g++

    دستور g++ یک کامپایلر درونی برای c++ ( اولین زبان برنامه نویسی object oriented ) میباشد. در زیر یک برنامه ساده c++ مشاهده میکنید، آنرا در فایل add.cpp و روی دسکتاپ تان ذخیره کنید. ( دقت کنید پسوند .cpp ضروری میباشد )
    کد PHP:
    #include <iostream>
     
    using namespace std;
     
    int main() 
        {
    int a;
    int b;
    cout<<"Enter first number:\n";
    cin>> a;
    cout<<"Enter the second number:\n";
    cin>> b;
    cin.ignore();
    int result b;
    cout<<"Result is"<<"  "<<result<<endl;
    cin.get();
    return 
    0;
         } 

    آنرا compile کنید :
    کد PHP:
    root@linux-zone:~# g++ Add.cpp 

    آنرا اجرا کنید :
    کد PHP:
    root@linux-zone:~# ./a.out
     
    Enter first number
    ...
    ... 
    نکته : در کامپایل کردن یک برنامه c++ خروجی به صورت اتوماتیک در فایل جدید a.out ایجاد میشود. و هر زمانی که شما یک برنامه c++ را کامپایل کنید همان فایل a.out تغییر میکند. البته این یک نصیحت خوبی است که در طول کامپایل کردن یک خروجی تعریف کنید و ریسک overwrite شدن خروجی روی فایل قبلی را نداشته باشید.

    آنرا به این صورت compile کنید :
    کد PHP:
    root@linux-zone:~# g++ -o Add Add.cpp 
    آنرا اجرا کنید :
    کد PHP:
    root@linux-zone:~# ./Add 
     
    Enter first number
    ...
    ... 

    40 - دستور java

    جاوا یکی از پراستفاده از زبان های برنامه نویسی در سطح جهان است و سریع، امن و قابل اعتماد در نظر گرفته میشود. اکثر سرویس های بر پایه وب امروزه روی جاوا راه اندازی میشوند. یک برنامه ساده java را با past کردن متن زیر درون یک فایل ایجاد کنید. نام آنرا linuxzone.java بگذارید. ( دقت کنید که حتما از پسوند .java استفاده کنید )
    کد PHP:
    class linuxzone{
    public static 
    void main(String[] arguments) {
    System.out.println("Linuxzone");
      }

    آنرا با استفاده از javac کامپایل کنید :
    کد PHP:
    root@linux-zone:~# javac linuxzone.java 
    آنرا اجرا کنید :
    کد PHP:
    root@linux-zone:~# java linuxzone 
    نکته : اگر چه هر توزیع لینوکسی کامپایلر gcc را به صورت پیش فرض در خود دارند توزیع های سرشمار دیگری هم هستند که کامپایلرهای java و c++ را به صورت پیش فرض دارند. البته بعضی از توزیع ها هم ممکن است نداشته باشند. شما میتوانید با استفاده از apt یا yum پکیج های مورد نیاز را نصب کنید.

    فراموش نکنید که نظرات ارزشمند خود را درباره این پست با ما درمیان بگذارید. به زودی با موضوعات جالب دیگر و حقایق کمتر مطرح شده درباره لینوکس برمیگردیم.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 10-02-2017, 09:15 PM.
    Telegram : https://telegram.me/linuxzone

    voip trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : http://www.linkedin.com/profile/view...15&trk=spm_pic
در حال انجام ...
X
کانال تلگرام منطقه لینوکسی ها