Sie sind auf Seite 1von 31

‫ﺗﻢ ﺗﺤﻤﻴﻞ اﻟﻤﻠﻒ ﻣﻦ ﻣﻮﻗﻊ‬

‫اﻟﺒﻮﺻﻠﺔ اﻟﺘﻘﻨﻴﺔ‬
‫‪www.boosla.com‬‬
‫ﺍﻟﺴﻼﻡ ﻋﻠﻴﻜﻢ ﻭ ﺭﺣﻤﺔ ﺍﷲ‬

‫ﺷﺒﺎب ﻫﺬا درس ﺑﺴﻴﻂ ﻋﻦ اﻫﻢ اواﻣﺮ ﻟﻠﻴﻨﻜﺲ ‪ ،‬ﺑﺼﺮاﺣﺔ اﻟﻔﺘﺮ ة اﻟﻤﺎﺿﻴﺔ ﻛﻨﺖ ﻛﺘﻴﺮ ﻣﺸﻐﻮل و ﺗﺮﻛﺖ اﻟﻠﻴﻨﻜﺲ ﻛﻠﻪ‬
‫ﺑﺲ ﻫﻸ اﻟﺤﻤﺪ ﷲ رﺟﻌﺖ اﻟﻪ‬
‫اﻟﻤﻬﻢ ﻗﻠﺖ ﺧﻠﻴﻨﻲ اﺗﺬﻛﺮ اواﻣﺮ اﻟﻠﻴﻨﻜﺲ و اﺳﺎﺳﻴﺎﺗﻪ‬
‫اﻧﺸﺎء اﷲ ﻟﻮ ﺳﻤﺤﻠﻲ اﻟﻮﻗﺖ ﻫﺄﻗﺪم دروس ﻣﺨﺘﻠﻔﺔ ﻋﻦ اﻟﻠﻴﻨﻜﺲ ﺣﺴﺐ ﻣﻌﻠﻮﻣﺎﺗﻲ اﻟﺒﺴﻴﻄﻪ ﻋﻨﻪ ﻋﻠﺸﺎن اﻓﻴﺪ ﻏﻴﺮي‪،‬‬
‫ﻛﻞ ﻣﺎ أرﺟﻮه دﻋﻮة ﺻﺎﻟﺤﺔ ﻓﻲ ﻇﻬﺮ اﻟﻐﻴﺐ ‪(:‬‬

‫اﺧﻮﻛﻢ‬

‫‪FOY@ - P@L H@CKERZ‬‬

‫اﻟﺪرس اﻷول ) أواﻣﺮ اﻟﻠﻴﻨﻜﺲ (‬


‫ﺷﺒﺎب ﻛﺘﺒﺖ ﺟﺰء اﻟﺪرس و ﺟﻤﻌﺖ ﺟﺰء ﻣﻦ ﻣﻌﻠﻮﻣﺎﺗﻪ ﻣﻦ اﻟﻨﺖ او اﻟﻜﺘﺐ‬
‫اﻧﺸﺎء اﷲ اي ﺟﺰء ﻣﻨﻘﻮل ﺳﺄﻛﺘﺐ اﺳﻤﻪ اﻟﻜﺎﺗﺐ او اذا ﻣﺎ ﻋﺮﻓﺖ اﺳﻤﻪ ﺳﺄﻛﺘﺐ ﻣﻨﻘﻮل ‪.‬‬
‫ﻃﺒﻌﺎ ﺑﻌﺾ اﻻواﻣﺮ ﻣﻤﻜﻦ ﻛﺘﺎﺑﺘﻬﺎ ﻋﻦ ﻃﺮﻳﻖ اﻟﻮاﺟﻬﺔ اﻟﺮﺳﻮﻣﻴﺔ ﺑﺲ اﻓﻀﻞ ﺗﻌﻠﻤﻬﺎ ﻋﻦ ﻃﺮﻳﻖ ال اﻟﺘﻴﺮﻣﻨﻞ‬
‫اول ﺷﻲ اﺿﻐﻂ ﻋﻠﻰ اﻳﻘﻮﻧﺔ اﻟﺘﻴﺮﻣﻨﻞ ﻣﻦ ﺷﺮﻳﻂ اﻟﻤﻬﺎم‬
‫ﻳﻤﻜﻦ ﻛﺘﺎﺑﺔ اواﻣﺮ ﻋﺪة ﻓﻲ اﻟﻠﻴﻨﻜﺲ ‪ ،‬ﻳﻤﻜﻦ ان ﻳﻔﺼﻞ ﺑﻴﻨﻬﺎ ﺑﻔﺮاغ واﺣﺪ او اﻛﺘﺮ ﻻ ﻳﻬﻢ ‪ ،‬ﻟﻜﻦ اﻟﻤﻬﻢ ﺟﺪا ﻣﺮاﻋﺎة‬
‫اﻟﺤﺮوف اﻟﻜﺒﻴﺮة و اﻟﺼﻐﻴﺮة‬
‫ﻓﻲ اﻟﺘﻴﺮﻣﻨﻞ ‪foya‬ﻻ ﻳﺴﺎوي ‪FOYA‬ﻣﺜﻼ‬
‫اول ﻣﺎ ﺗﻔﻮت ﻋﻠﻰ اﻟﺘﻴﺮﻣﻨﻞ ﻫﺘﻼﻗﻲ ﻛﻼﻣﻪ ﻳﺪل ﻋﻠﻰ ﻣﻮﻗﻌﻚ ﻣﻦ اﻟﻤﻠﻔﺎت ‪ ،‬ﻣﺜﻞ‬
‫‪[foya@localhost foya]$‬‬
‫‪foya@localhost‬‬
‫ﻣﺜﻼ ﻓﻮﻳﺎ ﻫﻨﺎ ﺗﺪل ﻋﻠﻰ اﺳﻢ اﻟﻤﺴﺘﺨﺪم‬
‫اﻣﺎ ﻓﻮﻳﺎ اﻷﺧﺮى ﺗﺪل ﻋﻠﻰ اﻟﻤﺠﻠﺪ اﻟﺬي اﻧﺖ ﺑﻪ اﻵن‬
‫اﻣﺎ رﻣﺰ ال ‪ $‬ﻓﻬﻮ ﻳﺪل ﻋﻠﻰ اﻧﻚ ﻣﺴﺘﺨﺪم ﻋﺎدي و ﻟﺴﺖ ﻣﺪﻳﺮ اي اﻟﺮوت‬

‫‪ su-‬اﻷﻣﺮ‬
‫‪SuperUser‬و ﻫﻮ اﺧﺘﺼﺎر ل‬
‫و ﻫﻴﻄﻠﺐ ﻣﻨﻚ ﺑﺴﻮورد اﻟﻤﺪﻳﺮ ‪su‬اﻛﺘﺐ ﻓﻲ اﻟﺘﻴﺮﻣﻨﻞ‬
‫ﺳﺘﻼﺣﻆ ان اﻟﺮﻣﺰ ‪ $‬ﺗﺤﻮل اﻟﻰ ‪ #‬اي ﻣﺪﻳﺮ‬

‫‪ pwd-‬اﻷﻣﺮ‬
‫‪ print current working directory‬ﻫﻮ اﺧﺘﺼﺎر ل‬
‫وﻇﻴﻔﺘﻪ ﻫﺬا اﻻﻣﺮ اﻧﻪ ﻳﺨﺒﺮك ﺑﺎﻟﻤﺠﻠﺪ اﻟﺬي اﻧﺖ ﺑﻪ اﻵن ‪ ،‬ﻣﺜﺎل‬
‫‪/home/foya‬‬
‫اﻷﻣﺮ ‪passwd‬‬
‫ﻳﺴﺘﻌﻤﻞ ﻫﺬا اﻻﻣﺮ ﻟﺘﻐﻴﻴﺮ ﻛﻠﻤﺔ اﻟﺴﺮ‬

‫‪-‬اﻷﻣﺮ ‪cd‬‬
‫ﻳﺴﺘﻌﻤﻞ ﻫﺬا اﻷﻣﺮ ﻟﻠﺘﻨﻘﻞ ﺑﻴﻦ اﻟﻔﻠﺪرات ‪ ،‬اﻣﺎ ﻣﺘﺒﻮﻋﺎ ﺑﺎﺳﻢ اﻟﻔﻠﺪر اﻟﻔﺮﻋﻲ داﺧﻞ اﻟﻤﻠﻒ اﻟﻠﻲ اﻧﺖ داﺧﻠﺔ ﻫﻸ ‪ ،‬او ﻋﻦ‬
‫ﻃﺮﻳﻖ ﻛﺘﺎﺑﺔ اﻟﻤﺴﺎر اﻟﻜﺎﻣﻞ‬
‫ﻣﺜﺎل‬
‫‪cd unix‬‬
‫ﻋﻠﻰ اﻓﺘﺮاض اﻧﻲ داﺧﻞ ﻓﻠﺪر ﻓﻮﻳﺎ ‪ ،‬ﻓﺎن اﻻﻣﺮ ﻫﺬا ﺳﻴﻨﻘﻠﻨﻲ اﻟﻰ ﻓﻠﺪر اﻟﻴﻮﻧﻜﺲ داﺧﻞ ﻓﻮﻳﺎ‬
‫اﻣﺎ ﻟﻮ ﻛﺎن ﻫﻨﺎ اﺳﻤﻪ ‪ 7azm‬داﺧﻞ ﻓﻠﺪر ‪ forums‬ﺣﺴﺐ اﻟﻤﺴﺎر اﻟﺘﺎﻟﻲ ‪/forums‬‬
‫اذا اﻷﻣﺮ‬
‫‪cd /forums/7azm‬‬
‫ﻟﻼﻧﺘﻘﺎل اﻟﻰ ﻣﺠﻠﺪ اﻟﺮوت‬
‫‪cd /‬‬
‫اﻣﺎ ﻟﻼﻧﺘﻘﺎل اﻟﻰ اﻟﻤﺠﻠﺪ اﻟﺴﺎﺑﻖ‬
‫– ‪cd‬‬

‫و اذا اردت اﻻﻧﺘﻘﺎل ﻟﻤﺠﻠﺪ اﻋﻠﻰ ﻣﻦ اﻟﻤﺠﻠﺪ اﻟﻠﻲ اﻧﺖ ﺑﻪ‬


‫‪cd ..‬‬
‫ﻣﻼﺣﻈﻪ ‪ :‬ﻫﺬا اﻷﻣﺮ ﻣﺘﻞ اﻟﺪوس‬

‫‪-‬اﻷﻣﺮ ‪ls‬‬
‫ﻫﺬا اﻻﻣﺮ ﻧﻘﻠﺘﻪ ﻟﻜﻢ ﻣﻦ دروس اﻟﺪﻛﺘﻮر ﺧﺎﻟﺪ أﺑﻮ ﻋﻮدة‬
‫ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺑﻤﺤﺘﻮﻳﺎت ﻣﺠﻠﺪ ﻣﺎ ﺗﺴﺘﻄﻴﻊ اﺳﺘﺨﺪام اﻷﻣﺮ ‪ ls‬و ﻫﻮ اﺧﺘﺼﺎر ل‪ ، list‬ﻓﺈذا اﺳﺘﺨﺪﻣﺖ ﻫﺬا اﻷﻣﺮ‬
‫دون أي إﺿﺎﻓﺎت ﻓﺴﺘﺤﺼﻞ ﻋﻠﻰ ﻣﺤﺘﻮﻳﺎت اﻟﻤﺠﻠﺪ اﻟﺤﺎﻟﻲ اﻟﺬي ﺗﻌﻤﻞ ﻋﻠﻴﻪ‪ ،‬أﻣﺎ إذا رﻏﺒﺖ ﺑﻤﻌﺮﻓﺔ ﻣﺤﺘﻮﻳﺎت ﻣﺠﻠﺪ‬
‫ﻣﻌﻴﻦ ﻓﻌﻠﻴﻚ ﺗﺤﺪﻳﺪ ﻣﺴﺎره ﻛﺎﻣﻼ‪ ،‬ﻓﻠﻤﻌﺮﻓﺔ ﻣﺤﺘﻮﻳﺎت اﻟﻤﺠﻠﺪ ‪ Palestine‬ﻓﺎﺳﺘﺨﺪم اﻷﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪ls /usr/Jihad/Palestine‬‬

‫أﻣﺎ إذا رﻏﺒﺖ ﺑﺎﻟﺤﺼﻮل ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎت ﺗﻔﺼﻴﻠﻴﺔ ﻋﻦ ﻣﺤﺘﻮﻳﺎت اﻟﻤﺠﻠﺪ ﻓﺎﺳﺘﺨﺪم اﻷﻣﺮ ‪ls –l‬ﻛﻤﺎ ﻳﻠﻲ‪:‬‬

‫‪ls –l /usr/Jihad/Palestine‬‬

‫أﻣﺎ إذا رﻏﺒﺖ ﺑﺎﻟﺤﺼﻮل ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﻣﺤﺘﻮﻳﺎت ﻣﺼﻨﻔﺔ ﻓﺎﺳﺘﺨﺪم اﻷﻣﺮ ‪ ls –F‬و اﻧﺘﺒﻪ أن اﻟﺤﺮف ﻫﻮ ‪ F‬و ﻟﻴﺲ‪f.‬‬

‫ﻟﺘﻤﻴﻴﺰ اﻟﻤﻠﻔﺎت اﻟﻘﺎﺑﻠﺔ ﻟﻠﺘﻨﻔﻴﺬ ﻋﻨﺪ ﺳﺮد ﻣﺤﺘﻮﻳﺎت أي ﻣﺠﻠﺪ ﺳﻨﺠﺪ أن اﻟﻤﻠﻒ اﻟﻘﺎﺑﻞ ﻟﻠﺘﺸﻐﻴﻞ ﻗﺪ أﻟﺤﻖ اﻟﺮﻣﺰ * ﺑﻨﻬﺎﻳﺘﻪ‬
‫ﻣﺜﻼ ﻣﻠﻒ ﺗﺸﻐﻴﻞ ‪ Yahoo Messenger‬ﺳﺘﺠﺪه ﺑﻬﺬا اﻟﺸﻜﻞ‪:‬‬
‫‪*ymessenger‬‬

‫إذا رﻏﺒﺖ ﺑﺎﻟﺤﺼﻮل ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺑﺠﻤﻴﻊ اﻟﻤﻠﻔﺎت ﻓﻲ اﻟﻤﺠﻠﺪ ﺑﻤﺎ ﻓﻴﻬﺎ اﻟﻤﻠﻔﺎت اﻟﻤﺨﻔﻴﺔ ﻓﺎﺳﺘﺨﺪم اﻷﻣﺮ ‪ ls –a‬و‬
‫ﻋﻨﺪﻫﺎ ﺳﺘﻈﻬﺮ ﺟﻤﻴﻊ اﻟﻤﻠﻔﺎت ﺣﺘﻰ اﻟﻤﺨﻔﻴﺔ و اﻟﺘﻲ ﺳﻴﺘﻤﻴﺰ اﺳﻤﻬﺎ ﺑﺄﻧﻪ ﻳﺒﺪأ ﺑﻨﻘﻄﺔ ﻛﻤﺜﺎل‪:‬‬

‫‪bashrc.‬‬

‫ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﻣﺤﺘﻮﻳﺎت ﻣﺮﺗﺒﺔ وﻓﻘﺎ ﻟﻮﻗﺖ إﻧﺸﺎﺋﻬﺎ اﻷﺣﺪث ﻓﺎﻷﻗﺪم اﺳﺘﺨﺪم اﻷﻣﺮ ‪ ، ls –t‬أﻣﺎ ﻟﻌﻜﺲ اﻟﺘﺮﺗﻴﺐ‬
‫)اﻷﻗﺪم ﻓﺎﻷﺣﺪث( ﻓﺎﺳﺘﺨﺪم اﻷﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪ls –tr‬‬
‫ﺗﺴﺘﻄﻴﻊ دﻣﺞ أﻛﺜﺮ ﻣﻦ ﺧﻴﺎر ﻣﻊ اﻷﻣﺮ ‪ ، ls‬ﻓﻤﺜﻼ ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺗﻔﺼﻴﻠﻴﺔ ﻟﻠﻤﺤﺘﻮﻳﺎت ﻣﺮﺗﺒﺔ زﻣﻨﻴﺎ ﺑﺸﻜﻞ‬
‫ﻋﻜﺴﻲ ﻧﺴﺘﺨﺪم اﻷﻣﺮ ﻛﻤﺎ ﻳﻠﻲ‪:‬‬

‫‪ls –ltr‬‬

‫أﺣﻴﺎﻧﺎ ﻋﻨﺪ اﻟﺒﺤﺚ ﻋﻦ ﻣﻠﻒ ﻣﻌﻴﻦ أو ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻤﻠﻔﺎت ﻗﺪ ﻻ ﺗﺘﺬﻛﺮ اﻻﺳﻢ اﻟﻤﻀﺒﻮط ﻟﻪ أو اﻟﻤﻌﻠﻮﻣﺎت اﻟﺘﻲ‬
‫ﻳﺤﺘﻮﻳﻬﺎ ﺑﺎﻟﻀﺒﻂ‪ ،‬ﻓﻤﺜﻼ ﻗﺪ ﺗﺒﺤﺚ ﻋﻦ ﻣﻠﻒ أﺳﻤﺎء اﻟﺼﺤﺎﺑﺔ و ﻟﻜﻨﻚ ﻻ ﺗﺴﺘﻄﻴﻊ أن ﺗﺘﺬﻛﺮ اﺳﻢ اﻟﻤﻠﻒ ﻫﻞ ﻫﻮ‬
‫‪sahaba‬أو ‪ sa7aba‬أو‪ ، assahaba‬و ﻣﺜﺎل آﺧﺮ أﻧﻚ ﺗﻮد اﻟﺒﺤﺚ ﻋﻦ ﺟﻤﻴﻊ اﻟﻤﻠﻔﺎت اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ‬
‫ﻣﻌﻠﻮﻣﺎت ﻣﻌﻴﻨﺔ ﻣﺜﻞ اﺳﻢ ‪ Mohammed‬و ﻫﻜﺬا‪ .‬ﻟﻠﺘﻐﻠﺐ ﻋﻠﻰ ﻣﺜﻞ ﻫﺬه اﻟﻤﺸﺎﻛﻞ ﻧﺴﺘﺨﺪم ﺑﻌﺾ اﻟﺮﻣﻮز ﻣﻊ أواﻣﺮ‬
‫ﻟﻴﻨﻮﻛﺲ ﻟﺘﺴﻬﻞ ﻋﻠﻴﻨﺎ اﻟﻮﺻﻮل اﻟﻰ ﻏﺎﻳﺘﻨﺎ ﻛﻤﺎ ﻳﻠﻲ‪:‬‬

‫‪1-‬اﻟﺮﻣﺰ ؟ ﻋﻨﺪ اﺳﺘﺨﺪاﻣﻪ ﻓﺈﻧﻪ ﻳﺮﻣﺰ ﻷي ﺣﺮف ﻓﻤﺜﻼ ﻟﻨﻔﺘﺮض أﻧﻨﺎ ﻧﺮﻳﺪ أن ﻧﺒﺤﺚ ﻋﻦ ﻣﻠﻒ اﺳﻤﻪ ﻣﻜﻮن ﻣﻦ ‪3‬‬
‫أﺣﺮف و ﻟﻜﻦ ﻧﺴﻴﻨﺎ اﻟﺤﺮف اﻷوﺳﻂ ﻓﺎﺳﺘﺨﺪﻣﻨﺎ اﻷﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪ls b?g‬‬

‫ﻓﺤﺼﻠﻨﺎ ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺗﺤﺘﻮي ﻋﻠﻰ أﺳﻤﺎء ﺟﻤﻴﻊ اﻟﻤﻠﻔﺎت اﻟﻤﻜﻮﻧﺔ ﻣﻦ ‪ 3‬أﺣﺮف و ﺗﺒﺪأ ﺑﺎﻟﺤﺮف ‪ b‬و ﺗﻨﺘﻬﻲ ﺑﺎﻟﺤﺮف ‪g‬‬
‫ﺑﻐﺾ اﻟﻨﻈﺮ ﻋﻦ اﻟﺤﺮف اﻷوﺳﻂ‪ ،‬ﻟﻬﺬا ﻗﺪ ﻧﺤﺼﻞ ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺑﺎﻟﻤﻠﻔﺎت اﻟﺘﺎﻟﻴﺔ ﻣﺜﻼ‪:‬‬

‫‪bag bug big‬‬

‫ﻣﺜﺎل آﺧﺮ ﻧﻮد اﻟﺤﺼﻮل ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺑﺄﺳﻤﺎء اﻟﻤﻠﻔﺎت اﻟﻤﻜﻮﻧﺔ ﻣﻦ ‪ 5‬أﺣﺮف‪ ،‬ﻟﻬﺬا اﻟﻐﺮض ﻧﺴﺘﺨﺪم اﻷﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪????? ls‬‬

‫‪2-‬اﻟﺮﻣﺰ * و ﻫﻮ ﻳﺮﻣﺰ ﻷي ﻋﺪد ﻣﻦ اﻷﺣﺮف أو اﻟﺮﻣﻮز اﻟﺘﻲ ﺗﻠﻴﻪ ﻓﻤﺜﻼ إن اﺳﺘﺨﺪﻣﻨﺎ اﻷﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪*ls mon‬‬

‫ﻓﺴﻨﺤﺼﻞ ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺑﺄﺳﻤﺎء ﺟﻤﻴﻊ اﻟﻤﻠﻔﺎت اﻟﺘﻲ ﺗﺒﺪأ ب ‪ mon‬ﺑﻐﺾ اﻟﻨﻈﺮ ﻋﻦ ﺑﺎﻗﻲ اﻻﺳﻢ ﻛﻤﺜﺎل ﻗﺪ ﻧﺤﺼﻞ ﻋﻠﻰ‬
‫ﻗﺎﺋﻤﺔ ﺑﺎﻟﻤﻠﻔﺎت اﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪monday month money‬‬


‫‪3-‬اﻟﻘﻮﺳﻴﻦ ][ و ﻋﻨﺪ اﺳﺘﺨﺪاﻣﻬﻤﺎ ﻳﺘﻢ اﻋﺘﻤﺎد أي ﺣﺮف أو رﻣﺰ ﻣﻦ ﺿﻤﻦ اﻷﺣﺮف أو اﻟﺮﻣﻮز اﻟﻤﺤﺼﻮرة ﺑﻴﻨﻬﻤﺎ‬
‫ﻓﻤﺜﻼ إذا اﺳﺘﺨﺪﻣﻨﺎ اﻷﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪ls [Ss]hare‬‬

‫ﻓﺴﻨﺤﺼﻞ ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺑﺎﻟﻤﻠﻔﺎت اﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪Share share‬‬

‫أﻣﺎ إذا اﺳﺘﺨﺪﻣﻨﺎ اﻷﻗﻮاس ﺑﻬﺬا اﻟﺸﻜﻞ ]‪ [a-f‬ﻓﺴﻴﺘﻢ اﻋﺘﻤﺎد أي ﺣﺮف ﺑﻴﻦ ‪ a‬و ‪ f‬ﻓﻤﺜﻼ ﻋﻨﺪ اﺳﺘﺨﺪام اﻷﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪Ls b[a-f]g‬‬

‫ﻓﺴﻨﺤﺼﻞ ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺑﺄﺳﻤﺎء ﺟﻤﻴﻊ اﻟﻤﻠﻔﺎت اﻟﺘﻲ ﺗﺒﺪأ ب ‪ b‬و ﺗﻨﺘﻬﻲ ب ‪ g‬ﺑﻴﻨﻤﺎ اﻟﺤﺮف اﻷوﺳﻂ ﻗﺪ ﻳﻜﻮن أي ﺣﺮف‬
‫ﻓﻲ اﻟﻤﺪى ﺑﻴﻦ اﻷﺣﺮف ‪ a‬و ‪ f‬ﻛﻤﺜﺎل ﻗﺪ ﻧﺤﺼﻞ ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺑﺎﻟﻤﻠﻔﺎت اﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪bag beg‬‬

‫أﻣﺎ إذا اﺳﺘﺨﺪﻣﻨﺎ اﻟﺮﻣﺰ ^ ﻛﺄول رﻣﺰ ﺑﻴﻦ اﻟﻘﻮﺳﻴﻦ ﻓﻬﺬا ﻳﻌﻨﻲ أﻧﻪ ﻳﻨﻄﺒﻖ ﻋﻠﻰ أي ﺣﺮف ﻣﺎ ﻋﺪى اﻷﺣﺮف اﻟﺘﻲ ﺗﻠﻲ‬
‫اﻟﺮﻣﺰ ﺑﻴﻦ اﻟﻘﻮﺳﻴﻦ‪ ،‬ﻛﻤﺜﺎل إذا اﺳﺘﺨﺪﻣﻨﺎ اﻷﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪ls b[^a,f]g‬‬

‫ﻓﺴﻨﺤﺼﻞ ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺑﺄﺳﻤﺎء اﻟﻤﻠﻔﺎت اﻟﺘﻲ ﺗﺒﺪأ ب اﻟﺤﺮف ‪ b‬و ﺗﻨﺘﻬﻲ ب ‪ g‬ﺑﻴﻨﻤﺎ اﻟﺤﺮف اﻷوﺳﻂ ﺳﻴﻜﻮن أي ﺣﺮف‬
‫ﻣﺎ ﻋﺪى اﻟﺤﺮﻓﻴﻦ ‪ a‬و ‪ f‬و ﻛﻤﺜﺎل ﻗﺪ ﻧﺤﺼﻞ ﻋﻠﻰ ﻗﺎﺋﻤﺔ ﺑﺎﻟﻤﻠﻔﺎت اﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪big beg‬‬

‫‪-‬أواﻣﺮ إدارة اﻟﻤﻠﻔﺎت ‪.‬‬

‫ﻫﺬا اﻟﺪرس ﻟﻠﺪﻛﺘﻮر اﺑﻮ ﺧﺎﻟﺪ ﻋﻮدة‬


‫ﺳﻨﺘﻨﺎول ﻓﻲ ﻫﺬا اﻟﺪرس اﻷواﻣﺮ اﻟﺘﺎﻟﻴﺔ ‪:‬‬

‫‪1-‬أواﻣﺮ إدارة اﻟﻤﻠﻔﺎت و اﻟﻤﺠﻠﺪات ﻣﻦ ﻧﺴﺦ و ﻧﻘﻞ و ﺣﺬف و إﻋﺎدة ﺗﺴﻤﻴﺔ و إﻧﺸﺎء اﺧﺘﺼﺎرات ‪mv ،ln ،: cp‬‬
‫‪mkdir ،rm ،‬و ‪rmdir.‬‬

‫‪2-‬أواﻣﺮ ﻋﺮض اﻟﻤﻠﻔﺎت و ﺗﺼﻔﺤﻬﺎ ‪grep ،file ،less ،more ،tail ،: head‬و ‪wc.‬‬

‫ﻟﻨﺴﺦ ﻣﻠﻒ ﻣﺎ ﻧﺴﺘﺨﺪم اﻷﻣﺮ ‪ cp‬ﻣﺘﺒﻮﻋﺎ ﺑﺎﺳﻢ اﻟﻤﻠﻒ ﺛﻢ اﻟﻮﺟﻬﺔ ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪cp file1 dir‬‬

‫ﺳﻴﻘﻮم اﻷﻣﺮ اﻟﺴﺎﺑﻖ ﺑﻨﺴﺦ اﻟﻤﻠﻒ ‪ file1‬اﻟﻰ اﻟﻤﺠﻠﺪ ‪ ، dir‬أﻣﺎ إذا اﺳﺘﺨﺪﻣﻨﺎ اﻷﻣﺮ اﻟﺴﺎﺑﻖ ﻛﻤﺎ ﻳﻠﻲ ‪:‬‬
‫‪cp file1 file2‬‬

‫ﻓﺴﻨﺤﺼﻞ ﻋﻠﻰ ﻧﺴﺨﺔ ﻣﻦ اﻟﻤﻠﻒ ‪ file1‬و ﺳﻴﻜﻮن اﺳﻤﻬﺎ ‪ file2‬و ﺳﺘﻜﻮن ﻓﻲ ﻧﻔﺲ اﻟﻤﺠﻠﺪ اﻟﻤﻮﺟﻮد ﻓﻴﻪ اﻟﻤﻠﻒ‬
‫اﻷﺻﻠﻲ ‪file2.‬‬

‫ﻹﻧﺸﺎء اﺧﺘﺼﺎر أو راﺑﻂ ﻟﻤﻠﻒ ﻣﺎ ﻧﺴﺘﺨﺪم اﻷﻣﺮ ‪ ، ln‬و ﻋﻠﻴﻨﺎ ﻓﻲ اﻟﺒﺪاﻳﺔ أن ﻧﻌﺮف أن ﻫﻨﺎك ﻧﻮﻋﻴﻦ ﻣﻦ‬
‫اﻻﺧﺘﺼﺎرات أو اﻟﺮواﺑﻂ ﻓﻲ ﻟﻴﻨﻮﻛﺲ ‪:‬‬

‫‪1-‬راﺑﻂ ﺻﻠﺐ ‪.‬‬

‫‪2-‬راﺑﻂ رﻣﺰي ‪.‬‬

‫أﻣﺎ اﻟﺮاﺑﻂ اﻟﺼﻠﺐ ﻓﻴﻘﻮم ﺑﺈﻧﺸﺎء اﺧﺘﺼﺎر ﻟﻠﻤﻠﻒ اﻷﺻﻠﻲ ﻓﻲ ﻣﻜﺎن آﺧﺮ و ﻳﻜﻮن ﻫﺬا اﻻﺧﺘﺼﺎر ﻋﺒﺎرة ﻋﻦ ﻧﺴﺨﺔ‬
‫ﻃﺒﻖ اﻷﺻﻞ ﻣﻦ اﻟﻤﻠﻒ اﻷﺻﻠﻲ و ﻗﺪ ﻳﺘﺴﺎءل أﺣﺪﻧﺎ ‪ :‬إذن ﻣﺎ اﻟﻔﺮق ﺑﻴﻨﻪ وﺑﻴﻦ أﻣﺮ اﻟﻨﺴﺦ اﻟﺴﺎﺑﻖ؟ و ﻧﺠﻴﺐ ﻓﻨﻘﻮل‬
‫أن ﻫﺬا اﻻﺧﺘﺼﺎر ﻳﺮاﻗﺐ ﻛﻞ ﻣﺎ ﻳﺠﺮي ﻟﻠﻤﻠﻒ اﻷﺻﻠﻲ ﺑﺤﻴﺚ أن أي ﺗﻐﻴﻴﺮ ﻳﺘﻢ إﺟﺮاؤه ﻋﻠﻰ اﻟﻤﻠﻒ اﻷﺻﻠﻲ ﻳﺘﻢ ﺗﻄﺒﻴﻘﻪ‬
‫ﺗﻠﻘﺎﺋﻴﺎ ﻋﻠﻰ اﻻﺧﺘﺼﺎر اﻟﺠﺪﻳﺪ و ﻫﺬا ﺑﻄﺒﻴﻌﺔ اﻟﺤﺎل ﻻ ﻳﺘﻮﻓﺮ ﻣﻦ ﺧﻼل اﺳﺘﺨﺪام اﻷﻣﺮ ‪ cp.‬ﻳﻤﻜﻦ إﻧﺸﺎء ﻫﺬا اﻻﺧﺘﺼﺎر‬
‫ﻟﻠﻤﻠﻔﺎت ﻓﻘﻂ و ﻻ ﻳﺼﻠﺢ ﻟﻠﻤﺠﻠﺪات ‪.‬‬

‫و ﻳﺘﻢ ﻛﺘﺎﺑﺔ اﻷﻣﺮ ‪ ln‬ﻣﺘﺒﻮﻋﺎ ﺑﺎﺳﻢ اﻟﻤﻠﻒ اﻷﺻﻠﻲ ﺛﻢ اﻟﻮﺟﻬﺔ اﻟﻤﺮاد إﻧﺸﺎء اﻻﺧﺘﺼﺎر ﻓﻴﻬﺎ ‪.‬‬

‫أﻣﺎ اﻟﺮاﺑﻂ اﻟﺮﻣﺰي ﻓﻬﻮ ﻋﺒﺎرة ﻋﻦ ﻣﺆﺷﺮ ﻏﻴﺮ ﻣﺒﺎﺷﺮ ﻟﻠﻤﻠﻒ اﻷﺻﻠﻲ ﺑﺤﻴﺚ إذا ﻗﻤﺖ ﺑﺘﺸﻐﻴﻞ اﻻﺧﺘﺼﺎر ﺳﻴﺘﻢ ﺗﻠﻘﺎﺋﻴﺎ‬
‫ﺗﺸﻐﻴﻞ اﻟﻤﻠﻒ اﻷﺻﻠﻲ و ﻫﺬا اﻟﻨﻮع ﻣﻦ اﻟﺮواﺑﻂ ﻣﺸﺎﺑﻪ ﻻﺧﺘﺼﺎرات اﻟﻮﻳﻨﺪوز اﻟﻤﺄﻟﻮﻓﺔ و ﻳﻤﻜﻦ ﺗﻄﺒﻴﻘﻪ ﻋﻠﻰ اﻟﻤﻠﻔﺎت‬
‫و اﻟﻤﺠﻠﺪات ﻋﻠﻰ ﺣﺪ ﺳﻮاء ‪.‬‬

‫و ﻳﻜﺘﺐ ﻫﺬا اﻷﻣﺮ ﻛﻤﺎ ﻳﻠﻲ ‪:‬‬

‫‪ln –s dir1/file dir2/file‬‬

‫ﺣﻴﺚ ﻳﻤﺜﻞ ‪ dir1/file‬اﻟﻤﻠﻒ اﻟﻤﺼﺪر و ﻳﻤﺜﻞ ‪ dir2/file‬اﻟﻮﺟﻬﺔ ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪ln –s /home/walid/Islam /dev/Khalid/Islam‬‬

‫ﺣﻴﺚ ﺳﻴﺘﻢ إﻧﺸﺎء اﺧﺘﺼﺎر ﻟﻠﻤﻠﻒ ‪ Islam‬ﻓﻲ اﻟﻤﺠﻠﺪ ‪/dev/khalid‬‬

‫ﻟﻨﻘﻞ اﻟﻤﻠﻔﺎت أو إﻋﺎدة ﺗﺴﻤﻴﺘﻬﺎ ﻧﺴﺘﺨﺪم اﻷﻣﺮ ‪mv‬ﻣﺘﺒﻮﻋﺎ ﺑﺎﻟﻤﻠﻒ اﻟﻤﺼﺪر ﺛﻢ اﻟﻤﻠﻒ اﻟﻮﺟﻬﺔ‪ ،‬ﻓﺒﻴﻨﻤﺎ ﻳﻘﻮم اﻷﻣﺮ‬
‫‪cp‬ﺑﻌﻤﻞ ﻧﺴﺨﺔ ﻣﻦ اﻟﻤﻠﻒ اﻷﺻﻠﻲ ﻓﺈن اﻷﻣﺮ ‪ mv‬ﻳﻘﻮم ﺑﻨﻘﻞ اﻟﻤﻠﻒ اﻷﺻﻠﻲ ﻣﻦ ﻣﻜﺎﻧﻪ اﻟﻰ ﻣﻜﺎن آﺧﺮ أﻣﺎ إذا‬
‫اﺳﺘﺨﺪﻣﻨﺎه ﻟﻨﻘﻞ اﻟﻤﻠﻒ اﻟﻤﺼﺪر اﻟﻰ ﻣﻠﻒ وﺟﻬﺔ ﻣﻮﺟﻮد ﻓﻲ ﻧﻔﺲ اﻟﻤﺠﻠﺪ ﻓﺎﻟﺬي ﻳﺤﺼﻞ ﻫﻮ إﻋﺎدة ﺗﺴﻤﻴﺔ اﻟﻤﻠﻒ‬
‫اﻷﺻﻠﻲ ‪.‬‬

‫ﻓﺈذا اﻓﺘﺮﺿﻨﺎ أﻧﻨﺎ ﻧﺮﻳﺪ ﻧﻘﻞ اﻟﻤﻠﻒ ‪ Jihad‬ﻣﻦ اﻟﻤﺠﻠﺪ ‪ walid‬اﻟﻰ اﻟﻤﺠﻠﺪ اﻟﻔﺮﻋﻲ ‪ Palestine‬ﻧﻜﺘﺐ اﻷﻣﺮ ﻛﻤﺎ‬
‫ﻳﻠﻲ ﻣﻊ اﻓﺘﺮاض أﻧﻨﺎ ﻣﻮﺟﻮدون داﺧﻞ اﻟﻤﺠﻠﺪ ‪walid:‬‬

‫‪mv Jihad Palestine‬‬

‫أﻣﺎ إذا رﻏﺒﻨﺎ ﺑﺈﻋﺎدة ﺗﺴﻤﻴﺔ اﻟﻤﻠﻒ اﻟﺴﺎﺑﻖ اﻟﻰ اﺳﻢ ‪ shahada‬ﻓﻨﻜﺘﺐ اﻷﻣﺮ ﻛﻤﺎ ﻳﻠﻲ ‪:‬‬
‫‪mv Jihad shahada‬‬

‫أي أن اﻷﻣﺮ ﻳﺒﺤﺚ أوﻻ ﻋﻦ ﻣﺠﻠﺪ ﻓﺮﻋﻲ ﺑﺎﺳﻢ ‪ shahada‬ﻓﺈذا ﻟﻢ ﻳﺠﺪ ﻓﺈﻧﻪ ﻳﺪرك أن اﻟﻤﻄﻠﻮب ﻫﻮ إﻋﺎدة ﺗﺴﻤﻴﺔ‬
‫اﻟﻤﻠﻒ اﻷﺻﻠﻲ ‪.‬‬

‫ﻛﻤﺎ ﺗﺴﺘﻄﻴﻊ ﻧﻘﻞ اﻟﻤﻠﻒ و إﻋﺎدة ﺗﺴﻤﻴﺘﻪ ﻓﻲ آن واﺣﺪ ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪mv Jihad Palestine/shahada‬‬

‫ﺣﻴﺚ ﺳﻴﻨﻘﻞ اﻟﻤﻠﻒ ‪ Jihad‬اﻟﻰ اﻟﻤﺠﻠﺪ ‪ Palestine‬ﺛﻢ ﺳﻴﻌﺎد ﺗﺴﻤﻴﺘﻪ اﻟﻰ ‪shahada.‬‬

‫ﻹﻧﺸﺎء ﻣﺠﻠﺪ ﻓﺮﻋﻲ ﻧﺴﺘﺨﺪم اﻷﻣﺮ ‪ mkdir‬و ﻟﺤﺬﻓﻪ ﻧﺴﺘﺨﺪم اﻷﻣﺮ ‪rmdir‬‬

‫ﻓﻤﺜﻼ ﻹﻧﺸﺎء ﻣﺠﻠﺪ ﺟﺪﻳﺪ ﺑﺎﺳﻢ ‪ Muslim‬داﺧﻞ اﻟﻤﺠﻠﺪ ‪ walid‬و ﻧﻔﺘﺮض أﻧﻨﺎ ﻣﻮﺟﻮدون ﻫﻨﺎك ﺣﺎﻟﻴﺎ ﻧﻜﺘﺐ اﻷﻣﺮ‬
‫ﻛﻤﺎ ﻳﻠﻲ ‪:‬‬

‫‪mkdir Muslim‬‬

‫ﻟﺤﺬف اﻟﻤﺠﻠﺪ اﻟﺴﺎﺑﻖ ﻧﻜﺘﺐ اﻷﻣﺮ اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪rmdir Muslim‬‬

‫و ﻟﻜﻦ اﻷﻣﺮ ‪ rmdir‬ﻳﺤﺬف ﻓﻘﻂ اﻟﻤﺠﻠﺪات اﻟﻔﺎرﻏﺔ‪ ،‬أﻣﺎ إذا ﻛﺎن اﻟﻤﺠﻠﺪ ﻳﺤﺘﻮي ﻋﻠﻰ ﻣﻠﻔﺎت أو ﻣﺠﻠﺪات ﻓﺮﻋﻴﺔ‬
‫ﻓﻴﺠﺐ ﺣﺬﻓﻬﺎ أوﻻ إذا أردﻧﺎ اﺳﺘﺨﺪام اﻷﻣﺮ اﻟﺴﺎﺑﻖ ‪.‬‬

‫ﻟﺤﺬف اﻟﻤﻠﻔﺎت ﻧﺴﺘﺨﺪم اﻷﻣﺮ ‪ rm‬ﻣﺘﺒﻮﻋﺎ ﺑﺎﺳﻢ اﻟﻤﻠﻒ‪ ،‬و إذا رﻏﺒﻨﺎ ﺑﺤﺬف أﻛﺜﺮ ﻣﻦ ﻣﻠﻒ ﻧﻜﺘﺐ أﺳﻤﺎء اﻟﻤﻠﻔﺎت‬
‫ﺗﺒﺎﻋﺎ ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪rm file1 file2 file3‬‬

‫ﺣﻴﺚ ﺳﻴﺘﻢ ﺣﺬف اﻟﻤﻠﻔﺎت ‪ file1‬و ‪ file2‬و ‪file3.‬‬

‫ﻳﺠﺐ أن ﻧﻨﺘﺒﻪ أﻧﻪ ﻻ ﻳﻤﻜﻦ ﺣﺬف ﻣﻠﻒ ﻣﺎ إذا ﻛﺎن ﻟﺪﻳﻪ اﺧﺘﺼﺎرات أو رواﺑﻂ ﻓﻲ ﻣﻜﺎن ﻣﺎ و ﻻ ﺑﺪ ﻣﻦ ﺣﺬف‬
‫اﺧﺘﺼﺎراﺗﻪ أوﻻ ﻗﺒﻞ ﻣﺤﺎوﻟﺔ ﺣﺬﻓﻪ و ﻳﻤﻜﻦ ﻣﻌﺮﻓﺔ ﻋﺪد اﺧﺘﺼﺎرات ﻛﻞ ﻣﻠﻒ ﻓﻲ ﻣﺠﻠﺪ ﻣﺎ ﻣﻦ ﺧﻼل اﺳﺘﺨﺪام اﻷﻣﺮ ‪ls‬‬
‫‪–l‬اﻟﺬي ﺳﺒﻖ اﻟﺘﻄﺮق إﻟﻴﻪ‬

‫ﺣﻴﺚ ﻳﺒﻴﻦ اﻟﻌﻤﻮد اﻟﻤﻈﻠﻞ ﻋﺪد اﻻﺧﺘﺼﺎرات ﻟﻜﻞ ﻣﻠﻒ‪ ،‬ﺣﻴﺚ ﻳﺒﺪو أن اﻟﻤﻠﻒ ‪ departments‬ﻟﻴﺲ ﻟﻪ أي اﺧﺘﺼﺎر‬
‫ﻟﻬﺬا ﻳﺤﻤﻞ اﻟﺮﻗﻢ ‪ ،1‬ﺑﻴﻨﻤﺎ اﻟﻤﻠﻒ ‪ actions‬ﻓﻠﻪ اﺧﺘﺼﺎر واﺣﺪ و ﻟﻬﺬا ﻳﺤﻤﻞ اﻟﺮﻗﻢ ‪ 2‬و ﻫﻜﺬا‪ .‬أﻣﺎ ﻟﺤﺬف ﺟﻤﻴﻊ‬
‫اﻟﻤﻠﻔﺎت ﻓﻲ ﻣﺠﻠﺪ ﻣﺎ ﻧﺴﺘﺨﺪم اﻷﻣﺮ ‪ rm –r‬و ﻳﻤﻜﻦ اﺳﺘﺨﺪام ﻫﺬا اﻷﻣﺮ اﻟﻘﻮي ﻟﺤﺬف ﻣﺠﻠﺪ ﻣﺎ و ﻛﺎﻓﺔ ﻣﺤﺘﻮﻳﺎﺗﻪ ﻛﻤﺎ‬
‫ﻓﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪rm –r Muslim‬‬

‫ﺳﻴﻘﻮم اﻷﻣﺮ اﻟﺘﺎﻟﻲ ﺑﺤﺬف اﻟﻤﺠﻠﺪ ‪ Muslim‬و ﻛﺎﻓﺔ ﻣﻠﻔﺎﺗﻪ و ﻣﺠﻠﺪاﺗﻪ اﻟﻔﺮﻋﻴﺔ‪ ،‬ﻟﻬﺬا ﻻﺑﺪ ﻣﻦ اﻟﺤﺬر ﻋﻨﺪ اﺳﺘﺨﺪام‬
‫ﻫﺬا اﻷﻣﺮ ﺣﻴﺚ ﻻ ﻳﻤﻜﻦ اﻟﺘﺮاﺟﻊ ﻋﻨﻪ و ﻟﻴﺲ ﻫﻨﺎك أي ﺧﻴﺎر ﻻﺳﺘﺮﺟﺎع ﻣﺎ ﺣﺬﻓﺘﻪ ﺑﻮاﺳﻄﺘﻪ‪.‬‬
‫‪-‬أﻣﺮ ال ‪man‬‬
‫وﻇﻴﻔﺔ ﻫﺬا اﻻﻣﺮ اﻧﻪ ﻳﻌﻄﻴﻚ ﻣﻌﻠﻮﻣﺎت ﻋﻦ اي اﻣﺮ‬

‫‪man ls‬‬

‫و ﺷﻮف اﻟﻨﺎﺗﺞ ‪J‬‬

‫‪-‬اﻷﻣﺮ ‪whatis‬‬
‫ﻣﺜﻞ اﻟﻠﻲ ﻓﻮق ﺗﻤﺎم‬

‫‪-‬ﺿﻐﻂ و ارﺷﻔﺔ اﻟﻤﻠﻔﺎت ‪tar ، gzip‬‬


‫ﻫﺬا اﻟﺪرس ﻣﻨﻘﻮل‬

‫ان ﺷﺎء اﷲ ﺳﻨﺘﻌﻠﻢ ﻣﻊ ﺑﻌﺾ ﻛﻴﻔﻴﺔ ﺿﻐﻂ ﻣﻠﻒ و ﻓﻚ اﻟﻀﻐﻂ ﻋﻨﻪ ﺑﻮاﺳﻄﺔ اﻟﻠﻨﻜﺲ و اﻳﻀﺎ ﻛﻴﻔﻴﺔ ارﺷﻔﺔ اﻟﻤﻠﻔﺎت‬
‫ﻣﻊ اﻟﻤﺠﻠﺪات‪.‬‬

‫اﻟﻄﺮﻳﻘﺔ ان ﺷﺎء اﷲ ﺳﻬﻠﺔ ‪ ،‬و اﻻواﻣﺮ ﻫﺬه ﻣﻄﻠﻮﺑﺔ ﺟﺪا و ﺗﻌﺘﺒﺮﻣﻦ اﻻﺳﺘﺨﺪاﻣﺎت اﻟﻴﻮﻣﻴﺔ ﻟﻤﺴﺨﺪﻣﻲ ﻧﻈﺎم ﻟﻨﻜﺲ‪.‬‬

‫ﻛﻠﻨﺎ ﻳﻌﻠﻢ ﻓﻮاﺋﺪ ﺿﻐﻂ اﻟﻤﻠﻔﺎت ﺧﺼﻮﺻﺎ ﻋﻨﺪ ﻧﻘﻠﻬﺎ ﻋﺒﺮ اﻟﻨﺖ ﺑﺎﻻﻳﻤﻴﻞ او ﻋﺒﺮ ﺑﺮاﻣﺞ اﻟﻤﺤﺎدﺛﺔ ﻟﺘﻮﻓﻴﺮ اﻟﻮﻗﺖ و اﻟﻤﺎل‬
‫و اﻳﻀﺎ ﻟﺘﻮﻓﻴﺮ اﻟﻤﺴﺎﺣﺔ ﻋﻠﻰ اﻟﻘﺮص اﻟﺼﻠﺐ او اﻟﻘﺮص اﻟﻤﺮن‪.‬‬

‫‪ (gzip).‬اﺷﻬﺮﻫﺎ ﺗﻘﺮﻳﺒﺎ ﻫﻲ‬ ‫ﻫﻨﺎك ﻃﺮق ﻣﺨﺘﻠﻔﺔ و ادوات ﻣﺨﺘﻠﻔﺔ ﻣﺴﺘﺨﺪﻣﺔ ﻟﻀﻐﻂ اﻟﻤﻠﻔﺎت ﻓﻲ اﻟﻠﻨﻜﺲ و ﻟﻜﻦ‬
‫اداة‬

‫ﻟﻨﻔﺮض اﻧﻨﺎ ﻧﺮﻳﺪ ﺿﻐﻂ ﻣﻠﻒ اﺳﻤﻪ ‪ c4arab‬ﻓﻲ اﻟﻤﺠﻠﺪ اﻟﺤﺎﻟﻲ ‪ ،‬ﺑﻜﻞ ﺑﺴﺎﻃﺔ ﻧﺼﺪر اﻻﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪gzip c4arab‬‬

‫ﻫﻨﺎ ﻳﻜﻮن اﻟﻤﻠﻒ ﻗﺪ ﺿﻐﻂ و ﺳﻴﻜﻮن اﺳﻤﻪ اﻻن ‪:‬‬

‫‪c4arab.gz‬‬

‫ﻫﻨﺎ ﻗﺪ ﺗﻤﻜﻨﺎ ﻣﻦ ﺿﻐﻂ اﻟﻤﻠﻒ ‪ ،‬ﺑﺎﻣﻜﺎﻧﻨﺎ اﻳﻀﺎ ان ﻧﺰﻳﺪ ﻣﻦ ﻗﻮة اﻟﻀﻐﻂ ‪ ،‬ﺑﻜﻞ ﺑﺴﺎﻃﺔ اﺿﺪر اﻻﻣﺔر اﻟﺘﺎﻟﻲ‪:‬‬

‫‪gzip -9 c4arab‬‬

‫ﻫﻨﺎ ﻗﺪ اﺳﺘﺨﺪﻣﻨﺎ اﻗﺼﻰ ﻗﻮة ﻟﻀﻐﻂ اﻟﻤﻠﻒ و اذا وﺿﻌﻨﺎ رﻗﻢ ‪ 1‬ﺑﺪﻻ ﻣﻦ ‪ 9‬ﻓﺴﻴﻜﻮن اﻟﻀﻐﻂ ﺧﻔﻴﻔﺎ ‪ ،‬اﻣﺎ اذا ﻟﻢ ﻧﻀﻊ‬
‫اي رﻗﻢ ﻓﺴﻴﻜﻮن اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﺮﻗﻢ ‪ 6‬اوﺗﻮﻣﺎﺗﻴﻜﻴﺎً‪.‬‬

‫ﻃﺒﻌﺎ ﻻ داﻋﻲ ﻟﻀﻐﻂ اﻟﻤﻠﻒ اﻛﺜﺮ ﻣﻦ ﻣﺮة ‪ ،‬ﺑﻞ ﻧﻀﻐﻄﻪ ﻣﺮة واﺣﺪة‪.‬‬

‫ﻻزاﻟﺔ اﻟﻀﻐﻂ ﻋﻦ اﻟﻤﻠﻒ ﻧﺼﺪر اﻻﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪gunzip c4arab.gz‬‬
‫اﻻرﺷﻔﺔ ‪:‬‬

‫ﻫﻨﺎك ﻣﺮات ﻳﺤﺘﺎج ﻓﻴﻬﺎ اﻟﺸﺨﺺ ﻟﺘﺠﻤﻴﻊ ﻣﺠﻠﺪات و ﻣﻠﻔﺎت ﻓﻲ ﻟﺘﻜﻮن ﻣﻠﻔﺎ واﺣﺪاً‪،‬‬

‫ﻣﺜﻼ ‪ ،‬اذا اراد اﺣﺪﻧﺎ ان ﻳﺮﺳﻞ ﻣﺠﻤﻮﻋﺔ ﻣﻠﻔﺎت و ﻣﺠﻠﺪات ﻋﺒﺮ اﻻﻳﻤﻴﻞ اﻟﻰ ﺻﺪﻳﻖ ﻟﻪ ‪ ،‬ﻣﻦ اﻟﺼﻌﺐ ان ﻳﺮﺳﻠﻬﺎ‬
‫واﺣﺪة ﺗﻠﻮ اﻻﺧﺮى ‪ ،‬اﻻرﺷﻔﺔ ﻫﻲ اﻟﺤﻞ ﻟﻬﺎ ‪ ،‬ﻫﻲ ﻋﺒﺎرة ﻋﻦ ﺗﺠﻤﻴﻊ ﻛﻞ اﻟﻤﻠﻔﺎت و اﻟﻤﺠﻠﺪات ووﺿﻌﻬﺎ ﻛﻤﻠﻒ واﺣﺪ‬
‫ﻣﻦ ﻏﻴﺮ ﺿﻐﻂ‪.‬‬

‫ﻧﺼﺪر اﻻﻣﺮ اﻟﺘﺎﻟﻲ ﻟﻤﺠﻠﺪ ﻣﻌﻴﻦ ﻣﺜﻞ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ﻛﻲ ﻧﺄرﺷﻔﻪ ‪:‬‬

‫‪tar –cvf c4arab.tar c4arab‬‬

‫اﻟﻤﺠﻠﺪ ‪ c4arab‬ﺗﻢ ﺗﺠﻤﻴﻊ ﻛﻞ ﻣﺎﻓﻴﻪ وﺟﻌﻠﻪ ﻛﻤﻠﻒ واﺣﺪ‪ ،‬و ﺗﺴﻤﻴﺘﻪ ب ‪ c4arab.tar‬ﺣﻴﺚ ﻳﻤﻜﻨﻨﺎ ﺗﻐﻴﺮ اﺳﻤﻪ ﺑﻌﺪ‬
‫اﻟﺘﺠﻤﻴﻊ‪ ،‬ﻛﻲ ﻳﺴﻬﻞ اﻟﺘﻌﺎﻣﻞ ﻣﻌﻪ و ﻧﻘﻠﻪ‪ .‬اذا رﻏﺒﺖ ﻓﻲ ﻣﺸﺎﻫﺪة ﻣﺎ ﻳﺤﺘﻮﻳﻪ اﻟﻤﻠﻒ اﻟﻤﺠﻤﻊ ﻣﻦ ﻏﻴﺮ ﻓﻚ اﻟﺘﺠﻤﻴﻊ‬
‫ﻳﻤﻜﻦ ذﻟﻚ ﺑﺎﻻﻣﺮ اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪tar –tvf c4arab.tar‬‬

‫اذا رﻏﺒﺖ ﻓﻲ ﻓﻚ اﻟﺘﺠﻤﻴﻊ ﻓﺎﻻﻣﺮ اﻟﺘﺎﻟﻲ ﻫﻮ اﻟﺤﻞ ‪:‬‬

‫‪tar –xvf c4arab.tar‬‬

‫اﻻن ‪ ،‬ﻓﻲ ﻛﺜﻴﺮ ﻣﻦ اﻻﺣﻴﺎن ﺗﺠﺪ ﻣﻠﻔﺎت ذات اﻣﺘﺪاد ﻣﻀﻐﻮط و ﻣﺠﻤﻊ ﻛﺎﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ‪:‬‬

‫‪c4arab.tar.gz‬‬

‫ﻟﻔﻚ اﻟﻀﻐﻂ و اﻟﺘﺠﻤﻴﻊ ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ ﺑﺎﻣﺮ واﺣﺪ اﺗﺒﻊ اﻟﺘﺎﻟﻲ ‪:‬‬

‫‪gzip –cd c4arab.tar.gz | tar –xvf‬‬

‫ﻫﻨﺎ ﺳﺄﺧﺒﺮﻛﻢ ﺑﻄﺮﻳﻘﺔ ﺗﺴﻬﻞ ﻋﻠﻴﻜﻢ ﻛﺘﺎﺑﺔ اﻻواﻣﺮ اﻟﻄﻮﻳﻠﺔ ‪ ،‬ﻋﻨﺪ ﻛﺘﺎﺑﺔ اﻣﺮ و ﻳﺘﺒﻌﻪ اﺳﻢ ﻣﺠﻠﺪ او ﻣﻠﻒ ﻳﻘﻊ ﻓﻲ‬
‫اﻟﻤﻜﺎن اﻟﺬي اﻧﺖ ﻓﻴﻪ ﺣﺎﻟﻴﺎ ‪ ،‬ﻓﻘﻂ اﺿﻐﻂ ﻋﻠﻰ اﻟﺰر ‪ tab‬اﻟﻤﻮﺟﻮد ﻋﻠﻰ اﻟﻜﻴﺒﻮرد ‪ ،‬و ﻫﻮ ﺳﻴﻜﻤﻞ ﻋﻨﻚ ﻛﺘﺎﺑﺔ اﺳﻢ‬
‫اﻟﻤﺠﻠﺪ او اﻟﻤﻠﻒ ﻃﺒﻌﺎ ﻳﻌﻄﻴﻚ ﺧﻴﺎرات اذا ﻛﺎﻧﺖ اﻟﺤﺮوف ﻣﺘﺸﺎﺑﻬﺔ ‪ ،‬ﺟﺮﺑﻬﺎ و ﺳﺘﺪﻣﻨﻬﺎ‪.‬‬

‫ان ﺷﺎء اﷲ ﻗﺪ اﺳﺘﻔﺪﺗﻮا ﻣﻦ ﻫﺬا اﻟﺪرس ‪ ،‬اﺳﺄل اﷲ ان ﻳﻮﻓﻘﻨﺎ و اﻳﺎﻛﻢ‪ ،‬ادﻋﻮا ﻟﻨﺎ ﺑﺎﻟﺨﻴﺮ‪.‬‬

‫‪-‬أواﻣﺮ اﻟﻠﻴﻨﻜﺲ ‪ -‬اﻹﺗﺼﺎل واﻟﻤﺤﺎدﺛﺔ‬


‫ﻣﻨﻘﻮل‬

‫ﻣﻦ أﻧﺎ؟‬
‫^^^^^^^‬
‫ﻫﻨﺎﻟﻚ أﻣﺮ ﻳﺴﺘﺨﺪم ﻓﻲ ﻧﻈﺎم ﻟﻴﻨﻜﺲ ﻟﻤﻌﺮﻓﺔ اﺳﻢ اﻟﻤﺴﺘﺨﺪم‬
‫ﻛﻞ ﻣﺎ ﻋﻠﻴﻨﺎ ﻛﺘﺎﺑﺘﻪ ﻫﻮ‬
‫‪whoami‬‬
‫ﻣﺘﺼﻠﺔ ﺑﺪون ﻓﺮاﻏﺎت‬
‫ﺛﻢ ﻧﻀﻐﻂ ﻋﻠﻰ ‪enter‬‬
‫وﻣﻦ ﺑﻌﺪﻫﺎ ﺳﻮف ﻳﺨﺒﺮﻧﺎ ﻣﻦ ﻧﺤﻦ اي ‪ user‬اﻟﺬي ﻧﻌﻤﻞ ﻋﻠﻴﻪ‬
‫ﻃﺒﻌﺎ ﻫﺬا ﻳﻜﻮن ﻣﺜﻼ ﻓﻲ ﺣﺎﻟﺔ اﺳﺘﺨﺪام اﻛﺜﺮ ﻣﻦ ‪ user‬وﻧﺴﻴﺎﻧﻚ أﻳﻬﺎ اﻟﻠﺬي ﺗﻌﻤﻞ ﻋﻠﻴﻪ ﻓﻲ اﻟﺸﺎﺷﺔ‬

‫ﻣﻦ ﻳﺴﺘﺨﺪم اﻟﻠﻴﻨﻜﺲ ﺣﺎﻟﻴﺎ ؟‬


‫^^^^^^^^^^^^^^^^^^^^^^^^^‬
‫ﻫﻨﺎﻟﻚ أﻣﺮ ﺗﺴﺘﻄﻴﻊ ﺑﻮاﺳﻄﺘﻪ ﻣﻌﺮﻓﺔ ﻣﻦ ﻳﺴﺘﺨﺪم اﻟﻨﻈﺎم اﻟﺤﺎﻟﻲ ﻣﻌﻚ ﻃﺒﻌﺎ أﻗﺼﺪ إذا ﻛﻨﺘﻢ ﺗﻨﺘﻤﻮن ﻟﻨﻔﺲ اﻟﺴﻴﺮﻓﺮ إن‬
‫ﺻﺢ اﻟﺘﻌﺒﻴﺮ‬

‫اﻷﻣﺮ ﻫﻮ‬
‫‪who‬‬
‫وﺳﻮف ﻳﻌﺮف اﺳﻤﺎء اﻟﻤﺴﺘﺨﺪﻣﻴﻦ اﻟﺤﺎﻟﻴﻴﻦ‬

‫وﻛﺬﻟﻚ اﻷﻣﺮ‬
‫‪finger‬‬
‫وﻫﺬا اﻷﻣﺮ راﺋﻊ ﻻﻧﻪ ﺳﻮف ﻳﻌﺮض اﻳﻀﺎ رﻗﻢ ‪ IP‬ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ ﺣﺎﻟﻴﺎ‬
‫ﺳﺘﺘﻢ ﺷﺮﺣﻪ ﻻﺣﻘﺎ ‪.‬‬

‫ﻫﻞ ﺗﻮﺟﺪ ﺑﺮاﻣﺞ ﺗﺸﺎت ﻓﻲ اﻟﻠﻴﻨﻜﺲ؟‬


‫^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^‬

‫ﺗﺴﺘﻄﻴﻊ ﻋﻨﺪ ﻛﺘﺎﺑﺔ اﻻﻣﺮ اﻟﺘﺎﻟﻲ‬

‫‪talk user1‬‬
‫إﺳﺘﺨﺪام ﺧﺎﺻﻴﺔ اﻟﺘﺨﺎﻃﺐ ﻣﻊ اﻟﻤﺴﺘﺨﺪﻣﻴﻦ اﻵﺧﺮﻳﻦ داﺧﻞ اﻟﺸﺒﻜﺔ‬
‫ﺣﻴﺚ ﺳﻴﺆدي ﻫﺬا اﻷﻣﺮ ﻟﻺﺗﺼﺎل ﻣﻊ اﻟﻤﺴﺘﺨﺪم اﻟﻤﻌﺮف ﺑﺎﻹﺳﻢ ‪ user1‬واﻟﺘﺨﺎﻃﺐ ﻣﻌﻪ‬

‫أﻣﺮ آﺧﺮ ‪:‬‬

‫‪write user1‬‬
‫ﻳﺆدي ﻧﻔﺲ ﻋﻤﻞ اﻷﻣﺮ اﻟﺴﺎﺑﻖ‬

‫ﻫﻞ أﺳﺘﻄﻴﻊ إرﺳﺎل رﺳﺎﺋﻞ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ؟‬


‫^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^‬
‫ﻧﻌﻢ ﻧﺴﺘﻄﻴﻊ وذﻟﻚ ﺑﺎﺳﺘﺨﺪام اﻻﻣﺮ اﻟﺘﺎﻟﻲ‬

‫‪mail user‬‬
‫ﺛﻢ ﻧﺒﺪأ ﻛﺘﺎﺑﺔ اﻟﺮﺳﺎﻟﺔ اﻟﺘﻲ ﺳﻮف ﺗﻮﺟﻪ ﻟﻠﻤﺴﺘﺨﺪم اﻟﻤﻌﺮف ﺑﺎﻹﺳﻢ ‪user‬‬
‫وﻋﻨﺪ اﻻﻧﺘﻬﺎء ﻣﻦ ﻛﺘﺎﺑﺔ اﻟﺮﺳﺎﻟﺔ وﻹرﺳﺎﻟﻬﺎ ﻟﻠﻄﺮف اﻵﺧﺮ ﻧﻀﻐﻂ ﻋﻠﻰ‬
‫‪ctrl +d‬‬

‫وﻟﻜﺸﻒ ﺑﺮﻳﺪك وذﻟﻚ ﻟﻼﻃﻼع ﻋﻠﻰ اﻟﺮﺳﺎﺋﻞ اﻟﻮاردة‬


‫اﻛﺘﺐ ﻓﻘﻂ اﻷﻣﺮ‬
‫‪mail‬‬
‫وﺳﻮف ﺗﻈﻬﺮ ﻟﻚ اﻟﺮﺳﺎﺋﻞ ﻣﺮﻗﻤﺔ‬
‫ﻓﻘﻂ اﻛﺘﺐ رﻗﻢ اﻟﺮﺳﺎﻟﺔ واﺿﻐﻂ ﻋﻠﻰ‬
‫‪enter‬‬
‫ﻋﻨﺪﻫﺎ ﺳﻮف ﺗﺴﺘﻄﻴﻊ ﻗﺮاءة اﻟﺮﺳﺎﻟﺔ‬
‫وﻟﺤﺬف اﻟﺮﺳﺎﻟﺔ ﺑﻌﺪ ﻛﻞ ﻗﺮاءة اﻛﺘﺐ‬
‫‪d‬‬
‫ﺛﻢ ‪enter‬‬
‫وﺳﻴﺆدي ﻫﺬا ﻟﺤﺬف اﻟﺮﺳﺎﻟﺔ‬

‫‪-‬ﺷﺮح أﻣﺮ ‪finger‬‬


‫ﻫﺬا اﻟﺪرس ﻟﻠﻜﺎﺗﺐ ‪LAMeR‬‬

‫اﺗﻤﻨﻰ اﻧﻜﻢ ﺗﺘﻘﺒﻠﻮن ﻣﻨﻲ ﻫﺬا اﻟﺪرس ﻋﻦ ﺑﺮوﺗﻮﻛﻮل ﺧﺪﻣﺔ ‪ Finger‬اﻟﺘﻲ ﺗﻌﻤﻞ ﻋﻠﻰ ﺑﻮرت‪79‬‬

‫ﺑﺴﻢ اﷲ ﻧﺒﺪأ اﻟﺪرس‬

‫ﻓﻬﺮس ﻣﺤﺘﻮﻳﺎت اﻟﺪرس‬


‫>================<‬

‫‪1.1‬ﺗﺒﺮﺋﺔ‬
‫‪1.2‬ﻣﻘﺪﻣﺔ ﻋﻦ‪Finger‬‬
‫‪1.3‬اﺳﺘﺨﺪام‪Finger‬‬
‫‪1.4‬ﺑﻌﺾ اﻟﺨﺪع ﻋﻨﺪ اﺳﺘﺨﺪام ﺧﺪﻣﺔ‪Finger‬‬
‫‪1.5‬اﻷﺳﺘﻌﻼم ﻋﻦ ﻃﺮﻳﻖ ﻣﻮﻗﻊ ﺑﺄﺳﺘﺨﺪام‪Finger‬‬
‫‪1.6‬اﻷﺳﺘﻨﺘﺎج ﻣﻦ ﻫﺬا اﻟﺪرس‬
‫‪1.7‬اﻟﺨﺘﺎم‬

‫‪1.1‬ﺗﺒﺮﺋﺔ‪:‬‬
‫>=========<‬
‫ﻫﺬا اﻟﺪرس ﻓﻘﻂ ﻟﻠﺘﻌﻠﻴﻢ واﻟﺘﻄﺒﻴﻖ ﻋﻠﻰ ﻣﻮاﻗﻊ اﻟﻴﻬﻮد واﻟﻨﺼﺎري اﻟﻀﺎره ﻟﻠﻤﺴﻠﻤﻴﻦ‬
‫ﻓﺎﻟﻜﺎﺗﺐ ﻻ ﻳﺘﺤﻤﻞ اي ﻣﺴﺆوﻟﻴﺔ ﻟﻼﺳﺘﺨﺪام اﻟﺴﻲء ﻟﻬﺬا اﻟﺪرس ﺿﺪ أﺧﻮاﻧﻨﺎ اﻟﻤﺴﻠﻤﻴﻦ‪.‬‬

‫‪1.2‬ﻣﻘﺪﻣﺔ ﻋﻦ‪Finger‬‬
‫>===================<‬
‫إنّ ‪ Finger‬دﻳﻤﻮن ﺧﺪﻣﺔ ﺗﻌﻤﻞ ﻋﻦ ﻃﺮﻳﻖ اﻟﺒﻮرت ‪ 79‬ﻋﺎدة وﻛﺎﻧﺖ‬
‫ﻣﺴﺘﺨﺪﻣﺔ أﺻﻼ ﻛﻨﻮع ‪ businesscard‬رﻗﻤﻲ ﻟﻠﻨﺎس‪.‬‬
‫اﻟﻤﺴﺘﺨﺪم اﻟﺒﻌﻴﺪ ) ‪(remote user‬ﻳﻤﻜﻦ أن ﻳﺮﺳﻞ ﻃﻠﺐ إﻟﻰ ‪ Finger‬دﻳﻤﻮن ﻳﺠﺮي ﻋﻠﻰ ﻧﻈﺎم ﻣﻌﻴﻦ‬
‫(ﺑﻮرت ‪ Finger‬ﻧﻮﻋﻴﺔ ‪ (79‬وﺳﻴﺤﺼﻞ ﻋﻠﻰ إﺟﺎﺑﺔ‪.‬‬

‫ﻫﺬه اﻹﺟﺎﺑﺔ ﺳﺘﺨﺒﺮك ﻣﻦ ﻫﻢ اﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﻋﻠﻰ ﻫﺬا اﻟﻨﻈﺎم و أﻳﻀﺎ‬


‫ﺑﻌﺾ اﻟﻤﻌﻠﻮﻣﺎت ﻋﻦ ﻫﺆﻻء اﻟﻤﺴﺘﺨﺪﻣﻴﻦ اﻟﻤﺘﺼﻠﻴﻦ ﺑﺎﻟﻨﻈﺎم‪.‬‬

‫إﺿﺎﻓﺔ إﻟﻰ ﻫﺬه اﻟﻤﻌﻠﻮﻣﺎت‪ ،‬ﻓﻲ أﻏﻠﺐ اﻷﺣﻴﺎن اﻹﺟﺎﺑﺔ ﺗﺨﺒﺮك أﻳﻀﺎ ﻣﻦ اﻟﺬي ﻳﺪﻳﺮ اﻟﻨﻈﺎم )‪(admin‬وﻛﻴﻒ ﻗﺎم‬
‫ﺑﺎﻹﺗﺼﺎل‪.‬‬
‫ﻗﺪﻳﻤﺎ اﺳﺘﺨﺪم اﻟﻨﺎس اﻷﺗﺼﺎل ﻋﻠﻰ ﺟﻤﻴﻊ اﻧﻮاع اﻷﻧﻈﻤﺔ ﻓﻲ اﻟﻌﺎﻟﻢ وﻃﻠﺐ اﻷﺳﺘﻌﻼم ﻋﻦ ﻫﺬه اﻷﻧﻈﻤﺔ و اﻟـ ‪Finger‬‬
‫ﻛﺎن ﻳﻌﻄﻴﻬﻢ ﻣﻌﻠﻮﻣﺎت ﻋﻦ‬
‫ﻣﻦ ﻫﻢ اﻟﻤﻮﺟﻮدون ﻓﻲ اﻟﻨﻈﺎم وﻫﻞ ﻟﻬﻢ ﺣﺴﺎﺑﺎت ﻓﻲ ﻫﺬا اﻟﻨﻈﺎم‪.‬وﻛﺎن ‪Finger‬ﻳﺴﺘﺨﺪم ﻗﺪﻳﻤﺎ ﻓﻲ‬
‫اﻟﺠﺎﻣﻌﺎت و اﻟﺸﺮﻛﺎت اﻟﻜﺒﻴﺮة أﻳﻀﺎ‪.‬‬

‫ﻓﻲ اﻟﻤﺎﺿﻲ ‪ ،‬اﻟـ ‪ Finger‬إﺳﺘﻌﻤﻞ ﻋﺎﻣﺔ ﻋﻦ ﻃﺮﻳﻖ اﻟﻄﻼب ﻓﻲ اﻟﺠﺎﻣﻌﺎت‬


‫اذا ارادوا ﻣﻌﻠﻮﻣﺎت ﺗﺨﺺ ﻃﻼب اﺧﺮﻳﻦ ﻓﻲ ﻧﻔﺲ اﻟﺠﺎﻣﻌﻪ‬
‫وﻛﺜﻴﺮا ﻣﺎ ﺗﻜﻮن اﻷﺟﺎﺑﺔ )اﺟﺎﺑﺔ ) ‪ Finger Deamon‬ﺑﺠﻤﻠﺔ " !‪ " Finger me‬اي "أﻋﻠﻤﻨﻲ" !‬
‫أﻣﺎ اﻵن وﻣﻊ وﺟﻮد ﺷﺒﻜﺔ اﻹﻧﺘﺮﻧﺖ اﻟﻌﺎﻟﻤﻴﺔ اﺻﺒﺢ‪Finger‬‬
‫أﻗﻞ ﺷﻬﺮة ‪ ،‬ﻷﻧﻪ ﺗﻮﺟﺪ اﻵن‬
‫ﻣﻮاﻗﻊ اﻟﻮﻳﺐ ﻟﻠﻌﻤﻞ ﻛﺒﻄﺎﻗﺔ ﻋﻤﻞ )‪(bisinesscard‬رﻗﻤﻴﺔ ﺧﺎﺻﺔ ﺑﻤﺴﺘﺨﺪﻣﻴﻦ اﻷﻧﺘﺮﻧﺖ وﺑﺴﺒﺐ ﻣﻼﺣﻈﺔ اﻟﻨﺎس‬
‫اﻟﺘﻬﺪﻳﺪ اﻟﻮاﺳﻊ ﻟﻸﻣﻦ اﻷﻟﻜﺘﺮوﻧﻲ ﻗﻞّ اﺳﺘﺨﺪام ﺧﺪﻣﺔ‪Finger Deamon‬‬

‫ﻋﻠﻰ أﻳﺔ ﺣﺎل‪،‬‬


‫ﻟﻴﺲ ﻛﻞ اﻷﻧﻈﻤﺔ ﻣﻨﻌﺖ ﻫﺬه اﻟﺨﺪﻣﺔ وﺳﺘﺠﺪ ﺑﻌﺾ اﻟﻤﻮاﻗﻊ ) اﻷﻧﻈﻤﺔ( ﺗﻘﺪم ﻫﺬه اﻟﺨﺪﻣﺔ ‪.‬‬
‫وﻫﺬه اﻷﻳﺎم ﻳﻘﻮم اﻟﻬﻜﺮز ﺑﻤﺤﺎوﻻت اﺧﺘﺮاق اﻷﻧﻈﻤﺔ ﺑﺄﺳﺘﺨﺪام ﺑﺮاﻣﺞ‬
‫‪portscans‬ﻟﻠﺒﺤﺚ ﻋﻦ اﻟﺒﻮرﺗﺎت اﻟﻤﻔﺘﻮﺣﺔ‪ . . .‬ﺑﺪون أيّ أﺳﺎس ﻋﻠﻤﻲ‪.‬‬
‫ﻟﺬﻟﻚ إنّ ‪ Finger‬دﻳﻤﻮن‪ ،‬ﻣﺜﺎل ﻋﻈﻴﻢ ﻟﺨﺪﻣﺔ‬
‫ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﻬﺎ ﻗﺎﻧﻮﻧﻴﺎ ﻟﺘﺰودك ﺑﻜﻤﻴﺔ ﺿﺨﻤﺔ ﻣﻦ اﻟﻤﻌﻠﻮﻣﺎت اﻟﺤﺴّﺎﺳﺔ‬
‫ﺣﻮل ﻫﺪف‪.‬‬
‫ﻟﻬﺬا ﺳﻮف أﺣﺎول ان اﺷﺮح ﻓﻲ ﻫﺬا اﻟﺪرس ﺑﻠﻐﺔ ﻣﻔﻬﻮﻣﺔ‬
‫ﻣﺎ ﻫﻮ ‪ Finger‬دﻳﻤﻮن وﻣﺎذا ﻳﻔﻌﻞ وﻛﻴﻒ ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﻪ ﻓﻲ ﻣﺼﻠﺤﺘﻚ‬

‫اﻟﺨﻼﺻﺔ اﻟﻤﻘﺪﻣﺔ‪ :‬ان ﺧﺪﻣﺔ ‪ Finger‬ﻛﺎﻧﺖ ﻗﺪﻳﻤﺎ وﻻزاﻟﺖ ﺗﺴﺘﺨﺪم ﻟﺠﻠﺐ اﻟﻤﻌﻠﻮﻣﺎت ﻋﻦ‬
‫اﻟﻤﺴﺘﺨﺪﻣﻴﻦ اﻟﻤﻮﺟﻮدﻳﻦ ﻓﻲ اﻟﻨﻈﺎم و ﻫﻞ ﻟﺪﻳﻬﻢ ﺣﺴﺎﺑﺎت ﻓﻲ ﻫﺬا اﻟﻨﻈﺎم ام ﻻ‪.‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬اﻟﻨﻈﺎم ) ‪( server‬ﻫﻮ ﺟﻬﺎز ﻛﻤﺒﻴﻮﺗﺮ ﺗﺨﺰن ﻓﻴﻪ ﻣﻌﻠﻮﻣﺎت ﻫﺎﺋﻠﺔ وﻳﺴﺘﺨﺪم ﻓﻲ اﺳﺘﻀﺎﻓﺔ اﻟﻤﻮاﻗﻊ‬

‫‪1.3‬اﺳﺘﺨﺪام‪Finger‬‬
‫>=================<‬

‫ﻋﻨﺪ اﺳﺘﺨﺪام اي ﻣﻦ ﺑﺮاﻣﺞ اﻟﺴﻜﺎن اﻟﻤﻌﺮوﻓﺔ ﻣﺜﻞ ) ‪ (superscan‬ﻟﻠﺒﺤﺚ‬


‫ﻓﻲ ﻣﻮﻗﻊ ﻣﻌﻴﻦ )ﻣﺜﻼ ‪ ) http://www .foobar.com/‬ووﺟﺪت ﺑﻪ ﻣﻨﻔﺬ ‪ (Port‬ﺑﻮرت( ‪ 79‬ﻣﻔﺘﻮﺣﺎ‬
‫ﻫﺬا ﻳﻌﻨﻲ ان ‪http://www .foobar.com/‬‬
‫ﻟﻪ ‪ Finger‬دﻳﻤﻮن ﻳﻌﻤﻞ‪.‬‬
‫اﻵن ﻛﻴﻒ ﻧﻘﻮم ﺑـ )‪(request‬ﻃﻠﺐ اﺳﺘﻌﻼم؟‬
‫ﻋﻦ ﻃﺮﻳﻖ وﻧﺪوز‬
‫ﻓﻲ أﻏﻠﺐ اﻷﺣﻴﺎن وﻧﺪوز ﻻ ﻳﻮﺟﺪﺑﻪ زﺑﻮن )‪ (client‬ﺧﺎص ﻟﻠـ ‪ Finger‬ﻣﺮﻛﺐ ) ‪( installed‬‬

‫ﻟﺬﻟﻚ ﺳﻮف ﻧﺴﺘﺨﺪم ‪ Telnet‬ﻛﺨﺎدم ﻟـ ‪Finger‬‬

‫‪--‬ﺗﻮﺿﻴﺢ‪--‬‬
‫‪Telnet(client) --------request-------> Finger Deamon(in Server) o‬‬

‫ﻋﻦ ﻃﺮﻳﻖ ﻛﺘﺎﺑﺔ اﻟﺴﻄﺮ اﻵﺗﻲ ﻓﻲ ﻣﻮﺟﺔ اﻟﺪوس‪(MS DOS ) :‬‬

‫‪79http://www .foobar.com/telnet‬‬

‫ﺑﻌﺪ ذﻟﻚ ﺳﻴﻈﻬﺮ ﻟﻚ ﺑﺮﻧﺎﻣﺞ ‪ telnet‬و ﻣﻨﻪ ﺗﻄﺒﻊ اﻷواﻣﺮ ‪.‬‬

‫اﻣﺎ ﻣﻦ ﻳﻮﻧﻴﻜﺲ‬
‫ﻟﺴﻨﺎ ﺑﺤﺎﺟﺔ إﻟﻰ أن ﻧﺴﺘﻌﻤﻞ ﺗﻴﻠﻨﺖ ﻷﻧﻪ ﻳﻮﺟﺪ ﺑﻨﻈﺎم ﻟﻴﻨﻮﻛﺲ زﺑﻮن)‪(client‬ﺧﺎص ﺑﺨﺪﻣﺔ ‪Finger Deamon‬‬
‫ﻣﺮﻛّﺐ ﻋﻠﻰ اﻟﻨﻈﺎم ﺑﺸﻜﻞ داﺋﻢ ﺗﻘﺮﻳﺒﺎ‪.‬‬

‫ﻣﻼﺣﻈﺔ ‪ :::‬ﺳﻴﻜﻮن اﻟﺸﺮح اﻟﺘﺎﻟﻲ ﺣﺘﻰ ﻧﻬﺎﻳﺔ اﻟﺪرس ﻟﻤﺴﺘﺨﺪﻣﻲ ﻟﻴﻨﻮﻛﺲ أﻣﺎ أذا ﻗﺮرت اﻷﺳﺘﻤﺮار ﺑﺄﺳﺘﺨﺪام‬
‫وﻧﺪوز ﺳﺘﻜﻮن ﻛﺘﺎﺑﺔ اﻷواﻣﺮ ﻓﻲ ﻣﻮﺟﻪ اﻟﺪوس ﺛﻢ ﻓﻲ اﻟﺘﻠﻨﺖ وﺳﺘﻜﻮن ﻛﺘﺎﺑﺔ اﻷواﻣﺮ ﻧﻔﺴﻬﺎ اﻷواﻣﺮ اﻟﺘﻲ‬
‫ﺗﻨﻜﺘﺐ ﺑﺄﺳﺘﺨﺪام ﻧﻈﺎم ﻟﻴﻨﻮﻛﺲ وﻟﻜﻦ ﺑﺪل "@" ﻧﻀﻊ "ﻣﺴﺎﻓﺔ ﺛﻢ "‪ www‬ﻓﻲ اﻟﻮﻧﺪوز ﻣﺮاﻋﻴﺎ اﺳﻢ اﻟﻤﻮﻗﻊ‬
‫ﻣﺜﻼ ﻳﻜﻮن ﻛﺘﺎﺑﺔ اﻷواﻣﺮ ﻓﻲ ﻟﻴﻨﻮﻛﺲ ﻫﻜﺬا ‪:‬‬
‫‪finger@anyname.com‬‬
‫وﻟﻜﻦ ﻓﻲ وﻧﺪوز ﺳﻴﻜﻮن ﻫﻜﺬا ‪:‬‬
‫‪http://www .anyname.com/finger‬‬
‫ﻻﺣﻆ اﻟﻤﺴﺎﻓﺔ ﺑﻴﻦ ‪ finger‬و ‪www‬‬

‫اﻃﺒﻊ ﻓﻲ ﻣﺤﺚ اﻷواﻣﺮ ﻓﻲ ﻳﻮﻧﻜﺲ ) ﻋﻠﻰ اﻓﺘﺮاض اﻧﻚ ﺗﺴﺘﺨﺪم‪unix shell ) :‬‬

‫‪finger@foobar.com‬‬
‫ﻻﺣﻆ ان اﻟﻬﺪف )اﻟﻤﻮﻗﻊ اﻟﻤﺮاداﻷﺳﺘﻌﻼم ﻋﻨﻪ ﻣﺜﻼ ﻣﻌﺮﻓﺔ ﻣﻦ ﻫﻢ ﻣﺴﺘﺨﺪﻣﻴﻨﻪ ( ﻫﻨﺎ ﻫﻮ‬
‫‪ http://www .foobar.com/‬ﻛﻤﺜﺎل‬

‫ﻓﺴﺘﻈﻬﺮاﻟﻨﺘﺎﺋﺞ‪:‬‬

‫‪Login: Name: Tty: Idle: When: Where:‬‬

‫‪root foobar sys console 17d Tue 10:13 node0ls3.foobar.com‬‬


‫>‪Amos Amanda <.......> <.......> <.......‬‬
‫‪Anderson Kenneth‬‬
‫‪Bright Adrian‬‬
‫‪Doe John‬‬
‫>‪Johnson Peter <.......> <.......> <.......‬‬
‫‪Mitnick Kevin‬‬
‫‪Munson Greg‬‬
‫‪Orwell Dennis‬‬
‫اﻵن ﻣﺎذا ﺗﻌﻨﻲ ﻫﺬه اﻟﻨﺘﺎﺋﺞ؟‬
‫ﻓﻲ اﻟﻌﻤﻮد اﻷول) ‪ ( login‬ﻧﺮى أﺳﻤﺎء اﻟﻤﺴﺘﻌﻤﻠﻴﻦ وﻓﻲ اﻟﺜﺎﻧﻲ" )‪ (Name‬اﻷﺳﻤﺎء اﻟﺤﻘﻴﻘﻴﺔ"‪،‬‬
‫اﻟﺘﻲ ﺑﺎﻟﻄﺒﻊ ﻟﻴﺴﺖ ﺣﻘﻴﻘﻴﺔ‪ ،‬ﻟﻜﻦ ﻓﻲ ﻣﻌﻈﻢ اﻟﻮﻗﺖ ﺣﻘﻴﻘﺔ‪.‬‬

‫ﻳﺮﻳﻨﺎ اﻟﻌﻤﻮد اﻟﺜﺎﻟﺚ)‪ (Tty‬اﻟﻨﻮع اﻟﻄﺮﻓﻲ ‪the terminal type‬‬


‫واﻟﺮاﺑﻊ )‪ (Idle‬ﻓﺘﺮة اﻟﺘﻮﻗﻒ‪the idle time.‬‬
‫وﺑﻌﺪ ذﻟﻚ ﻓﻲ اﻟﻌﻤﻮدﻳﻦ اﻟﺨﺎﻣﺲ واﻟﺴﺎدس‬
‫اﻟﻮﻗﺖ واﻟﻤﻜﺎن اﻟﺬي اﺳﺘﺨﺪم ﻓﻴﻪ اﻟﺤﺴﺎب ﻟﻸﺗﺼﺎل ﺑﺎﻟﻨﻈﺎم‪.‬‬
‫أﺣﻴﺎﻧﺎ ﺗﻮﺟﺪ أﻋﻤﺪة ﺑﻌﻨﻮاوﻳﻦ اﻷﻳﻤﻴﻼت وأرﻗﺎم ﻫﻮاﺗﻒ ‪..‬اﻟﺦ اﻟﺨﺎﺻﺔ ﺑﻤﺴﺘﺨﺪﻣﻴﻦ ﻫﺬا اﻟﻨﻈﺎم‬

‫إذا ﻛﻨﺖ ﺗﺮﻳﺪ اﻟﻤﺰﻳﺪ ﻣﻦ اﻟﻤﻌﻠﻮﻣﺎت ﻋﻦ ﻣﺴﺘﺨﺪم ﻣﻌﻴّﻦ ‪ (Johnson Peter‬ﺑﻴﺘﺮ ﺟﻮﻧﺴﻦ‬
‫ﻋﻠﻰ ﺳﺒﻴﻞ اﻟﻤﺜﺎل( أدﺧﻞ اﻷﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪johnson@foobar.comfinger‬‬

‫‪1.4‬ﺑﻌﺾ اﻟﺨﺪع ﻋﻨﺪ اﺳﺘﺨﺪام ﺧﺪﻣﺔ‪Finger‬‬


‫========================= <‬
‫>===========‬

‫أﺗﻤﻨّﻰ اﻵن ﺷﺎﻫﺪت ﻣﺎ اﻟﻀﻌﻒ اﻟﺮﺋﻴﺴﻲ ﻟﺨﺪﻣﺔ‪Finger.‬‬


‫‪Finger deamon‬ﻳﺮﻳﻚ ﻣﺎﻫﻲ اﻟﺤﺴﺎﺑﺎت اﻟﻤﻮﺟﻮده ﻋﻠﻰ اﻟﻨﻈﺎم‪.‬‬
‫ﻫﺬا ﻳﻌﻨﻲ أﻧﻚ ﺗﻜﺴﺐ )ﻋﻦ ﻃﺮﻳﻖ ﻗﺎﻧﻮﻧﻲ ( ‪ % 50‬ﻣﻦ اﻟﻤﺠﻤﻮﻋﺔ اﻟﺴﺤﺮﻳﺔ وﻫﻲ‬
‫ﻛﻠﻤﺎت اﻟﺴﺮ‪/‬ﻣﺠﻤﻮﻋﺔ أﺳﻤﺎء اﻟﻤﺴﺘﺨﺪﻣﻴﻦ اﻟﺘﻲ ﺳﺘﻤﻨﺤﻚ اﻟﺪﺧﻮل)‪ (Access‬إﻟﻰ ﻧﻈﺎم ‪.‬‬
‫إذا ﻋﺮﻓﺖ أﺳﻤﺎء اﻟﻤﺴﺘﺨﺪﻣﻴﻦ‪ ،‬ﺳﺘﻜﻮن اﻟﺨﻄﻮة اﻟﻘﺎدﻣﺔ ﻣﺘﻮﻗﻔﻪ ﻋﻠﻰ ﺑﺮﻧﺎﻣﺞ ‪ bruteforce‬أو‬
‫ﺑﻤﻌﻨﻰ آﺧﺮ ﺑﺮاﻣﺞ ﺗﺨﻤﻴﻦ اﻟﺒﺎﺳﻮورد ‪worldist password cracker‬‬

‫ﻫﻨﺎك ﺳﻜﺮﺑﺘﺎت ﺧﺎﺻّﺔ ﻛﺘﺒﺖ ﻟﻠﺘﻴﻠﻨﺖ ﻋﻠﻰ ﺳﺒﻴﻞ اﻟﻤﺜﺎل‬


‫اذﻫﺐ ﻟﻤﻮﻗﻊ ‪ http://www .thehackerschoice.com/‬أو اﺑﺤﺚ ﻋﻦ‬
‫‪VLAD's pwscan.pl‬‬

‫ﻟﺬﻟﻚ ﻳﺠﺐ ﻋﻠﻴﻚ ان ﺗﻜﻮن ﻗﺎﺋﻤﺔ ﺑﻜﻠﻤﺎت اﻟﺴﺮ ﻓﻲ ﻣﻠﻒ ﻧﺼﻲ ‪ (word‬او اﻟﻤﻔﻜﺮه )‬
‫وﺣﺎول ان ﺗﻜﻮن ﻛﻠﻤﺎت اﻟﺴﺮﻗﺮﻳﺒﺔ ﻣﻦ أﺳﻤﺎء اﻟﻤﺴﺘﺨﺪﻣﻴﻦ وإذا ﻟﻢ ﺗﻌﻤﻞ اﻟﻘﺎﺋﻤﺔ‬
‫اﺳﺘﺨﺪم ﺑﺮﻧﺎﻣﺞ‪ bruteforce -‬أﻧﺼﺤﻚ ﺑﻬﺬا اﻟﻮﻗﺖ ان ﺗﺤﻈﺮ ﻟﻚ ﻛﺄس ﺷﺎﻫﻲ وﺗﺄﺧﺬ ﻟﻚ اﺳﺘﺮاﺣﺔ‬
‫وﺗﺠﻌﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻳﻌﻤﻞ ﻋﻤﻠﻪ‪-‬‬
‫ﺑﺎﻟﻄﺒﻊ ﻧﺠﺪ ﺑﻌﺾ اﻟﺤﺴﺎﺑﺎت ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ ﻟﻠﻨﻈﺎم اﻛﺜﺮ اﻫﻤﻴﺔ ﻣﻦ ﻏﻴﺮﻫﺎ ﻣﻦ اﻟﺤﺴﺎﺑﺎت‪.‬‬
‫وﺧﺎﺻﺔ ﺣﺴﺎب اﻹدارة )‪ (Admin‬أو اﻟﺠﺬر )‪(root‬ﺑﺴﺒﺐ اﻧﻪ ﻋﻨﺪﻣﺎ ﺗﻌﺮف اﻟﺒﺎﺳﻮورد اﻟﺨﺎص ﺑﻬﻢ‬
‫وﻗﺘﻬﺎ ﺗﺴﺘﻄﻴﻊ اﻟﺘﺤﻜﻢ ﺑﺎﻟﻤﻮﻗﻊ ‪ .‬وﺑﺎﻟﻄﺒﻊ ﺑﻌﺾ اﻟﺤﺴﺎﺑﺎت ﺳﻬﻠﺔ ﺗﺨﻤﻴﻦ ﻛﻠﻤﺔ اﻟﺴﺮ‪.‬‬
‫ﻫﻨﺎك ﺑﻌﺾ اﻟﺨﺪع ﻟﻤﻌﺮﻓﺔ ﻫﺬا اﻟﻨﻮع ﻣﻦ اﻟﺤﺴﺎﺑﺎت‪ .‬ﻋﻠﻰ ﺳﺒﻴﻞ اﻟﻤﺜﺎل‬
‫إﻃﺒﻊ اﻷﻣﺮ‪:‬‬

‫‪secret@foobar.comfinger‬‬
‫ﻋﻨﺪﻣﺎ ﺗﺮﺳﻞ ﻫﺬا اﻷﻣﺮ اﻟﻲ ‪ Finger Deamon‬ﺳﻴﻌﻄﻴﻚ ﺟﻤﻴﻊ اﻟﺤﺴﺎﺑﺎت‬
‫اﻟﺘﻲ ﺗﺤﺘﻮي ﻋﻠﻰ ﻛﻠﻤﺔ "‪ "secret‬أﻣّﺎ ﻓﻲ اﺳﻢ اﻟﻤﺴﺘﻌﻤﻞ أو اﻹﺳﻢ اﻟﺤﻘﻴﻘﻲ‪.‬‬
‫اذا‪ ،‬ﻣﺎﻫﻮ اﻟﺸﻲ اﻟﻤﻬﻢ ﻓﻲ ﻫﺬا؟ ﺣﺴﻨﺎ أﻧﺖ ﻳﻤﻜﻨﻚ أن ﺗﺴﺘﻌﻤﻞ "‪ "test‬أو "‪ "temp‬أو "‪"0000‬‬
‫ﺑﺪﻻ ﻣﻦ "‪ "secret‬وﻛﻤﺎ ﺗﻌﺮف ﻣﻦ اﻟﻤﺤﺘﻤﻞ ان ﻳﻜﻮن ﻫﺬااﻟﻨﻮع ﻣﻦ اﻟﺤﺴﺎﺑﺎت‬
‫ﺳﻬﻞ ﻣﻌﺮﻓﺔ ﺑﺎﺳﻮورداﺗﻪ ﻓﻲ أﻏﻠﺐ اﻷﺣﻴﺎن‪.‬‬

‫‪finger .@foobar.com‬‬

‫‪0@foobar.comfinger‬‬

‫ﺟﺮب ﻫﺬه اﻷواﻣﺮ وﺷﺎﻫﺪ ﻣﺎ ﻳﺤﺪث!‬


‫ﺣﺎول اﻟﺘﻌﺮف ﻋﻠﻰ‪ ، Finger Deamon‬أﻗﺮأ ‪RFC‬وأوﺟﺪ ﺧﺪﻋﻚ ﺑﻨﻔﺴﻚ!‬

‫‪1.5‬اﻷﺳﺘﻌﻼم ﻋﻦ ﻃﺮﻳﻖ ﻣﻮﻗﻊ ﺑﺄﺳﺘﺨﺪام‪Finger‬‬


‫========================= <‬
‫>=============‬

‫إذا أردت ان اﺳﺘﺨﺪم ﺧﺪﻣﺔ( ‪ Finger‬ﻣﻌﻨﻰ ‪ Finger‬ﻛﻔﻌﻞ "أﻟﻤﺲ" وﻟﻜﻨﻬﺎ ﺗﺄﺗﻲ ﻫﻨﺎ ﺑﻤﻌﻨﻰ "اﺳﺘﻌﻠﻢ)"‬
‫واﻷﺳﺘﻌﻼم ﻋﻦ ﻣﻮﻗﻊ ﻣﻌﻴﻦ ﻣﺜﻞ ﻫﺬا"‪"www.victim.com‬‬
‫وأﻳﻀﺎ ﺗﻌﺮف أن ﻣﻮﻗﻊ آﺧﺮ "‪ "www.host.com‬ﻳﻘﺪم ﺧﺪﻣﺔ ‪ Finger‬ﺗﻌﻤﻞ‪،‬‬
‫ﻋﻨﺪﻫﺎ ﻳﻤﻜﻨﻨﻲ ان أﻗﺪم ﻃﻠﺒﺎ ﻣﺜﻞ ﻫﺬا ‪):‬اﻛﺘﺐ ﻓﻲ ﻣﺤﺚ اﻷواﻣﺮ ﻣﺜﻞ ﻫﺬا)‬

‫‪@victim.comfinger@host .com‬‬

‫‪Host.com‬ﻳﺴﺘﻌﻠﻢ )‪ (Finger‬اﻵن ‪ victim.com‬وﻳﺮﻳﻚ اﻟﻨﺘﺎﺋﺞ ‪.‬‬


‫أﺣﺪاﻟﻔﻮاﺋﺪ ﻣﻦ ﻫﺬه اﻟﻄﺮﻳﻘﺔ اﻧﻚ ﺳﺘﻜﻮن ﻣﺠﻬﻮل ﻟﺪى‪victim.com‬‬
‫ﻓﻌﻨﺪﻣﺎ ﺗﻘﻮم ‪http://www .victim.com/‬‬
‫ﺑﻄﻠﺐ ﺳﺠﻞ )اﻟﺪﺧﻮل )‪log‬ﺳﺘﺸﺎﻫﺪ ‪ http://www .host.com/‬ﻓﻲ ﺳﺠﻼﺗﻬﻢ‪ ،‬ﺑﺪﻻ ﻣﻨﻚ‪.‬‬
‫ﻓﺎﺋﺪة اﺧﺮى وﻫﻲ أﻧﻚ ﻳﻤﻜﻦ ان ﺗﺘﺮك( ‪ Host‬ﻣﻮﻗﻊ( ﻳﻘﻮم ) ﻋﻦ ﻃﺮﻳﻖ ﺧﺪﻣﺔ) ‪ Finger‬ﺑﺎﻷﺳﺘﻌﻼم ﻋﻦ ﺣﺎﺳﻮﺑﺎ‬
‫آﺧﺮا ﻋﻠﻰ ﻧﻔﺲ اﻟﺸﺒﻜﺔ ‪ ،‬ﺑﻴﻨﻤﺎ اذا ﻃﻠﺒﺖ اﻧﺖ ﻫﺬا اﻷﺳﺘﻌﻼم ﺑﺄﺳﺘﺨﺪام ﺧﺪﻣﺔ ‪ Finger‬ﻣﻦ ﺟﻬﺎزك‬
‫ﻟﻦ ﺗﻜﻮن ﻣﺴﻤﻮﺣﺔ ﻟﻚ ﻷﻧﻚ ﺳﺄﻛﻮن ﻏﻴﺮ ﻣﻮﺛﻮق ﺑﻪ ﻟﺪى اﻟﻤﺴﺘﻌﻠﻢ ﻋﻨﻪ‬
‫ﺑﻌﻜﺲ اذا ﻛﺎن اﻟﻄﻠﺐ ﻟﻸﺳﺘﻌﻼم ﺑﺎﺳﺘﺨﺪام ‪ Finger‬ﻋﻦ ﻃﺮﻳﻖ ﻣﻮﻗﻊ‪.‬‬

‫ﻳﻌﻨﻲ اﻟﺨﻼﺻﺔ ‪ :‬ان اﻟﻤﻮﻗﻊ اﻟﺬي ﺗﺮﻳﺪ اﻷﺳﺘﻌﻼم ﻋﻨﻪ ﻳﻌﺘﺒﺮ ﺣﺎﺳﻮﺑﻚ اﻟﺸﺨﺼﻲ ﻏﻴﺮ ﻣﻮﺛﻮق ﺑﻪ ﺑﻌﻜﺲ‬
‫اذا ﻛﺎن اﻷﺳﺘﻌﻼم ﻋﻦ ﻃﺮﻳﻖ ﻣﻮﻗﻊ اﺧﺮ ﻳﺸﺎﺑﻬﻪ ﻓﺴﻮف ﻳﺴﻤﺢ ﻟﻪ ‪!.‬‬

‫‪1.6‬اﻷﺳﺘﻨﺘﺎج ﻣﻦ ﻫﺬا اﻟﺪرس‬


‫>=======================<‬

‫‪Finger Deamon‬ﻳﻤﻜﻦ أن ﻳﻜﻮن ﻣﺼﺪر ﻣﻌﻠﻮﻣﺎت ﺿﺨﻢ ﻷي واﺣﺪ ﻳﺤﺎول‬


‫ﻛﺴﺐ اﻟﺪﺧﻮل ) ‪( access‬إﻟﻰ ﻧﻈﺎم‪.‬‬
‫‪Finger deamon‬ﻗﺎﻧﻮﻧﻴﺎ ﻳﺰوّدك ﺑﻨﺼﻒ ﻛﻠﻤﺎت اﻟﺴﺮ واﺳﻤﺎء اﻟﻤﺴﺘﺨﺪﻣﻴﻦ‬
‫اﻟﺘﻲ ﺗﺤﺘﺎﺟﻬﺎ ﻟﻜﺴﺐ اﻟﺪﺧﻮل‪access.‬‬
‫ﻫﻨﺎك ﺑﻀﻌﺔ ﺧﺪع ﻟﻄﻴﻔﺔ ﺗﻤﻜﻨﻚ ﻣﻦ ﻣﻌﺮﻓﺔ ﺣﺴﺎﺑﺎت ﺧﺎﺻﺔ ﺗﺒﺤﺚ ﻋﻨﻬﺎ‬
‫ﻣﻦ ﻣﻌﺮﻓﺘﻚ ﻟﻬﺬه اﻟﺤﺴﺎﺑﺎت ﺗﺴﺘﻄﻴﻊ ﻛﺴﺮ اﻟﺒﺎﺳﻮوردات ‪ ،‬ﺑﺈﺳﺘﻌﻤﺎل ﺗﻘﻨﻴﺔ ‪ wordlist‬أو‪bruteforce.‬‬
‫ﺗﺬﻛّﺮ ﻓﻮاﺋﺪ "اﻷﺳﺘﻌﻼم ﻋﻦ ﻃﺮﻳﻖ ﻣﻮﻗﻊ"أﻳﻀﺎ ﺑﺄﺳﺘﻌﻤﺎل‪Finger deamon‬‬

‫‪1.7‬اﻟﺨﺘﺎم‬
‫>=========<‬

‫اﺗﻤﻨﻰ اﻷﺳﺘﻔﺎدة ﻟﻤﻦ ﻗﺮأ ﻫﺬا اﻟﺪرس‬


‫واﻧﺸﺎﷲ ﻣﺎ أﻛﻮن ﻃﻮﻟﺖ ﻋﻠﻴﻜﻢ ﻓﻲ اﻟﺸﺮح‬
‫وﺗﺮا ﺣﻘﻮق اﻟﻨﺸﺮ ﻟﻜﻞ ﻣﺴﻠﻢ‬

‫واﻟﻠﻲ ﻋﻨﺪه اﺿﺎﻓﺔ ﻳﺎﻟﻴﺖ ﻣﺎ ﻳﺒﺨﻞ ﻋﻠﻴﻨﺎ واذا ﻓﻴﻪ اﺧﻄﺎء أﻋﺬروﻧﺎ واﷲ اﷲ ﺑﺎﻟﺘﺼﺤﻴﺢ‬

‫ﺗﻘﺒﻠﻮا ﺗﺤﻴﺎﺗﻲ أﺧﻮﻛﻢ‪LAMeR‬‬

‫‪-‬أﻣﺮ ﻋﺪ اﻟﺴﻄﻮر ‪wc‬‬


‫ﻣﻨﻘﻮل‬

‫ﻫﻨﺎ ﺳﻨﺘﻌﻠﻢ اﻣﺮ ﻣﻔﻴﺪ ﻋﻨﺪ اﺳﺘﺨﺪاﻣﻨﺎ ﻟﻠﻨﻜﺲ و ﻫﻮ اﻣﺮ ﻋﺪ او ﺣﺴﺎب اﻟﺴﻄﻮر‬

‫ﻋﺪ اﻟﺴﻄﻮر ‪: wc‬‬

‫ﻫﺬا اﻻﻣﺮ ﻣﺘﺨﺼﺺ ﻓﻲ ﻋﺪ اﻟﺨﻄﻮط اﻟﺬي ﻳﺤﺘﻮﻳﻬﺎ ﻣﻠﻒ اﻟﻨﺺ ﻣﻦ ﻏﻴﺮ اﻟﺪﺧﻮل اﻟﻴﻪ ‪ ،‬و ﻛﺬﻟﻚ ﻣﻦ ﺧﻼﻟﻪ ﺗﺴﺘﻄﻴﻊ‬
‫ﻣﻌﺮﻓﺔ ﻋﺪد اﻟﺤﺮوف و اﻟﻜﻠﻤﺎت‪ .‬ﺑﻜﻞ ﺑﺴﺎﻃﺔ اﻛﺘﺐ اﻻﻣﺮ ﻣﺘﺒﻮﻋﺎً ﺑﺎﺳﻢ اﻟﻤﻠﻒ اﻟﺬي ﺗﺮﻏﺐ ﺑﻤﻌﺮﻓﺔ ﻋﺪد اﻟﻜﻠﻤﺎت او‬
‫اﻟﺨﻄﻮط او اﻻﺣﺮف ﻓﻴﻪ و اذا رﻏﺒﺖ ﺑﻤﻌﺮﻓﺔ اﻟﺸﻲ ذاﺗﻪ ﻟﻜﻞ اﻟﻤﻠﻔﺎت اﻟﻤﻮﺟﻮدة ﻓﻲ اﻟﻤﺠﻠﺪ اﻟﺤﺎﻟﻲ ﺑﻜﻞ ﺑﺴﺎﻃﺔ اﻓﻌﻞ‬
‫اﻻﻣﺮ اﻟﺘﺎﻟﻲ و ﺳﺘﺠﺪ اﻟﻨﺘﺎﺋﺞ‪:‬‬

‫‪wc *.txt‬‬
‫‪300 2799 16284‬‬ ‫‪c4arab.txt‬‬

‫‪4944 43494 257939 linux.txt‬‬

‫‪5244 46293 274223 total‬‬

‫اﻟﻨﺘﺎﺋﺞ ﻫﻨﺎ واﺿﺤﺔ ‪ ،‬اﻟﻌﺎﻣﻮد اﻻﻣﺮ ﻳﻤﺜﻞ ﻋﺪد اﻟﺴﻄﻮر و اﻟﺜﺎﻧﻲ ﻋﺪد اﻟﻜﻠﻤﺎت و اﻟﺜﺎﻟﺚ ﻋﺪد اﻻﺣﺮف ﻣﻊ اﻟﻤﺴﺎﻓﺎت و‬
‫اﻟﺮاﺑﻊ اﺳﻢ اﻟﻤﻠﻒ‪.‬‬

‫ﻳﻤﻜﻦ ﻟﻨﺎ اﺳﺘﺨﺪام ﻃﺮﻳﻘﺔ ﻓﻲ اﻻﻣﺮ ﻟﻤﻌﺮف ﻋﺪد اﻟﺴﻄﻮر ﻣﺜﻼ ﻓﻘﻂ دون اﻟﻨﻈﺮ اﻟﻰ ﺑﺎﻗﻲ اﻻرﻗﺎم ‪ ،‬ﻓﻤﺜﻼ ﻧﻔﻌﻞ اﻟﺘﺎﻟﻲ‪:‬‬
‫‪wc –l c4arab.txt‬‬

‫ﻫﻨﺎ ﺳﻴﻜﺸﻒ ﻟﻨﺎ ﻋﺪد اﻟﺴﻄﻮر ﻓﻲ اﻟﻤﻠﻒ ﻓﻘﻂ‬

‫‪wc –w c4arab.txt‬‬

‫و ﻫﻨﺎ ﺳﻴﻜﺸﻒ ﻟﻨﺎ ﻋﺪد اﻟﻜﻠﻤﺎت ﻓﻲ اﻟﻤﻠﻒ ﻓﻘﻂ‬

‫‪wc –c c4arab.txt‬‬

‫و ﻫﻨﺎ ﺳﻴﻜﺸﻒ ﻟﻨﺎ ﻋﺪد اﻟﻜﻠﻤﺎت ﻓﻲ اﻟﻤﻠﻒ ﻓﻘﻂ‬

‫رﺑﻤﺎ ﻳﺘﺴﺎﺋﻞ اﺣﺪﻛﻢ ‪ ،‬و ﻣﺎﻫﻲ اﻟﻔﺎﺋﺪة اﻟﻤﺮﺟﻮة ﻣﻦ ﻣﻌﺮﻓﺔ ﻋﺪد اﻟﺴﻄﻮر و اﻟﻜﻠﻤﺎت و ﺑﺎﻗﻲ ﻣﻤﻴﺰات ﻫﺬا اﻻﻣﺮ؟‬

‫ﻫﻨﺎك ﻓﻮاﺋﺪ ﻛﺜﻴﺮة ‪ ،‬ﻣﻨﻬﺎ اﻧﻪ ﺗﻮﺟﺪ ﻣﻠﻔﺎت ﻧﺼﻴﺔ ﻛﺒﻴﺮة ﺟﺪا و ﺿﺨﻤﺔ ﺟﺪا ﻛﻤﻠﻒ ال ‪ log‬ﻓﻲ اﻟﺴﺮﻓﺮات اﻟﺬي‬
‫ﻳﺴﺠﻞ ﻛﻞ ﺣﺮﻛﺔ ﻳﻘﻮم ﺑﻪ ﻣﻦ ﻫﻮ ﻋﻠﻰ اﻟﺴﺮﻓﺮ او اﻟﻤﻮﻗﻊ ‪ ،‬و ﻳﺘﻐﻴﺮ ﻫﺬا اﻟﻤﻠﻒ ﺑﺸﻜﻞ ﻣﺴﺘﻤﺮ دون ﺗﺪﺧﻞ اي ﺷﺨﺺ‬
‫ﺑﻪ‪ ،‬ﺑﻬﺬا اﻻﻣﺮ ﻳﻤﻜﻨﻚ ﻣﻌﺮﻓﺔ ﻣﻘﺪار اﻟﺘﻐﻴﻴﺮ اﻟﺬي ﺣﺼﻞ او ﻳﺤﺼﻞ ﻟﻠﻤﻠﻒ ﻓﻜﻞ ﺳﻄﺮ ﻓﻴﻪ ﻋﺒﺎرة ﻋﻦ اﻣﺮ ﻃﻠﺐ ﻣﻦ‬
‫ﻣﺘﺼﻔﺢ او اي ﺷﻲ آﺧﺮ‪ .‬و ﻋﻨﻮان اﻟﻤﻠﻒ ﻓﻲ اﻟﻤﻮﻗﻊ اﻟﺘﺎﻟﻲ ﻋﺎدة‪:‬‬

‫‪/var/log/httpd/access_log‬‬

‫‪-‬اﻷﻣﺮ ‪chsh‬‬
‫‪change shell‬اي ﻟﺘﻐﻴﻴﺮ اﻟﺼﺪﻓﺔ‬
‫ﻣﺜﺎل ﻟﺒﻌﺾ اﻟﺼﺪﻓﺎت اﻟﻤﺘﺎﺣﺔ ﺣﺴﺐ اﻟﺘﻮزﻳﻌﺔ‬
‫‪bin/sh‬‬
‫‪bin/ash‬‬
‫‪bin/bash‬‬
‫‪bin/csh‬‬

‫ﻃﺒﻌﺎ اﻻﻓﺘﺮاﺿﻲ ال ‪bash‬‬

‫ﻋﻠﺸﺎن ﺗﻐﻴﻴﺮ اﻟﺼﺪﻓﺔ‬

‫‪chsh‬‬

‫‪Chang shell [bin/bash]: /bin/ash‬‬


‫‪shell changed‬‬
‫‪-‬اﻻﻣﺮ ‪cat‬‬
‫ﻫﺬا اﻟﺪرس ﻟﻠﻜﺎﺗﺐ ‪ The-oNe‬ﺗﺤﻴﺎﺗﻲ اﻟﻚ ‪(:‬‬

‫ﻧﻘﺎط اﻟﺪرس‪:‬‬

‫إﺳﺘﺨﺪام اﻷﻣﺮ )‪ (cat‬ﻹﺳﺘﻌﺮاض اﻟﻤﻠﻔﺎت اﻟﻨﺼﻴﺔ‪.‬‬ ‫•‬


‫إﺳﺘﺨﺪام اﻷﻣﺮ )‪ (cat‬ﻛﻤﺤﺮر ﻧﺼﻮص‪.‬‬ ‫•‬
‫ﺗﻜﻤﻠﺔ ﻹﺳﺘﺨﺪام ﺑﻌﺾ اﻟﺤﺮوف اﻟﻮﺻﻔﻴﺔ‪:‬‬ ‫•‬

‫إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﺮج ﺑﺈﺳﺘﺨﺪام )>(‪.‬‬ ‫‪.1‬‬

‫إﺳﺘﺨﺪاﻣﻬﺎ ﻣﻊ اﻷﻣﺮ ) ‪.(cat‬‬ ‫•‬


‫إﺳﺘﺨﺪاﻣﻬﺎ ﻣﻊ اﻷﻣﺮ )‪.(ls‬‬ ‫•‬

‫إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺪﺧﻞ ﺑﺈﺳﺘﺨﺪام )<(‪.‬‬ ‫‪.2‬‬


‫إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﻄﺄ إﻟﻰ ﻣﻠﻒ ﻣﺎ ﺑﺈﺳﺘﺨﺪام )>‪.(2‬‬ ‫‪.3‬‬
‫إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﺮج إﻟﻰ آﺧﺮ اﻟﻤﻠﻒ ﺑﺈﺳﺘﺨﺪام )>>(‪.‬‬ ‫‪.4‬‬

‫إﺳﺘﺨﺪام اﻷﻣﺮ )‪ (cat‬ﻹﺳﺘﻌﺮاض اﻟﻤﻠﻔﺎت اﻟﻨﺼﻴﺔ‪:‬‬ ‫·‬

‫ﻳﺴﺘﺨﺪم اﻷﻣﺮ ) ‪ (cat‬ﻋﺎدة ﻓﻲ أﻧﻈﻤﺔ ) ‪ (*.nix‬ﻋﻠﻰ أﻧﻪ ﻳﺴﺘﻌﺮض ﻣﺤﺘﻮﻳﺎت اﻟﻤ ﻠﻔﺎت اﻟﻨﺼﻴﺔ أو‬
‫اﻟﻤﻠﻔﺎت )‪ (text‬ﺑﻤﻌﻨﻰ ﻋﺎم ‪ ،‬ﻛﻤﺎ وﻳﺴﺘﺨﺪم ﻫﺬا اﻷﻣﺮ أﻳﻀﺎً ﻓﻲ ﺑﻌﺾ اﻷﺣﻴﺎن ﻋﻠﻰ أﻧﻪ ﻣﺤﺮر‬
‫ﻧﺼﻮص ﻛﻤﺎ ﺳﻨﺘﻌﻠﻢ ﻓﻲ ﻫﺬا اﻟﺪرس ﻛﻴﻔﻴﺔ إﺳﺘﺨﺪام ﻫﺬا اﻷﻣﺮ اﻟﻤﻔﻴﺪ ﺣﻘﺎً ‪ ،‬ﻛﻤﺎ أن ﻫﺬا اﻷﻣﺮ‬
‫ﻏﺎﻟﺒﺎً ﻣﺎ ﻳﺴﺘﺨﺪم ﻹﺳﺘﻌﺮاض اﻟﻤﻠﻔﺎت اﻟﺼﻐﻴﺮة اﻟﺤﺠﻢ ذات اﻷﺳﻄﺮ اﻟﻘﻠﻴﻠﺔ واﻟﺴﺒﺐ ﻓﻲ ذﻟﻚ أن‬
‫اﻷﻣﺮ ) ‪ (cat‬ﻳﻘﻮم ﺑﻌﺮض اﻟﻤﻠﻒ ﻛﺎﻣﻼً ﻋﻠﻰ اﻟﺸﺎﺷﺔ ﻟﺬﻟﻚ إن ﻛﺎن اﻟﻤﻠﻒ ﻋﺪد أﺳﻄﺮه ﻛﺜﻴﺮة ﺟﺪاً‬
‫وﻻ ﺗﺴﺘﻮﻋﺐ اﻟﺸﺎﺷﺔ ﺟﻤﻴﻊ ﻣﺤﺘﻮﻳﺎﺗﻪ ﻓﺈﻧﻪ ﻓﻘﻂ ﺳﻮف ﻳﻌﺮض آﺧﺮ أﺳﻄﺮ ﻓﻲ اﻟﻤﻠﻒ ﻋﻠﻰ ﻣﺪى‬
‫إﺳﺘﻴﻌﺎب ﺷﺎﺷﺘﻚ‪.‬‬

‫واﻟﺼﻮرة اﻟﻌﺎﻣﺔ ﻟﻬﺬا اﻷﻣﺮ ﻫﻮ ‪:‬‬

‫])‪bash-2.05$ cat -[option(s‬‬ ‫])‪[argument(s‬‬

‫أي أن ﻟﻬﺬا اﻷﻣﺮ ﻋﻨﺪ إﺳﺘﺨﺪام ﻳﻤﻜﻨﻚ أن ﺗﻀﻴﻒ ﺑﻌﺾ اﻟﺨﻴﺎرات ﻟﻪ اﻟﺘﻲ ﺗﺘﻨﺎﺳﺐ ﻣﻊ ﺣﺎﺟﺘﻚ ) ﻟﻦ‬
‫ﻧﻨﺎﻗﺶ ﻫﻨﺎ أي ﺧﻴﺎر ﻟﻬﺬا اﻷﻣﺮ وذﻟﻚ ﻟﻘﻠﺔ ﺧﻴﺎراﺗﻪ واﻟﺘﻲ ﻟﻢ أرى أﺣﺪاً ﻳﺴﺘﺨﺪﻣﻬﺎ ﻣﻦ ﻗﺒﻞ وﻟﻜﻦ‬
‫ﻟﻺﺳﺘﺰادة ﻳﻤﻜﻨﻚ إﺳﺘﺨﺪام ﻣﻠﻔﺎت اﻟﻤﺴﺎﻋﺪة ﻓﻲ اﻟﻨﻈﺎم ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ ) ‪ .((man cat‬ﻓﻲ‬
‫اﻟﺼﻮرة اﻟﺴﺎﺑﻘﺔ ﻋﻨﺪ إﺳﺘﺨﺪاﻣﻨﺎ ﻟﻸﻣﺮ ) ‪ (cat‬ﻓﺈﻧﻪ ﻻﺑﺪ ﻟﻨﺎ أن ﻧﻘﻮم ﺑﺬﻛﺮ اﺳﻢ اﻟﻤﻠﻒ ) ‪(argument‬‬
‫اﻟﺬي ﻧﺮﻳﺪ أن ﻧﺴﺘﻌﺮض ﻣﺤﺘﻮﻳﺎﺗﻪ وﻟﻜﻦ ﻳﻤﻜﻨﻚ أﻳﻀﺎً أن ﻻ ﺗﺬﻛﺮ اﺳﻤﻪ وذﻟﻚ ﻷن اﻟﻜﻠﻤﺔ‬
‫) ‪ (argument‬ﻓﻲ اﻟﺼﻮرة اﻟﺴﺎﺑﻘﺔ ﺗﻜﻮن إﺧﺘﻴﺎرﻳﺔ ﻛﻤﺎ ﺗﻌﺮﻓﻨﺎ ﺳﺎﺑﻘﺎً ﻋﻦ ﻛﻴﻔﻴﺔ ﻣﻌﺮﻓﺔ وﻓﻬﻢ ﺳﻄﺮ‬
‫اﻷﻣﺮ‪ .‬وﻟﻜﻦ اﻧﺘﺒﻪ أﻧﻪ وﻋﻨﺪ إﺳﺘﺨﺪاﻣﻚ ﻟﻬﺬا اﻷﻣﺮ ﻣﻦ دون اﺳﻢ اﻟﻤﻠﻒ ﺳﻮف ﻳﻘﻮم ﻫﺬا اﻷﻣﺮ‬
‫ﺑﺘﺸﻐﻴﻞ ﻧﻔﺴﻪ ﻋﻠﻰ أﻧﻪ ﻣﺤﺮر ﻧﺼﻮص ﻛﻤﺎ ﺳﺘﻼﺣﻆ ﻓﻲ ﻫﺬا اﻟﺪرس ﺳﻴﺘﻢ ﻣﻨﺎﻗﺸﺔ ذﻟﻚ ‪.‬‬

‫وﻟﻜﻲ ﻳﺘﻢ ﻓﻬﻢ ﻫﺬا اﻷﻣﺮ ﺟﻴﺪاً ﻟﻮ أردﻧﺎ أن ﻧﻘﻮم ﻣﺜﻼً ﺑﺈﺳﺘﻌﺮاض ﻣﺤﺘﻮﻳﺎت اﻟﻤﻠﻒ ) ‪ (file1.txt‬واﻟﺬي‬
‫أﻧﺸﺄﻧﺎه ﺳﺎﺑﻘﺎً إﻟﻰ ﺣﺴﺎﺑﻚ ﻓﻲ اﻹﻧﺘﺮﻧﺖ‪ .‬ﻓﺈن اﻷﻣﺮ ﺳﻴﻜﻮن ﻋﻠﻰ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪bash-2.05$ cat file1.txt‬‬


‫وﻻﺣﻆ أﻧﻪ ﻟﺘﻨﻔﻴﺬ اﻷﻣﺮ اﻟﺴﺎﺑﻖ ﻻﺑﺪ أن ﺗﻜﻮن ﻓﻲ ﻧﻔﺲ اﻟﺪﻟﻴﻞ اﻟﻤﻮﺟﻮد ﻓﻴﻪ اﻟﻤﻠﻒ أو ﻛﺘﺎﺑﺔ ﻣﺴﺎر‬
‫اﻟﻤﻠﻒ ﻛﺎﻣﻼً‪ .‬ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺳﻴﻈﻬﺮ ﻟﻚ ﻣﺤﺘﻮﻳﺎت اﻟﻤﻠﻒ اﻟﺬي ﻗﻤﻨﺎ ﺑﺈﺳﺘﻌﺮاﺿﻪ وﺗﻼﺣﻆ أﻧﻪ‬
‫ﻋﺮض ﺟﻤﻴﻊ اﻟﻨﺺ وذﻟﻚ ﻟﻘﻠﺔ ﻋﺪد اﻷﺳﻄﺮ ‪.‬وﻳﻤﻜﻨﻚ أن ﺗﻌﻤﻞ ﻣﻊ ﺟﻤﻴﻊ اﻟﻤﻠﻔﺎت ذات اﻷﺳﻄﺮ‬
‫اﻟﻘﻠﻴﻠﺔ ﺑﻨﻔﺲ اﻟﻄﺮﻳﻘﺔ اﻟﻤﺬﻛﻮرة ﻓﻲ اﻟﻤﺜﺎل‪.‬‬

‫إﺳﺘﺨﺪام اﻷﻣﺮ )‪ (cat‬ﻛﻤﺤﺮر ﻧﺼﻮص‪:‬‬ ‫·‬

‫ﻛﻤﺎ ﻗﻠﻨﺎ ﺳﺎﺑﻘﺎً أن ﻫﺬا اﻷﻣﺮ ﻣﻔﻴﺪ ﺟﺪاً ﺑﺼﺮاﺣﺔ )ﻣﻦ وﺟﻬﺔ ﻧﻈﺮي‪ (J‬ﻟﺬﻟﻚ ﻓﺈن ﻣﻦ ﺧﺪﻣﺎت ﻫﺬا‬
‫اﻷﻣﺮ أﻳﻀﺎً ﻫﻮ إﺳﺘﺨﺪاﻣﻪ ﻛﻤﺤﺮر ﻟﻠﻨﺼﻮص وﻳﻤﻜﻨﻚ ذﻟﻚ ﻣﻦ ﺧﻼل ﻛﺘﺎﺑﺔ اﻷﻣﺮ ﺑﻤﻔﺮده ﻓﻘﻂ ﻋﻠﻰ‬
‫ﺳﻄﺮ اﻷواﻣﺮ ﻋﻠﻰ اﻟﺼﻮرة اﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪bash-2.05$ cat‬‬

‫ﻋﻦ ﻛﺘﺎﺑﺔ اﻟﺴﺎﺑﻖ ﻓﺈﻧﻪ ﺳﻮف ﻳﺘﻢ ﻓﻘﻂ اﻹﻧﺘﻘﺎل إﻟﻰ اﻟﺴﻄﺮ اﻟﺘﺎﻟﻲ وﺳﺘﺠﺪ أن اﻟﻤﺆﺷﺮ ﻳﻮﻣﺾ‬
‫وﻣﻌﻨﻰ ذﻟﻚ أﻧﻪ ﻳﺮﻳﺪ ﻣﻨﻚ أن ﺗﺪﺧﻞ ﻟﻪ ﻣﺎ ﺷﺌﺖ ﻣﻦ اﻟﻜﻼم ﺑﻌﺪ ﻛﺘﺎﺑﺘﻪ ﻋﻠﻰ اﻟﺸﺎﺷﺔ ﺛﻢ ﺑﻌﺪ‬
‫اﻹﻧﺘﻬﺎء ﻗﻢ ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ ﺣﺮف اﻟﺘﺤﻜﻢ )‪) (^D‬ﺳﺒﻖ وأن ﺗﻢ ﺷﺮﺣﻪ ﺳﺎﺑﻘﺎً(‪ .‬وﺗﻌﻨﻲ )‪(^D‬‬
‫ﻟﻠﻤﻠﻔﺎت أﻧﻬﺎ ﻧﻬﺎﻳﺔ اﻟﻤﻠﻒ )‪ .(EOF‬أي أﻧﻪ ﺑﻌﺪ إﻧﺘﻬﺎﺋﻚ ﻣﻦ ﻛﺘﺎﺑﺔ ﻣﺎ ﺗﺮﻳﺪ وﺿﻐﻄﺖ ﻋﻠﻰ اﻟﺤﺮف‬
‫)‪ (^D‬ﻓﺈن ذﻟﻚ إﻳﻌﺎز أﻧﻚ ﻗﺪ اﻧﺘﻬﻴﺖ ﻣﻦ اﻟﻜﺘﺎﺑﺔ إﻟﻰ اﻟﻤﻠﻒ وﻻﺣﻆ أﻧﻪ ﺑﻌﺪ ﺿﻐﻄﻚ ﻋﻠﻰ )‪(^D‬‬
‫ﺳﻮف ﻳﻌﻮد ﻟﻚ ﺳﻄﺮ اﻷواﻣﺮ ﻣﺮة أﺧﺮى‪.‬‬

‫ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻋﻨﺪ إﺳﺘﺨﺪاﻣﻨﺎ ﻟﻸﻣﺮ ) ‪ (cat‬ﻟﺘﺤﺮﻳﺮ ﻧﺺ وﻗﻤﻨﺎ ﺑﺎﻟﺘﺤﺮﻳﺮ وﻟﻜﻦ اﻟﻨﺘﻴﺠﺔ أﻧﻪ ﻟﻢ‬
‫ﻳﺘﻜﻮن ﻟﺪﻳﻨﺎ أي ﻣﻠﻒ ﻓﻲ دﻟﻴﻠﻨﺎ اﻟﺤﺎﻟﻲ واﻟﺴﺒﺐ ﺑﺒﺴﺎﻃﺔ ﻫﻮ أﻧﻨﺎ ﻟﻢ ﻧﻘﻢ ﺑﺘﺤﺪﻳﺪ اﺳﻢ ﻟﻠﻤﻠﻒ اﻟﺬي‬
‫ﻧﺮﻳﺪ أن ﻧﻜﺘﺐ إﻟﻴﻪ وﻫﺬا ﻣﺎ ﻳﺪﻋﻰ ب ) إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﺮج( أي أﻧﻨﺎ ﻧﻘﻮم ﺑﺘﻮﺟﻴﻪ اﻟﻨﺺ اﻟﺬي ﻧﻜﺘﺒﻪ‬
‫إﻟﻰ اﻟﻤﻠﻒ اﻟﺬي ﻧﺤﺪده‪ .‬وﺗﻤﻜﻨﻨﺎ ﻋﻤﻠﻴﺔ إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﺮج إذا ﻣﺎ ﺗﻢ إﺳﺘﺨﺪاﻣﻬﺎ ﻣﻊ اﻷﻣﺮ ) ‪(cat‬‬
‫إﻟﻰ إﻧﺸﺎء ﻣﻠﻒ ﺟﺪﻳﺪ ﺑﺎﻟﻨﺺ اﻟﺬي ﻧﻜﺘﺐ ‪.J‬‬

‫إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﺮج ﺑﺈﺳﺘﺨﺪام )>(‪:‬‬ ‫‪.1‬‬

‫ﻛﻤﺎ ذﻛﺮﻧﺎ ﺳﺎﺑﻘﺎً أﻧﻪ ﻓﻲ أﻧﻈﻤﺔ ) ‪ (*.nix‬ﺑﻌﺾ اﻟﺤﺮوف اﻟﺘﻲ ﺗﻌﻨﻲ إﻟﻰ ﻋﻤﻠﻴﺔ ﻣﻌﻴﻨﺔ ﺑﺎﻟﻨﺴﺒﺔ‬
‫ﻟﻠﻐﻼف‪ .‬وﻣﻦ ﻫﺬه اﻷﺣﺮف ﻫﻲ اﻟﺤﺮف )>( وﻫﺬا اﻟﺤﺮف ﻳﻤﻜﻨﻨﺎ ﻣﻦ إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﺮج ﺑﺪﻻً ﻋﻦ‬
‫وﺣﺪة اﻟﺨﺮج اﻟﺮﺋﻴﺴﻴﺔ وﻫﻲ اﻟﺸﺎﺷﺔ ﻟﺪى اﻟﻤﺴﺘﺨﺪم إﻟﻰ ﻣﻜﺎن آﺧﺮ ﻛﻤﻠﻒ ﻣﺜﻼً‪ .‬وﻳﻤﻜﻦ أن‬
‫ﺗﺴﺘﺨﺪم ﻫﺬه اﻟﻌﻼﻣﺎت ﻣﻊ اﻟﻌﺪﻳﺪ ﻣﻊ اﻷواﻣﺮ ﺳﻨﻨﺎﻗﺶ ﻓﻲ ﻫﺬا اﻟﺪرس اﻷﻣﺮ ) ‪ (cat‬واﻷﻣﺮ ) ‪.(ls‬‬

‫إﺳﺘﺨﺪام ﻋﻤﻠﻴﺎت إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﺮج )>( ﻣﻊ اﻷﻣﺮ ) ‪:(cat‬‬ ‫‪.1‬‬

‫ﻋﻨﺪﻣﺎ ﻧﻘﻮم ﺑﺈﺳﺘﺨﺪام ﻫﺬا اﻟﺤﺮف ﻣﻊ اﻷﻣﺮ ) ‪ (cat‬ﻓﺈﻧﻪ ﻓﻲ ﻫﺬه اﻟﺤﺎﻟﺔ ﻳﻌﻤﻞ ﻫﺬا اﻷﻣﺮ ﻛﻤﺤﺮر‬
‫ﻧﺼﻮص ﻛﻤﺎ ذﻛﺮﻧﺎ ﺳﺎﺑﻘﺎً‪ .‬ﺣﻴﺚ أﻧﻪ وﻛﻤﺎ ﻗﻠﻨﺎ ﻋﻨﺪ إﺳﺘﺨﺪام اﻷﻣﺮ ) ‪ (cat‬ﻓﻘﻂ ﻣﻦ دون أي اﺳﻢ‬
‫ﺳﻮف ﻳﻜﻮن ﻣﺤﺮر وﻟﻜﻦ ﻟﻦ ﻳﻜﻮن ﻫﻨﺎك أي ﻣﻠﻒ ﻧﺎﺗﺞ ﻋﻦ اﻟﻌﻤﻠﻴﺔ وذﻟﻚ ﻷﻧﻨﺎ ﻟﻢ ﻧﺤﺪد دﻟﻴﻞ ﻧﻮﺟﻪ‬
‫إﻟﻴﻪ اﻟﺨﺮج‪ .‬ﻟﺬﻟﻚ ﻓﺈن اﻟﺤﺮف )>( ﻳﺴﺘﺨﺪم ﻣﻊ اﻷﻣﺮ ) ‪ (cat‬ﻋﻠﻰ اﻟﺼﻮرة اﻟﻌﺎﻣﺔ اﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪bash-2.05$ cat > filename‬‬

‫ﺣﻴﺚ أﻧﻨﺎ ﻧﻌﻨﻲ ب ) ‪ (filename‬اﺳﻢ اﻟﻤﻠﻒ اﻟﺬي ﺗﺮﻳﺪ أن ﻳﺨﺮج إﻟﻴﻪ اﻟﻨﺺ اﻟﺬي ﻗﻤﺖ ﺑﻜﺘﺎﺑﺘﻪ‪.‬‬
‫وﻟﻜﻲ ﻳﺘﻢ ﻓﻬﻢ اﻟﻌﻤﻠﻴﺔ ﺑﺸﻜﻞ أﻛﺒﺮ ﻟﻨﻔﺘﺮض أﻧﻨﺎ ﻧﺮﻳﺪ أن ﻧﻜﺘﺐ اﻟﻨﺺ اﻟﻤﻮﺟﻮد ﺑﺎﻷﺳﻔﻞ أدﻧﺎه ﻓﻲ‬
‫ﻣﻠﻒ ﺑﺎﻻﺳﻢ )‪:(theone‬‬

‫‪Hello guys, I am learning Unix now‬‬

‫‪And I am so happy with it.‬‬


‫ﻟﺬﻟﻚ ﻋﻨﺪﻣﺎ ﻧﺮﻳﺪ ﻛﺘﺎﺑﺔ اﻟﻨﺺ اﻟﺴﺎﺑﻖ ﻓﻲ ﻣﻠﻒ ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ ) ‪ (cat‬ﻓﺈﻧﻨﺎ ﺳﻨﻄﺒﻘﻪ ﻋﻠﻰ اﻟﺼﻮرة‬
‫اﻟﺘﺎﻟﻴﺔ‪:‬‬

‫‪bash-2.05$ cat > theone‬‬

‫‪ hello guys, I am learning Unix now‬ـ‬

‫‪and I am so happy with it‬‬

‫‪^D‬‬

‫ﻻﺣﻆ أﻧﻪ ﺑﻌﺪ ﺗﻄﺒﻴﻘﻨﺎ ﻟﻸﻣﺮ ) ‪ (cat >theone‬اﺧﺘﻔﻰ ﺳﻄﺮ اﻷﻣﺮ وﻇﻬﺮت ﻋﻼﻣﺔ ) ـــ ( اﻟﻈﺎﻫﺮة‬
‫ﺑﺎﻟﻠﻮن اﻷﺣﻤﺮ وﺳﺘﺠﺪه ﻳﻮﻣﺾ‪ ،‬وﻣﻌﻨﻰ ذﻟﻚ أن اﻟﻐﻼف ﻓﻲ ﻫﺬه اﻟﺤﺎﻟﺔ ﻳﻨﺘﻈﺮ وﻳﺘﻮﻗﻊ ﻣﻨﻚ‬
‫ﻣﺪﺧﻼت ﻟﺬﻟﻚ ﻗﻤﻨﺎ ﺑﻜﺘﺎﺑﺔ اﻟﻨﺺ اﻟﺬي أردﻧﺎه ﺛﻢ ﺑﻌﺪ أن اﻧﺘﻬﻴﻨﺎ ﻻﺣﻆ ﺣﺮف اﻟﺘﺤﻜﻢ )‪ (^D‬ﻓﻲ‬
‫اﻟﺤﻘﻴﻘﺔ ﻫﻮ ﻻﻳﻈﻬﺮ وﻟﻜﻨﻲ ﻛﺘﺒﺘﻪ ﻓﻘﻂ ﻟﻜﻲ ﻳﺘﻀﺢ ﻟﻚ أﻧﻪ ﻻﺑﺪ ﻋﻨﺪ اﻹﻧﺘﻬﺎء ﻣﻦ ﻛﺘﺎﺑﺔ اﻟﻨﺺ اﻟﺬي‬
‫ﺗﺮﻳﺪه ﻻﺑﺪ ﻣﻦ ﻛﺘﺎﺑﺔ ﻫﺬا اﻟﺤﺮف ‪ .‬اﻵن وﺑﻌﺪ أن اﻧﺘﻬﻴﺖ ﻣﻦ ﻛﺘﺎﺑﺔ اﻟﻨﺺ اﻟﺬي ﺗﺮﻳﺪه ﺣﺎول أن‬
‫ﺗﺴﺘﻌﺮض ﻣﺤﺘﻮﻳﺎت دﻟﻴﻠﻚ اﻟﺤﺎﻟﻲ وﺳﺘﺠﺪ ﻣﻠﻒ ﺑﺎﻻﺳﻢ ) ‪ (theone‬اﺳﺘﻌﺮض ﻣﺤﺘﻮﻳﺎﺗﻪ ﺑﺎﻷﻣﺮ‬
‫)‪ (cat‬ﻋﻠﻰ اﻟﺼﻮرة ‪:‬‬

‫‪bash-2.05$ cat theone‬‬

‫‪hello guys, I am learning Unix now‬‬

‫‪and I am so happy with it‬‬

‫‪bash-2.05$‬‬

‫ﻻﺣﻆ ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻗﺪ ﺗﻢ إﺳﺘﻌﺮاض ﻣﺤﺘﻮﻳﺎت اﻟﻤﻠﻒ ﺛﻢ ﻋﺎد ﻟﻚ ﻣﺆﺷﺮ اﻟﻐﻼف ﻣﺮة أﺧﺮى‪.‬‬

‫إﺳﺘﺨﺪام ﻋﻼﻣﺎت إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﺮج )>( ﻣﻊ اﻷﻣﺮ )‪:(ls‬‬ ‫‪.2‬‬

‫ﻳﻤﻜﻨﻨﺎ إﺳﺘﺨﺪام ﻫﺬه اﻟﻄﺮﻳﻘﺔ ﻓﻲ أﺣﻴﺎن ﻛﺜﻴﺮة ﻣﻨﻬﺎ ﻟﻮ أردﻧﺎ أن ﻧﺤﺘﻔﻆ ﺑﺨﺮج ﻣﺤﺘﻮﻳﺎت دﻟﻴﻞ ﻣﺎ‬
‫ﻟﺮؤﻳﺘﻪ ﻻﺣﻘﺎً أو ﺣﺘﻰ ﻟﺤﻔﻈﻪ‪ ،‬أو ﻳﻤﻜﻦ أﻳﻀﺎً أن ﻧﻮﺟﻪ ﺧﺮج اﻷﻣﺮ ) ‪ (ls‬إﻟﻰ ﻣﻠﻒ وﻣﻦ ﺧﻼل اﻟﻨﺎﺗﺞ‬
‫اﻟﻤﻮﺟﻮد ﻓﻲ اﻟﻤﻠﻒ ﻧﺒﺤﺚ ﻋﻦ ﻛﻠﻤﺔ ﻣﻌﻴﻨﺔ ﻓﻲ ﻫﺬا اﻟﺨﺮج إﺳﺘﺨﺪاﻣﺎت ﻛﺜﻴﺮة ﻳﻤﻜﻨﻚ أن ﺗﺴﺘﻌﻤﻞ‬
‫ﻣﺨﻴﻠﺘﻚ ﻟﺘﻄﻮﻳﻊ اﻷواﻣﺮ ﺗﺤﺖ أﻣﺮﺗﻚ ‪.‬‬

‫واﻟﺼﻮرة اﻟﻌﺎﻣﺔ ﻟﻸﻣﺮ )‪ (ls‬ﻣﻊ ﻋﻼﻣﺎت اﻟﺘﻮﺟﻴﻪ ﻫﻮ‪:‬‬

‫‪bash-2.05$ ls‬‬ ‫‪>filename‬‬

‫ﺣﻴﺚ أن ) ‪ (filename‬ﻫﻮ ﻋﺒﺎرة ﻋﻦ اﻟﻤﻠﻒ اﻟﺬي ﺗﺮﻳﺪ ﺗﻮﺟﻴﻪ اﻟﺨﺮج إﻟﻴﻪ ﻓﻠﻮ ﻣﺜﻼً أردﻧﺎ ﺗﻮﺟﻴﻪ ﺧﺮج‬
‫إﺳﺘﻌﺮاض ﻣﺤﺘﻮى اﻟﺪﻟﻴﻞ )‪ (etc‬ﻓﺈﻧﻨﺎ ﺳﻨﻜﺘﺐ اﻷﻣﺮ اﻟﺘﺎﻟﻲ‪:‬‬

‫‪bash-2.05$ ls‬‬ ‫‪/etc‬‬ ‫‪>result‬‬

‫‪bash-2.05$‬‬

‫ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺗﻼﺣﻆ أﻧﻪ ﻟﻢ ﻳﻈﻬﺮ أي ﻧﺎﺗﺞ ﻋﻠﻰ اﻟﺸﺎﺷﺔ وﻟﻜﻦ ﻋﺎ د ﻣﺆﺷﺮ اﻟﻐﻼف ﻟﻚ ‪ .‬وﻓﻲ‬
‫ﻫﺬه اﻟﺤﺎﻟﺔ ﻳﻤﻜﻨﻚ إﺳﺘﺨﺪام اﻷﻣﺮ ) ‪ (cat‬ﻟﺮؤﻳﺔ اﻟﻤﺤﺘﻮى ﻟﻠﻤﻠﻒ )‪ ، (result‬أﻋﺘﻘﺪ أﻧﻚ ﻟﻢ ﺗﺮى‬
‫ﺟﻤﻴﻊ ﻣﺤﺘﻮﻳﺎت اﻟﻤﻠﻒ وذﻟﻚ ﻷﻧﻪ وﻛﻤﺎ ﻗﻠﻨﺎ أن اﻷﻣﺮ ) ‪ (cat‬ﻳﻔﻀﻞ إﺳﺘﺨﺪاﻣﻪ ﻣﻊ اﻟﻤﻠﻔﺎت ذات‬
‫اﻷﺳﻄﺮ اﻟﻘﻠﻴﻠﺔ وﻟﻜﻦ ﺳﻨﻌﺮف اﻟﺤﻞ ﺑﺈذن اﷲ ﺗﻌﺎﻟﻰ ﻓﻲ اﻟﺪرس اﻟﻘﺎدم‪.‬‬

‫ﻣﻼﺣﻈﺔ‪ :‬ﻻﺣﻆ أﻧﻚ إذا ﻗﻤﺖ ﺑﺘﻮﺟﻴﻪ اﻟﺨﺮج إﻟﻰ ﻣﻠﻒ ﻣﻮﺟﻮد ﻓﻲ اﻟﺪﻟﻴﻞ اﻟﺤﺎﻟﻲ ﻓﺈﻧﻪ ﺳﻮف‬
‫ﻳﻤﺴﺢ ﺟﻤﻴﻊ ﻣﺤﺘﻮى اﻟﻤﻠﻒ وﺳﺘﻜﺘﺐ اﻟﻨﺘﺎﺋﺞ اﻟﺠﺪﻳﺪة‪.‬وﺑﻌﺪ ﻗﻠﻴﻞ ﺳﻨﻌﺮف ﻛﻴﻒ ﻧﺘﻐﻠﺐ ﻋﻠﻰ‬
‫ﻫﺬه اﻟﻤﺸﻜﻠﺔ‪.‬‬

‫إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺪﺧﻞ ﺑﺈﺳﺘﺨﺪام )<(‪:‬‬ ‫‪.1‬‬

‫وﻫﺬه اﻟﻌﻼﻣﺔ ﻗﻠﻴﻞ ﻣﺎ أﺟﺪ ﻣﻦ ﻳﺴﺘﺨﺪﻣﻬﺎ وﻟﻜﻦ ﻣﻊ إﺳﺘﺨﺪام ﻣﺨﻴﻠﺘﻚ اﻋﺘﻘﺪ اﻧﻚ ﺳﺘﺠﺪ ﻟﻬﺎ أﻛﺜﺮ‬
‫ﻣﻦ إﺳﺘﺨﺪام ﻓﻲ ﺑﺎﻟﻚ‪ .‬ﻓﻤﺜﻼً ﻟﻮ ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎء ﻣﻠﻒ ﻓﻲ دﻟﻴﻠﻨﺎ اﻟﺤﺎﻟﻲ ﺑﺎﻻﺳﻢ )‪ (one‬ووﺿﻌﻨﺎ ﻓﻲ‬
‫ﻫﺬا اﻟﻤﻠﻒ اﺳﻢ اﻟﺪﻟﻴﻞ )‪ (/etc‬ﺑﻨﻔﺲ اﻟﺼﻮرة )ﻻﺣﻆ أﻧﻚ ﻻﺑﺪ ﻣﻦ أن ﺗﺴﺘﺨﺪم اﻷﻣﺮ )‪ (cat‬ﻟﻜﻲ‬
‫ﺗﻘﻮم ﺑﻜﺘﺎﺑﺔ اﺳﻢ اﻟﺪﻟﻴﻞ ﻓﻲ اﻟﻤﻠﻒ ﻛﻤﺎ ﺷﺮﺣﻨﺎ ﺳﺎﺑﻘﺎً(‪ .‬ﺑ ﻌﺪ ذﻟﻚ إﺳﺘﺨﺪم اﻷﻣﺮ )‪ (ls‬ﻋﻠﻰ‬
‫اﻟﺼﻮرة ‪:‬‬

‫‪bash-2.05$ ls‬‬ ‫><‪<ONE< SPAN></ONE‬‬

‫ﻓﻲ ﻫﺬه اﻟﺤﺎﻟﺔ ﺳﺘﺠﺪ أﻧﻪ ﻗﺪ ﺗﻢ إﺳﺘﻌﺮاض ﻣﺤﺘﻮﻳﺎت اﻟﺪﻟﻴﻞ )‪ (/etc‬دون ﻛﺘﺎﺑﺘﻪ وذﻟﻚ ﻷﻧﻨﺎ ﺗﺨﻠﻴﻨﺎ‬
‫ﻋﻦ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﻴﺢ ﻛﻮﺣﺪة دﺧﻞ أﺳﺎﺳﻴﺔ ﻟﻠﻐﻼف ﺑﺎﻟﻤﻠﻒ اﻟﻤﻜﺘﻮب ﻓﻴﻪ اﺳﻢ اﻟﻤﻠﻒ‪.JJ‬‬

‫إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﻄﺄ إﻟﻰ ﻣﻠﻒ ﻣﺎ ﺑﺈﺳﺘﺨﺪام )>‪:(2‬‬ ‫‪.1‬‬

‫ﻫﻞ ﺳﺒﻖ وأن واﺟﻬﺘﻚ اﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﻴﺔ ﻋﻨﺪ إﺳﺘﺨﺪاﻣﻚ ﻷﻣﺮ ﻣﺎ ﺑﺼﻮرة ﺧﺎﻃﺌﺔ‪:‬‬

‫‪bash-2.05$ LS‬‬

‫‪bash: LS: command not found‬‬

‫أو ﺣﺘﻰ واﺟﻬﺘﻚ أي رﺳﺎﻟﺔ ﺧﻄﺄ أﺧﺮى ﻣﻦ اﻟﻐﻼف ‪ .‬ﺗﻔﻴﺪ اﻟﻌﻼﻣﺔ )>‪ (2‬ﻓﻲ أﻧﻬﺎ ﺗﻘﻮم ﺑﺘﻮﺟﻴﻪ‬
‫رﺳﺎﺋﻞ اﻟﺨﻄﺄ ﺑﺪﻻً ﻣﻦ أن ﺗﻈﻬﺮ ﻋﻠﻰ اﻟﺸﺎﺷﺔ إﻟﻰ ﻣﻠﻒ ﻣﺎ ﺗﻘﻮم أﻧﺖ ﺑﺘﺤﺪﻳﺪه وذﻟﻚ ﻷي ﻏﺮض‬
‫ﻳﺨﺼﻚ ﻣﺜﻼً ﻟﻜﻲ ﺗﺮى ﺑﻌﺪ ﻓﺘﺮة ﻣﻦ ﻋﻤﻠﻚ ﻋﻠﻰ اﻟﻐﻼف ﻣﺎﻫﻲ اﻷﺧﻄﺎئ اﻟﺬي ﻗﻤﺖ ﺑﺈرﺗﻜﺎﺑﻬﺎ إﺛﻨﺎء‬
‫إﺳﺘﺨﺪاﻣﻚ ﻟﻠﻨﻈﺎم وﻫﻜﺬا ‪ .‬واﻟﺼﻮرة اﻟﻌﺎﻣﺔ ﻟﻬﺬا اﻟﻌﻼﻣﺔ ﻫﻲ‪:‬‬

‫‪bash-2.05$ command‬‬ ‫‪2> errorfile‬‬

‫ﺣﻴﺚ أن )‪ (command‬ﻫﻮ اﻷﻣﺮ اﻟﺬي ﺳﺘﻘﻮم ﺑﺘﻨﻔﻴﺬه و )‪ (errorfile‬ﻫﻮ اﻟﻤﻠﻒ اﻟﺬي ﺳﺘﻮﺟﻪ إﻟﻴﻪ‬
‫رﺳﺎﺋﻞ اﻟﺨﻄﺄ وﻻﺣﻆ أﻧﻪ ﻳﻤﻜﻨﻚ ﺗﻐﻴﻴﺮه ﻛﻴﻔﻤﺎ ﺗﺸﺎء‪ .‬ﻟﻜﻲ ﺗﺘﻀﺢ اﻟﻔﻜﺮة ﺑﺸﻜﻞ أﻛﺒﺮ‪ .‬ﻧﻌﺮف أن أﻣﺮ‬
‫إﺳﺘﻌﺮاض ﻣﺤﺘﻮﻳﺎت دﻟﻴﻞ ﻣﺎ ﻫﻮ )‪ (ls‬وﻧﻌﺮف أﻳﻀﺎً أن ﻧﻈﺎم اﻟﻴﻮﻧﻜﺲ ﻳﻌﺘﺒﺮ ﺣﺴﺎس ﺑﺎﻟﻨﺴﺒﺔ ﻟﺤﺎﻟﺔ‬
‫اﻟﺤﺮوف ﻟﺬﻟﻚ ﻟﻮ ﻗﻤﻨﺎ ﺑﺈﺳﺘﺨﺪام اﻷﻣﺮ )‪ (LS‬ﺑﺪﻻً ﻣﻦ إﺳﺘﺨﺪام )‪ (ls‬ﻓﺈﻧﻪ ﻣﻦ اﻟﻤﺆﻛﺪ أن اﻟﻐﻼف‬
‫ﺳﻴﺮد ﻋﻠﻴﻚ ﺑﺮﺳﺎﻟﺔ ﺧﻄﺄ أن ﻫﺬا اﻷﻣﺮ ﻏﻴﺮ ﺻﺤﻴﺢ ‪ .‬ﻟﺬﻟﻚ ﻟﻮ أردﻧﺎ أن ﻧﻮﺟﻪ رﺳﺎﻟﺔ اﻟﺨﻄﺄ ﻫﺬه إﻟﻰ‬
‫اﻟﻤﻠﻒ )‪ (error‬ﻓﻲ دﻟﻴﻠﻨﺎ اﻟﺤﺎﻟﻲ ﻓﺈﻧﻨﺎ ﺳﻨﻘﻮم ﺑﺎﻟﺘﺎﻟﻲ‪:‬‬

‫‪bash-2.05$‬‬ ‫‪LS‬‬ ‫‪2> error‬‬

‫‪bash-2.05$‬‬
‫ﻻﺣﻆ أﻧﻪ ﻟﻢ ﻳﻈﻬﺮ ﻟﻚ أي رﺳﺎﻟﺔ ﺧﻄﺄ ﺑﺎﻟﺮﻏﻢ ﻣﻦ أﻧﻪ ﻣﻦ اﻟﻤﻔﺘﺮض أن ﺗﻈﻬﺮ ﻟﻚ رﺳﺎﻟﺔ ﺧﻄﺄ‬
‫ﺗﻌﻠﻤﻚ ﺑﻌﺪم وﺟﻮد ﻫﺬا اﻷﻣﺮ ‪ .‬وﻟﻜﻨﻨﺎ ﻗﻤﻨﺎ ﺑﺘﻮﺟﻴﻪ رﺳﺎﻟﺔ اﻟﺨﻄﺄ ﻫﺬه إﻟﻰ اﻟﻤﻠﻒ )‪ . (error‬ﺣﺎول أن‬
‫ﺗﻠﻘﻰ ﻧﻈﺮة ﻋﻠﻰ ﻣﺤﺘﻮى اﻟﻤﻠﻒ )‪.(error‬‬

‫إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﺮج إﻟﻰ آﺧﺮ اﻟﻤﻠﻒ ﺑﺈﺳﺘﺨﺪام )>>(‪:‬‬ ‫‪.1‬‬

‫ﻋﻨﺪﻣﺎ ﺗﻜﻠﻤﻨﺎ ﻋﻦ إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﺮج ﻟﻤﻠﻒ ﻓﺈﻧﻨﺎ ﻗﻠﻨﺎ أﻧﻪ ﻓﻲ ﺣﺎل وﺟﻮد اﻟﻤﻠﻒ ﻓﻲ ﻧﻔﺲ اﻟﺪﻟﻴﻞ‬
‫ﻓﺈﻧﻪ ﺳﻮف ﻳﺘﻢ ﻓﻘﺪ ﻣﺤﺘﻮﻳﺎت ﻫﺬا اﻟﻤﻠﻒ وﻟﺬﻟﻚ ﻓﻬﺬه ﺗﻌﺘﺒﺮ ﻣﺸﻜﻠﺔ ﻟﺬﻟﻚ وﺟﺪت اﻟﻌﻼﻣﺔ )>>(‬
‫وﻫﻲ ﺗﻘﻮم أﻳﻀﺎً ﺑﻌﻤﻞ إﻋﺎدة ﺗﻮﺟﻴﻪ اﻟﺨﺮج إﻟﻰ ﻣﻠﻒ وﻟﻜﻦ اﻟﻔﺮق ﺑﻴﻨﻬﺎ وﺑﻴﻦ )>>( أﻧﻬﺎ ﺗﻘﻮم‬
‫ﺑﺈﻟﺤﺎق اﻟﻨﺺ اﻟﺬي ﻗﻤﺖ ﺑﺈﻋﺎدة ﺗﻮﺟﻴﻪ إﻟﻰ آﺧﺮ اﻟﻤﻠﻒ وﺑﺎﻟﺘﺎﻟﻲ ﻟﻦ ﻳﺘﻢ ﻓﻘﺪان ﻣﺤﺘﻮﻳﺎت أي ﻣﻠﻒ‬
‫ﻋﻨﺪك‪ .‬وﻳﻮﺟﺪ ﻃﺮﻳﻘﺔ أﺳﺘﺨﺪﻣﻬﺎ أﺣﻴﺎﻧﺎً وﻫﻲ أن ﻟﻮ ﻛﻨﺖ أﻣﺘﻠﻚ ﻣﻠﻔﻴﻦ وأرﻳﺪ أن أدﻣﺠﻬﻤﺎ ﻣﻌﺎً ﻓﺈﻧﻲ‬
‫أﻗﻮم ﺑﺪﻣﺠﻬﻤﺎ ﺑﺈﺳﺘﺨﺪام ﻫﺬه اﻟﻌﻼﻣﺔ‪ .‬ﻣﺜﻼً ﻟﺪﻳﻨﺎ ﻓﻲ دﻟﻴﻠﻨﺎ اﻟﺤﺎﻟﻲ اﻟﻤﻠﻒ )‪ (file1.txt‬ﺻﺤﻴﺢ؟!؟‬
‫وأﻳﻀﺎً ﻟﺪﻳﻨﺎ اﻟﻤﻠﻒ )‪ (theone‬وﻧﺮﻳﺪ أن ﻧﺪﻣﺞ اﻟﻤﻠﻒ )‪ (theone‬ﺑﻨﻬﺎﻳﺔ اﻟﻤﻠﻒ ) ‪ (file1.txt‬وﻧﻀﻊ‬
‫اﻟﻨﺎﺗﺞ ﻓﻲ اﻟﻤﻠﻒ )‪ (file1.txt‬ﺳﺘﻜﻮن اﻟﻄﺮﻳﻘﺔ ﻓﻲ ﻫﺬه اﻟﺤﺎﻟﺔ ﻫﻲ ‪:‬‬

‫‪bash-2.05$ cat‬‬ ‫‪theone‬‬ ‫‪>>file1.txt‬‬

‫اﻵن ﺣﺎول ان ﺗﺴﺘﻌﺮض ﻣﺤﺘﻮﻳﺎت اﻟﻤﻠﻒ )‪ (file1.txt‬وﺳﺘﺠﺪ أﻧﻪ ﻗﺪ ﺗﻢ دﻣﺞ اﻟﻤﻠﻔﻴﻦ ﺳﻮﻳﺔ‪.‬‬

‫‪ less-‬اﻷﻣﺮ‬
‫ﻳﺴﺘﻌﻤﻞ ﻟﻘﺮاءة اﻟﻤﻠﻔﺎت اﻟﻨﺼﻴﺔ و اﻟﺘﻔﺎﻋﻞ ﻣﻌﻬﺎ‬

‫‪q‬و ﻟﻠﺨﺮوج ‪ ،‬اﺿﻐﻂ‬

‫‪touch-‬اﻷﻣﺮ‬
‫ﻳﺴﺘﻌﻤﻞ ﻻﻧﺸﺎء ﻣﻠﻔﺎت‬

‫‪-‬اﻷداة ) ‪nmap ( Network Mapper‬‬


‫و ﻳﺴﺘﻌﻤﻞ ﻫﺬا اﻻﻣﺮ ﻟﻜﺸﻒ اﻟﻤﻨﺎﻓﺬ ‪ ،‬اﻧﺸﺎء اﷲ ﻗﺮﻳﺒﺎ ﺷﺮح ﻣﺼﻮر ‪ ،‬ﺑﺲ اﻓﻀﻰ ﺷﻮي ‪(:‬‬

‫‪HINT : try THIS‬‬


‫‪nmap –sS 123.123.123.123‬‬

‫‪-‬اﻷداة ‪gcc‬‬
‫و ﻳﺴﺘﻌﻤﻞ ﻫﺬا اﻷﻣﺮ ﻟﺘﺮﺟﻤﺔ اﻟﻨﺼﻮص اﻟﺒﺮﻣﺠﻴﺔ ﻟﻜﻞ ﻣﻦ ‪C & C++‬‬
‫ﻃﺮﻳﻘﻪ اﻻﺳﺘﻌﻤﺎل‬
‫‪gcc source.c –o out‬‬

‫ﻫﺬا اﻟﻜﻮد اﻟﻤﻄﻠﻮب ﺗﺮﺟﻤﺘﻪ ‪source.c‬‬


‫ﻫﺬا اﺳﻢ اﻟﻤﻠﻒ اﻟﻨﺎﺗﺞ ‪out‬‬

‫ﻃﺮﻳﻖ اﻟﺘﺸﻐﻴﻞ‬

‫‪./out‬‬

‫ﻣﻼﺣﻈﺎت ‪ :‬اﻣﺘﺪاد اﻟﻤﻠﻔﺎت‬

‫ﻟﻮ ﻛﺎن اﻟﺴﻮرس ﻣﻜﺘﻮب ﺑﻠﻐﺔ ال ‪C‬‬

‫‪.c‬‬

‫ﻟﻮ ﻛﺎن ﻣﻜﺘﻮب ﺑﻠﻐﺔ ال ‪C++‬‬

‫‪.C‬‬
‫‪.cc‬‬
‫‪.cxx‬‬

‫‪-‬اﻷﻣﺮ &‬
‫ﻳﺴﺘﻌﻤﻞ ﻫﺬا اﻷﻣﺮ ﺑﻌﺪ أي اﻣﺮ ) اي ﻓﻲ ﻧﻬﺎﻳﺘﻪ ( ‪ ،‬و وﻇﻴﻔﺘﻪ اﻧﻪ ﻳﻨﻔﺬ اﻻﻣﺮ ﻓﻲ ال ‪ background‬اي اﻧﻚ ت‬

‫ﺳﺘﻄﻴﻊ ﺗﻨﻔﻴﺬ اي اﻣﺮ آﺧﺮ و اﻻﺳﺘﻤﺮار ﻓﻲ اﺳﺘﻌﻤﺎل اﻟﺘﻴﺮﻣﻨﻞ و ﻻ ﺗﺘﻄﺮ اﻟﻰ اﻻﻧﺘﻈﺎر ﺣﺘﻰ اﻧﻬﺎء اﻻﻣﺮ‬

‫‪-‬اﻷﻣﺮ ‪adduser‬‬
‫ﻳﺴﺘﻌﻤﻞ ﻫﺬا اﻻﻣﺮ ﻻﻧﺸﺎء ﺣﺴﺎب ﻣﺴﺘﺨﺪم ﺟﺪﻳﺪ ‪ ،‬ﺑﺎﻟﺘﺄﻛﻴﺪ ﻳﺠﺐ ان ﺗﻜﻮن اﻧﺖ اﻻدﻣﻦ‬
‫و ﻳﻨﻔﺬ اﻻﻣﺮ ﺣﺴﺐ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ‬

‫‪adduser new_user_name‬‬

‫‪-‬أﻻﻣﺮ ‪logout‬‬
‫و ﻳﺴﺘﻌﻤﻞ ﻫﺬا اﻻﻣﺮﻻﻋﻼن ﺧﺮوج اﻟﻤﺴﺘﺨﺪم اﻟﺤﺎﻟﻲ ﻣﻦ اﻟﻨﻈﺎم ‪،‬‬

‫ا‪-‬ﻷﻣﺮ ‪locate‬‬
‫و ﻳﺴﺘﻌﻤﻞ ﻫﺬا اﻻﻣﺮ ﻓﻲ اﻟﺒﺤﺚ ﻋﻦ ﻣﻠﻒ ﻣﻌﻴﻦ ‪ ،‬و ﻫﻮ اﺳﺮع ﻣﻦ اﻻﻣﺮ ‪find‬‬
‫‪locate filename‬‬

‫‪-‬اﻷﻣﺮ ‪chmod‬‬
‫ﻫﺬا اﻟﺸﺮح ﻣﻦ ﻗﺮاءﺗﻲ ﻟﻌﺪة ﻣﺮاﺟﻊ‬
‫ﻳﺴﺘﻌﻤﻞ ﻫﺬا اﻻﻣﺮ ﻟﺘﻐﻴﻴﺮ ﺻﻼﺣﻴﺎت ﻣﻠﻒ او دﻟﻴﻞ ﻣﺎ ‪ ،‬و ﻫﺬا اﻻﻣﺮ ﻳﻘﻮم ﺑﺘﻐﻴﻴﺮ ﻧﻤﻂ اﻟﻤﻮد ‪ mode‬و ﻫﻨﺎك‬
‫ﻃﺮﻳﻘﺘﻴﻦ ‪ ،‬ﺑﺎﺳﺘﺨﺪام ﻧﻈﺎم اﻟﺘﺮﻣﻴﺰ اﻟﺮﻗﻤﻲ ‪ ،‬و ﻧﻈﺎم اﻟﺘﺮﻣﻴﺰ اﻟﺤﺮﻓﻲ‬
‫ﻳﺮﺗﺒﻂ ﺑﻜﻞ ﻏﺮض ﺛﻼث ﻣﺠﻤﻮﻋﺎت ﻣﻦ اﻟﻤﺴﺘﺨﺪﻣﻴﻦ ‪ ،‬ﻣﺎﻟﻚ اﻟﻐﺮض ‪ ،‬اﻟﻤﺠﻤﻮﻋﺔ اﻟﻤﺮﺗﺒﻄﺔ ﻣﻊ اﻟﻐﺮض ‪ ،‬ﺑﻘﻴﺔ‬
‫اﻟﻤﺴﺘﺨﺪﻣﻴﻦ ‪ ،‬ﺣﺴﺐ اﻟﺘﺮﻣﻴﺰ اﻟﺘﺎﻟﻲ‬
‫‪u = user‬‬
‫‪g = group‬‬
‫‪o = other‬‬
‫‪a = all‬‬
‫و ﻫﻨﺎك ﺛﻼث ﺻﻼﺣﻴﺎت ﺣﺴﺐ اﻟﺘﺮﻣﻴﺰ اﻟﺘﺎﻟﻲ‬
‫‪r = read‬‬
‫‪w = write‬‬
‫‪ x = execute‬اي ﺗﻨﻔﻴﺬ‬

‫اﻻﺷﺎرة ‪ +‬ﻟﻠﺘﻤﻜﻴﻦ ﻣﻦ اﻟﺼﻼﺣﻴﺎت اﻣﺎ – ﻓﻼﺑﻄﺎل اﻟﺼﻼﺣﻴﺎت‬

‫ﻣﺜﻼ ﻟﻮ اردﻧﺎ ﻣﻨﺢ اﻟﻤﺴﺘﺨﺪم و اﻟﻤﺠﻤﻮﻋﺔ ﺻﻼﺣﻴﺔ ﻗﺮاءة و ﺗﻨﻔﻴﺬ اﻟﻤﻠﻒ ‪abc‬‬

‫‪Chmod ug+rx abc‬‬

‫اﻣﺎ ﻟﺤﺠﺐ اﻟﺼﻼﺣﻴﺎت اﻟﺴﺎﺑﻘﺔ‬

‫‪Chmod ug-rx abc‬‬

‫اﻣﺎ ﻋﻨﺪ اﺳﺘﻌﻤﺎل ﻧﻈﺎم اﻟﺘﺮﻣﻴﺰ اﻟﺮﻗﻤﻲ ﻓﺴﻴﻜﻮن ﻋﻠﻴﻚ اﻋﻄﺎء ﻗﻴﻤﺔ ﻟﻠﻤﻠﻒ ﺗﻤﺜﻞ اﻟﺼﻼﺣﻴﺎت اﻟﻤﺴﻤﻮﺣﻪ‬
‫ﻳﻘﺎم ﻫﺬا اﻟﻨﻈﺎم ﻋﻠﻰ ﺛﻼث ﻧﺠﻤﻮﻋﺎت اﺳﺎﺳﻴﻪ‬
‫ﻣﺎﻟﻚ اﻟﻌﻨﺼﺮ ‪ ،‬اﻟﻤﺠﻤﻮﻋﺔ ‪ ،‬ﺑﻘﻴﺔ اﻟﻤﺴﺘﺨﺪﻣﻴﻦ‬

‫اﻣﺎ ﺑﺨﺼﻮص اﻟﻘﻴﻢ اﻟﺮﻗﻴﻤﻴﻪ ﻓﻬﻲ‬


‫‪ 1‬ﻟﻠﺘﻨﻔﻴﺬ‬
‫‪ 2‬ﻟﻠﻜﺘﺎﺑﺔ‬
‫‪ 4‬ﻟﻠﻘﺮاءة‬

‫ﻳﺘﻢ ﺟﻤﻊ ﻫﺬا اﻟﻘﻴﻢ ﻟﺘﻌﻴﻴﻦ اﻟﺼﻼﺣﻴﺔ‬


‫ﻓﻤﺜﻼ ﻟﻮ اردت ان ﻣﺎﻟﻚ اﻟﻤﻠﻒ ﻟﻪ ﺻﻼﺣﻴﻪ اﻟﻘﺮاءة و اﻟﻜﺘﺎﺑﺔ و اﻟﺘﻨﻔﻴﺬ ﻟﻠﻤﻠﻒ ‪ abc‬و اﻟﺘﻨﻔﻴﺬ ﻟﻠﻤﺠﻤﻮﻋﺔ و ﻻ ﺷﻲ‬
‫ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ اﻵﺧﺮﻳﻦ‬

‫‪Chmod 710 abd‬‬

‫ﺣﻴﺚ ان ‪ 7‬ﻫﻲ ﺣﺎﺻﻞ ﺟﻤﻊ ‪4 + 2 + 1‬‬


‫و ﻫﻲ اﻟﺨﺎﻧﻪ اﻻوﻟﻰ اي ﺻﺎﺣﺐ اﻟﻤﻠﻒ‬
‫ ﻟﻠﻤﺠﻤﻮﻋﻪ اي ﻓﻘﻂ ﺗﻨﻔﻴﺬ‬1 ‫اﻣﺎ اﻟﺨﺎﻧﺔ اﻟﺜﺎﻧﻴﺔ ﻓﻬﻲ‬
‫و اﺧﻴﺮا اﻟﺨﺎﻧﻪ اﻟﺜﺎﻟﺜﻪ أي ﺑﻘﻴﻪ اﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﻻ ﺷﻲء‬

traceroute ‫اﻷﻣﺮ‬-
‫ ﻣﻦ ﻣﻀﻴﻒ ﻵﺧﺮ و ﻫﻲ ﻣﻔﻴﺪة ﺟﺪا ﻓﻲ رﺳﻢ اﻟﺸﺒﻜﺔ‬IP ‫و ﻳﺴﻤﺢ ﻟﻚ ﻫﺬا اﻷﻣﺮ ﺑﺮؤﻳﺔ اﻟﻤﺴﺎر اﻟﺬي اﺗﺒﻌﺘﻪ رزﻣﺔ ال‬

‫ ﻓﻲ اﻻن ﺗﻲ و ﺑﻌﺪه‬tracert ‫و ﻳﻜﺎﻓﺊ اﻷﻣﺮ‬

tracerout isreal.com

netcat ‫ اﻷداة‬-
TCP ‫ و ﺗﻘﺪم اﻣﻜﺎﻧﻴﺔ ﻣﺴﺢ ﻣﻨﻐﺬ‬، ‫ ﻫﺬه اداة ﻗﻮﻳﺔ ﺟﺪا و ﻫﻲ ﺗﻠﻘﺐ ﺑﺴﻜﻴﻨﻪ اﻟﺠﻴﺶ اﻟﺴﻮﻳﺴﺮي‬netcat or nc
man nc ‫ & و ﻳﻤﻜﻦ ان ﺗﺴﺘﻌﻤﻞ ﻟﻠﺘﻨﺼﺖ ﻋﻠﻰ ﻣﻨﻔﺬ ﻣﻌﻴﻦ و ﻟﻬﺎ اﻟﻌﺪﻳﺪ ﻣﻦ اﻻﺳﺘﻌﻤﺎﻻت اﻟﺮﺟﺎء ﻣﺮاﺟﻌﻪ‬UDP
: ‫ﻫﻨﺎ ﺑﻌﺾ اﻟﻤﻌﻠﻮﻣﺎت‬

Flags:
-e specifies a program to exec after
making/receiving a connection
-g gateway source-routing hop point[s], up to 8
-G num source-routing oiter: 4, 8, 12
-i secs delay interval for lines sent, ports scanned
-l listen mode for inbound connections
-n only accept numeric IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize
-s addr local source address
-t netcat will respond to telnet option negotiation
"this allows it to connect to a telnetd and
get past initial negotiation far enough to get
a login prompt from the server"
-u UDP connection mode
-v verbose mode
-w secs wait - timeout for connects
-z zero I/O mode [used for scanning]

For NT netcat, all of the above options exist, plus a few others.

-d detach - don't open a new DOS window


-L keep listening after the current session terminates
: ( ‫و ﻣﻦ ﻓﻮاﺋﺪه ) ﺗﺮﺟﻤﺘﻪ‬

‫ – ﻋﻤﻞ ﺳﻜﺎن ﻟﻠﺒﻮرﺗﺎت‬1

nc [options] targethost [port]

Ex: nc -v -z 10.0.0.95 20-120

bowser [10.0.0.95] 113 (auth) open


bowser [10.0.0.95] 111 (sunrpc) open
bowser [10.0.0.95] 98 (linuxconf) open
bowser [10.0.0.95] 79 (finger) open
bowser [10.0.0.95] 23 (telnet) open
bowser [10.0.0.95] 21 (ftp) open

: ‫ – اﻟﺸﺒﻚ ﻋﻠﻰ ﺑﻮرت‬2

nc [options] targethost [port]

Ex: nc -v 10.0.0.95 21

bowser [10.0.0.95] 21 (ftp) open


220 bowser FTP server (Version wu-2.6.0(1) Mon Feb 28 10:30:36 EST
2000) ready.
<enter>
530 Please login with USER and PASS.

‫ ﻟﺘﺤﺼﻞ ﻋﻠﻰ اﺳﻤﺎء اﻻﻛﺎوﻧﺘﺎت‬، 79 ‫ﺣﺎول ان ﺗﺸﺒﻚ ﻋﻠﻰ ﺑﻮرت‬

‫ – ﺗﺸﺒﻚ ﻣﻊ اﻟﺘﻞ ﻧﺖ‬3

nc -t 10.0.0.95 23

You're then given a login prompt, so now you'll need to know


account/password on the system. Hmm...

‫ – ﻟﻠﺘﻨﺼﺖ ﻋﻠﻰ ﻣﻨﻘﺬ‬4

nc -l -p [localport] -e [program]

Example:
bowser: nc -v -l -p 1443 -e /bin/bash
‫‪luigi nc -v 10.0.0.95 1443‬‬

‫‪ -‬اﻷداة ‪strobe‬‬
‫ﻫﻲ أداة ﻣﺴﺢ ﻣﻨﻘﺬ ‪ ، TCP‬وﺗﺘﻤﻴﺰ ﺑﺎﻟﺴﺮﻋﺔ‬

‫‪strobe 123.123.123.123‬‬

‫‪ -‬اﻷﻣﺮ ‪whois‬‬
‫ﻫﺬا اﻷﻣﺮ ﻣﻔﻴﺪ ﺟﺪا ﻋﻨﺪﻣﺎ ﺗﺮﻳﺪ ان ﺗﻌﺮف ﻣﻌﻠﻮﻣﺎت ﻋﻦ اﻟﻬﺪف‬

‫‪whois target.com@whois.networksolutions.com‬‬
‫ﺟﺮب أي ﻣﻦ ﻫﺬا‬
‫‪@whois.crsnic.net‬‬
‫‪@whois.arin.net‬‬
‫‪@whiis.internic.net‬‬

‫و ﻫﺬا درس ﻟﻠﻜﺎﺗﺐ ‪eXistenZ‬‬


‫‪A‬‬
‫‪access :‬ﻟﻔﺤﺺ ﻣﻠﻒ ﻣﻦ ﺣﻴﺚ اﻣﻜﺎﻧﻴﻪ اﻟﻘﺮاءة ‪ ،‬اﻟﻜﺘﺎﺑﺔ ‪..‬‬
‫‪at :‬ﻟﺘﻨﻔﻴﺬ اﻣﺮ ﻓﻲ ﺗﺎرﻳﺦ ووﻗﺖ ﻣﻌﻴﻦ‬
‫‪alarm :‬ﻟﻌﻤﻞ ﻣﻨﺒﻪ‬
‫‪accept :‬ﻟﻘﺒﻮل اﺗﺼﺎل ﻋﻠﻰ ﺳﻮﻛﻴﺖ‪.‬‬

‫‪B‬‬
‫‪batch :‬ﻟﺘﻨﻔﻴﺬ اﻣﺮ ﻋﻨﺪﻣﺎ ﻳﺤﺼﻞ ﻋﻠﻰ ﺗﺼﺮﻳﺢ‬
‫‪buildhash :‬ﻣﺪﻗﻖ اﻣﻼﺋﻲ‬

‫‪C‬‬
‫‪cat :‬ﻟﻌﺮض ﻣﺤﺘﻮى اﻛﺜﺮ ﻣﻦ ﻣﻠﻒ ﻣﻊ ﺑﻌﺾ‬
‫‪cd :‬ﻟﺘﻐﻴﺮ اﻟﺪﻟﻴﻞ اﻟﺬي اﻧﺖ ﻋﻠﻴﻪ‬
‫‪chmod :‬ﻟﺘﻐﻴﺮ ﺗﺼﺮﻳﺢ دﺧﻠﻮل ﻣﻠﻒ ﻣﻌﻴﻦ‬
‫‪chown :‬ﻟﺘﻐﻴﺮ ﻣﺎﻟﻚ ﻣﻠﻒ ﻣﻌﻴﻦ‬
‫‪clear :‬ﻟﻤﺴﺢ ﻛﻞ اﻟﺬي ﻋﻠﻰ اﻟﺸﺎﺷﺔ‬
‫‪cmp :‬ﻟﻤﻘﺎرﻧﺔ ﻣﻠﻔﻴﻦ‬
‫‪cp :‬ﻟﻨﺴﺦ اﻟﻤﻠﻔﺎت‬
‫‪crypt :‬ﻟﺘﺸﻔﻴﺮ و ﻓﻚ ﺗﺸﻔﻴﺮ اﻟﻤﻠﻔﺎت‬
‫‪csplit :‬ﻟﺘﻘﺴﻴﻢ اﻟﻤﻠﻒ اﻟﻰ ﻋﺪة ﻣﻠﻔﺎت‬
‫‪cu :‬ﻟﻄﻠﺐ ﺗﺮﻳﻤﻨﺎل ﻳﻮﻧﻜﺲ اﺧﺮ‬

‫‪D‬‬
‫‪date :‬ﻻﻇﻬﺎر اﻟﺘﺎرﻳﺦ و اﻟﺴﺎﻋﺔ‬
‫‪df :‬ﻟﺘﻘﺪﻳﻢ ﺗﻘﺮﻳﺮ ﻋﻦ ﻣﺴﺎﺣﻪ اﻟﻘﺮص ) اﻟﻤﺴﺎﺣﻪ اﻟﺨﺎﻟﻴﺔ ‪)..‬‬
‫‪diff :‬ﻟﻤﻘﺎرﻧﻪ ﻣﻠﻔﻴﻦ‬
‫‪diff3 :‬ﻟﻤﻘﺎرﻧﻪ ‪ 3‬ﻣﻠﻔﺎت او اﻛﺜﺮ‬
‫‪dircmp :‬ﻟﻤﻘﺎرﻧﻪ دﻟﻴﻼن‬
‫‪du :‬ﺗﻘﺮﻳﺮ ﻋﻦ ﻣﺴﺎﺣﻪ اﻟﻘﺮض اﻟﻤﺴﺘﺨﺪم‬

‫‪E‬‬
‫‪echo :‬ﻳﺴﺘﺨﺪم ﻻﻇﻬﺎر ﺳﻄﺮ ﻧﻜﺘﺐ ﻓﻴﻪ ﺗﻴﻜﺴﺖ‬
‫( ‪text editor : ed‬ﻣﺜﻞ اﻟﻮرد ﻳﻌﻨﻲ)‬
‫‪egrep :‬ﻣﺜﻞ اﻻﻣﺮ ‪grep‬‬
‫( ‪text editor : ex‬ﻣﺜﻞ اﻟﻮرد ﻳﻌﻨﻲ)‬

‫‪F‬‬
‫‪file :‬ﻟﻠﺘﻘﺮﻳﺮ ﻋﻦ ﻧﻮع ﻣﻠﻒ‬
‫‪find :‬ﻟﻠﺒﺤﺚ ﻋﻦ ﻣﻠﻔﺎت‬
‫‪finger :‬ﺗﻘﺮﻳﺮ ﻋﻦ ﻣﺴﺘﺨﺪم‬

‫‪G‬‬
‫‪++g :‬ﻛﻮﻣﺒﻴﻠﺮ ﻟﻞ ‪ C++‬و‪C‬‬
‫‪gcc :‬ﻛﻮﻣﺒﻴﻠﺮ ﻟﻞ ‪ C++‬و‪C‬‬
‫‪grep :‬ﻳﺴﺘﺨﺪم ﻟﻠﺒﺤﺚ ﻋﻦ ﺷﺊ داﺧﻞ ﻣﻠﻒ‬
‫‪gzip :‬ﻟﻀﻐﻂ ﻣﻠﻔﺎت‬
‫‪gunzip :‬ﻟﻀﻐﻂ ﻣﻠﻔﺎت‬

‫‪H‬‬
‫‪haltsys :‬ﻻﻏﻼق اﻟﻨﻈﺎم‬
‫‪head :‬ﻻﻇﻬﺎر اول ‪ 10‬اﺳﻄﺮ ﻣﻦ اﻟﻤﻠﻒ‬

‫‪I‬‬
‫‪ispell :‬ﻣﺪﻗﻖ اﻣﻼﺋﻲ‬

‫‪K‬‬
‫‪** kill :‬ﻻﻧﻬﺎء ﻋﻤﻠﻴﻪ‬

‫‪L‬‬
‫‪line :‬ﻟﻘﺮاءة ﻣﻠﻒ ﺳﻄﺮ ﻣﻌﻴﻦ ﻓﻲ ﻣﻠﻒ‬
‫‪ln :‬ﻟﻌﻤﻞ ﻟﻴﻨﻚ ﻣﻠﻒ ﻣﻌﻴﻦ‬
‫‪logname :‬ﻟﻠﺤﺼﻮل ﻋﻠﻰ اﺳﻢ اﻟﺪﺧﻮل اﻟﺨﺎص ﺑﻚ‬
‫‪lpr :‬ارﺳﺎل ﻃﻠﺐ ﻟﻠﻄﺒﺎﻋﻪ‬
‫‪lprint :‬ﻟﻠﻄﺒﺎﻋﻪ ﺑﺎﻟﻄﺎﺑﻌﻪ اﻟﻤﺤﻠﻴﻪ‬
‫‪lpstat :‬ﻟﺘﻘﺪﻳﻢ ﺗﻘﺮﻳﺮ ﻋﻦ ﺣﺎﻟﻪ اﻟﻄﺒﺎﻋﻪ‬
‫‪lpq :‬ﻟﺘﻘﺪﻳﻢ ﺗﻘﺮﻳﺮ ﻋﻦ ﺣﺎﻟﻪ اﻟﻄﺒﺎﻋﻪ‬
‫‪ls :‬ﻟﻌﺮض ﻣﺤﺘﻮﻳﺎت ﻣﺠﻠﺪ‬

‫‪M‬‬
‫‪mail :‬ﻻرﺳﺎل و اﺳﺘﻘﺒﺎل اﻳﻤﻴﻼت‬
‫‪man :‬ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎت ﻋﻦ اي اﻣﺮ‬
‫‪mkdir :‬ﻟﻌﻤﻞ دﻟﻴﻞ ﺟﺪﻳﺪ‬
‫‪more :‬ﻟﻌﺮض اﻟﻤﻠﻔﺎت‬

‫‪P‬‬
‫‪passwd :‬ﻻﻧﺸﺎء ﻛﻤﻠﺔ ﺳﺮ او ﺗﻐﻴﺮه‬
‫‪pr :‬ﻟﻄﺒﺎﻋﻪ ﻣﻠﻒ‬
‫‪ps :‬اﻟﻌﻤﻠﻴﺎت ﻋﻦ اﻟﻌﻤﻠﻴﺎت اﻟﺘﻲ ﺗﻢ ﺗﺸﻐﻴﻠﻬﺎ‬
‫‪pstat :‬ﻟﻌﺮض ﺣﺎﻟﺔ اﻟﻨﻈﺎم‬
‫‪pwd :‬ﻟﻌﺮض اﻟﻤﺴﺎر اﻟﺬي اﻧﺖ ﻓﻴﻪ اﻻن‬

‫‪R‬‬
‫‪rm :‬ﻟﻤﺴﺢ ﻣﻠﻔﺎت او ﻣﺠﻠﺪات ) ﺧﺎﻟﻴﻪ (‬
‫‪rmdir :‬ﻟﻤﺴﺢ ﻣﺠﻠﺪ ) ﺧﺎﻟﻲ (‬

‫ﻷي اﺳﺘﻔﺴﺎرات راﺳﻠﻮﻧﻲ ﻋﻠﻲ ﻫﺬا اﻟﺒﺮﻳﺪ ‪eXistenZ@Pharaonics.Net‬‬


‫و ﻫﺬا وﺟﺪﺗﻪ ﺑﺎﻟﻨﺖ ﺑﻜﺜﺮه‬

‫‪:‬ﺑﺎﻟﻠﻴﻮﻧﻜﺲ وﻣﺎ ﻳﻘﺎﺑﻠﻬﺎ ‪ Ms-Dos‬اواﻣﺮ ال‬


‫=====================================‬
‫اﻟﻴﻤﻴﻦ اﻟﻠﻴﻮﻧﻜﺲ ﻋﻠﻰ اﻟﻴﺴﺎر اﻟﻮﻳﻨﺪوز وﻋﻠﻰ‬

‫‪attrib================================chmod‬‬
‫‪cd=====================================cd‬‬
‫‪chkdsk===============================df or du‬‬
‫‪deltree================================rm -R‬‬
‫‪dir===================================ls -l‬‬
‫‪edit==========================ae or vi,and so on‬‬
‫‪fdisk=================================fidsk‬‬
‫‪find==================================grep‬‬
‫‪format=============================fdformat‬‬
‫‪move==================================mv‬‬
‫‪start===============================at or bg‬‬
‫‪xcopy and xcopy32==========================cp‬‬

‫ﻣﻼﺣﻈﺔ ‪ --:‬اﻧﺸﺎء اﷲ ﻓﻲ اﻟﻮﻗﺖ اﻟﻘﺮﻳﺐ ﺳﺄﺿﻴﻒ ﻣﺠﻤﻮﻋﺔ ﺟﺪﻳﺪة ﻣﻦ اواﻣﺮ اﻟﻠﻴﻨﻜﺲ اﻟﻠﻲ ﻟﻢ اﺗﻄﺮق ﻟﻬﺎ و اذا‬
‫ﻓﻲ اﺣﺪ ﻳﺤﺐ ﻳﺴﺎﻋﺪﻧﻲ ﻟﻌﻤﻞ دروس ﺣﻴﺎه اﷲ‬

‫‪ --‬اﻋﺘﺬر ﻋﻦ اي ﺧﻄﺄ ﻗﺪ أﻛﻮن اﺧﻄﺄﺗﻪ و ارﺟﻮ ﻣﻦ اﻷﺧﻮة اﻟﺘﺼﺤﻴﺢ‬


‫‪-+-+-+-+-+-+‬‬
‫ﺟﻤﻴﻊ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇﺔ ﻟﻜﺎﺗﺐ اﻟﺪرس ‪ ،‬اﺧﻮﻛﻢ‬
‫‪FOY@ = P@L H@CKERZ‬‬
‫‪foya75@hotmail.com‬‬

‫‪-+-+-+-+-+-+‬‬

Das könnte Ihnen auch gefallen