اطلاعیه

بستن
No announcement yet.

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

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

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

    آیا شما می خواهید از ویندوز به لینوکس سوئیچ کنید؟ و شاید در حال استفاده از لینوکس بعنوان یک مبتدی باشید. زمانی که من در linux یک تازه کار بودم، ترمینال و دستورات لینوکس واقعا برایم ترسناک بودند و همیشه از اجرای دستورات می ترسیدم و مجبور به حفظ کردن انها بودم تا بتوانم از لینوکس بطور کاربردی استفاده کنم. بدون شک داکیومنت های آنلاین، کتاب ها، man page ها و انجمن های کاربری تا حد زیادی به من کمک کردند اما من به شدت اعتقاد داشتم که یک مقاله ی آسان و با زبانی ساده با جزئیات کامل از دستورات باید وجود داشته باشد. این قضیه به من در master شدن در لینوکس انگیزه داد و باعث شد لینوکس را به ساده ترین روش ممکن استفاده کنم. در این مقاله من در راستای هدف بالا پیش رفتم.

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

نام:	terminal-linux-zone-org-forums-1.jpg
نمایش ها:	2
اندازه:	18.2 KB
شناسه:	21780

    همچنین توصیه میشود مطالعه کنید :
    آموزش دستورات ترمینال لینوکس بخش اول : 20 دستور ابتدایی برای کاربران سطح مبتدی در لینوکس
    آموزش دستورات ترمینال لینوکس بخش دوم : 20 دستور پیشرفته برای کاربران سطح متوسط لینوکس
    آموزش دستورات ترمینال لینوکس بخش سوم : 20 دستور پیشرفته برای کاربران حرفه ای در لینوکس


    1. دستور ls

    دستور ls که مخفف List Directory Contents برای لیست کردن محتویات یک folder است که می تواند شامل فایل یا فولدرهای دیگری باشد :
    کد PHP:
    root@linuxzone:~# ls
     
    Android-Games                     Music
    Pictures                          
    Public
    Desktop                           linux-zone.org
    Documents                         linu
    -zone-Sync
    Downloads                         Templates 
    دستور ls -–l محتویات پوشه را با اطلاعات جزئی تری (مد long listing) لیست می کند.
    کد PHP:
    root@linuxzone:~# ls -l
     
    total 40588
    drwxrwxr
    -x 2 ravisaive ravisaive     4096 May  8 01:06 Android Games
    drwxr
    -xr-x 2 ravisaive ravisaive     4096 May 15 10:50 Desktop
    drwxr
    -xr-x 2 ravisaive ravisaive     4096 May 16 16:45 Documents
    drwxr
    -xr-x 6 ravisaive ravisaive     4096 May 16 14:34 Downloads
    drwxr
    -xr-x 2 ravisaive ravisaive     4096 Apr 30 20:50 Music
    drwxr
    -xr-x 2 ravisaive ravisaive     4096 May  9 17:54 Pictures
    drwxrwxr
    -x 5 ravisaive ravisaive     4096 May  3 18:44 linux-zone.org
    drwxr
    -xr-x 2 ravisaive ravisaive     4096 Apr 30 20:50 Templates 
    دستور ls –-a محتویات پوشه را شامل فایل های hidden (مخفی) که با دات "." شروع می شوند نیز لیست می کند.
    کد PHP:
    root@linuxzone:~# ls -a
     
    .                      .gnupg                 .dbus                  .goutputstream-PI5VVW          .mission-control
    .adobe                  deja-dup                .grsync                 .mozilla                         .themes
    .gstreamer-0.10         .mtpaint                .thumbnails             .gtk-bookmarks                  .thunderbird
    .HotShots               .mysql_history          .htaccess            .apport-ignore.xml              .ICEauthority           
    .profile                .bash_history           .icons                  .bash_logout                    .fbmessenger
    .jedit                  .pulse                  .bashrc                 .liferea_1.8                     .pulse-cookie            
    .Xauthority            .gconf                  .local                  .Xauthority.HGHVWW           .cache
    .gftp                   .macromedia             .remmina                .cinnamon                       .gimp-2.8
    .ssh                    .xsession-errors      .compiz                 .gnome                          teamviewer_linux.deb          
    .xsession-errors.old   .config                 .gnome2                 .zoncolor 
    نکته : در لینوکس نام فایل مخفی (hidden) با "." شروع می شود. در لینوکس هر فایل، فولدر، دیوایس، دستور در حقیقت همگی یک فایل هستند. همانطور که در خروجی دستور ls -l میبینید:
    • d مخفف دایرکتوری است.
    • Rwxr-xr-x پرمیشن فایل /فولدر برای owner ،group، و Other است.
    • اولین ستون ravisaive به این معنی است که این فایل متعلق به user است.
    • دومین ravisaive به این معنی است که این فایل متعلق به user group است.
    • 4096 به معنای حجم فایل بر حسب بایت است.
    • May 8 01:06 تاریخ و زمان آخرین تغییرات است.
    • و در انتها نام فایل می باشد.


    برای آشنایی با مثالهای بیشتر توصیه میشود پست زیر را نیز مطالعه کنید : آموزش دستور ls در لینوکس


    2. دستور lsblk

    Lsblk مخفف List Block Devices، بلاک دیوایس ها را براساس نامشان (اما نه RAM) بر روی خروجی استاندارد به صورت درختی چاپ می کند.
    کد PHP:
    root@linuxzone:~# lsblk
     
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8
    :0    0 232.9G  0 disk 
    ├─sda1   8
    :1    0  46.6G  0 part /
    ├─sda2   8:2    0     1K  0 part 
    ├─sda5   8
    :5    0   190M  0 part /boot
    ├─sda6   8
    :6    0   3.7G  0 part [SWAP]
    ├─sda7   8:7    0  93.1G  0 part /data
    └─sda8   8
    :8    0  89.2G  0 part /personal
    sr0     11
    :0    1  1024M  0 rom 
    دستور lsblk –-l ، بلاک دیوایس ها را با ساختار list (نمایش جزئیات بیشتر) لیست می کند(بدون نمایش درختی).
    کد PHP:
    root@linuxzone:~# lsblk -l
     
    NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda    8
    :0    0 232.9G  0 disk 
    sda1   8
    :1    0  46.6G  0 part /
    sda2   8:2    0     1K  0 part 
    sda5   8
    :5    0   190M  0 part /boot
    sda6   8
    :6    0   3.7G  0 part [SWAP]
    sda7   8:7    0  93.1G  0 part /data
    sda8   8
    :8    0  89.2G  0 part /personal
    sr0   11
    :0    1  1024M  0 rom 
    نکته : دستور lsblk راهی بسیار مفید و آسان برای پیدا کردن نام new Usb Device که به سیستم وصل کردید می باشد خصوصا زمانی که شما مجبورید با disk/block در ترمینال کار کنید.


    3. دستور md5sum

    Md5sum مخفف Compute and Check MD5 Message Digest است. Md5 checksum (عموما hash نامیده میشود) برای بررسی صحت فایل هایی که در نتیجه ی یک انتقال خراب فایل ، disk error و یا یک اینترفیس غیر بدافزار (non-malicious) ،تغییر پیدا کرده اند بکار می رود.
    کد PHP:
    root@linuxzone:~# md5sum teamviewer_linux.deb 
     
    47790ed345a7b7970fc1f2ac50c97002  teamviewer_linux.deb 
    نکته : کاربر می تواند md5sum ایجاد شده را با یک md5sum رسمی مچ کند. md5sum از sha1sum امنیت کمتری دارد که بعدا در مورد آن بحث خواهیم کرد.


    4. دستور dd

    دستور dd (بمنظور convert & copy a file) را می توان برای تبدیل و کپی یک فایل و بیشتر اوقات برای کپی کردن یک فایل iso (و یا هر فایل دیگری) به یک دیوایس usb بکار میرود، بنابراین می تواند برای ایجاد یک bootable Usb استفاده شود.
    کد PHP:
    root@linuxzone:~# dd if=/home/user/Downloads/debian.iso of=/dev/sdb1 bs=512M; sync 
    نکته : در مثال بالا دیوایس usb به عنوان sdb1 شناخته شده است (شما باید با استفاده از دستور lsblk آنرا تشخیص دهید)، نام دیسک را با احتیاط استفاده کنید.

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

    توصیه میشود مطالعه کنید : آموزش دستور dd در لینوکس


    5. دستور uname

    دستور uname مخفف unix name است، که اطلاعات جزیی را در باره ی نام ماشین و سیستم عامل و کرنل چاپ می کند.
    کد PHP:
    root@linuxzone:~# uname -a
     
    Linux linuxzone 3.8.0-19-generic #30-Ubuntu SMP Wed May 1 16:36:13 UTC 2013 i686 i686 i686 GNU/Linux 
    نکته : uname نوع کرنل را نشان می دهد. uname –a اطلاعات جزئی تری را نشان می دهد.

    توضیح خروجی uname –a به صورت زیر است :
    Linux : نام کرنل است.
    linuxzone : نام ماشین است.
    3.8.0-19-generic: ریلیز کرنل.
    “#30-Ubuntu SMP : ورژن کرنل
    “i686“ : معماری پردازشگر cpu
    “GNU/Linux“ : نام سیستم عامل.

    توصیه میشود مطالعه کنید : 10 دستور مفید برای جمع آوری اطلاعات سخت افزاری و نرم افزاری لینوکس


    6. دستور history

    دستور history مخفف history (Event) records است که تاریخچه ی لیست طولانی دستورات اجرا شده را در ترمینال چاپ می کند.
    کد PHP:
    root@linuxzone:~# history
     
      
    sudo add-apt-repository ppa:tualatrix/ppa
      sudo apt
    -get update
      sudo apt
    -get install ubuntu-tweak
      sudo add
    -apt-repository ppa:diesch/testing
      sudo apt
    -get update
      sudo apt
    -get install indicator-privacy
      sudo add
    -apt-repository ppa:atareao/atareao
      sudo apt
    -get update
      sudo apt
    -get install my-weather-indicator
      pwd
      cd 
    && sudo cp -r unity//usr/share/unity/
      
    cd /usr/share/unity/icons/
      
    cd /usr/share/unity 
    نکته : دکمه های Ctrl+R را فشار دهید و دستورا ت قبلی اجرا شده ی خود را جستجو کنید که به شما اجازه ی کامل کردن را به صورت اتوماتبک (auto completion) می دهد.
    کد PHP:
    (reverse-i-search)`if': ifconfig 
    توصیه میشود مطالعه کنید : آموزش دستور history در لینوکس


    7. دستور sudo

    دستور sudo (یا super user do) به یک کاربر مجاز امکان اجرای یک دستور به عنوان سوپر یوزر یا یوزر دیگری را همانطور که توسط policy های امنیتی در لیست sudoer مشخص شده، فراهم می آورد.
    کد PHP:
    root@linuxzone:~# sudo add-apt-repository ppa:tualatrix/ppa 
    نکته : sudo به کاربران اجازه می دهد که دسترسی superuser را داشته باشند، در حالیکه با دستور su کاربر به عنوان superuser لاگین می کند. Sudo امن تر از su است. استفاده از sudo و su برای کاربرد روزانه توصیه نمی شود، به دلیل اینکه می تواند خطاهای جدی ای را بر اثر برخی اشتباهات شما به همراه داشته باشد، به همین دلیل یک ضرب المثل بسیار محبوب در جامعه ی لینوکس وجود داد :
    کد PHP:
    “To err is humanbut to really foul up everythingyou need root password.” 
    "" خطا از انسان است اما با این حال برای اینکه واقعا همه چیز خراب شود به پسورد root نیاز است.""

    توصیه میشود مطالعه کنید :
    تفاوت بین دستور su و دستور sudo در لینوکس


    8. دستور mkdir

    دستور mkdir (یا Make directory) یک دایرکتوری جدید با نام مسیر مورد نیاز ایجاد می کند. اما اگر دایرکتوری از قبل وجود داشته باشد پیغام خطایی برمی گرداند. “cannot create folder, folder already exists”
    کد PHP:
    root@linuxzone:~# mkdir linux-zone 
    نکته : دایرکتوری می تواند داخل فولدری که کاربرپرمیژن write در آن را داشته باشد ایجاد شود.
    کد PHP:
    mkdircannot create directory `linux-zone‘: File exists 
    در اررور بالا که فولدر را با عنوان file بیان کرده (File exists) سردرگم نشوید، همانطور که در ابتدای گفتم در لینوکس با هر file, folder, drive, command, scripts همانند یک فایل رفتار میشود


    9. دستور touch

    دستور touch بمنظور آپدیت access time و modification times هر فایل به زمان کنونی استفاده می شود، از touch برای ایجاد یک فایل تنها اگر وجود نداشته باشد نیز استفاده میشود. اگر فایل قبلا وجود داشته باشد timestamp فایل را بروزرسانی خواهد کرد و محتوای آنرا تغییر نخواهد داد.
    کد PHP:
    root@linuxzone:~# touch linuxzonefile 
    نکته : touch را می توان برای ایجاد یک فایل در دایرکتوری ای که کاربر پرمیژن write در آن را داشته باشد استفاده کرد و به شرطی که فایل از قبل وجود نداشته باشد.

    توصیه میشود مطالعه کنید : آموزش دستور touch در لینوکس


    10. دستور chmod

    دستور chmod مخفف change file mode bits است. Chmod مد فایل یا پرمیشن فایل/فولدر/اسکریپت و ... را مطابق با مد مورد سوال تغییر می دهد.

    3 نوع پرمیشن روی یک فایل (یا فولدر یا هر چیز دیگری ولی ما اینجا برای سادگی کار از فایل استفاده میکنیم) وجود دارد.
    کد PHP:
    Read (r)=4
    Write
    (w)=2
    Execute
    (x)=
    بنابراین اگر شما می خواهید تنها پرمیشن Read (خواندن) برروی یک فایل را به کاربری تخصیص دهید از عدد 4 استفاده کنید، برای پرمیژن Write (نوشتن) از عدد 2 و برای پرمیژن Execute (اجرایی) از عدد 1 استفاده کنید. برای تخصیص پرمیژن های read و write از 4+2 = ‘6‘ استفاده کنید.

    اکنون نیاز است برای هر سه نوع user و usergroup و other پرمیژن تعریف شود. اولی owner ،سپس usergroup و در نهایت other می باشد.
    کد PHP:
    rwxr-x--x   abc.sh 
    در خروجی بالا پرمیشن root به صورت rwx (یعنی read,write,execute) است.
    Usergroup یا پرمیژن کاربران متعلق به گروه فایل r-x (تنها پرمیژن read و execute و نه پرمیژن write) است و پرمیژن other نیز -x (فقط execute) می باشد.

    برای تغییر پرمیشن ها و اختصاص پرمیشن های read،write و execute به owner و group و other از دستور chmod بصورت زیر استفاده می کنیم.
    کد PHP:
    root@linuxzone:~# chmod 777 abc.sh 
    اعطای تنها پرمیژنهای read و write به owner و group و other :
    کد PHP:
    root@linuxzone:~# chmod 666 abc.sh 
    اعطای پرمیژنهای read و write و execute به owner وفقط پرمیژن execute به group و other :
    کد PHP:
    root@linuxzone:~# chmod 711 abc.sh 
    نکته :این دستور یکی از مهمترین دستورات مهم برای کاربر و sysadmin است. در یک محیط چند کاربره یا روی یک سرور این دستور برای نجات سرور مهم است . تعریف پرمیژنهای اشتباه ممکن است یک فایل را غیر قابل دسترسی کند و یا دسترسی نامجاز به یک کاربر بدهد.

    توصیه میشود مطالعه کنید :
    مدیریت یوزرها و گروها در لینوکس


    11.دستور chown

    دستور chown مخفف change file owner and group است. هر فایلی متعلق به یک گروهی از کاربران و یا یک owner است. از دستور ls –-l در دایرکتوری استفاده کنید. خروجی شبیه به زیر را خواهید دید:
    کد PHP:
    root@linuxzone:~# ls -l 
     
    drwxr-xr-x 3 server root 4096 May 10 11:14 Binary 
    drwxr
    -xr-x 2 server server 4096 May 13 09:42 Desktop 
    در اینجا owner دایرکتوری binary ، کاربر server است و متعلق به گروه root می باشد و دایرکتوری Desktop نیز متعلق به کاربر server و گروه server می باشد.

    دستور chown برای تغییر دادن ownership (مالکیت) فایل بکار می رود و به همین دلیل برای مدیریت و فراهم آوردن فایل تنها برای کاربرو گروه کاربری مجاز مفید است
    کد PHP:
    root@linuxzone:~# chown server:server Binary
     
    drwxr-xr-x 3 server server 4096 May 10 11:14 Binary 
    drwxr
    -xr-x 2 server server 4096 May 13 09:42 Desktop 
    نکته : chown ، مالکیت user و group هر فایل به owner جدید یا user و group یک فایل مرجع موجود را تغییر می دهد.


    12. دستور apt

    دستور apt مخفف Advanced Package Tool و در سیستم های بر پایه Debian موجوداست. Apt یک نرم افزار برای مدیریت پیشرفته پکیج ها در سیستم عامل های debian-base همانند Ubuntu و kubuntu و ... است، که به صورت خودکار و هوشمند پکیج ها را جستجو ، نصب، آپدیت و همچنین پکیج های پیش نیاز را از طریق command line روی سیستم های GNU/Linux نصب می کند:
    کد PHP:
    root@linuxzone:~# apt-get install mplayer
     
    Reading package lists... Done
    Building dependency tree       
    Reading state information
    ... Done
    The following package was automatically installed 
    and is no longer required:
    java-wrappers
    Use 'apt-get autoremove' to remove it.
    The following extra packages will be installed:
    esound-common libaudiofile1 libesd0 libopenal-data libopenal1 libsvga1 libvdpau1 libxvidcore4
    Suggested packages
    :
    pulseaudio-esound-compat libroar-compat2 nvidia-vdpau-driver vdpau-driver mplayer-doc netselect fping
    The following 
    NEW packages will be installed:
    esound-common libaudiofile1 libesd0 libopenal-data libopenal1 libsvga1 libvdpau1 libxvidcore4 mplayer
    0 upgraded
    9 newly installed0 to remove and 8 not upgraded.
    Need to get 3,567 kB of archives.
    After this operation7,772 kB of additional disk space will be used.
    Do 
    you want to continue [Y/n]? 
    کد PHP:
    root@linuxzone:~# apt-get update
     
    Hit http://ppa.launchpad.net raring Release.gpg                                           
    Hit http://ppa.launchpad.net raring Release.gpg                                           
    Hit http://ppa.launchpad.net raring Release.gpg                      
    Hit http://ppa.launchpad.net raring Release.gpg                      
    Get:1 http://security.ubuntu.com raring-security Release.gpg [933 B] 
    Hit http://in.archive.ubuntu.com raring Release.gpg                                                   
    Hit http://ppa.launchpad.net raring Release.gpg                      
    Get:2 http://security.ubuntu.com raring-security Release [40.8 kB]   
    Ign http://ppa.launchpad.net raring Release.gpg                                                  
    Get:3 http://in.archive.ubuntu.com raring-updates Release.gpg [933 B]                            
    Hit http://ppa.launchpad.net raring Release.gpg                                                                
    Hit http://in.archive.ubuntu.com raring-backports Release.gpg 
    نکته : در نتیجه ی دستورات بالا در سیستم تغییراتی رخ خواهد داد که نیاز به پسورد root می باشد (در prompt کامند لاین شارپ "#" را چک کنید و دقت کنید که "$" نباشد). Apt در مقایسه با yum بسیار پیشرفته تر و هوشمند تر می باشد.

    همانطور که از نام آن مشخص است، apt-cache پکیج هایی شامل زیرپکیج های mpalyer را جستجو می کند.
    دستور apt-get install همه ی پکیج هایی که از قبل نصب هستند را به جدیدترین ورژن آپدیت میکند.

    توصیه میشود مقاله زیر را هم مطالعه کنید :
    25 دستور پایه از apt-get و apt-cache برای مدیریت پکیج ها
    دستور yum برای مدیریت پکیج ها در لینوکس به همراه 20 مثال عملی


    13. دستور tar

    دستور tar یک Tape Archive است و برای ایجاد آرشیوی از تعدادی فایل به فرمت های مختلف و همچنین extract آنها مفید است.
    کد PHP:
    root@linuxzone:~# tar -zxvf abc.tar.gz (Remember 'z' for .tar.gz)
     
    root@linuxzone:~# tar -jxvf abc.tar.bz2 (Remember 'j' for .tar.bz2)
     
    root@linuxzone:~# tar -cvf archieve.tar.gz(.bz2) /path/to/folder/abc 
    نکته : یک فایل tar.gz در حقیقت یعنی این فایل gzip شده است. tar.bz2 با bzip فشرده شده است که متد بهتری برای فشرده سازی استفاده می کند اما سرعت کمتری دارد.

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


    14. دستور cal

    Cal مخفف calendar است و برای نمایش تقویم ماه جاری و یا ماه دیگری از هر سال جدید یا قدیمی استفاده می شود.
    کد PHP:
    root@linuxzone:~# cal 
     
    May 2013        
    Su Mo Tu We Th Fr Sa
    1  2  3  4  
    5  6  7  8  9 10 11  
    12 13 14 15 16 17 18  
    19 20 21 22 23 24 25  
    26 27 28 29 30 31 
    برای نمایش تقویم سال 1835 و ماه February که تاریخ آن گذشته است به صورت زیر عمل کنید.
    کد PHP:
    root@linuxzone:~# cal 02 1835
     
       
    February 1835      
    Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6  7  
    8  9 10 11 12 13 14  
    15 16 17 18 19 20 21  
    22 23 24 25 26 27 28 
    برای نمایش تقویم سال 2145 برای ماه july که هنوز تاریخ آن نیامده است دستور زیر را اجرا میکنیم.
    کد PHP:
    root@linuxzone:~# cal 07 2145
     
         
    July 2145        
    Su Mo Tu We Th Fr Sa
    1  2  3  
    4  5  6  7  8  9 10  
    11 12 13 14 15 16 17  
    18 19 20 21 22 23 24  
    25 26 27 28 29 30 31 
    نکته : شما برای دانستن تاریخ تولدتان نه نیاز دارید که تقویم را به ۵۰ سال قبل برگردانید و نه نیاز هست محاسبات ریاضی پیچیده انجام دهید.

    15. دستور date

    دستور date در حقیقت date و time جاری را در خروجی چاپ می کند و بعدا میتوان آنرا تنظیم کرد.
    کد PHP:
    root@linuxzone:~# date
     
    Fri May 17 14:13:29 IST 2013
      
    root
    @linuxzone:~# date --set='14 may 2013 13:57' 
     
    Mon May 13 13:57:00 IST 2013 
    نکته : این دستور میتواند در اسکریپت نویسی بسیار مفید باشد. این دستور باعث می شود اسکریپت های بر پایه ی time و date عالی تر عمل کنند.به هر حال تغییر date و time با استفاده از ترمینال حس بینظیری به شما خواهد داد!!! (قطعا برای اجرای این عملیات چون تغییرات عمده ای در سیستم روی می دهد نیاز به دسترسی root دارید)


    16. دستور cat

    دستور cat مخفف Concatenation است که میتوان با آن دو یا چند فایل ساده را ترکیب کرد و محتوای یک فایل را روی statndard output نمایش داد.
    کد PHP:
    root@linuxzone:~# cat a.txt b.txt c.txt d.txt >> abcd.txt
    root@linuxzone:~#
    root@linuxzone:~# cat abcd.txt
    ....
    contents of file abcd 
    ... 
    نکته : "<<" و "<" علامت append نامیده میشوند. آنها برای اضافه کردن خروجی به یک فایل (به standard output اضافه نمیشود) استفاده میشوند. علامت "<" فایلی که از قبل وجود داشته را پاک خواهد کرد و یک فایل جدید ایجاد میکند. علاوه بر این به دلایل امنیتی پیشنهاد میشود که از "<<" استفاده کنید که خروجی را بدون overwrite یا حذف کردن فایل در فایل کپی میکند.

    قبل از اینکه ادامه دهیم در مورد wildcards بحث میکنیم (شما باید از ورودی های wildcard در بیشتر برنامه های تلویزیونی آگاه باشید). wildcard ها قابلیتی در یک شل هستند که باعث میشوند command line قدرتمندتر از هر فایل منیجر GUI باشد. شما میدانید اگر بخواهید گروه بزرگی از فایل ها را در یک file manager گرافیکی انتخاب کنید معمولا باید آنها را با موس تان select کنید. این کار در ظاهر آسان است اما در بعضی موارد میتواند بسیار آزاردهنده باشد.

    به طور مثال فرض کنید که یک دایرکتوری با مقدار بسیار زیادی از همه انواع فایل ها و زیر دایرکتوریها دارید. و شما تصمیم میگیرید همه فایل های HTML که کلمه Linux در وسط نام آنها قرار دارد را از دایرکتوری بزرگ به دایرکتوری دیگری انتقال دهید. آسانترین راه برای انجام این کار چیست ؟ اگر دایرکتوری شامل تعداد بیشماری از فایل های HTML با نام های متفاوت باشد کار شما در محیط گرافیکی ساده نیست.

    در محیط کامند لینوکس این تسک به سادگی انتقال تنها یک فایل html قابل اجرا است و به دلیل wildcard های شل بسیار آسان است. کاراکترهای خاصی وجود دارند که به شما امکان انتخاب نام های فایلی که با پترن های خاصی match میشوند را میدهند و این به شما کمک میکند که حتی گروه بزرگی از فایل ها را تنها با تایپ کردن کاراکترهای کمی انتخاب کنید. و در اکثر مواقع حتی از انتخاب کردن فایل ها با یک موس نیز اسانتر است.

    در اینجا لیستی از رایج ترین wildcard های مورد استفاده را مشاهده میکنید.
    کد PHP:
    Wildcard                       Matches
       
    *                   zero or more characters
       
    ?                   exactly one character
    [abcde]                exactly one character listed
     
    [a-e]                 exactly one character in the given range
    [!abcde]               any character that is not listed
    [!a-e]                 any character that is not in the given range
    {debian,linux}         exactly one entire word in the options given 
    "!" سمبول "not" است، و string معکوس که با "!" بیآید درست (TRUE) میباشد.

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


    17. دستور cp

    Cp مخفف copy است و یک فایل را از یک مکان به مکان دیگری کپی می کند.
    کد PHP:
    root@linuxzone:~# cp /home/user/Downloads abc.tar.gz /home/user/Desktop (Return 0 when sucess) 
    نکته : cp یکی از رایج ترین دستورات مورد استفاده در shell scripting است و می تواند با کاراکترهای wildcard (در قسمت بالا در مورد آن توضیح دادیم) برای کپی کردن فایل مورد نظر نیز استفاده شود.


    18. دستور mv

    دستور mv یک فایل را از مکانی به محل دیگر انتقال می دهد.
    کد PHP:
    root@linuxzone:~# mv /home/user/Downloads abc.tar.gz /home/user/Desktop (Return 0 when sucess) 
    نکته : دستور mv با wildcard ها نیز می تواند استفاده شود. mv باید با احتیاط استفاده شود، به دلیل اینکه انتقال دادن فایل های سیستمی/غیر مجاز ممکن است به دلایل امنیتی خطرناک باشد و باعث خرابی سیستم شود.


    19. دستور pwd

    دستور pwd (یا print working directory) دایرکتوری جاری را با نام کامل مسیر از ترمینال نمایش میدهد.
    کد PHP:
    root@linuxzone:~# pwd 
     
    /home/user/Desktop 
    نکته : این دستور به صورت رایج و تکراری در اسکریپت نویسی مورد استفاده قرار نمیگیرد، اما یک نجات دهنده قطعی برای تازه واردینی هست که در ترمینال لینوکس و در اولین ارتباطاتشان با سیستم های لینوکسی در ترمینال گم میشوند (لینوکس به صورت خیلی رایجی با عنوان های nux یا nix نیز خوانده میشود)


    20. دستور cd

    دستور پر استفاده cd مخفف change directory است، و برای تغییر دایرکتوری جاری به منظور execute, copy, move, write, read و ... از طریق خود ترمینال مورد استفاده قرار میگیرد.
    کد PHP:
    root@linuxzone:~# cd /home/user/Desktop
      
    server@localhost:~$ pwd
     
    /home/user/Desktop 
    نکته : دستور cd هنگام سوییچ کردن بین دایرکتوری ها در ترمینال به کمک شما میآید. دستور cd~ دایرکتوری جاری را به دایرکتوری home کاربر تغییر خواهد داد و این دستور زمانی که یک کاربر خودش را در ترمینال گم کرده بسیار مفید است. دستور cd .. دایرکتوری جاری را به دایرکتوری patern (دایرکتوری قبلی) تغییر خواهد داد.

    این دستورات مطمئنا باعث راحتی کار شما با لینوکس خواهند شد. اما این پایان کار نخواهد بود و به زودی ما با دستورات دیگری که برای کاربران در سطح متوسط بسیار مفید هستند برمیگردیم. اگر شما با این دستورات درگیر هستید باید بگوییم که level کاربری شما در linux از کاربر تازه وارد به کاربر سطح متوسط تغییر یافته است. در مقالات بعدی شما را با دستوراتی مانند kill, ps, grep آشنا خواهم کرد. برای مقالات بعدی منتظر بمانید و علاقه خود را به لینوکس افزایش دهید.

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

    موفق باشید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 10-02-2017, 09:14 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
کانال تلگرام منطقه لینوکسی ها