You are on page 1of 8

‫ﻣﻘﺪﻣﻪای ﺑﺮ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻟﯿﻨﻮﮐﺲ‬

‫ﻟﯿﻨﻮﮐﺲ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻠ ﺑﺴﯿﺎر ﭘﺎﯾﺪار اﺳﺖ ﮐﻪ اوﻟﯿﻦ ﻣﺰﯾﺖ آن ﻣﺠﺎﻧ ﺑﻮدﻧﺶ اﺳﺖ‪ .‬دوﻣﯿﻦ ﻣﺰﯾﺖ ﺑﺴﯿﺎر ﻣﻬﻢ آن ﮐﻮﭼ و‬
‫ﭘﺎﯾﺪاری آن اﺳﺖ‪ .‬ﻣﻦ ﮔﺎﻫﺎ ﮐﺎﻣﭙﯿﻮﺗﺮ ﻣﺠﻬﺰ ﺑﻪ ﻟﯿﻨﻮﮐﺲ ﺧﻮد را ﺳﺎﻟ ﯾ دو ﺑﺎر ﺑﺮای ﺗﻌﻤﯿﺮات و ﻧﮕﻬﺪاری ﮐﻠ اﻧﯿﺴﺘﯿﺘﻮ‬
‫ﺧﺎﻣﻮش ﻣ ﮐﻨﻢ‪ ،‬ﺑﺪون اﯾﻨﮑﻪ اﺗﻔﺎﻗ ﺑﯿﻔﺘﺪ‪ .‬اﻣﺎ اﮔﺮ ﺗﺠﺮﺑﻪ ﭼﻨﺪ روز روﺷﻦ ﻧﮕﺎهداﺷﺘﻦ ﮐﺎﻣﭙﯿﻮﺗﺮی ﮐﻪ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ وﯾﻨﺪوز ﺑﺮ‬
‫روی آن ﻧﺼﺐ ﺷﺪه اﺳﺖ را داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﺧﻮاﻫﯿﺪ دﯾﺪ ﮐﻪ ﺑﻪ راﺣﺘ ﺳﯿﺴﺘﻢ ﺷﻤﺎ ﯾﺦ ﻣ زﻧﺪ و ﻫﯿﭻ ﮐﺎری ﺟﺰ ﻓﺸﺎر دادن ‪reset‬‬
‫از دﺳﺘﺘﺎن ﺑﺮﻧﻤ آﯾﺪ‪ .‬در اﯾﻦ ﻓﺼﻞ ﺗﺠﺮﺑﯿﺎت ﺧﻮد را ﺑﺎ ﻧﺴﺨﻪﻫﺎی ﮐﺎرای ﻟﯿﻨﻮﮐﺲ ﺷﺮح ﻣﯿﺪﻫﯿﻢ و ﻣﻘﺪﻣﻪ ﺑﺴﯿﺎر ﺳﺎدهای ﻓﻘﻂ‬
‫ﺑﺮای ﺷﺮوع ﮐﺎر ﺑﺎ اﯾﻦ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ اراﺋﻪ ﺧﻮاﻫﯿﻢ ﮐﺮد‪.‬‬
‫ﻫﻤﯿﺸﻪ اﯾﻦ اﻣ ﺎن وﺟﻮد دارد ﮐﻪ ﮐﺎﻣﭙﯿﻮﺗﺮ ﺧﻮد را ﺑﻪ دو ﻧﻮع ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻣﺠﻬﺰ ﮐﻨﯿﺪ )‪ .(dual booting‬ﻫﻨﮕﺎم روﺷﻦ‬
‫ﮐﺮدن ﮐﺎﻣﭙﯿﻮﺗﺮ ﯾ ‪ boot manager‬ﺑﻪ ﺷﻤﺎ اﻣ ﺎن اﻧﺘﺨﺎب ﺑﯿﻦ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞﻫﺎﯾﯽ ﮐﻪ روی ﮐﺎﻣﭙﯿﻮﺗﺮﺗﺎن ﻧﺼﺐ ﮐﺮدهاﯾﺪ را‬
‫ﻣ دﻫﺪ‪ .‬ﺗﺮﺟﯿﺢ ﻣﺎ ﻣﻌﻤﻮﻻ اﺳﺘﻔﺎده از ‪ grub‬ﺑﻪ ﻋﻨﻮان ‪ boot manager‬اﺳﺖ‪.‬‬

‫ﺗﻬﯿﻪ‪ ،‬ﻧﺼﺐ و ﺳﯿﺴﺘﻢ ﻓﺎﯾﻞﻫﺎ در ﻟﯿﻨﻮﮐﺲ‬ ‫‪١.٠‬‬

‫در زﻣﺎﻧ ﮐﻪ ﻧﺴﺨﻪ اوﻟﯿﻪ اﯾﻦ ﻣﺘﻦ ﻧﮕﺎﺷﺘﻪ ﺷﺪ )ﺣﺪود ﺳﺎﻟﻬﺎی ‪ (٢٠٠۶‬ﻟﯿﻨﻮﮐﺲ ﻣﻮرد اﺳﺘﻔﺎده ﻣﺎ ﮐﻪ ﻧﺴﺒﺘﺎ ﭘﺎﯾﺪار ﻧﯿﺰ ﻫﺴﺖ‬
‫از ﺗﻮزﯾﻊﻫﺎی راﯾﺞ ﻟﯿﻨﻮﮐﺲ ﻋﺒﺎرت اﺳﺖ از ﺗﻮزﯾﻊ‬ ‫‪ Fedora Core IV‬ﺑﻮد‪ .‬در زﻣﺎن ﺑﺎزﺑﯿﻨ اﯾﻦ ﻧﻮﺷﺘﻪ )‪ (٢٠١۴‬ﯾ‬
‫‪ ubuntu‬ﮐﻪ اﮔﺮ ﺑﺨﻮاﻫﯿﺪ آن را ﺗﻬﯿﻪ ﮐﻨﯿﺪ ﮐﺎﻓ اﺳﺖ ﺑﻬﺎﯾﯽ ﻣﻌﺎدل ﻗﯿﻤﺖ ﺳ دی ﺑﻪ ﮐﺎر رﻓﺘﻪ ﺑﺮای ﻧﻮﺷﺘﻦ را ﺑﭙﺮدازﯾﺪ‪ .‬اﮔﺮ‬
‫ﺧﻂ اﯾﻨﺘﺮﻧﺖ ﻣﻌﻘﻮﻟ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﻧﯿﺰ ﺑﻪ راﺣﺘ ﺑﺎ ﮔﻮﮔﻞ ﮐﺮدن اﯾﻦ ﮐﻠﻤﻪ ﮐﻠﯿﺪی ﻗﺎدر ﺧﻮاﻫﯿﺪ ﺑﻮد ﯾ از ﺳﺎﯾﺖﻫﺎی ﺗﻮزﯾﻊ‬
‫ﮐﻨﻨﺪه ﯾ ﻧﺴﺨﻪ ﻣﻨﺎﺳﺐ از ﻟﯿﻨﻮﮐﺲ را ﭘﯿﺪا ﮐﻨﯿﺪ ‪.١‬‬
‫ﺑﺮای ﻧﺼﺐ اﺑﺘﺪا ﺗﻨﻈﯿﻤﺎت ﮐﺎﻣﭙﯿﻮﺗﺮ ﺧﻮد را ﺗﻐﯿﯿﺮ دﻫﯿﺪ ﺑﻪ ﻧﺤﻮی ﮐﻪ ﺑﺎﻻ آﻣﺪن ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ اﺑﺘﺪا از روی ﺳ دی ﯾﺎ‬
‫دیویدی اﻧﺠﺎم ﮔﯿﺮد‪ .‬ﺳﭙﺲ ﺳ دی ﺷﻤﺎره ﯾ ﻟﯿﻨﻮﮐﺲ ﻣﻮرد ﻧﻈﺮ ﺧﻮد را داﺧﻞ ﮐﺮده و ﮐﺎﻣﭙﯿﻮﺗﺮ را از ﻧﻮ روﺷﻦ ﮐﻨﯿﺪ‪.‬‬
‫ﺑﻘﯿﻪ ﻣﻮارد ﮐﺎﻣﻼ ﺳﺮ راﺳﺖ اﺳﺖ‪ .‬ﮐﺎﻓ اﺳﺖ ﮐﻪ ﮐﻠﯿﻪ ﮔﺎمﻫﺎی ﻣﺨﺘﻠﻒ را ﺑﻪ دﻗﺖ ﺑﺨﻮاﻧﯿﺪ و در ﻫﺮ ﻗﺪم ﺑﻪ دﻗﺖ اﻃﻼﻋﺎت‬
‫ﻣﻮرد ﻧﯿﺎز را وارد ﻧﻤﺎﯾﯿﺪ‪ .‬ﻓﻘﻂ ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ اﮔﺮ از ﻗﺒﻞ روی ﮐﺎﻣﭙﯿﻮﺗﺮ ﺧﻮد وﯾﻨﺪوز ﻧﺼﺐ ﮐﺮدهاﯾﺪ‪ ،‬ﻗﺒﻞ از اﺟﺮای‬
‫ﺳ دی ﻟﯿﻨﻮﮐﺲ ﺣﺘﻤﺎ ﯾ ﻓﻀﺎی ﺧﺎﻟ )ﻓﺮﻣﺖ ﻧﺸﺪه( ﺑﺮای ﻧﺼﺐ ﻟﯿﻨﻮﮐﺲ در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ‪ .‬ﺑﻬﺘﺮ اﺳﺖ اﯾﻦ ﻓﻀﺎ دﺳﺖ ﮐﻢ‬
‫ده ﮔﯿ ﺎ ﺑﺎﯾﺖ ﺑﺎﺷﺪ‪ .‬در ﺿﻤﻦ اﮔﺮ ﻣﺸ ﻞ ﻓﻀﺎ ﻧﺪارﯾﺪ ﺳﻌ ﮐﻨﯿﺪ در دﻓﻌﻪ اول ﻟﯿﻨﻮﮐﺲ ﻣﻮرد ﻧﻈﺮ را ﺑﻪ ﺻﻮرت ﮐﺎﻣﻞ ﻧﺼﺐ‬
‫ﮐﻨﯿﺪ ﺗﺎ ﻧﯿﺎزی ﺑﻪ اﻓﺰودن ﻧﺮماﻓﺰارﻫﺎﯾﯽ ﮐﻪ ﺑﻌﺪا ﺑﻪ آن ﻧﯿﺎز ﭘﯿﺪا ﻣ ﮐﻨﯿﺪ ﻧﺒﺎﺷﺪ‪ ،‬ﻫﺮﭼﻨﺪ ﮐﻪ در ﺻﻮرت ﻧﯿﺎز اﯾﻦ ﮐﺎر ﻧﯿﺰ ﺑﺴﯿﺎر‬
‫ﺳﺮراﺳﺖ اﺳﺖ‪.‬‬
‫ﺳﯿﺴﺘﻢ ﻟﯿﻨﻮﮐﺲ دارای ﯾ ‪ root‬اﺳﺖ ﮐﻪ ﺣ ﻢ ‪ Adminstrator‬در وﯾﻨﺪوز را دارد‪ .‬ﺳﻌ ﮐﻨﯿﺪ ﻫﯿﭻﮔﺎه ﺑﻪ ﻋﻨﻮان‬
‫ﮐﺎرﺑﺮ ‪ root‬ﺑﺮای ﮐﺎرﻫﺎی ﻣﻌﻤﻮﻟ در ﻟﯿﻨﻮﮐﺲ زﻧﺪﮔ ﻧﮑﻨﯿﺪ‪ .‬ﭼﻮن اﯾﻦ ﮐﺎرﺑﺮ اﺟﺎزه ﺣﺬف و اﺿﺎﻓﻪ ﻫﺮآﻧﭽﻪ ﮐﻪ ﺑﺨﻮاﻫﺪ را‬
‫دارد و ﺑﻌﻀ وﻗﺖﻫﺎ اﺷﺘﺒﺎﻫﺎﺗ ﮐﻪ ﺑﻪ ﻋﻨﻮان ‪ root‬ﻣﻤ ﻦ اﺳﺖ رخ دﻫﺪ ﺟﺒﺮان ﻧﺎﭘﺬﯾﺮ ﺧﻮاﻫﻨﺪ ﺑﻮد‪ .‬اول از ﻫﻤﻪ ﯾ ﺷﻨﺎﺳﻪ‬
‫ﮐﺎرﺑﺮ ﻣﻌﻤﻮﻟ ﺑﺎ اﺧﺘﯿﺎرات ﻋﺎدی درﺳﺖ ﮐﻨﯿﺪ‪ .‬ﻣﺜﻼ در ﻣﺜﺎلﻫﺎی اراﺋﻪ ﺷﺪه ﺷﻨﺎﺳﻪ ﮐﺎرﺑﺮ ﻣﻦ ﻋﻤﺪﺗﺎ ‪ akbar‬اﺳﺖ‪.‬‬
‫ﺳﺎﺧﺘﺎر ﺳﯿﺴﺘﻢ ﻓﺎﯾﻞ در ﻟﯿﻨﻮﮐﺲ ﺑﻪ اﯾﻦ ﺷ ﻞ اﺳﺖ ﮐﻪ ﻓﺎﯾﻞﻫﺎ در ﯾ ﺳﺮی ﺷﺎﺧﻪ ‪٢‬ﻫﺎﯾﯽ ﺳﺎزﻣﺎندﻫ ﻣ ﺷﻮﻧﺪ ﮐﻪ ﻣﺸﺎﺑﻪ‬

‫‪ ١‬در ﺑﺴﯿﺎری از ﻣﻮارد ﺑﻪ دﻟﯿﻞ ﻣﺘﻐﯿﺮ ﺑﻮدن وب ﺳﺎﯾﺖﻫﺎ ﻣﺎ از ارﺟﺎع ﺑﻪ ﯾ آدرس ﻣﻌﯿﻦ اﻣﺘﻨﺎع ﻣ ﮐﻨﯿﻢ و اﺻﻄﻼح »ﮔﻮﮔﻞ ﮐﺮدن« ﺑﺮای ﯾﺎﻓﺘﻦ ﯾ‬
‫ﻣﺪرک ﯾﺎ ﻓﺎﯾﻞ ﺑﻪ ﺧﺼﻮص را ﺑﺮای ﺟﺴﺘﺠﻮ در ‪ http://www.google.com‬ﺑﻪ ﮐﺎر ﻣ ﺑﺮﯾﻢ‪ .‬ﻫﻤﭽﻨﯿﻦ ﺑﺮای ﺑﺴﯿﺎری از وﺻﻠﻪ‐ﭘﯿﻨﻪﻫﺎﯾﯽ ﮐﻪ ﻣﻤ ﻦ‬
‫اﺳﺖ ﻟﯿﻨﻮﮐﺲ ﺷﻤﺎ ﺑﺮای ﺳﺎزﮔﺎری ﺑﺎ ﻣﻘﺎﺻﺪ ﻣﻮرد ﻧﻈﺮﺗﺎن ﻧﯿﺎز داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﺎﻓ اﺳﺖ در ‪ http://groups.google.com‬ﺑﻪ ﺟﺴﺘﺠﻮی ﺟﻮاﺑﯽ‬
‫ﺑﺮای ﻣﺸ ﻞ ﺧﻮد ﺑﭙﺮدازﯾﺪ‪.‬‬
‫‪tree٢‬‬

‫‪١‬‬
‫‪٢‬‬

‫ﺳﺎﺧﺘﺎر ﭘﻮﺷﻪ ‪٣‬ﻫﺎ در وﯾﻨﺪوز اﺳﺖ‪ .‬ﺗﻨﻪ اﺻﻠ ﻟﯿﻨﻮﮐﺲ ﯾﺎ رﯾﺸﻪ ﻋﺒﺎرت اﺳﺖ از ﺷﺎﺧﻪ ‪ ./‬در اﯾﻦ ﺷﺎﺧﻪ اﺻﻠ ﺷﺎﺧﻪﻫﺎی دﯾ ﺮی‬
‫ﻧﯿﺰ وﺟﻮد دارﻧﺪ ﮐﻪ ﻣﻬﻢﺗﺮﯾﻦ ﺷﺎن ﮐﻪ ﮐﺎرﺑﺮﻫﺎی ﻣﻌﻤﻮﻟ ﺑﺎ آن ﺳﺮوﮐﺎر دارﻧﺪ ﺷﺎﺧﻪ ‪ home‬اﺳﺖ ﮐﻪ آدرس ﮐﺎﻣﻞ آن ﺑﻪ اﯾﻦ‬
‫ﺷ ﻞ ﺧﻮاﻫﺪ ﺑﻮد‪ ./home/ :‬ﺷﺎﺧﻪﻫﺎی ﮐﻠﯿﻪ ﮐﺎرﺑﺮﻫﺎ زﯾﺮ ﻣﺠﻤﻮﻋﻪ اﯾﻦ ﺷﺎﺧﻪ ﻗﺮار ﻣ ﮔﯿﺮﻧﺪ‪ .‬ﻣﺜﻼ ﮐﺎرﺑﺮ ‪ akbar‬دارای‬
‫ﯾ ﺷﺎﺧﻪ در ‪ home‬اﺳﺖ ﮐﻪ آدرس آن ﺑﻪ ﺻﻮرت ‪ /home/akbar/‬ﺧﻮاﻫﺪ ﺑﻮد‪ .‬ﻫﻤﭽﻨﯿﻦ ﮐﺎرﺑﺮ ‪ navid‬در ﮐﺎﻣﭙﯿﻮﺗﺮ ﻣﻦ‬
‫ﻓﺎﯾﻞﻫﺎﯾﺶ را در ﻣﺤﻞ ‪ /home/navid/‬ﻧﮕﻬﺪاری ﻣ ﮐﻨﺪ‪ .‬ﻫﻨﮕﺎﻣ ﮐﻪ ‪ akbar‬ﺑﻪ ﻋﻨﻮان ﯾ ﮐﺎرﺑﺮ ﻣﻌﻤﻮﻟ ﺑﻪ ﮐﺎﻣﭙﯿﻮﺗﺮ‬
‫وارد ﻣ ﺷﻮد‪ ،‬ﻓﻘﻂ اﺟﺎزه اﺳﺘﻔﺎده و دﺳﺖﮐﺎری ﻓﺎﯾﻞﻫﺎی ﻣﻮﺟﻮد در زﯾﺮ ﻣﺠﻤﻮﻋﻪ ‪ /home/akbar/‬را دارد‪ .‬او ﻣ ﺗﻮاﻧﺪ ﺑﻪ‬
‫ﺷﺎﺧﻪ ﺗﺤﺖ ﺗﻤﻠ ﺧﻮﯾﺶ ﺑﻪ ﺻﻮرت ~ ﻧﯿﺰ ارﺟﺎع ﮐﻨﺪ‪ .‬ﻣﺜﻼ اﯾﻦ ﮐﺎرﺑﺮ ﺑﺮای ارﺟﺎع ﺑﻪ ﻓﺎﯾﻞ ‪ apw.doc‬ﮐﻪ ﻓﺮض ﻣ ﮐﻨﯿﻢ‬
‫در ﺷﺎﺧﻪ ‪ /home/akbar/‬ﻗﺮار داده اﺳﺖ‪ ،‬ﻣ ﺗﻮاﻧﺪ ﺑﻪ ﺻﻮرت ‪ ~/apw.doc‬ﺑﻪ آن ارﺟﺎع ﮐﻨﺪ‪.‬‬
‫ﻫﻤﭽﻨﯿﻦ در ﺻﻮرﺗ ﮐﻪ ﺳﯿﺴﺘﻢﻋﺎﻣﻞ وﯾﻨﺪوز ﻧﯿﺰ ﻋﻼوه ﺑﺮ ﻟﯿﻨﻮﮐﺲ در ﮐﺎﻣﭙﯿﻮﺗﺮ ﺷﻤﺎ ﻣﻮﺟﻮد ﺑﺎﺷﺪ‪ ،‬ﺑﺎ ﺗﻌﺮﯾﻒ ﮐﺮدن ﻧﻘﻄﻪ‬
‫اﻟﺼﺎق )‪ (mount point‬ﻣﻨﺎﺳﺐ ﺑﺮای ﻓﺎﯾﻞﻫﺎی ﺑﺨﺶ وﯾﻨﺪوز‪ ،‬اﯾﻦ ﺑﺨﺶ‪ ،‬از داﺧﻞ ﻟﯿﻨﻮﮐﺲ ﻗﺎﺑﻞ دﺳﺘﺮﺳ ﺧﻮاﻫﺪ ﺑﻮد؛‬
‫ﻣ ﺮ اﯾﻨﮑﻪ ﺳﯿﺴﺘﻢ ﻓﺎﯾﻞ وﯾﻨﺪوز ﺷﻤﺎ از ﻧﻮع ‪ NT‬ﺑﺎﺷﺪ ﮐﻪ ﺑﻪ دﻻﯾﻞ ﻣﺮﺑﻮط ﺑﻪ ﺣﻖ ﮐﭙﯽ در ﺗﻮزﯾﻊﻫﺎی ﻣﺠﺎز و ﻣﺠﺎﻧ ﻟﯿﻨﻮﮐﺲ‬
‫ﺑﺮﻧﺎﻣﻪ ﻣﺮﺑﻮﻃﻪ ﺑﻪ دﯾﺪن اﯾﻦ ﻧﻮع ﺳﯿﺴﺘﻢ ﻓﺎﯾﻞ وﯾﻨﺪوز در ﻟﯿﻨﻮﮐﺲ ﻣﻮﺟﻮد ﻧﻤ ﺑﺎﺷﺪ‪ .‬در اﯾﻦ ﺻﻮرت ﺑﺎﯾﺴﺘ ﺑﻪ دﻧﺒﺎل وﺻﻠﻪ و ﭘﯿﻨﻪ‬
‫ﻣﺮﺑﻮط ﺑﻪ اﯾﻦ ﮐﺎر ﺑﻮد ﮐﻪ ﺑﺎ ﮔﻮﮔﻞ ﮐﺮدن ﺑﻪ آﺳﺎﻧ ﻗﺎﺑﻞ ﮐﺸﻒ اﺳﺖ‪ .‬ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل در ﻟﯿﻨﻮﮐﺲ ‪ Fedora Core IV‬ﮐﻪ روی‬
‫ﮐﺎﻣﭙﯿﻮﺗﺮ ﻣﻦ ﻧﺼﺐ اﺳﺖ‪ ،‬دراﯾﻮ ‪ C‬وﯾﻨﺪوز ﺑﻪ ﺷﺎﺧﻪ ‪ /xpc/‬در ﻟﯿﻨﻮﮐﺲ اﻟﺼﺎق ﺷﺪه اﺳﺖ‪ .‬اﯾﻦ اﻟﺼﺎق ﻫﻢ در ﺣﯿﻦ ﻧﺼﺐ‬
‫ﻟﯿﻨﻮﮐﺲ اﻣ ﺎن ﭘﺬﯾﺮ اﺳﺖ )ﮐﻪ آﺳﺎنﺗﺮ اﺳﺖ( و ﻫﻢ ﺑﻌﺪ از ﻧﺼﺐ )ﮐﻪ ﻧﯿﺎز ﺑﻪ اﺧﺘﯿﺎرات ‪ root‬دارد(‪.‬‬

‫دﺳﺘﻮرات اﺳﺎﺳ و ﻣﯿﻨﯿﻤﺎل ﻟﯿﻨﻮﮐﺲ‬ ‫‪٢.٠‬‬


‫ﻣﻬﻢﺗﺮﯾﻦ اﺑﺰار ﻣﻮرد ﻧﯿﺎز ﺷﻤﺎ در ﻟﯿﻨﻮﮐﺲ ﯾ ﺗﺮﻣﯿﻨﺎل ﺑﺮای ﺻﺎدر ﮐﺮدن دﺳﺘﻮراﺗﺘﺎن اﺳﺖ‪ .‬ﺑﺮای اﺟﺮای ﺗﺮﻣﯿﻨﺎل ﯾ راه‬
‫ﭘﺮدردﺳﺮ اﯾﻦ اﺳﺖ ﮐﻪ ﻣﻄﺎﺑﻖ ﺷ ﻞ ‪ ١‬ﻋﻤﻞ ﮐﻨﯿﻢ‪ .‬اﻣﺎ راه آﺳﺎنﺗﺮ اﯾﻦ اﺳﺖ ﮐﻪ روی ﺗﺮﻣﯿﻨﺎل ﮐﻠﯿ راﺳﺖ ﮐﺮده و ﺳﭙﺲ‬

‫ﺷ ﻞ ‪ :١‬ﻧﺤﻮه اﺟﺮای ﺗﺮﻣﯿﻨﺎل‬

‫ﮔﺰﯾﻨﻪ اﻓﺰودن آن ﺑﻪ ﭘﺎﻧﻞ را اﻧﺘﺨﺎب ﮐﻨﯿﻢ‪ .‬در اﯾﻦ ﺻﻮرت ﻫﻤﯿﺸﻪ اﯾﻦ ﺑﺮﻧﺎﻣﻪ در ﭘﺎﻧﻞ ﺑﺮای ﮐﻠﯿ و اﺟﺮای ﺑﻼﻓﺎﺻﻞ ﻗﺎﺑﻞ‬
‫درﺳﺘﺮﺳ ﺧﻮاﻫﺪ ﺑﻮد‪ .‬ﻣ ﺗﻮاﻧﯿﺪ اﯾﻦ ﮐﺎر را ﺑﺮای ﭼﻨﺪ ﺑﺮﻧﺎﻣﻪ ﻣﻬﻢ دﯾ ﺮ ﮐﻪ ﺑﻪ دﻓﻌﺎت از آﻧﻬﺎ اﺳﺘﻔﺎده ﻣ ﮐﻨﯿﺪ ﻧﯿﺰ اﻧﺠﺎم دﻫﯿﺪ‬
‫و آﻧﻬﺎ را ﺑﻪ ﭘﺎﻧﻞ ﺧﻮد ﺑﯿﻔﺰاﯾﯿﺪ‪.‬‬
‫ﺷ ﻞ ﺑﻌﺪی ﻧﺘﯿﺠﻪ راه اﻧﺪازی ﯾ ﺗﺮﻣﯿﻨﺎل و اﺟﺮای دﺳﺘﻮر ‪ ls -t‬در آن را ﻧﺸﺎن ﻣ دﻫﺪ‪.‬‬

‫ﺷ ﻞ ‪ :٢‬ﺗﺮﻣﯿﻨﺎل و دﺳﺘﻮر ﻟﯿﺴﺖ ﮐﺮدن‬

‫‪folder٣‬‬
‫‪٣‬‬ ‫‪ .٢.٠‬دﺳﺘﻮرات اﺳﺎﺳ و ﻣﯿﻨﯿﻤﺎل ﻟﯿﻨﻮﮐﺲ‬

‫دﺳﺘﻮر ‪ ls‬ﺷﺎﺧﻪﻫﺎ و ﻓﺎﯾﻞﻫﺎی ﻣﻮﺟﻮد در ﺷﺎﺧﻪای ﮐﻪ در آن ﻫﺴﺘﯿﻢ را ﻧﺸﺎن ﻣ دﻫﺪ‪ .‬در ﻟﯿﻨﻮﮐﺲ ﺑﺴﯿﺎری از دﺳﺘﻮرات‬
‫دارای ﭘﺎراﻣﺘﺮﻫﺎی اﺧﺘﯿﺎری ﻫﺴﺘﻨﺪ ﮐﻪ ﻣﻌﻤﻮﻻ ﺑﻌﺪ از ‪ -‬ﯾﺎ ‪ --‬اﯾﻦ ﭘﺎراﻣﺘﺮﻫﺎی اﺧﺘﯿﺎری را وارد ﻣ ﮐﻨﯿﻢ‪ .‬ﻣﺜﻼ در اﯾﻨﺠﺎ آﭘﺸﻦ‬
‫‪ -t‬ﺑﻪ ﻣﻌﻨﺎی اﯾﻦ اﺳﺖ ﮐﻪ ﻟﯿﺴﺖ را ﺑﻪ ﺗﺮﺗﯿﺐ زﻣﺎﻧ ﻣﺮﺗﺐ ﮐﻨﺪ‪ ،‬ﺑﻪ اﯾﻦ ﺷ ﻞ ﮐﻪ ﻓﺎﯾﻠ ﮐﻪ آﺧﺮﯾﻦ ﺗﻐﯿﯿﺮات در آن ﺻﻮرت‬
‫ﮔﺮﻓﺘﻪ ﺑﺎﻻﺗﺮ از ﻫﻤﻪ ﻇﺎﻫﺮ ﻣ ﺷﻮد‪.‬‬
‫اﻣﺎ ﺧﻼﺻﻪ دﺳﺘﻮرات ﻣﻬﻢ ﻟﯿﻨﻮﮐﺲ ﮐﻪ ﻫﻤﯿﺸﻪ در زﻧﺪﮔ ﻟﯿﻨﻮﮐﺴ ﺑﻪ ﮐﺎر ﻣ آﯾﺪ‪:‬‬

‫درﯾﺎﻓﺖ ﮐﻤ‬ ‫‪١.٢.٠‬‬


‫در وﺿﻌﯿﺖﻫﺎی ﻣﺨﺘﻠﻒ اﺳﺖ‪.‬‬ ‫ﯾ از ﻧﯿﺎزﻫﺎی ﻫﻤﯿﺸ ﻣﺎ در ﻫﺮ ﺳﻄﺤ از آﺷﻨﺎﯾﯽ ﺑﺎ ﮐﺎﻣﭙﯿﻮﺗﺮ ﮐﻪ ﺑﺎﺷﯿﻢ‪ ،‬درﯾﺎﻓﺖ ﮐﻤ‬
‫درﯾﺎﻓﺖ ﮐﻤ ﺑﺮای دﺳﺘﻮرات ﺳﺎده‪ ،‬ﺑﺴﯿﺎر آﺳﺎن اﺳﺖ‪:‬‬

‫• اﮔﺮ در ﻣﻮرد دﺳﺘﻮری ﻧﯿﺎز ﺑﻪ ﮐﻤ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﺑﻪ راﺣﺘ ﺑﺎ ﺗﺎﯾﭗ آن دﺳﺘﻮر و ﺳﭙﺲ ‪ -- help‬ﻣ ﺗﻮاﻧﯿﺪ ﻣﻘﺪاری‬
‫راﻫﻨﻤﺎﯾﯽ در ﻣﻮرد ﻧﺤﻮه اﺳﺘﻔﺎده از آن درﯾﺎﻓﺖ ﻧﻤﺎﯾﯿﺪ‪ .‬ﻣﺜﻼ ‪ ls --help‬ﻣﻘﺎدﯾﺮ زﯾﺎدی اﻃﻼﻋﺎت ﮐﻤ ﺑﻪ ﺷﻤﺎ‬
‫ﻣ دﻫﺪ‪ .‬ﮔﺎﻫ ﻧﯿﺰ آﭘﺸﻦ ‪ --info‬ﺑﺮای ﺑﺮﺧ دﺳﺘﻮرات ﻣﻔﯿﺪ اﺳﺖ‪.‬‬

‫• روش ﻣﻬﻢ دﯾ ﺮ اﺳﺘﻔﺎده از دﺳﺘﻮر ﺟﺰوه راﻫﻨﻤﺎ )‪ (manual‬اﺳﺖ‪ .‬اﯾﻦ دﺳﺘﻮر ﻋﺒﺎرت اﺳﺖ از ]‪.man [command name‬‬
‫ﻣﺜﻼ ﺑﺮای ﮐﺴﺐ اﻃﻼﻋﺎت در ﻣﻮرد دﺳﺘﻮر ‪ ls‬ﮐﺎﻓ اﺳﺖ ﺗﺎﯾﭗ ﮐﻨﯿﻢ ‪ man ls‬ﮐﻪ ﺟﺰوه راﻫﻨﻤﺎی دﺳﺘﻮر ‪ ls‬را ﺑﺎز‬
‫ﻣ ﮐﻨﺪ‪ .‬اﯾﻦ ﺟﺰوه داﺧﻞ ﻫﻤﺎن ﺗﺮﻣﯿﻨﺎل و در ﻣﺤﯿﻂ ﺧﺎﺻ اﺳﺖ‪ .‬ﺑﺮای ﻧﺎوﺑﺮی در اﯾﻦ ﻣﺤﯿﻂ ﻣ ﺗﻮاﻧﯿﺪ از ﮐﻠﯿﺪﻫﺎی‬
‫ﺟﻬﺘ اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪ .‬ﺑﺮای ﺧﺎرج ﺷﺪن از اﯾﻦ ﻣﺤﯿﻂ و ﺑﺴﺘﻦ ﺟﺰوه ﮐﺎﻓ اﺳﺖ ﺗﺎﯾﭗ ﮐﻨﯿﺪ ‪.q‬‬

‫ﻧﺎم دﺳﺘﻮر را ﻧﻤ داﻧﯿﺪ‬ ‫‪٢.٢.٠‬‬


‫ﻫﻨﮕﺎﻣ ﮐﻪ اﺻﻼ اﯾﺪهای ﻧﺪارﯾﺪ ﮐﻪ ﺑﺮای ﻫﺪف ﻣﻮرد ﻧﻈﺮﺗﺎن از ﭼﻪ دﺳﺘﻮری ﺑﺎﯾﺪ اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪ ،‬ﯾ دﺳﺘﻮر ﭘﺮﻗﺪرت وﺟﻮد‬
‫دارد ﮐﻪ ﺑﻪ ﺷﻤﺎ اﯾﺪهای ﺧﻮاﻫﺪ داد‪ .‬اﯾﻦ دﺳﺘﻮر ﻋﺒﺎرت اﺳﺖ از ‪ .apropos‬ﻣﺜﻼ ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ ﻣ ﺧﻮاﻫﯿﺪ ﺑﺪاﻧﯿﺪ ﺑﺮای ﮐﺎر‬
‫ﮐﺮدن ﺑﺎ ﻓﺎﯾﻞ ﭘﯽدیاف ﭼﻪ دﺳﺘﻮری ﻣﻨﺎﺳﺐ اﺳﺖ‪ .‬ﮐﺎﻓ اﺳﺖ ﺗﺎﯾﭗ ﮐﻨﯿﺪ‪ apropos pdf :‬ﺗﺎ ﻟﯿﺴﺘ از دﺳﺘﻮراﺗ ﮐﻪ‬
‫ﻣﺤﺘﻤﻞ اﺳﺖ ﺑﻪ ﺷﻤﺎ ﮐﻤ ﮐﻨﻨﺪ را ﺑﻪ ﺷﻤﺎ اراﺋﻪ دﻫﺪ‪.‬‬
‫راه ﺣﻞ دوم ﻃﺒﻖ ﻣﻌﻤﻮل ﮔﻮﮔﻞ ﮐﺮدن اﺳﺖ ﮐﻪ ﺑﺮای دﺳﺘﻮرات ﺑﺴﯿﺎر ﻣﻘﺪﻣﺎﺗ ﻗﻄﻌﺎ در ﻋﺮض ﭼﻨﺪ دﻗﯿﻘﻪ ﺟﻮاب ﺧﻮد‬
‫را ﺧﻮاﻫﯿﺪ ﯾﺎﻓﺖ‪ .‬اﻟﺒﺘﻪ راه ﺣﻞ ﺳﻮﻣ ﻫﻢ وﺟﻮد دارد و آن زﺣﻤﺖ دادن ﺑﻪ دوﺳﺘﺎن اﺳﺖ ﮐﻪ ﺑﺮای دﺳﺘﻮرات ﻣﻘﺪﻣﺎﺗ زﯾﺎد‬
‫ﺗﻮﺻﯿﻪ ﻧﻤ ﺷﻮد! اﯾﻦ ﺳﻬﻤﯿﻪ را ﺑﺮای ﻣﺴﺎﯾﻞ ﺳﺨﺖﺗﺮ ﺧﺮج ﮐﻨﯿﺪ‪.‬‬

‫ﺗﮑﻤﯿﻞ دﺳﺘﻮرات‬ ‫‪٣.٢.٠‬‬

‫ﺷ ﻞ ‪ :٣‬ﺗﮑﻤﯿﻞ دﺳﺘﻮرات‬

‫در ﻟﯿﻨﻮﮐﺲ ‪ Tab‬ﯾ ﮐﻠﯿﺪ ﺑﺴﯿﺎر ﻣﻬﻢ و ﭘﺮﻗﺪرت اﺳﺖ‪ .‬اﯾﻦ ﮐﻠﯿﺪ دﺳﺘﻮرات ﻧﺎﻗﺺ ﺷﻤﺎ را در ﻣﺤﯿﻂ ﺗﺮﻣﯿﻨﺎل و در‬
‫ﺑﺴﯿﺎری از ﻣﺤﯿﻂﻫﺎی دﯾ ﺮ ﺗﮑﻤﯿﻞ ﻣ ﮐﻨﺪ‪ .‬ﻣﺜﻼ ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ ﻣﯿﺨﻮاﻫﯿﺪ دﺳﺘﻮر ‪ appropos‬ﺑﺎﻻ را ﺗﺎﯾﭗ ﮐﻨﯿﺪ‪ .‬ﺑﻌﺪ از‬
‫ﺗﺎﯾﭗ ‪ ap‬ﮐﻠﯿﺪ ‪ Tab‬را دوﺑﺎر ﻓﺸﺎر دﻫﯿﺪ )درﺳﺖ ﻣﺜﻞ دﺑﻞ‐ﮐﻠﯿ ( ﺗﺎ ﺗﻤﺎﻣ دﺳﺘﻮرات ﻣﻮﺟﻮد در ﻟﯿﻨﻮﮐﺲ ﺷﻤﺎ ﮐﻪ ﺑﺎ ‪ap‬‬
‫ﺷﺮوع ﻣ ﺷﻮﻧﺪ را ﺑﻪ ﺷﻤﺎ ﻣﻌﺮﻓ ﮐﻨﺪ‪ .‬در ﻣﻮرد ﻟﯿﻨﻮﮐﺲ ﻣﻦ ﻫﻔﺖ اﻣ ﺎن ﻣﻄﺎﺑﻖ ﺷ ﻞ ‪ ٣‬وﺟﻮد دارد‪ .‬دوﺑﺎره ‪ ap‬در ﺧﻂ‬
‫ﻓﺮﻣﺎن درﺑﺮاﺑﺮ ﺷﻤﺎﺳﺖ‪ .‬ﺣﺎل اﮔﺮ ﺑﻌﺪ از ‪ ap‬ﺣﺮف ‪ r‬را ﺗﺎﯾﭗ ﮐﻨﯿﺪ ﺗﺎ ﺷﺮوع دﺳﺘﻮر ﺑﻪ ﺷ ﻞ ‪ apr‬ﺑﺎﺷﺪ ﺑﺎ ﯾ ﺑﺎر ﻓﺸﺎر دادن‬
‫ﻣﺠﺪد ﮐﻠﯿﺪ ‪ Tab‬ﺗﻨﻬﺎ ﮔﺰﯾﻨﻪ ﻣﻮﺟﻮد از ﻣﯿﺎن ﻫﻔﺖ ﮔﺰﯾﻨﻪ ﻓﻮق ‪ apropos‬ﺧﻮاﻫﺪ ﺑﻮد ﮐﻪ ﺑﺮاﯾﺘﺎن ﺗﮑﻤﯿﻞ ﻣ ﮔﺮدد‪.‬‬
‫‪۴‬‬

‫ﮐﭙﯽ ﮐﺮدن و ﻣﻨﺘﻘﻞ ﮐﺮدن و ﺣﺬف ﮐﺮدن‬ ‫‪۴.٢.٠‬‬

‫ﺑﺎ اﯾﻨﮑﻪ در ﻟﯿﻨﻮﮐﺲ اﻣ ﺎن ﮐﭙﯽ و ﭼﺴﺒﺎﻧﺪن ﻣﺒﺘﻨ ﺑﺮ ﻣﺎوس ﻫﻤﺎﻧﻨﺪ وﯾﻨﺪوز وﺟﻮد دارد‪ ،‬اﻣﺎ ﺑﺮای ﮐﺴﺎﻧ ﮐﻪ ﺳﺮﻋﺖ و ﺳﺎدﮔ‬
‫ﮐﺎر ﺑﺎ ﺻﻔﺤﻪ ﮐﻠﯿﺪ را دوﺳﺖ دارﻧﺪ‪ ،‬آﺳﺎن ﺗﺮﯾﻦ ﮐﺎر اﺳﺘﻔﺎده از دﺳﺘﻮر ‪ cp‬ﺑﺮای ﮐﭙﯽ ﮐﺮدن اﺳﺖ‪ .‬ﺳﺎدهﺗﺮﯾﻦ ﺷ ﻞ اﯾﻦ‬
‫دﺳﺘﻮر ‪ cp file1 file2‬اﺳﺖ ﮐﻪ ﺑﺎ داﺷﺘﻦ ‪ file1‬ﯾ ﮐﭙﯽ دﯾ ﺮ ‪ file2‬از آن را ﺗﻮﻟﯿﺪ ﻣ ﮐﻨﺪ‪ .‬اﮔﺮ ﺑﺨﻮاﻫﯿﻢ‬
‫ﻓﺎﯾﻞ ﺷﻤﺎره دو را در ﻣﺤﻞ دﯾ ﺮی ﻣﺜﻼ در زﯾﺮ ﺷﺎﺧﻪ ‪ cpp‬در داﯾﺮﮐﺘﻮری ﺧﺎﻧﻪ ‪ akbar‬درﺳﺖ ﮐﻨﺪ ﮐﺎﻓ اﺳﺖ ﺗﺎﯾﭗ ﮐﻨﯿﻢ‪:‬‬
‫‪ cp file1 /home/akbar/cpp/file2‬ﯾﺎ ﺑﻪ ﺻﻮرت ﻣﻌﺎدل ‪ .cp file1 ~/cpp/file2‬ﯾﺎ اﮔﺮ ﻣ ﺧﻮاﻫﯿﻢ ﺑﺎ‬
‫ﻫﻤﺎن ﻧﺎم ‪ file1‬ﺑﻪ زﯾﺮ ﺷﺎﺧﻪ ‪ cpp‬ﮐﭙﯽ ﺷﻮد دﺳﺘﻮر ‪ cp file1 ~/cpp/‬ﮐﻔﺎﯾﺖ ﻣ ﮐﻨﺪ‪ .‬اﮔﺮ ﺑﺨﻮاﻫﯿﻢ ﺑﻪ ﺟﺎی ﻓﺎﯾﻞ‬
‫ﯾ ﺷﺎﺧﻪ را ﺑﺎ ﺗﻤﺎم ﻣﺤﺘﻮﯾﺎﺗﺶ ﮐﭙﯽ ﮐﻨﯿﻢ از آﭘﺸﻦ ‪ -R‬اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪ .‬ﻣﺜﻼ‪ :‬دﺳﺘﻮر ‪ cp -R cpp/ cplusplus‬ﯾ‬
‫ﮐﭙﯽ از ﮐﻞ ﺷﺎﺧﻪ ‪ ~/cpp/‬را در ﺷﺎﺧﻪای ﺑﻪ اﺳﻢ ‪ ~/cplusplus/‬اﯾﺠﺎد ﻣ ﮐﻨﺪ‪.‬‬
‫اﻣﺎ اﮔﺮ ﺑﺨﻮاﻫﯿﻢ ﻓﺎﯾﻠ را از ﺟﺎﯾﯽ ﺑﻪ ﺟﺎی دﯾ ﺮ ﻣﻨﺘﻘﻞ ﮐﻨﯿﻢ ﮐﺎﻓ اﺳﺖ ﺑﻪ ﺟﺎی ‪ cp‬از ‪) mv‬ﺟﺎﺑﻪﺟﺎ ﮐﺮدن( اﺳﺘﻔﺎده‬
‫ﮐﻨﯿﻢ‪ .‬دﺳﺘﻮر ‪ mv file1 file2‬ﻓﺎﯾﻞ ﺷﻤﺎره ﯾ را ﺑﻪ ﮐﻠ از ﺑﯿﻦ ﺑﺮده و ﻓﺎﯾﻞ ﺷﻤﺎره دو را ﺑﻪ ﺟﺎی آن ﭘﺪﯾﺪ ﻣ آورد‪.‬‬
‫اﯾﻦ ﻣﺸﺎﺑﻪ دﺳﺘﻮر ‪ Rename‬در وﯾﻨﺪوز اﺳﺖ‪.‬‬
‫ﻫﻤﯿﻦﻃﻮر دﺳﺘﻮر ﺧﻄﺮﻧﺎک ‪ rm‬ﻓﺎﯾﻞﻫﺎ ﯾﺎ ﺷﺎﺧﻪﻫﺎ را ﺣﺬف ﻣ ﮐﻨﺪ‪ .‬اﮔﺮ ﭘﯿﺶﻓﺮض ﺳﯿﺴﺘﻢ ﺷﻤﺎ اﯾﻦ اﺳﺖ ﮐﻪ ﺑﻪ ﻣﺤﺾ‬
‫ﺻﺎدر ﮐﺮدن اﯾﻦ دﺳﺘﻮر ﺑﺪون ﭘﺮﺳﺶ ﻣﺠﺪد ﻓﺎﯾﻞﻫﺎ را ﺣﺬف ﮐﻨﺪ ﺑﻬﺘﺮ از ﺑﺎ اﺣﺘﯿﺎط از اﯾﻦ دﺳﺘﻮر اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪ .‬ﯾ راه‬
‫ﺧﻮب ﺑﺮای اﯾﻦ ﮐﺎر اﺳﺘﻔﺎده از آﭘﺸﻦ ‪ -i‬اﺳﺖ‪ .‬ﻣﺜﻼ دﺳﺘﻮر ‪ rm -i hello.cc‬ﻓﺎﯾﻞ ‪ hello.cc‬را ﺣﺬف ﻣ ﮐﻨﺪ‪ ،‬اﻣﺎ‬
‫ﻗﺒﻞ از ﺣﺬف از ﺷﻤﺎ ﻣ ﭘﺮﺳﺪ ﮐﻪ آﯾﺎ ﻣﻄﻤﺌﻦ ﻫﺴﺘﯿﺪ ﮐﻪ ﻣ ﺧﻮاﻫﯿﺪ اﯾﻦ ﻓﺎﯾﻞ را ﺣﺬف ﮐﻨﯿﺪ ﯾﺎ ﺧﯿﺮ‪ .‬ﺟﻮاب ﺑﻠﻪ )‪ (y‬ﯾﺎ ﺧﯿﺮ‬
‫)‪ (n‬ﺷﻤﺎ ﮐﺎر را ﯾ ﺳﺮه ﺧﻮاﻫﺪ ﮐﺮد‪.‬‬

‫در ﮐﺪام زﯾﺮ ﺷﺎﺧﻪ ﻫﺴﺘﻢ؟‬ ‫‪۵.٢.٠‬‬

‫ﺑﺮای اﯾﻨﮑﻪ ﺑﺒﯿﻨﯿﺪ در ﺣﺎل ﺣﺎﺿﺮ در ﮐﺪام زﯾﺮ ﺷﺎﺧﻪ ﻫﺴﺘﯿﺪ‪ ،‬ﮐﺎﻓ اﺳﺖ دﺳﺘﻮر ‪ pwd‬را وارد ﮐﻨﯿﺪ‪ .‬اﯾﻦ دﺳﺘﻮر ﺑﻪ ﺷﻤﺎ ﺧﻮاﻫﺪ‬
‫ﮔﻔﺖ ﮐﻪ در ﮐﺪام زﯾﺮﺷﺎﺧﻪ ﻫﺴﺘﯿﺪ‪ .‬ﻣﺜﻼ اﮔﺮ در زﯾﺮﺷﺎﺧﻪ ‪ ~/fortran‬ﻫﺴﺘﯿﺪ‪ ،‬ﺑﺎ ﺗﺎﯾﭗ اﯾﻦ دﺳﺘﻮر ﺟﻮاب ﺳﯿﺴﺘﻢ ﺑﻪ ﺷﻤﺎ‬
‫ﻣﺴﯿﺮ ﮐﺎﻣﻞ ‪ /home/akbar/fortran‬ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫ﺑﺮای ﺗﻐﯿﯿﺮ زﯾﺮ ﺷﺎﺧﻪ از دﺳﺘﻮرات زﯾﺮ ﻣ ﺗﻮان اﺳﺘﻔﺎده ﮐﺮد‪ .‬ﺑﺮای وارد ﺷﺪن ﺑﻪ زﯾﺮ ﺷﺎﺧﻪ ﻓﺮﺿ ‪ learning‬ﮐﻪ در‬
‫ﺷﺎﺧﻪ ‪ fortran‬وﺟﻮد دارد‪ ،‬اﮔﺮ ﭼﻨﺎﻧﭽﻪ اﮐﻨﻮن در زﯾﺮﺷﺎﺧﻪ ‪ fortran‬ﻫﺴﺘﯿﺪ‪ ،‬ﮐﺎﻓ اﺳﺖ ﺗﺎﯾﭗ ﮐﻨﯿﺪ ‪.cd learning‬‬
‫ﺑﺮای اﯾﻨﮑﻪ از زﯾﺮ ﺷﺎﺧﻪ ‪ learning‬ﺑﻪ زﯾﺮ ﺷﺎﺧﻪ ﺑﺎﻻﯾﯽ ‪ fortran‬ﺑﺮﮔﺮدﯾﺪ‪ ،‬ﮐﺎﻓ اﺳﺖ ﺗﺎﯾﭗ ﮐﻨﯿﺪ ‪ .cd ..‬ﺗﺎﯾﭗ دﺳﺘﻮر‬
‫‪ cd‬ﺑﺪون ﻫﯿﭻ آرﮔﻮﻣﺎﻧ ﻫﺮ ﮐﺲ را ﺑﻪ داﯾﺮﮐﺘﻮری ﺧﺎﻧﻪاش ﻣ ﺑﺮد‪ .‬در ﻫﺮ زﯾﺮﺷﺎﺧﻪای ﮐﻪ ﻣﻦ ﺑﺎﺷﻢ‪ ،‬دﺳﺘﻮر ‪ cd‬ﻣﺮا ﺑﻪ ﺷﺎﺧﻪ‬
‫ﺧﺎﻧﻪ ‪ /home/akbar‬ﺧﻮاﻫﺪ ﺑﺮد‪.‬‬

‫ﮐﺴﺐ اﺧﺘﯿﺎرات ‪root‬‬ ‫‪۶.٢.٠‬‬

‫اﮔﺮ ﺑﻪ ﺻﻮرت ﮐﺎرﺑﺮ ﻣﻌﻤﻮﻟ ﺑﻪ ﮐﺎﻣﭙﯿﻮﺗﺮ وارد ﺷﺪهاﯾﺪ‪ ،‬و ﺑﺮای ﮐﺎری )ﻣﺜﻼ ﻧﺼﺐ ﯾ ﺑﺮﻧﺎﻣﻪ( ﻧﯿﺎز ﺑﻪ اﺧﺘﯿﺎرات ‪root‬‬
‫دارﯾﺪ‪ ،‬ﮐﺎﻓ اﺳﺖ ﺗﺎﯾﭗ ﮐﻨﯿﺪ ‪) su‬ﻣﺨﻔﻒ ‪ .(superuser‬ﺳﭙﺲ ﺳﯿﺴﺘﻢ از ﺷﻤﺎ ﺗﻘﺎﺿﺎی ﮐﻠﻤﻪ ﻋﺒﻮر ‪ root‬را ﺧﻮاﻫﺪ ﮐﺮد و‬
‫در ﺻﻮرت درﺳﺖ وارد ﮐﺮدن ﮐﻠﻤﻪ ﻋﺒﻮر ﺧﻮاﻫﯿﺪ دﯾﺪ ﮐﻪ ﭘﯿﺎمواره ‪ ۴‬ﺗﺮﻣﯿﻨﺎل ﺷﻤﺎ ﺑﻪ ﺟﺎی ﻣﺜﻼ ﮐﺎرﺑﺮ ‪ akbar‬ﮐﺎرﺑﺮ ‪ root‬را‬
‫ﻧﺸﺎن ﺧﻮاﻫﺪ داد‪ .‬ﺑﺮای ﺧﺎرج ﺷﺪن از اﺧﺘﯿﺎرات ‪ root‬از دﺳﺘﻮر ‪ exit‬اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪ .‬اﮔﺮ در ﺳﯿﺴﺘﻢ داﻧﺸ ﺎه ﮐﺎر ﻣ ﮐﻨﯿﺪ‬
‫ﺗﻘﺮﯾﺒﺎ ﻫﯿﭻﮔﺎه ﺷﻤﺎ ﺷﺎﻧﺲ ‪ root‬ﺷﺪن را ﻧﺨﻮاﻫﯿﺪ داﺷﺖ‪ ،‬ﻣ ﺮ اﯾﻨﮑﻪ ﯾ ﻫ ﺮ ﺣﺮﻓﻪای ﺑﺎﺷﯿﺪ ﮐﻪ در آن ﺻﻮرت از اﯾﻦ‬
‫ﯾﺎدداﺷﺖ ﺑﯽﻧﯿﺎز ﺧﻮاﻫﯿﺪ ﺑﻮد‪.‬‬
‫در ﻟﯿﻨﻮﮐﺲ ﻫﺎی ‪ ubuntu‬ﮐﺴﺐ اﺧﺘﯿﺎرات ‪ root‬ﺑﺎ دﺳﺘﻮر ‪ sudo su‬اﻣ ﺎن ﭘﺬﯾﺮ اﺳﺖ‪ .‬اﻣﺎ اﮔﺮ ﺑﺨﻮاﻫﯿﺪ دﺳﺘﻮر ﻓﻘﻂ‬
‫ﯾ دﺳﺘﻮر ﺧﺎص را ﺑﺎ اﺧﺘﯿﺎرات اﺑﺮﮐﺎرﺑﺮ اﻧﺠﺎم دﻫﯿﺪ ﮐﺎﻓ اﺳﺖ ﺗﺎﯾﭗ ﮐﻨﯿﺪ ‪ sudo command‬ﮐﻪ ﻣﻨﻈﻮر از ‪command‬‬
‫ﻫﺮ دﺳﺘﻮر دﻟﺨﻮاه ﻣﺪ ﻧﻈﺮ ﺷﻤﺎﺳﺖ‪.‬‬

‫‪prompt۴‬‬
‫‪۵‬‬ ‫‪ .٣.٠‬وﯾﺮاﯾﺶﮔﺮ ﻣﺘﻦ‬

‫‪ ٣.٠‬وﯾﺮاﯾﺶﮔﺮ ﻣﺘﻦ‬
‫ﺑﻌﺪ از آﺷﻨﺎﯾﯽ ﻣﻘﺪﻣﺎﺗ ﺑﺎ ﻣﺤﯿﻂ ﺗﺮﻣﯿﻨﺎل ﮐﻪ در ﺑﺨﺶ ﻗﺒﻞ ﺷﺮح آن ﮔﺬﺷﺖ‪ ،‬ﻧﻮﺑﺖ ﺑﻪ ﻣﺤﯿﻄ ﻣ رﺳﺪ ﮐﻪ در آن ﺑﺘﻮان ﻓﺎﯾﻞﻫﺎی‬
‫ﻣﺘﻦ و ﻣﻨﺒﻊ ‪ ۵‬ﺑﺮای ﺑﺮﻧﺎﻣﻪﻫﺎی ﮐﺎﻣﭙﯿﻮﺗﺮی ﻧﻮﺷﺖ‪.‬‬

‫• ﺳﺎدهﺗﺮﯾﻦ وﯾﺮاﺳﺘﺎر ﻣﺘﻨ ﮐﻪ ﻫﻤﺮاه ﻋﻤﺪه ﺗﻮزﯾﻊﻫﺎی ﻟﯿﻨﻮﮐﺲ ﻣ آﯾﺪ ﻋﺒﺎرت اﺳﺖ از ‪ gedit‬ﺑﺮای اﺟﺮای آن ﮐﺎﻓ‬
‫اﺳﺖ از ﺻﻔﺤﻪ ﺗﺮﻣﯿﻨﺎل ﺧﻮد ﺗﺎﯾﭗ ﮐﻨﯿﺪ & ‪ .gedit‬ﻗﺮار دادن & ﺑﻌﺪ از ﻫﺮ دﺳﺘﻮر ﻟﯿﻨﻮﮐﺲ ﺑﺎﻋﺚ ﻣ ﺷﻮد ﮐﻪ دﺳﺘﻮر‬
‫ﺻﺎدر ﺷﺪه در »زﻣﯿﻨﻪ« ﮐﺎﻣﭙﯿﻮﺗﺮ اﺟﺮا ﺷﻮد و ﺗﺮﻣﯿﻨﺎل ﺑﺮای ﺻﺪور دﺳﺘﻮرات ﺑﻌﺪی در دﺳﺘﺮس ﺑﺎﺷﺪ‪ .‬اﮔﺮ از آﻏﺎز‬
‫ﯾﺎدﺗﺎن رﻓﺖ ﮐﻪ ﻣﺜﻼ دﺳﺘﻮر ‪ gedit‬را ﺑﺎ & در زﻣﯿﻨﻪ اﺟﺮا ﮐﻨﯿﺪ‪ ،‬ﺑﺮای رﻫﺎ ﮐﺮدن ﺗﺮﻣﯿﻨﺎل )اﮔﺮ دوﺳﺖ ﻧﺪارﯾﺪ ﺻﻔﺤﻪ‬
‫ﻧﻤﺎﯾﺶ ﺧﻮد را ﺑﺎ دهﻫﺎ ﺗﺮﻣﯿﻨﺎل ﺷﻠﻮغ ﮐﻨﯿﺪ( ﮐﺎﻓ اﺳﺖ ﻣﻮﻗﺘﺎ ﺑﺎ ﺻﺪور دﺳﺘﻮر ‪) Ctrl+z‬ﯾﻌﻨ ﮐﻠﯿﺪ ‪ Ctrl‬را ﻓﺸﺎر‬
‫داده ﻧﮕﺎهدارﯾﺪ و ﺳﭙﺲ ﮐﻠﯿﺪ ‪ z‬را ﺑﺰﻧﯿﺪ( در ﺗﺮﻣﯿﻨﺎل ﻣﻮرد ﻧﻈﺮ ﺑﺮﻧﺎﻣﻪ را ﻣﻌﻠﻖ ﮐﻨﯿﺪ‪ ،‬ﺑﻌﺪ ﮐﻪ ﺗﺮﻣﯿﻨﺎل ﻣﻮﻗﺘﺎ آزاد ﺷﺪ‬
‫دﺳﺘﻮر ‪) bg‬ﻣﺨﻔﻒ ‪ (baground‬را ﺻﺎدر ﮐﻨﯿﺪ ﺗﺎ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ )در اﯾﻨﺠﺎ وﯾﺮاﺳﺘﺎر ﻣﺘﻦ ‪ (gedit‬در زﻣﯿﻨﻪ اﺟﺮا‬
‫ﺷﻮد‪.‬‬
‫اﯾﻦ وﯾﺮاﺳﺘﺎر وﺟﻨﺎﺗ ﺷﺒﯿﻪ وﯾﺮاﺳﺘﺎرﻫﺎی ﻣﺘﺪاول وﯾﻨﺪوز دارد و از اﯾﻦرو ﮐﺎر ﮐﺮدن ﺑﺎ آن ﺑﺮای ﺗﺎزهواردﻫﺎی ﻟﯿﻨﻮﮐﺲ‬
‫آﺳﺎن اﺳﺖ؛ و در ﺿﻤﻦ ﺑﺮای ﺑﺮﻧﺎﻣﻪﻫﺎی ﻓﺮﺗﺮن و ﺳ ﭘﻼسﭘﻼس و ﻧﯿﺰ ﺑﺮﻧﺎﻣﻪﻫﺎی ﻣﻨﺒﻊ ‪ latex‬ﺳﯿﻨﺘﮑﺲ رﻧﮕ ﻣﻄﻠﻮﺑﯽ‬
‫دارد‪ .‬ﮐﺎر ﮐﺮدن ﺑﺎ آن ﺑﻪ ﻗﺪری آﺳﺎن اﺳﺖ ﮐﻪ ﮐﺎﻓ اﺳﺖ آن را اﺟﺮا ﮐﺮده و ﺷﺮوع ﺑﻪ ﺑﺎزی ﺑﺎ آن ﺑ ﻨﯿﺪ ﺗﺎ در ﻋﺮض‬
‫ﭼﻨﺪ دﻗﯿﻘﻪ ﻋﻤﺪه وﺟﻮه اﺳﺎﺳ آن ﮐﻪ ﺑﺮای ﮐﺎر ﺗﺎﯾﭗ ﺑﺮﻧﺎﻣﻪ ﻣﻮرد ﻧﯿﺎز اﺳﺖ دﺳﺘﺘﺎن ﺑﯿﺎﯾﺪ‪.‬‬

‫• وﯾﺮاﺳﺘﺎر دﯾ ﺮی ﮐﻪ ﺑﺎز ﻓﺼﻞ ﻣﺸﺘﺮک ﮔﺮاﻓﯿ ﺗﻤﯿﺰی دارد و ﺑﺎ ﻣﺎوس و ﮐﻠﯿ ﻗﺎﺑﻞ اداره ﮐﺮدن اﺳﺖ و ﮐﺎر ﮐﺮدن‬
‫ﺑﺎ آن ﻫﻢ ﮐﻤﺎﺑﯿﺶ ﺳﺮراﺳﺖ اﺳﺖ وﯾﺮاﺳﺘﺎر ‪ emacs‬اﺳﺖ ﮐﻪ ﺑﻪ ﻃﻮر ﭘﯿﺶﻓﺮض در ﻋﻤﺪه ﻟﯿﻨﻮﮐﺲﻫﺎ ﻧﺼﺐ ﻣ ﺷﻮد‪.‬‬
‫وﯾﺮاﺳﺘﺎر دﯾ ﺮی ﻣﺒﺘﻨ ﺑﺮ اﯾﻦ وﯾﺮاﺳﺘﺎر ﮐﻪ اﻧﺪﮐ وﺟﻨﺎت ﮔﺮاﻓﯿ ﺗﻤﯿﺰﺗﺮی دارد ‪ xemacs‬اﺳﺖ ﮐﻪ ﻣﻌﻤﻮﻻ در‬
‫ﻧﺼﺐ ﭘﯿﺶﻓﺮض ﻧﺼﺐ ﻧﻤ ﺷﻮد و ﺑﺎﯾﺴﺘ ﺧﻮدﺗﺎن دﺳﺘ آن را ﻧﺼﺐ ﮐﻨﯿﺪ‪.‬‬

‫• اﻣﺎ وﯾﺮاﺳﺘﺎی ﻣﻮرد ﻋﻼﻗﻪ ﻣﻦ ﮐﻪ از زﻣﺎﻧﻬﺎی ﺑﺴﯿﺎر ﻗﺪﯾﻢ ﻣﻮﺟﻮد ﺑﻮده و ﻟﺬا ﺑﯿﺸﺘﺮﯾﻦ ﺑﻬﺒﻮد و ﺗﻮاﻧﺎﯾﯽﻫﺎ را ﮐﺴﺐ ﮐﺮده‬
‫اﺳﺖ وﯾﺮاﺳﺘﺎر ‪ vi‬ﯾﺎ ﻧﮕﺎرش ﺑﻬﺒﻮد ﯾﺎﻓﺘﻪ آن ‪ vim‬اﺳﺖ‪ .‬ﻓﺼﻞ ﻣﺸﺘﺮک ﮔﺮاﻓﯿ ‪ gvim‬ﻧﯿﺰ در دﺳﺘﺮس اﺳﺖ ﮐﻪ‬
‫ﭼﻮن ﻧﯿﺎز ﺑﻪ ﺑﺮداﺷﺘﻦ دﺳﺖ از ﺻﻔﺤﻪ ﮐﻠﯿﺪ )ﺑﺮای ﮐﻠﯿ ﮐﺮدن( دارد‪ ،‬ﺑﺎﻋﺚ ﮐﻨﺪی ﮐﺎﺑﺮاﯾﻦ ﺣﺮﻓﻪای اﺳﺖ و ﻣﻌﻤﻮﻻ‬
‫ﻫﻤﺎن ‪ vim‬ﻣﻄﻠﻮب ﻋﻤﺪه ﺣﺮﻓﻪایﻫﺎ ﻣ ﺑﺎﺷﺪ‪ .‬در زﯾﺮ ﺑﺨﺶ ﺑﻌﺪی‪ ،‬ﺑﺮﺧ از وﺟﻮه اﯾﻦ وﯾﺮاﺳﺘﺎر ﭘﺮﻗﺪرت ﮐﻪ ﺑﺮای‬
‫ﺷﺮوع زﻧﺪﮔ و ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴ ﮐﺎﻓ اﺳﺖ را ﺷﺮح ﺧﻮاﻫﯿﻢ داد‪ .‬اﯾﻦ وﯾﺮاﺳﺘﺎر در ﻫﻤﺎن ﺗﺮﻣﯿﻨﺎﻟ ﮐﻪ دﺳﺘﻮرش ﺻﺎدر ﺷﺪه‬
‫اﺟﺮا ﻣ ﮔﺮدد‪.‬‬

‫ﻧﺤﻮه ﮐﺎر ﺑﺎ وﯾﺮاﯾﺶﮔﺮ ﻣﺘﻦ ‪vim‬‬ ‫‪۴.٠‬‬


‫ﻓﺎﯾﻞ ﺗﻨﻈﯿﻤﺎت‬ ‫‪١.۴.٠‬‬
‫ﺗﻨﻈﯿﻤﺎت وﯾﺮاﺳﺘﺎر ‪ vim‬در ﻓﺎﯾﻠ ﺑﻪ ﻧﺎم ‪ .vimrc‬ﻗﺮار دارﻧﺪ‪ .‬ﻓﺎﯾﻞﻫﺎ ﯾﺎ ﺷﺎﺧﻪﻫﺎﯾﯽ ﮐﻪ ﻧﺎم آﻧﻬﺎ ﺑﺎ ﻧﻘﻄﻪ )‪ (.‬ﺷﺮوع ﻣ ﺷﻮد‬
‫ﭘﻨﻬﺎن ﻫﺴﺘﻨﺪ و ﺑﺮای دﯾﺪن آﻧﻬﺎ ﺑﺎﯾﺪ از آﭘﺸﻦ ‪) -a‬ﻣﺨﻔﻒ ‪ (all‬در دﺳﺘﻮر ‪ ls‬اﺳﺘﻔﺎده ﮐﺮد‪ .‬اﯾﻦ ﮔﻮﻧﻪ ﻓﺎﯾﻞﻫﺎ ﻋﻤﺪﺗﺎ ﻓﺎﯾﻞﻫﺎی‬
‫ﻣﺮﺑﻮط ﺑﻪ ﺗﻨﻈﯿﻤﺎت ﺑﺮﻧﺎﻣﻪﻫﺎی ﻣﺨﺘﻠﻒ ﻫﺴﺘﻨﺪ ﮐﻪ ﺗﻨﻈﯿﻤﺎت ﭘﯿﺶﻓﺮض ﯾﺎ ﺗﻨﻈﯿﻤﺎت اﻧﺠﺎم ﺷﺪه ﺗﻮﺳﻂ ﮐﺎرﺑﺮ را ﻧﮕﻬﺪاری‬
‫ﻣ ﮐﻨﻨﺪ‪ .‬ﻫﺮ ﮐﺎرﺑﺮی در داﯾﺮﮐﺘﻮری ﺧﺎﻧﻪ ﺧﻮد ﺗﻌﺪادی از اﯾﻦﮔﻮﻧﻪ ﻓﺎﯾﻞﻫﺎ را دارد‪.‬‬
‫ﻓﺎﯾﻞ ﺗﻨﻈﯿﻤﺎت ﻣﻮرد ﻋﻼﻗﻪ ﻣﻦ ﻓﺎﯾﻠ اﺳﺖ ﮐﻪ ﺗﻮﺳﻂ ‪ Bram Boolenaar‬ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ )آن را ﮔﻮﮔﻞ ﮐﻨﯿﺪ ﺗﺎ ﭘﯿﺪاﯾﺶ‬
‫ﮐﻨﯿﺪ!(‪ .‬ﺑﻪ ﻋﻼوه ﺧﻄﻮط زﯾﺮ ﻣﻮارد ﻣﻄﻠﻮب ﻣﻦ ﻫﺴﺘﻨﺪ ﮐﻪ ﺑﻪ ﻃﻮر دﺳﺘ ﺑﻪ ﺗﻨﻈﯿﻤﺎت ‪ vim‬در ﻓﺎﯾﻞ ‪ .vimrc‬ﻧﻮﺷﺘﻪ ﺷﺪه‬
‫ﺗﻮﺳﻂ ‪ Boolenaar‬اﺿﺎﻓﻪ ﻣ ﮐﻨﻢ‬

‫‪set‬‬ ‫‪shiftwidth=3‬‬
‫‪set‬‬ ‫‪mouse=a‬‬
‫‪set‬‬ ‫‪showmatch‬‬
‫‪set‬‬ ‫‪autowrite‬‬
‫‪set‬‬ ‫‪fortran_do_enddo=1‬‬
‫!‪au‬‬ ‫‪BufRead,BufNewFile *.f90 let b:fortran_do_enddo=1‬‬
‫‪srouce۵‬‬
‫‪۶‬‬

‫ﺧﻂ اول ﻣﯿﺰان ﺗﻮرﻓﺘﮕ ﺑﺮﻧﺎﻣﻪﻫﺎ را ﮐﻪ ﺑﺮای ﺧﻮاﻧﺎ ﺑﻮدن ﺣﻠﻘﻪﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎی ﺷﺮﻃ ﺑﺴﯿﺎر ﺿﺮوری اﺳﺖ ﺑﺮاﺑﺮ ﺳﻪ ﮐﺎراﮐﺘﺮ‬
‫ﺗﻌﯿﯿﻦ ﻣ ﮐﻨﺪ‪ .‬اﯾﻦ ﺗﻮ رﻓﺘﮕ در ﺑﺮﻧﺎﻣﻪﻫﺎی ﺑﻪ ﺻﻮرت اﺗﻮﻣﺎﺗﯿ اﻧﺠﺎم ﻣ ﺷﻮد و ﻧﯿﺎزی ﻧﯿﺴﺖ ﻧﮕﺮان ﭼﯿﺰی ﺑﺎﺷﯿﻢ‪ .‬ﺧﻂ‬
‫دوم ﻣﺎوس را ﻓﻌﺎل )‪ (a=active‬ﻣ ﮐﻨﺪ‪ .‬ﺧﻂ ﺳﻮم در ﻣﻮاردی ﮐﻪ ﭘﺮاﻧﺘﺰ ﯾﺎ ﻗﻼﺑﯽ ﺑﺴﺘﻪ ﻣ ﺷﻮد دﻧﺒﺎل ﻣﻌﺎدل ﺑﺎز ﺷﺪه آن ﮔﺸﺘﻪ‬
‫و ﻧﺸﺎن ﻣ دﻫﺪ ﮐﻪ ﺑﺮای ﺟﻠﻮﮔﯿﺮی از اﺷﺘﺒﺎه ﺧﯿﻠ ﻣﻔﯿﺪ اﺳﺖ‪ .‬ﺧﻂ ﭼﻬﺎرم در ﻣﻮاردی ﮐﻪ ﺑﯿﻦ ﭼﻨﺪ ﻓﺎﯾﻞ ﮐﻪ ﺗﻮﺳﻂ ‪ vim‬ﺑﺎز‬
‫ﺷﺪهاﻧﺪ ﻧﺎوﺑﺮی ﻣ ﮐﻨﯿﻢ در ﻫﻨﮕﺎم رﻓﺘﻦ ﺑﻪ ﻫﺮ ﻓﺎﯾﻞ‪ ،‬ﻓﺎﯾﻞ ﻗﺒﻠ را ﺑﻪ ﺻﻮرت اﺗﻮﻣﺎﺗﯿ ذﺧﯿﺮه ﻣ ﮐﻨﺪ‪ .‬ﻧﻬﺎﯾﺘﺎ دو ﺧﻂ آﺧﺮ ﺑﺮای‬
‫ﻓﺎﯾﻞ ﻫﺎﯾﯽ ﮐﻪ ﭘﺴﻮﻧﺪ ‪ .f90‬دارﻧﺪ ﺑﻪ ﻃﻮر اﺗﻮﻣﺎﺗﯿ در ﻗﺴﻤﺖﻫﺎی داﺧﻠ ﺣﻠﻘﻪﻫﺎ ﮐﻪ ﺑﯿﻦ ‪ do‬و ‪ enddo‬ﻫﺴﺘﻨﺪ ﺗﻮرﻓﺘﮕ‬
‫ﺑﻪ اﻧﺪازه ‪ ٣‬ﮐﺎراﮐﺘﺮ اﯾﺠﺎد ﻣ ﮐﻨﺪ‪.‬‬

‫دﺳﺘﻮرات ﮐﻠﯿﺪی‬ ‫‪٢.۴.٠‬‬


‫اﻣﺎ ﺑﺮای ﺷﺮوع ﮐﺎر ﺑﺎ وﯾﺮاﺳﺘﺎر ﮐﺎﻓ اﺳﺖ ﮐﻪ در ﺗﺮﻣﯿﻨﺎل ﺧﻮد اﺑﺘﺪا ‪ vim‬و ﺳﭙﺲ ﻧﺎم ﯾ ﻓﺎﯾﻞ را ﺗﺎﯾﭗ ﮐﻨﯿﺪ‪ .‬ﺑﻪ ﻋﻨﻮان‬
‫ﻣﺜﺎل دﺳﺘﻮر ‪ vim hello.cc‬ﻓﺎﯾﻠ ﺑﻪ اﺳﻢ ‪ hello.cc‬را ﺑﺮای ﻧﻮﺷﺘﻦ ﺑﺎز ﻣ ﮐﻨﺪ )ﻣﻌﻤﻮﻻ ﭘﺴﻮﻧﺪﻫﺎی ‪ .cc‬و ‪ .cpp‬ﺑﺮای‬
‫ﻓﺎﯾﻞﻫﺎی ‪ c++‬و ﭘﺴﻮﻧﺪﻫﺎی ‪ .f90‬و ‪ .f‬و ‪ .for‬ﺑﺮای ﻓﺎﯾﻞﻫﺎی ﻓﺮﺗﺮن ﺑﻪ ﮐﺎر ﻣ روﻧﺪ(‪ .‬در ﺻﻮرﺗ ﮐﻪ از ﻗﺒﻞ ﻓﺎﯾﻠ ﺑﻪ اﯾﻦ‬
‫اﺳﻢ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬اﯾﻦ ﻓﺎﯾﻞ ﺑﺮای وﯾﺮاﯾﺶ ﺑﺎز ﺧﻮاﻫﺪ ﮔﺮدﯾﺪ‪ ،‬در ﻏﯿﺮ اﯾﻨﺼﻮرت ﻓﺎﯾﻞ ﺟﺪﯾﺪی ﺑﻪ اﯾﻦ ﻧﺎم ﺑﺎز ﻣ ﺷﻮد‪.‬‬
‫ﻫﻨﮕﺎﻣ ﮐﻪ ﺑﺎ اﯾﻦ دﺳﺘﻮر وﯾﺮاﺳﺘﺎر ‪ vim‬را راه ﻣ اﻧﺪازﯾﺪ ﺧﯿﻠ وﺿﻌﯿﺖ ﻧﺎاﻣﯿﺪ ﮐﻨﻨﺪهای در اﻧﺘﻈﺎرﺗﺎن اﺳﺖ‪ .‬ﺑﺴﯿﺎری از‬
‫ﮐﻠﯿﺪﻫﺎی ﺻﻔﺤﻪ ﮐﻠﯿﺪ ﮐﺎر ﻧﻤ ﮐﻨﻨﺪ! دﻟﯿﻞ اﯾﻦ اﻣﺮ آن اﺳﺖ ﮐﻪ در ﻣﺪ ﻧﺮﻣﺎل ‪ ۶‬راه اﻧﺪازی ﺷﺪه اﺳﺖ‪ .‬ﻣﺪی ﮐﻪ ﺑﺮای ﻧﻮﺷﺘﻦ‬
‫ﻣﻮرد ﻧﯿﺎز اﺳﺖ ﻣﺪ درجﮐﺮدن )‪ (insertion‬ﯾﺎ ﻣﺪ ﻧﻮﺷﺘﻦ ‪ ٧‬ﻣ ﺑﺎﺷﺪ‪ .‬ﺑﺮای وارد ﺷﺪن ﺑﻪ اﯾﻦ ﻣﺪ ﮐﺎﻓ اﺳﺖ ﮐﻠﯿﺪ ‪ i‬را ﻓﺸﺎر‬
‫دﻫﯿﺪ ﮐﻪ در اﯾﻦ ﺻﻮرت در ﭘﺎﯾﯿﻦ ﺻﻔﺤﻪ ﺑﺎ ﺳﯿﺎه ﭘﺮرﻧﮓ ﻋﻼﻣﺖ ‪ -- INSERT --‬را ﻣﻼﺣﻈﻪ ﺧﻮاﻫﯿﺪ ﮐﺮد‪ .‬ﺣﺎل ﺗﺮﻣﯿﻨﺎل‬
‫ﺷﻤﺎ ﺑﺮای ﺗﺎﯾﭗ ﮐﺮدن آﻣﺎده اﺳﺖ و ﻫﺮآﻧﭽﻪ ﮐﻪ ﺗﺎﯾﭗ ﮐﻨﯿﺪ در ﻓﺎﯾﻞ ‪ hello.cc‬ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ‪ .‬ﻣﺜﻼ ﺗﺎﯾﭗ ﮐﻨﯿﺪ‬

‫>‪#include <iostream‬‬
‫;‪using namespace std‬‬
‫)(‪int main‬‬
‫{‬
‫;‪cout<<"hello. I'm from Sharif Univ. of Tech."<<endl‬‬
‫}‬

‫دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺳﻪ ﮐﺎراﮐﺘﺮ ﺗﻮ رﻓﺘﮕ را ﺧﻮد وﯾﺮاﺳﺘﺎر ﺑﺮای ﺷﻤﺎ اﯾﺠﺎد ﺧﻮاﻫﺪ ﮐﺮد‪.‬‬
‫ﺧﻮب‪ ،‬ﺣﺎﻻ ﮐﻪ اﯾﻦ ﮐﺪ ﮐﻮﺗﺎه را ﺗﺎﯾﭗ ﮐﺮدهاﯾﺪ ﺑﺎﯾﺴﺘ آن را ذﺧﯿﺮه ﮐﻨﯿﺪ‪ .‬ﺑﺮای اﯾﻦ ﮐﺎر ﻧﺨﺴﺖ ﺑﺎﯾﺪ از ﻣﺪ ﻧﻮﺷﺘﻦ‬
‫ﺧﺎرج ﺷﺪه و ﺑﻪ ﻣﺪ ﻧﺮﻣﺎل ﺑﺮﮔﺮدﯾﺪ‪ .‬در ﻏﯿﺮ اﯾﻨﺼﻮرت ﻫﺮ ﮐﻠﯿﺪی را ﮐﻪ ﻓﺸﺎر دﻫﯿﺪ ﻓﻘﻂ ﺑﺮاﯾﺘﺎن ﺗﺎﯾﭗ ﺧﻮاﻫﺪ ﮐﺮد و ﻗﺎدر‬
‫ﻧﺨﻮاﻫﯿﺪ ﺑﻮد دﺳﺘﻮری را ﺻﺎدر ﮐﻨﯿﺪ‪ .‬ﺧﺎرج ﺷﺪن از ﻣﺪ ﻧﻮﺷﺘﻦ ﺑﺎ ﮐﻠﯿﺪ ‪ Esc‬اﻧﺠﺎم ﻣ ﮔﯿﺮد‪ .‬ﻓﺸﺎر دادن ﺑﯿﺶ از ﯾ ﺑﺎر‬
‫اﯾﻦ ﮐﻠﯿﺪ ﺿﺮری ﻧﺪارد‪ .‬ﺑﻌﺪ از اﯾﻨﮑﻪ اﯾﻦ ﮐﻠﯿﺪ را ﻓﺸﺎر دﻫﯿﺪ ﻣﻼﺣﻈﻪ ﺧﻮاﻫﯿﺪ ﮐﺮد ﮐﻪ ﻋﻼﻣﺖ ‪ -- INSERT --‬از ﭘﺎﯾﯿﻦ‬
‫ﺻﻔﺤﻪ ﺗﺮﻣﯿﻨﺎل ﺷﻤﺎ ﻧﺎﭘﺪﯾﺪ ﻣ ﺷﻮد و ﺑﻪ ﻣﺪ ﻧﺮﻣﺎل ﺑﺮﻣ ﮔﺮدﯾﺪ‪.‬‬
‫در اﯾﻦ ﻣﺪ دﺳﺘﻮرات اوﻟﯿﻪ زﯾﺮ ﺑﺮای ﮐﺎر ﺑﺎ ﯾ ﻓﺎﯾﻞ ﮐﻔﺎﯾﺖ ﻣ ﮐﻨﻨﺪ‪ .‬ﺑﺮای ذﺧﯿﺮه ﻓﺎﯾﻞ دﺳﺘﻮر ‪ w) :w‬ﻣﺨﻔﻒ ‪(write‬‬
‫ﺑﻪ ﮐﺎر ﻣ رود‪ .‬ﺑﺮای ﺧﺎرج ﺷﺪن از وﯾﺮاﺳﺘﺎر ﻧﯿﺰ دﺳﺘﻮر ‪ :q‬را ﺑﻪ ﮐﺎر ﺑﺒﺮﯾﺪ‪) .‬ﻣ ﺗﻮان اﯾﻦ دو را ﺗﺮﮐﯿﺐ ﻧﯿﺰ ﮐﺮد و دﻓﻌﺘﺎ‬
‫ﻧﻮﺷﺖ ‪ :wq‬ﮐﻪ اﺑﺘﺪا ﻣﺘﻦ ﺑﺎﻻ را ذﺧﯿﺮه ﮐﺮده و ﺳﭙﺲ از وﯾﺮاﺳﺘﺎر ﺧﺎرج ﻣ ﺷﻮد(‪ .‬اﮔﺮ ﺗﻐﯿﯿﺮاﺗ ﮐﻪ در ﻓﺎﯾﻠ دادهاﯾﺪ اﺷﺘﺒﺎه‬
‫ﺑﻮده و ﻧﻤ ﺧﻮاﻫﯿﺪ اﯾﻦ ﺗﻐﯿﯿﺮات ذﺧﯿﺮه ﺷﻮﻧﺪ‪ ،‬دﺳﺘﻮر !‪ :q‬ﺑﺪون ذﺧﯿﺮه ﮐﺮدن ﺗﻐﯿﯿﺮات از ﻣﺤﯿﻂ وﯾﺮاﺳﺘﺎر ﺧﺎرج ﻣ ﺷﻮد‪ .‬ﺑﻪ‬
‫ﻋﻼوه ﺑﻌﺪ از زدن ﮐﻠﯿﺪ ‪ :‬در ﻣﺤﯿﻂ ﻧﺮﻣﺎل‪ ،‬ﺑﺎ ﮐﻠﯿﺪﻫﺎی ﺟﻬﺘ ﺑﺎﻻ )↑( و ﭘﺎﯾﯿﻦ )↓( ﻗﺎدر ﺑﻪ ﻧﺎوﺑﺮی در ﺗﺎرﯾﺨﭽﻪ دﺳﺘﻮرات‬
‫ﺧﻮد ﺧﻮاﻫﯿﺪ ﺑﻮد‪.‬‬
‫اﺻﻮﻻ ﻫﻤﯿﻦ ﻣﻘﺪار دﺳﺘﻮرات ﺑﺎﻻ ﺑﺮای ﺷﺮوع ﮐﺎر ﮐﺮدن ﺑﺎ ‪ vim‬ﮐﺎﻓ ﻫﺴﺘﻨﺪ! اﻣﺎ دﻟﯿﻞ اﺻﻠ ﻋﻼﻗﻪ ﻣﺎ ﺑﻪ ‪ vim‬ﻗﺪرت‬
‫ﻣﺎﻧﻮری اﺳﺖ ﮐﻪ ﺑﻪ ﻣﺮور و در اﺛﺮ ﺗﻤﺮﯾﻦ ﻣ ﺗﻮان در آن ﭼﯿﺮه دﺳﺖ ﺷﺪ‪ .‬ﺑﺮای اﯾﻨﮑﻪ ﺑﺮﺧ دﯾ ﺮ از دﺳﺘﻮرات را ﻣﺴﻠﻂ ﺷﻮﯾﺪ‪،‬‬
‫ﯾ ﺑﺮﻧﺎﻣﻪ ﺗﻤﺮﯾﻨ ﺑﻪ اﺳﻢ ‪ vimtutor‬وﺟﻮد دارد ﮐﻪ ﺑﺮای اﺟﺮای آن ﮐﺎﻓ اﺳﺖ در ﺧﻂ ﻓﺮﻣﺎن ﺗﺮﻣﯿﻨﺎل ﺧﻮد ﺗﺎﯾﭗ ﮐﻨﯿﺪ‬
‫‪) vimtutor‬ﻓﺮاﻣﻮش ﻧﮑﻨﯿﺪ از ﮐﻠﯿﺪ ‪ Tab‬ﺑﺮای ﺗﮑﻤﯿﻞ ﺗﺎﯾﭗ اﯾﻦ ﻓﺮﻣﺎن ﮐﻤ ﺑ ﯿﺮﯾﺪ!(‪.‬‬
‫دﺳﺘﻮرات دﯾ ﺮی در ﻣﺪ ﻧﺮﻣﺎل وﺟﻮد دارﻧﺪ ﮐﻪ ﮐﺎر وﯾﺮاﯾﺶ را ﺑﺴﯿﺎر آﺳﺎن ﻣ ﮐﻨﻨﺪ‪:‬‬

‫• دوﺑﺎر ﻓﺸﺎر دادن ﮐﻠﯿﺪ ‪ d‬در ﻣﺪ ﻧﺮﻣﺎل ﺧﻄ را ﮐﻪ ﻣ ﺎنﻧﻤﺎ در آن ﻗﺮار دارد ﺣﺬف ﻣ ﮐﻨﺪ‪ .‬اﮔﺮ ﻋﺪدی ﻗﺒﻞ از ‪dd‬‬
‫ﺗﺎﯾﭗ ﮐﻨﯿﺪ‪ ،‬ﻣﺜﻼ ‪5 dd‬؛ در آن ﺻﻮرت ﺧﻂ ﺟﺎری ﺑﻪ ﻫﻤﺮاه ‪ ۴‬ﺧﻂ دﯾ ﺮ )ﺟﻤﻌﺎ ‪ ۵‬ﺧﻂ( ﺣﺬف ﻣ ﮔﺮدﻧﺪ‪.‬‬

‫‪normal mode۶‬‬
‫‪insertion٧‬‬
‫‪٧‬‬ ‫‪ .۵.٠‬ﻧﺤﻮه ﮐﺎﻣﭙﺎﯾﻞ و اﺟﺮای ﺑﺮﻧﺎﻣﻪﻫﺎ‬

‫• اﮔﺮ ﺑﺨﻮاﻫﯿﺪ ﺣﺮﻓ را ﺣﺬف ﮐﻨﯿﺪ‪ ،‬ﻣ ﺎنﻧﻤﺎ را زﯾﺮ آن ﻗﺮار داده و ﺣﺮف ‪) x‬ﻣﺜﻞ ﻗﯿﭽ ( را ﻓﺸﺎر دﻫﯿﺪ‪ .‬ﻫﻤﭽﻨﯿﻦ‬
‫ﺑﺮای ﺣﺬف ﮐﺮدن ﯾ ﮐﻠﻤﻪ از ‪ dw‬ﺑﻪ ﺟﺎی ‪ x‬اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪ .‬ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ ﻗﺒﻞ از اﯾﻦ دﺳﺘﻮرات ﻧﯿﺰ ﻣ ﺗﻮاﻧﯿﺪ ﻋﺪدی‬
‫ﮐﻪ ﻣﺒﯿﻦ دﻓﻌﺎت ﺗﮑﺮار دﺳﺘﻮر اﺳﺖ را ﺗﺎﯾﭗ ﮐﻨﯿﺪ‪ .‬ﻣﺜﻼ ‪ 3 x‬در ﻣﺪ ﻧﺮﻣﺎل ﺳﻪ ﮐﺎراﮐﺘﺮ را از ﻣﺤﻠ ﮐﻪ ﻣ ﺎنﻧﻤﺎ ﻗﺮار‬
‫دارد ﺣﺬف ﺧﻮاﻫﺪ ﮐﺮد‪.‬‬

‫• اﮔﺮ ﻣ ﺧﻮاﻫﯿﺪ ﺣﺮف ﻣﺜﻼ ‪ b‬را ﺑﻪ ﺟﺎی ﺣﺮف ‪ a‬در ﮐﻠﻤﻪای ﺟﺎﯾ ﺰﯾﻦ ﮐﻨﯿﺪ‪ ،‬ﻣ ﺎنﻧﻤﺎ را زﯾﺮ ‪ a‬ﺑﺮده‪ ،‬ﮐﻠﯿﺪ ‪) r‬ﻣﺨﻔﻒ‬
‫‪ (replace‬را ﻓﺸﺎر داده و ﺳﭙﺲ ﺣﺮف ﻣﻮرد ﻧﻈﺮﺗﺎن ‐ در اﯾﻨﺠﺎ ‪ ‐ b‬را ﺗﺎﯾﭗ ﮐﻨﯿﺪ‪.‬‬

‫• ﺑﻌﺪ از اﯾﻨﮑﻪ ﯾ ﯾﺎ ﭼﻨﺪ ﺧﻂ را ﺗﻮﺳﻂ دﺳﺘﻮر ‪ dd‬ﺑﺮﯾﺪﯾﺪ‪ ،‬ﻣ ﺗﻮاﻧﯿﺪ ﺗﻮﺳﻂ دﺳﺘﻮر ‪) p‬ﻣﺨﻔﻒ ‪ (put‬آﻧﻬﺎ را در ﺧﻄ‬
‫ﮐﻪ زﯾﺮ ﻣ ﺎنﻧﻤﺎ اﺳﺖ ﻗﺮار دﻫﯿﺪ‪.‬‬

‫• در ﻫﺮ ﻣﺮﺣﻠﻪ از وﯾﺮاﯾﺶ ﮐﻪ از اﻧﺠﺎم ﻋﻤﻠ ﭘﺸﯿﻤﺎن ﺑﺸﻮﯾﺪ‪ ،‬ﮐﻠﯿﺪ ‪ u‬آﺧﺮﯾﻦ ﻋﻤﻞ را ﺧﻨﺜ )‪ (undo‬ﻣ ﮐﻨﺪ‪ .‬اﯾﻦ دﺳﺘﻮر‬
‫ﺑﺴﯿﺎر ﻣﻬﻢ اﺳﺖ!‬

‫• دﺳﺘﻮر ﻣﻬﻢ دﯾ ﺮ دﺳﺘﻮر ﺟﺎﯾ ﺰﯾﻨ اﺳﺖ‪ .‬ﺻﺪور ‪ :m,n s/old/new/g‬ﺑﯿﻦ ﺧﻄﻮط ﺷﻤﺎره ‪ m‬و ‪ n‬ﮐﻠﯿﻪ اﻟ ﻮﻫﺎی‬
‫‪ old‬را ﺑﺎ اﻟ ﻮی ‪ new‬ﺟﺎﯾ ﺰﯾﻦ ﻣ ﮐﻨﺪ‪ .‬ﺑﻪ ﻃﻮر ﻣﺸﺎﺑﻪ دﺳﺘﻮر ‪ :s/old/new/g‬اﯾﻦ ﺟﺎﮔﺬاری را در ﺗﻤﺎم ﻓﺎﯾﻞ‬
‫اﻧﺠﺎم ﻣ دﻫﺪ ﮐﻪ ﺑﺴﯿﺎر وﺟﻬﻪ ﭘﺮﻗﺪرﺗ اﺳﺖ‪ .‬ﺳﺎدهﺗﺮﯾﻦ ﻓﺮم اﯾﻦ دﺳﺘﻮر ‪ :s/old/new‬اﺳﺖ ﮐﻪ در ﺧﻄ ﮐﻪ ﻣ ﺎنﻧﻤﺎ‬
‫در آن ﻗﺮار دارد‪ ،‬ﻓﻘﻂ ﯾ ﺑﺎر اﯾﻦ ﺟﺎﮔﺬاری را اﻧﺠﺎم ﻣ دﻫﺪ‪.‬‬

‫• دﺳﺘﻮر ‪ :help keyword‬در ﻣﻮرد ‪ keyword‬اﻃﻼﻋﺎت ﻣﻔﯿﺪی اراﺋﻪ ﻣ ﮐﻨﺪ‪.‬‬

‫• ﮐﻠﯿﺪ ﭘﺮﻗﺪرت ‪ Tab‬در ﻣﺪ ﻧﺮﻣﺎل ﺑﻌﺪ از ﺗﺎﯾﭗ ‪ :‬ﻧﯿﺰ ﻗﺎﺑﻞ ﮐﺎرﺑﺴﺖ اﺳﺖ‪.‬‬

‫ﺟﺰﺋﯿﺎت ﺑﯿﺸﺘﺮ را ﻣ ﺗﻮاﻧﯿﺪ از ﺑﺎزی ﺑﺎ ﻓﺎﯾﻞ آﻣﻮزﺷ ‪ vimtutor‬ﮐﻪ ﺷﺮح آن در ﺑﺎﻻ ﮔﺬﺷﺖ‪ ،‬ﺑﯿﺎﻣﻮزﯾﺪ‪.‬‬
‫ﺑﺮای وﯾﺮاﯾﺶ ﺑﯿﺶ از ﯾ ﻓﺎﯾﻞ ﻧﯿﺰ ﻣ ﺗﻮاﻧﯿﺪ از دﺳﺘﻮر ‪ vim file1.cc file2.cc‬اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪ .‬ﺑﻪ ﻃﻮر ﻣﻌﺎدل‬
‫ﻣ ﺗﻮاﻧﯿﺪ اﺑﺘﺪا ‪ vim file1.cc‬را ﺑﺎز ﮐﺮده و ﺳﭙﺲ از درون ﻣﺤﯿﻂ ﺑﺎ دﺳﺘﻮر ‪ :argad file2.cc‬ﻓﺎﯾﻞ دوم را ﻧﯿﺰ‬
‫ﺑﻪ ﻟﯿﺴﺖ آرﮔﻮﻣﺎنﻫﺎﯾﯽ ﮐﻪ ﺗﻮﺳﻂ ﺑﺎز ﺷﺪهاﻧﺪ اﺿﺎﻓﻪ ﮐﻨﯿﺪ‪ .‬ﺑﻪ ﻃﻮر ﻣﺸﺎﺑﻪ ‪ :argdelet file2.cc‬ﻓﺎﯾﻞ دوم را ﺧﻮاﻫﺪ‬
‫ﺑﺴﺖ‪ .‬ﻫﻤﯿﻦ ﻃﻮر دﺳﺘﻮر ‪ :args‬آرﮔﻮﻣﺎنﻫﺎ را ﻧﺸﺎن ﻣ دﻫﺪ‪ .‬ﺑﺮای رﻓﺘﻦ ﺑﻪ آرﮔﻮﻣﺎن ﺑﻌﺪی از ‪) :n‬ﻣﺨﻔﻒ ‪ (next‬و ﺑﺮای‬
‫رﻓﺘﻦ ﺑﻪ آرﮔﻮﻣﺎن ﻗﺒﻠ )ﺳﻤﺖ ﭼﭗ در ﻟﯿﺴﺖ آرﮔﻮﻣﺎنﻫﺎ( از ‪ :N‬اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪.‬‬
‫ﺣﺎل ﺗﺼﻮر ﮐﻨﯿﺪ ﮐﻪ ﯾ ﭘﺮوژه دارﯾﺪ ﮐﻪ ‪ ١٠‬ﻓﺎﯾﻞ ﻓﺮﺗﺮن ﮐﻪ ﭘﺴﻮﻧﺪ ‪ .f90‬دارﻧﺪ را ﻫﻤﺰﻣﺎن ﻣ ﺧﻮاﻫﯿﺪ ﺗﻐﯿﯿﺮ دﻫﯿﺪ‪.‬‬
‫ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ ﺑﺎ ﺑﺰرﮔﺘﺮ ﺷﺪن ﺑﺮﻧﺎﻣﻪ ﺑﻪ اﯾﻦ ﻧﺘﯿﺠﻪ رﺳﯿﺪهاﯾﺪ ﮐﻪ اﺳﻢ ‪ LinHeader‬ﻣﻨﺎﺳﺐ ﻧﯿﺴﺖ و ﻣﯿﺨﻮاﻫﯿﺪ در ﺗﻤﺎﻣ‬
‫ﻓﺎﯾﻞﻫﺎی ﻓﺮﺗﺮن ﺧﻮد آن را ﺑﺎ ‪ Lanczos‬ﺟﺎﯾ ﺰﯾﻦ ﮐﻨﯿﺪ‪ .‬اﺑﺘﺪا ﻫﻤﻪ ﻓﺎﯾﻞﻫﺎی ﻣﻮرد ﻧﻈﺮ را ﻣﺜﻼ ﺑﺎ دﺳﺘﻮر ‪ vim *.f90‬ﺑﺎز‬
‫ﮐﻨﯿﺪ‪ .‬ﺳﭙﺲ دﺳﺘﻮر زﯾﺮ را وارد ﮐﻨﯿﺪ‪:‬‬
‫‪:argdo %s/\<LinHeader\>/Lanczos/ge | update‬‬

‫ﻋﻠﺖ اﯾﻦ ﮐﻪ ﺑﻪ ﺟﺎی ‪ LinHeader‬ﺗﺮﮐﯿﺐ >\‪ \<LinHeader‬را ﺑﻪ ﮐﺎر ﺑﺮدهاﯾﻢ اﯾﻦ اﺳﺖ ﮐﻪ ﻣ ﺧﻮاﻫﯿﻢ ﻓﻘﻂ اﻟ ﻮی‬
‫‪ LinHeader‬ﺗﻌﻮﯾﺾ ﺷﻮد‪ ،‬ﻧﻪ ﺑﻪ ﻃﻮر ﻣﺜﺎل ﻣﺘﻐﯿﺮ ﯾﺎ اﻟ ﻮﯾﯽ ﻣﺜﻞ ‪ .LinHeader_vars‬ﺑﺮای ﻣﺜﺎلﻫﺎی ﺑﯿﺸﺘﺮ ﮐﻠﯿﺪواژه‬
‫‪ best of vim tips‬را ﮔﻮﮔﻞ ﮐﻨﯿﺪ‪.‬‬

‫ﻧﺤﻮه ﮐﺎﻣﭙﺎﯾﻞ و اﺟﺮای ﺑﺮﻧﺎﻣﻪﻫﺎ‬ ‫‪۵.٠‬‬


‫ﺑﺮﻧﺎﻣﻪ ‪ hello.cc‬را ﮐﻪ در ﺑﺨﺶ ﻗﺒﻞ ﻫﻨﮕﺎم ﯾﺎدﮔﯿﺮی ﮐﺎر ﺑﺎ وﯾﺮاﯾﺶﮔﺮ ﻧﻮﺷﺘﯿﻢ را در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ‪ .‬ﺑﺮای اﯾﻨﮑﻪ از اﯾﻦ‬
‫ﺑﺮﻧﺎﻣﻪ‪ ،‬ﻓﺎﯾﻠ ﻗﺎﺑﻞ اﺟﺮا ﮐﻪ ﺑﺮای ﮐﺎﻣﭙﯿﻮﺗﺮ ﻗﺎﺑﻞ ﻓﻬﻢ ﺑﺎﺷﺪ ﺑﺴﺎزﯾﻢ ﺑﺎﯾﺴﺘ آن را ﮐﺎﻣﭙﺎﯾﻞ ﮐﻨﯿﻢ‪ .‬ﮐﺎﻣﭙﺎﯾﻠﺮ ﻣﺠﺎﻧ ‪ GNU‬ﻫﻤﯿﺸﻪ‬
‫در ﻫﻤﻪ ﺗﻮزﯾﻊﻫﺎی ﻟﯿﻨﻮﮐﺲ وﺟﻮد دارد‪.‬‬

‫ﻣﺜﺎل‪ :‬ﺑﺮﻧﺎﻣﻪ ﺳﻼم ﺳ ﭘﻼسﭘﻼس‬ ‫‪١.۵.٠‬‬


‫ﺑﺮای ﮐﺎﻣﭙﺎﯾﻞ ﮐﺮدن اﯾﻦ ﻓﺎﯾﻞ ﺑﺎﯾﺪ از دﺳﺘﻮر ‪ g++‬اﺳﺘﻔﺎده ﮐﻨﯿﻢ‪:‬‬
‫‪g++ -c hello.cc‬‬
‫‪٨‬‬

‫ﮐﻪ ﺣﺎﺻﻞ آن ﻓﺎﯾﻞ آﺑﺠ ﺖ ‪ hello.o‬اﺳﺖ‪ .‬ﺳﻮﯾﭻ ‪ -c‬ﺑﺮای اﯾﻦ اﺳﺖ ﮐﻪ ﻓﻘﻂ ﮐﺎﻣﭙﺎﯾﻞ ﻧﻤﻮده و ﻓﺎﯾﻞ آﺑﺠ ﺖ ﺑﺴﺎزﯾﻢ‪.‬‬
‫ﺑﺮای دﯾﺪن اﯾﻦ ﮐﻪ اﯾﻦ ﻓﺎﯾﻞ ﺟﺪﯾﺪﺗﺮﯾﻦ ﻓﺎﯾﻞ ﺗﻮﻟﯿﺪ ﺷﺪه اﺳﺖ‪ ،‬ﮐﺎﻓ اﺳﺖ از دﺳﺘﻮر ‪ ls -t‬اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪ .‬اﮔﺮ ﺑﯿﺶ از ﯾ‬
‫ﻓﺎﯾﻞ ﻧﯿﺰ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﻫﻤﯿﺸﻪ ﺑﻪ ﻫﻤﯿﻦ ﺗﺮﺗﯿﺐ ﻣ ﺗﻮان ﻫﻤﻪ را ﺑﺎ ﺳﻮﯾﭻ ‪ -c‬ﮐﺎﻣﭙﺎﯾﻞ ﮐﺮده و ﻓﺎﯾﻞ آﺑﺠ ﺖ ﻣﺮﺑﻮﻃﻪ را ﺳﺎﺧﺖ‪.‬‬
‫ﺣﺎل ﺑﺎﯾﺴﺘ ﻫﻤﻪ ﻓﺎﯾﻞﻫﺎی آﺑﺠ ﺖ را ﺑﻪ ﯾ دﯾ ﺮ ﻟﯿﻨﮏ ﮐﻨﯿﻢ‪ .‬ﺑﺮای اﯾﻦ ﮐﺎر دﺳﺘﻮر زﯾﺮ را ﺑﻪ ﮐﺎر ﻣ ﺑﺮﯾﻢ‬
‫‪g++ hello.o -o hello.exe‬‬

‫ﮐﻪ از ﺗﻨﻬﺎ ﻓﺎﯾﻞ آﺑﺠ ﺖ ﻣﻮﺟﻮد‪ ،‬ﯾ ﻓﺎﯾﻞ ﻗﺎﺑﻞ اﺟﺮای ﺧﺮوﺟ ﺑﻪ ﻧﺎم ‪ hello.exe‬ﻣ ﺳﺎزد‪ .‬اﮔﺮ ﺗﻌﺪاد ﺑﯿﺸﺘﺮی ﻓﺎﯾﻞ‬
‫آﺑﺠ ﺖ داﺷﺘﻪ ﺑﺎﺷﯿﻢ ﺑﺎﯾﺴﺘ ﻫﻤﻪ آﻧﻬﺎ را در ﮐﻨﺎر ‪ hello.o‬ﻟﯿﺴﺖ ﮐﻨﯿﻢ‪ .‬ﺳﻮﯾﭻ ‪ -o‬ﺑﺮای ﻣﺸﺨﺺ ﮐﺮدن اﺳﻢ ﻓﺎﯾﻞ ﺧﺮوﺟ‬
‫)‪ (output‬ﮐﻪ در اﯾﻨﺠﺎ ‪ hello.exe‬اﺳﺖ ﺑﻪ ﮐﺎر رﻓﺘﻪ اﺳﺖ‪ .‬اﮔﺮ ﻓﻘﻂ دﺳﺘﻮر ‪ g++ hello.o‬را ﺑﻪ ﮐﺎر ﺑﺒﺮﯾﻢ ﺑﻪ ﻃﻮر‬
‫ﭘﯿﺶﻓﺮض ﻫﻤﯿﺸﻪ ﻧﺎم ﻓﺎﯾﻞ ﺧﺮوﺟ ﻗﺎﺑﻞ اﺟﺮا ‪ a.out‬ﺧﻮاﻫﺪ ﺑﻮد‪ .‬اﻣﺎ ﺑﻬﺘﺮ اﺳﺖ ﻧﺎم ﻓﺎﯾﻞ ﺧﺮوﺟ را ﺧﻮدﺗﺎن ﺗﻌﯿﯿﻦ ﮐﻨﯿﺪ‪.‬‬
‫در اﯾﻦ ﻣﻮرد ﺧﺎص ﭼﻮن ﻓﻘﻂ ﯾ ﻓﺎﯾﻞ داﺷﺘﯿﻢ ﮐﻪ ﻻزم ﺑﻮد ﮐﺎﻣﭙﺎﯾﻞ و ﻓﺎﯾﻞ اﺟﺮاﯾﯽ از آن ﺳﺎﺧﺘﻪ ﺷﻮد‪ ،‬ﻫﻤﻪ ﻣﺮاﺣﻞ ﺑﺎﻻ‬
‫ﻗﺎﺑﻞ ﺗﺮﮐﯿﺐ ﺑﻪ ﺷ ﻞ ﯾ ﻣﺮﺣﻠﻪ اﺳﺖ‪:‬‬
‫‪g++ hello.cc -o hello.exe‬‬

‫ﮐﻪ دﻓﻌﺘﺎ ﻫﻢ ﮐﺎﻣﭙﺎﯾﻞ و ﻫﻢ ﻟﯿﻨﮏ ﮐﺮده و ﻓﺎﯾﻞ اﺟﺮاﯾﯽ ﺑﺎ ﻧﺎم ﻣﻮرد ﻋﻼﻗﻪ ﻣﺎ را ﻣ ﺳﺎزد‪ .‬اﻣﺎ در ﻣﻮرد ﭘﺮوژهﻫﺎی ﺑﺰرگﺗﺮ ﮐﻪ‬
‫ﺗﻌﺪا ﻓﺎﯾﻞﻫﺎ ﻻﺟﺮم زﯾﺎد اﺳﺖ‪ ،‬ﺑﺎﯾﺴﺘ ﻓﺎﯾﻞﻫﺎ را ﯾ ﺑﻪ ﯾ ﮐﺎﻣﭙﺎﯾﻞ و ﺳﭙﺲ آﺑﺠ ﺖﻫﺎی ﻣﺮﺑﻮﻃﻪ را ﻟﯿﻨﮏ ﮐﺮده و از آﻧﻬﺎ‬
‫ﻓﺎﯾﻞ اﺟﺮاﯾﯽ ﺳﺎﺧﺖ‪.‬‬
‫ﺣﺎل ﮐﻪ ﺑﻪ ﻫﺮ ﺗﻘﺪﯾﺮ ﻓﺎﯾﻞ اﺟﺮاﯾﯽ ‪ hello.exe‬آﻣﺎده اﺳﺖ‪ ،‬ﺑﺮای اﺟﺮای آن ﺑﺎﯾﺴﺘ ﺗﺎﯾﭗ ﮐﻨﯿﻢ‬

‫‪./hello.exe‬‬

‫ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ اﮔﺮ ‪ ./‬را ﻓﺮاﻣﻮش ﮐﺮده و ﻓﻘﻂ ‪ hello.exe‬را ﺗﺎﯾﭗ ﮐﻨﯿﺪ‪ ،‬ﻫﯿﭻ اﺗﻔﺎﻗ ﻧﺨﻮاﻫﺪ اﻓﺘﺎد!‬

‫ﻣﺜﺎل دﯾ ﺮ‪ :‬ﺑﺮﻧﺎﻣﻪ ﺳﻼم ﻓﺮﺗﺮن‬ ‫‪٢.۵.٠‬‬


‫اﺑﺘﺪا ﺑﺎ ‪ vim hello.f90‬ﻓﺎﯾﻞ ﺟﺪﯾﺪی ﺑﺎز ﮐﺮده و ﺗﺎﯾﭗ ﮐﻨﯿﺪ‬
‫‪program salam‬‬
‫‪implicit none‬‬
‫"‪print*, "hello, I'm from Sharif Univ. of Tech.‬‬
‫‪end program salam‬‬

‫ﮐﺪ ﻣﻨﺒﻊ ﺑﺎﻻ را ذﺧﯿﺮه ﮐﺮده و از ﺧﺎرج ﺷﻮﯾﺪ‪ .‬ﮐﺎﻣﭙﺎﯾﻠﺮی ﮐﻪ ﻣﻦ در ﻓﺪورای ‪ ۴‬ﺧﻮد ﻧﺼﺐ ﮐﺮدهام ﮐﺎﻣﭙﺎﯾﻠﺮ ﻓﺮﺗﺮن ‪ifort‬‬
‫ﺷﺮﮐﺖ ‪ Intel‬اﺳﺖ‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ دﺳﺘﻮر ‪ ifort hello.f90 -o akbar.exe‬ﻓﺎﯾﻞ ﻗﺎﺑﻞ اﺟﺮای ‪ akbar.exe‬را ﻣ ﺳﺎزد‬
‫ﮐﻪ اﺟﺮای آن ﺑﺎ ‪ ./akbar.exe‬ﭘﯿﻐﺎم ﻣﻮرد اﻧﺘﻈﺎر را ﺗﻮﻟﯿﺪ ﺧﻮاﻫﺪ ﮐﺮد‪.‬‬
‫• اﮔﺮ ﺧﻮاﺳﺘﯿﺪ ﮐﻪ ﭘﯿﻐﺎم ﺑﺎﻻ ﮐﻪ ﺣﺎﺻﻞ اﺟﺮای ﻓﺎﯾﻞ اﺟﺮاﯾﯽ اﺳﺖ ﺑﻪ ﺟﺎی اﯾﻨﮑﻪ در ﺗﺮﻣﯿﻨﺎل ﻧﻤﺎﯾﺶ داده ﺷﻮد ﺑﻪ ﻓﺎﯾﻠ‬
‫ﻣﺜﻼ ﺑﻪ اﺳﻢ ‪ message.log‬ﻧﻮﺷﺘﻪ ﺷﻮد‪ ،‬ﺑﺎ دﺳﺘﻮر ‪ ./akbar.exe > message.log‬ﻣ ﺗﻮان ﺧﺮوﺟ ﺑﺮﻧﺎﻣﻪرا ﺑﻪ اﯾﻦ‬
‫ﻓﺎﯾﻞ ﻫﺪاﯾﺖ ﮐﺮد‪ .‬در آن ﺻﻮرت ﺑﺮای دﯾﺪن ﺳﺮﯾﻊ ﻣﺤﺘﻮای ﻓﺎﯾﻞ ‪ message.log‬دﺳﺘﻮر ‪ more message.log‬را ﺗﺎﯾﭗ‬
‫ﮐﻨﯿﺪ‪.‬‬
‫• اﮔﺮ ﺧﻮاﺳﺘﯿﺪ زﻣﺎن اﺟﺮای ﻓﺎﯾﻞ اﺟﺮاﯾﯽ ‪ akbar.exe‬را ﺑﺴﻨﺠﯿﺪ‪ ،‬آن را ﺑﻪ ﺻﻮرت ‪ time ./akbar.exe‬اﺟﺮا‬
‫ﮐﻨﯿﺪ‪.‬‬
‫ﻧﺴﺨﻪ ﻣﺠﺎﻧ اﯾﻦ ﮐﺎﻣﭙﺎﯾﻠﺮ در ﺳﺎﯾﺖ اﯾﻨﺘﻞ )ﮔﻮﮔﻞ ﮐﻨﯿﺪ( ﻗﺎﺑﻞ دﺳﺖﯾﺎﺑﯽ اﺳﺖ‪ .‬اﮔﺮ ﺑﻪ ﻫﺮ ﺗﻘﺪﯾﺮ اﯾﻦ ﮐﺎﻣﭙﺎﯾﻠﺮ را ﻧﺪارﯾﺪ‬
‫)ﮐﻪ ﻣﺎ ﺗﻮﺻﯿﻪ ﻣ ﮐﻨﯿﻢ ﺗﻬﯿﻪ و ﻧﺼﺐاش ﮐﻨﯿﺪ(‪ ،‬ﻣ ﺗﻮاﻧﯿﺪ ﺑﻪ ﺟﺎی ‪ ifort‬از ﮐﺎﻣﭙﺎﯾﻠﺮ ﻣﺠﺎﻧ ‪ gfortran‬ﮐﻪ ﻫﻤﺮاه ﻟﯿﻨﻮﮐﺲ‬
‫ﻫﺎی ﻗﺪﯾﻤ ﺑﻪ ﺻﻮرت ﭘﯿﺶﻓﺮض ﻧﺼﺐ ﻣ ﺷﻮد اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪ .‬ﺑﺮای ﻧﺼﺐ اﯾﻦ ﮐﺎﻣﭙﺎﯾﻠﺮ ﻣﺠﺎﻧ در ﻟﯿﻨﻮﮐﺲ ‪ ubuntu‬ﮐﺎﻓ‬
‫اﺳﺖ دﺳﺘﻮر ‪ sudo apt-get install gfortran‬را ﺻﺎدر ﮐﻨﯿﺪ‪.‬‬
‫در ﻓﺼﻞﻫﺎی ﺑﻌﺪ اﺑﺰاری ﺑﻪ اﺳﻢ ‪ make‬را ﻣﻌﺮﻓ ﻣ ﮐﻨﯿﻢ ﮐﻪ ﺑﺮای ﮐﺎﻣﭙﺎﯾﻞ ﭘﺮوژهﻫﺎی ﺑﺰرﮔ ﮐﻪ ﺗﻌﺪاد زﯾﺎدی ﻓﺎﯾﻞ دارﯾﻢ‬
‫ﺑﻪ ﮐﺎر ﻣ رود و ﻓﻘﻂ ﻓﺎﯾﻞﻫﺎﯾﯽ ﮐﻪ ﺗﻐﯿﯿﺮاﺗ در آﻧﻬﺎ داده ﺷﺪه را ﮐﺎﻣﭙﺎﯾﻞ ﻣﺠﺪد ﻣ ﮐﻨﺪ‪ .‬ﺑﻬﺘﺮ اﺳﺖ ﺑﺎ ﮐﻤ ﮔﺮﻓﺘﻦ از ﮔﻮﮔﻞ‪،‬‬
‫ﻧﺮم ﮐﺎﻣﭙﺎﯾﻠﺮ ﻓﺮﺗﺮن ﺷﺮﮐﺖ اﯾﻨﺘﻞ ﮐﻪ ﺑﺎ دﺳﺘﻮر ‪ ifort‬ﻓﺮاﺧﻮاﻧﺪه ﻣ ﺷﻮد را ﻧﯿﺰ ﻧﺼﺐ ﮐﻨﯿﺪ‪.‬‬

You might also like