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

Blog page
clipart_of_15091_sm_2

مهاجرت از ویندوز به لینوکس-۲۰ دستور مفید برای تازه کاران
شما ممکن است بخواهید از ویندوز به لینوکس سوئیچ کنید. و یا سوئیچ کرده اید؟ به دلایل زیادی شاید شما بخواهید این کار را انجام دهید. از تجربیات گذشته ی من هنگامیکه در لینوکس یک تازه کار یا Nux بودم ، این بود که دستورات لینوکس واقعا مرا می ترساند و من از این دستورات وحشت داشتم، و تا آنجایی که به یاد دارم آنها را برای کاربرد خودم حفظ می کردم . بدون شک داکیومنت های آنلاین ، کتاب ها، man pageها و انجمن های کاربری که به من بسیار زیاد کمک می کردند اما من به شدت اعتقاد داشتم که یک مقاله با جزئیات کامل از دستورات ساده برای یادگیری و درک زبان باید وجود داشته باشد. این به من برای لینوکس مسترشدن انگیزه داد. این مقاله ی من گام هایی به سوی آن است.

۱٫ دستور ld
دستور ls یا List Directory Contents برای لیست کردن محتویات پوشه است.

کد:
root@tecmint:~# ls Android-Games Music Pictures Public Desktop Tecmint.com Documents TecMint-Sync Downloads Templates

دستور ls –l محتویات پوشه را با اطلاعات جزئی تری لیست می کند.

کد:
root@tecmint:~# 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 Tecmint.com
drwxr-xr-x 2 ravisaive ravisaive     4096 Apr 30 20:50 Templates

دستور ls –a محتویات پوشه را شامل فایل های مخفی را که با . شروع می شوند نیز لیست می کند.

کد:
root@tecmint:~# 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

نکته: در لینوکس نام فایل مخفی با’ .’ شروع می شود. در لینوکس هر فایل، فولدر ، دیوایس، دستور همگی یک فایل هستند.
· d مخفف دایرکتوری است.
· Rwxr-xr-x پرمیشن های فایل ها و فولدر برای owner ،group، و Other است.
· اولین ravisaive به این معنی است که این فایل متعلق به user است.
· دومین ravisaive به این معنی است که این فایل متعلق به user group است.
· ۴۰۹۶ به معنای حجم فایل بر حسب بایت است.
· May 8 01:06 تاریخ و زمان آخرین تغییرات است.
· و در انتها نام فایل می باشد.

۲٫ دستور lsblk
Lsblk مخفف List Block Devices، بلاک دیوایس ها را براساس نام برروی خروجی استاندارد به صورت درختی چاپ می کند.

کد:
root@tecmint:~# 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 بلاک دیوایس هایی را با جزئیات بیشتر بدون نمایش درختی مشاهده خواهید کرد.

کد:
root@tecmint:~# 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

۳٫دستور md5sum
Md5sum مخفف برای Compute and Check MD5 Message Digest است.Md5 checksum برای بررسی صحت فایل هایی که در نتیجه ی یک انتقال فایل خراب و یا یک خطای دیسک و یا یک اینترفیس تغییر پیدا کرده اند بکار می رود.

کد:

 

 

 

کد:

 

root@tecmint:~# md5sum teamviewer_linux.deb 
 
۴۷۷۹۰ed345a7b7970fc1f2ac50c97002  teamviewer_linux.deb

۴٫دستور dd
دستور dd برای کپی کردن و یا تغییر یک فایل می باشد و بیشتر اوقات برای کپی کردن یک فایل iso به یک دیوایس usb بکار میرود، بنابراین می تواند برای ایجاد یک usb قایل بوت استفاده شود.

کد:
root@tecmint:~# dd if=/home/user/Downloads/debian.iso of=/dev/sdb1 bs=512M; sync

نکته: در مثال بالا دیوایس usb به عنوان sdb1 شناخته شده است که با استفاده از دستور lsblk آنرا تشخیص داده ایم، نام دیسک را با احتیاط استفاده کنید.
دستور dd گاهی اوقات از چند ثانیه تا چند دقیقه طول می کشد اجرا شود، بسته به سایز و نوع فایل و سرعت خواندن و نوشتن برروی usb این مورد تغییر می کند.

۵٫ دستور uname
دستور uname مخفف unix name است، که اطلاعاتی را در باره ی نام ماشین و سیستم عامل و کرنل چاپ می کند.

کد:
root@tecmint:~# uname -a
 
Linux tecmint 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: نام کرنل است.
Tecmint: نام ماشین است.
۳٫۸٫۰-۱۹-generic: release کرنل.
#۳۰-Ubuntu SMP: نسخه ی کرنل
i686“:معماری پردازشگرcpu
GNU/Linux“: نام سیستم عامل.

۶٫ دستور history
دستور history مخفف history records است که history تمام دستورات اجرا شده را در ترمینال چاپ می کند.

کد:

 

 

 

کد:

 

root@tecmint:~# 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/6 /usr/share/unity/
  cd /usr/share/unity/icons/
  cd /usr/share/unity

نکته: دکمه های Ctrl+R را فشار دهید و دستورا ت قبلی اجرا شده ی خود را جستجو کنید که به شما اجازه ی کامل کرن را به صورت اتوماتبک می دهد.

کد:
(reverse-i-search)`if': ifconfig

۷٫ دستور sudo
دستور sudo به یک کاربر برای اجرای یک دستور به عنوان سوپر یوزر را اجازه می دهد. که این توسط پالیسی هایی که در لیست sudoers می باشد اجرا می شود.

کد:
root@tecmint:~# sudo add-apt-repository ppa:tualatrix/ppa

نکته: sudo به کاربران اجازه می دهد که دسترسی superuser را داشته باشند ، در حالیکه دستور su کاربر را به عنوان superuser لاگین می کند. Sudo امن تر از su است.استفاده از sudo و su برای کاربرد روزانه توصیه نمی شود، به لیل اینکه اآن می تواند خطاهای جدی ای را بر اثز برخی اشتباهات شما به همراه داشته باشد، به همین دلیل یک ضرب المثل بسیار محبوب در جامعه ی لینوکس وجود دادر:

کد:
“To err is human, but to really foul up everything, you need root password.”

۸٫ دستور mkdir
دستور mkdir یک دایرکتوری جدید ایجاد می کند. اما اگر دایرکتوری قبلا وجود داشته باشد پیغام خطایی برمی گرداند. “cannot create folder, folder already exists”

کد:

 

 

کد:

 

root@tecmint:~# mkdir tecmint

نکته: دایرکتوری می تواند داخل فولدر ایجاد شود ، و کاربر به آن پرمیشن نوشتن داشته باشد. Mkdir نمی تواند دایرکتوری tecmint را ایجاد کند به دلیل اینکه آن وجوددارد.

۹٫ دستور touch
دستور touch برای ایجاد فایل می باشد(زمان های دسترسی و تغییر هر فایلی را به زمان کنونی تغییر می دهد)، تنها اگر وجود نداشته باشد. اگر فایل قبلا وجود داشته باشد timestamp فایل را بروزرسانی خواهد کرد و محتوای آنرا تغییر نخواهد داد.

کد:
root@tecmint:~# touch tecmintfile

نکته: touch می تواند برای ایجاد یک فایل در دایرکتوری استفاده شود، در حالیکه پرمیشن نوشتن برای کاربر تنها اگر آن فایل قبلا وجود نداشته باشد ایجاد خواهد شد.

۱۰٫دستور chmod
دستور chmod مخفف change file mode bits است. Chmod مد فایل یا پرمیشن فایل را تغییر می دهد. ۳ نوع از پرمیشن ها برای یک فایل وجود دارد.

Read (r)=4
Write(w)=2
Execute(x)=1بنابراین اگر شما می خواهید پرمیشن خواندن برروی یک فایل تخصیص دهید از عدد ۴ استفاده کنید، برای نوشتن از عدد ۳ و برای اجرایی از عدد ۱ استفاده کنید. برای خواندن و نوشتن از ۴+۲=۶ استفاده کنید.
حالا پرمیشن نیا ز است برای سه نوع user و usergroup و world تنظیم شود. اولی ownerآن است و دومی usergroup و سومی world می باشد.

کد:
rwxr-x--x   abc.sh

در اینجا پرمیشن root به صورت rwx است.
Usergroup متعلق به ان گروه نیز r-x خواندنی و اجرایی است و بقیه –x که برای world به صورت اجرایی است.
برای تغییر پرمیشن ها و اختصاص پرمیشن های read،write و execute به owner و group و world از دستور chmod استفاده می کنیم.

root@tecmint:~# chmod 777 abc.shتنها پرمیشن های خواندن و نوشتن را به همه بدهید.

کد:
root@tecmint:~# chmod 666 abc.sh

خواندن و نوشتن و اجرا را به owner و تنهااجازه ی اجرا را به group و world بدهید.

کد:
root@tecmint:~# chmod 711 abc.sh

۱۱٫دستور chown
دستور chown مخفف change file owner and group است. هر فایلی متعلق به یک گروهی از کاربران و یک کاربر است. از دستور ls –l برای مشاهده ی آن استفاده کنید.

کد:
root@tecmint:~# 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

در اینجا دایرکتوری binary برای کاربر server است و متعلق به گروه root می باشد و دایرکنوری Desktop برای کاربر server و متعلق به گروه server است.
دستور chown برای تغییر دادن ownership یا صاحب فایل بکار می رود.

کد:
root@tecmint:~# 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

۱۲٫ دستور apt
دستور apt در سیستم های برپایه دبیان است و مخفف Advanced Package Tool است. Apt یک مدیر پکیج پیشرفته در سیستم های دبیان همانند Ubuntu و kubuntu و … است. که به صورت خودکار و هوشمند search،install،و update پکیج ها به همراه dependency آنها را از طریق خط فرمان انجام می دهد.

کد:
root@tecmint:~# 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
۰ upgraded, 9 newly installed, 0 to remove and 8 not upgraded.
Need to get 3,567 kB of archives.
After this operation, 7,772 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
root@tecmint:~# 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 می باشد. Apt بسیار پیشرفته تر و هوشمند تر در مقایسه با yum می باشد.
همانطور که از نام آن مشخص است، apt-cache پکیج ها یی شامل زیرپکیج های آن ها را جستجو می کند.
برای اطلاعات بیشتر می توانید از لینک زیر استفاده کنید.
۲۵ دستور پایه از apt-get و apt-cache برای مدیریت پکیج ها

۱۳٫ دستور tar
دستور tar یک Tape Archive مفید و قابل استفاده برای ایجاد یک آرشیو است.

کد:
root@tecmint:~# tar -zxvf abc.tar.gz (Remember 'z' for .tar.gz)
 
root@tecmint:~# tar -jxvf abc.tar.bz2 (Remember 'j' for .tar.bz2)
 
root@tecmint:~# tar -cvf archieve.tar.gz(.bz2) /path/to/folder/abc

برای اطلاعات بیشتر در مورد این دستور به لینک زیر مراجعه کنید.
۱۸ نمونه از دستور Tar در لینوکس

۱۴٫دستور cal
Cal مخفف calendar است و برای نمایش تقویم استفاده می شود.

کد:
root@tecmint:~# cal 
 
May 2013        
Su Mo Tu We Th Fr Sa
۱  ۲  ۳  ۴  
۵  ۶  ۷  ۸  ۹ ۱۰ ۱۱  
۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸  
۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵  
۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱

برای نمایش تقویم سال ۱۸۳۵ و ماه February به صورت زیر استفاده کنید.

کد:
root@tecmint:~# cal 02 1835
 
   February 1835      
Su Mo Tu We Th Fr Sa
۱  ۲  ۳  ۴  ۵  ۶  ۷  
۸  ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴  
۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱  
۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸

تقویم سال ۲۱۴۵ را برای ماه july نمایش دهید.

کد:
root@tecmint:~# cal 07 2145
 
     July 2145        
Su Mo Tu We Th Fr Sa
۱  ۲  ۳  
۴  ۵  ۶  ۷  ۸  ۹ ۱۰  
۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷  
۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴  
۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱

۱۵٫ دستور date
دستور date زمان جاری را در خروجی چاپ می کند.

کد:
root@tecmint:~# date
 
Fri May 17 14:13:29 IST 2013
 
 
root@tecmint:~# date --set='14 may 2013 13:57' 
 
Mon May 13 13:57:00 IST 2013

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

۱۶٫دستور cat
دستور cat مخفف Concatenation است. الحاق دو یا چند فایل را انجام داده و محتوای یک فایل را رو ی خروجی چاپ خواهد کرد.

کد:
root@tecmint:~# cat a.txt b.txt c.txt d.txt >> abcd.txt
root@tecmint:~# cat abcd.txt
....
contents of file abcd 
...

نکته: >> و > سمبول هایی برای append کردن هستند. آنها برای ارسال یک خروجی به یک فایل و نه stdout استفاده می شوند. سمبول > فایلی را که قبلا وجود داشته حذف خواهد کرد و یک فایل جدید ایجاد خواهد کرد و لی سمبول >> در ادامه ی همان فایل قبلی بدون حذف فایل خروجی را خواهد نوشت.
قبل از اقدام بیشتر، من می خواهم در مورد wildcard ها توضیح دهم. Wildcard ها یک ویژگی shell هستند که استفاده از دستورات را بسیار قدرتمندتر از محیط گرافیک می سازند. شما می بینید که اگر شما می خواهید یک گروه بزرگی را در یک محیط گرافیکی انتخاب کنید، معمولا آنها را با موس انتخاب می کنید . که اغلب ناامید کننده است.
برای مثال فرض کنید شما یک دایرکتوری دارید با مقدار زیادی از فایل ها و دایرکتوری های داخل آن، و شما می خواهید تمام فایل های html را که کلمه یLinux بعضی جاها در ابتدا و بعضی جاها در وسط و یا انتها قرار داد، را به یک دایرکتوری دیگری move کنید . اگر دایرکتوری شامل مقدار زیادی فایل html متفاوت باشد چه کار باید بکنید.
در CLI لینوکس این به سادگی امکان پذیر است. با استفاده از wildcard ها در shell این کار را می توانید انجام دهید. کاراکتر های بخصوصی که به شما اجازه می دهند نام فایل ها را با الگوی مورد نظر انتخاب کنید، این به شما کمک می کند حتی در یک گروه بزرگ تنها با تایپ کردن تنها چند کاراکتر بدون نیاز به انتخاب تک تک آنها این کار را انجام دهید.

در اینجا لیستی از wildcardها است.

کد:
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

! سمبول نفی است، و عکس یک رشته با !true است.
برای اطلاعات بیشتر در مورد دستور cat لینک زیر را مشاهده کنید.
۱۳ مثال مهم از دستور cat در linux

۱۷٫دستور cp
Cp مخفف copy است و آن یک فایل را فایل دیگری کپی می کند.

کد:
root@tecmint:~# cp /home/user/Downloads abc.tar.gz /home/user/Desktop (Return 0 when sucess)

نکته:cp یکی از رایج ترین دستورات مورد استفاده در shellscripting است و آن می تواند با wildcard ها نیز استفاده شود.

۱۸٫ دستور mv
دستور mv یک فایل را به محل دیگری حرکت می دهد.

کد:
root@tecmint:~# mv /home/user/Downloads abc.tar.gz /home/user/Desktop (Return 0 when sucess)

نکته: دستور mv با wildcardها نیز می تواند استفاده شود. Mv باید با احتیاط استفاده شود، به دلیل اینکه حرکت دادن فایل های سیستمی و unauthorise شده ممکن است به دلایل امنیتی خطرناک باشد.

۱۹٫دستور pwd
دستور pwd دایرکتوری جاری ای که در آن هستید را با نام مسیر کامل آن چاپ می کند.

کد:
root@tecmint:~# pwd 
 
/home/user/Desktop

نکته: این دستور خیلی در اسکریپت نویسی استفاده نمی شود اما آن یک راه نجات برای تازه واردین به ترمینال است که مسیر خود را گم کرده اند .

۲۰٫دستور cd
سرانجام دستوری که غالبا استفاده می کنیم cd است برای تغییر در دایرکتوری ها استفاده می شود.

کد:
root@tecmint:~# cd /home/user/Desktop
 
 
server@localhost:~$ pwd
 
/home/user/Desktop

نکته: cd راه نجاتی است زمانی که بین دایرکتوری ها از ترمینال نیاز است تغییر مسیر دهیم. “cd ~” شما را به دایرکتوری home کاربر خواند برد. “cd ..”شما را به دایرکتوری بالاتر می برد.

 

 

منبع linux-zone

حمیدرضا پیله ور

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

More Posts