دستورهاي لينوکسخط فرمان قدرتمندترين راه تعامل با لينوکس است. با اين حال اگر به ان عادت ندريد، فرايند يادگيري ممکن است کمي دشوار باشد. بهترين روش شروع به کار با چند دستور ساده است. سعي نکنيد که بلافاصله تمام کارهايتان را از طريق خط فرمان انجام دهيد. چند دستور را ياد بگيريد، آنها را به کار ببريد و به مرور زمان دانش خود را در مورد کارکرد آنها بيفزاييد. سپس ميتوانيد به تدريج دستورات بيشتري را که نياز داريد ياد بگيريد. در زير چند دستور ساده آمده است که ميتوانيد کار خود را با انها آغاز کنيد. سعي نکنيد که تمام آنها را به يکباره ياد بگيريد. تنها چند مورد را انتخاب کرده و آنها را تمرين کنيد.
چند دستور ديگر که بهتر است بدانيد
بياييد نگاهي به هر کدام داشته باشيم. براي کسب تجربه در مورد اين دستورها راحت باشيد. کمي دقت کنيد زيرا در صورت بي احتياطي ممکن است به فايلها، فئلدرها و حتي سيستم عامل خود آسيب برسانيد. اگر امکان بروز خرابي توسط دستورها وجود داشته باشد، من به شما گوشزد خواهم کرد. بنابراين تعدادي از اين دستورها را در ترمينال امتحان کنيد:
Man
اين دستور براي شروع مناسب است، زيرا به buult در صفحات راهنمايي لينوکس دسترسي پيدا ميکند. Man مخفف manual است و اگر اين دستور و پس از آن يک فاصله و سپس نام يک دستور ديگر را تايپ کنيد، صفحهي راهنمايي در ترمينال برايتان باز ميشود که شامل توضيحات آن دستور است. به عنوان مثال تايپ کنيد : man ls دستور بالا صفحهاي پر از اطلاعات در مورد دستور Ls را براي شما باز ميکند. قالب اين صفحهي راهنما ممکن است کمي گيج کننده باشد، بنابراين تنها کمي مرور کرده و زياد نگران نشويد. بخشي که بايد بيشتر به آن توجه کنيد، توضيحات دستور است. (به عنوان مثال کاري که دستور انجام ميدهد) براي scrollکردن به پايين صفحهي راهنما کليد space را فشار داده و براي خارج شدن از صفحهي راهنما q را بزنيد. چند دستور Man را امتحان کرده و سپس در مورد ديگر دستوراتي که در بالا به آنها اشاره شد بخوانيد. سيستم ديگري نيز براي راهنمايي وجود دارد که به همين روش کار ميکند، ولي به جاي تايپ Man بايد info وسپس دستور را به صورت زير تايپ کنيد: info ls آزمايش کنيد! ls
دستور ls مخفف دستور 'list' است. ميتوانيد از اين دستور براي ليست کردن محتواي هر دايرکتوري که در آن هستيد استفاده کنيد. اين دستور را در يک پنجرهي ترمينال تايپ کرده و نتيجه را ببينيد. هم اکنون يکي از ويژگيهاي دستورهاي لينوکس قابليت اضافه کردن پارامترهاي مختلف به آنهاست. اين کار بسيار ساده است و روش استفادهي شما را از دستور بهتر مي-کند. معمولا اضاه کردن پارامترها به دستور به قرار دادن يک '-' بلافاصله پس از دستور و بعد تايپ کردن نام پارامترها يا مخفف آنها انجام ميشود. به عنوان مثال اگر من دستور زير را تايپ کنم: ls -l پارامتر l را به دستور ls پاس کردهام. پرامتر L مخفف 'long list' بوده و نشان دهندهي نوعي قالب براي نمايش اطلاعات ls است. اين قالب نسبت به Ls بدون پارامتر اطلاعات بيشتري ميدهد... دو دستور را امتحان کرده و نتيجه را مقايسه کنيد. ممکن است بپرسيد چطور پارامترهاي يک دستور را بشناسم؟ اين اطلاعات در صفحات Man هر دستور موجود بوده و دسترسي به انها آسان است. (بالا را ببينيد) در مورد دستور Lsپيشنهاد ميکنم از طريق به کار بردن 'ls' همچنين ls -al و ls -l با قالب ها آشنا شويد. CdCd رايجترين دستور براي راهيابي در سيستم فايل روي کامپيوترتان است. Cd مخفف change directory است. اين دستور را با تايپ کردن Ls و گرفتن ليستي از فايلها و فولدرهاي دايرکتوري که هم اکنون در آن هستيد، انتحان کنيد. حالاls و پس از آن نام يکي از فايلهاي کوجود در ليست را تايپ کنيد. براي مثال اگر فايلي به نام 'me.txt' وجود داشته باشد، ميتوانم تايپ کنم cd me.txt اين دستور يک خطا توليد ميکند. چرا؟ زيرا نميتوتن دايرکتوري را به يک فايل تغيير داد. اين دستور را انتحان کنيد تا متوجه شويد که به خاطر اشتباد در دستور cd هيچ خرابي به بار نميآيد. براي تغيير دايرکتوري ابتدا Cd و سپس نام دايرکتوري که ميخواهيد به آن برويد را تايپ کنيد. اگر در نتيجهي دستور Ls دايرکتوري به نام 'src' وجود داشته باشد، ميتوانم دستور زير را تايپ کنم: cd src اگر اين دستور موفقت آميز باشد، ترمينال هيچ خطايي نميگيرد. اين دستور را با يک دايرکتوري واقعي در کامپيوترتان امتحان کنيد. اگر شکست بخوريد احتمالا اجازهي راهيابي به آن دايرکتوري را نداريد، نام دايرکتوري را اشتباه تايپ کرده اي يا اينکه دايرکتوري وجود ندارد. چند کلمه در مورد سيستم فايل در لينوکس: معمولا اگر سيستم به خوبي براي شما راه اندازي شده باشد، شما در دايرکتوري home خود کار خواهيد کرد. اين دايرکتوري به صورت نرمال در يک مکان ثابت در لينوکس قرار گرفته است. براي يافتن دايرکتوري home خود ابتدا اين دستور را تايپ کنيد cd / اين دستو را شما را به بالاترين دايرکتوري در سيستم فايل کامپيوترتان ميبرد. حالا اگر Ls را تايپ کنيد، ليست دايرکتوريها در بالاترين سطح از سيستم فايل کامپيوتر برايتان نمايش داده ميشود. چند دايرکتوري مهم اينجا هستند، ولي شما بيشتر به مار با دايرکتوري home نياز خواهيد داشت. براي رفتن به اين ايرکتوري ميتوانيم از دستور ls که پيشتر ياد گرفتيم استفاده کنيم: cd home اگر حالا ls را تايپ کنيد، ليستي شامل تعداد بيشتري دايرکتوري خواهيد ديد که احتمالا يکي از انها همنام نام کاربري شما خواهد بود. اين دايرکتوري home شماست. ما با استفاده از مکان يابي نسبي (relative positioning) به اين دايرکتوري راه پيدا کردهايم، به اين معني که اگر من در دايرکتوري سطح بالا باشم و cd home را تايپ کنم، به دايرکتوري خواهم رفت مه دايرکتوري home شخصي تمام کاربران در آن نگهداري ميشود. اگر من در جاي ديگري از سيستم فايل باشم و cd home را تايپ کنم، خطا توليد ميشود. در صورت نياز ميتوانيد از مسيرهاي مطلق يا absolute براي رفتن به دايرکتوري مورد نظرتان استفاده کنيد. به عنوان مثال اگر در مکان ناشناختهاي از سيستم فايل بوده و بخواهم سريعا به دايرکتوري home بروم بايد تايپ کنم cd /home اگر بخواهم به دايرکتوري تحت دايرکتوري home بروم (رضا دايرکتوري به نام adam در انجا دارم) ميتوانم بنويسم cd /home/adam Mkdirاين دستوري است که شما براي ايجاد يک دايرکتوري از آن استفاده ميکرديد و مخفف make directory است. براي استفاده از اين دستور تنها نام دايرکتوري را که ميخواهيد ايجاد کنيد پس از دستور Mkdir به صورت زير تايپ کنيد mkdir bleep دستور بالا يک دايرکتوري به نام bleep در دايرکتوري که هم اکنون در آن هستيم ايجاد خواهيد کرد. اگر يک دايرکتوري با همين نام از قبل وجود داشته باشد، من با خطا مواجه ميشوم و کامپيوتر دايرکتوري موجود را بازنويسي نخواهد کرد. سعي کنيد چند دايرکتوري ايجاد کنيد. Pwdاگر در سيستم ايل گم شويد و ندانيد کجت هستيد، همواره ميتوانيد دستور Pwd را تايپ کنيد و از مکان فعلي خود مطلع شويد. اين دستور مسير موقعيت يا مسير مطلق مکاني را که در آن هستيد به شما خواهد داد. براي مثال اگر من در دايرکتوري home خود به نام adam باشم، خروجي دستور Pwd به صورت زير خواهد بود /home/adam سعي کنيد دايرکتوري ها را با تايپ کردن دستور cd عوض کرده و با استفاده از pwd از مکان خود مطلع شويد. Mvاين دستور مخفف move است. همانطور که به نظر ميآيد Mv امکان انتقال فايلها را در سيستم فايل فراهم ميکند. اين دستور مانند عمليات 'cut' و 'paste' در Mac و ويندوز است که در يک دستور جمع شده است. براي استفاده از mv ابتدا دستور را تايپ کنيد، پس از آن فايلي را که ميخواهيد منتقل کنيد (با استفاده از مسيرهاي نسبي يا مطلق که شامل نام فايل باشد) و سپس مکاني را که ميخواهيد فايل به آم منتقل شود (به صورت مسيرهاي نسبي يا مطلق) را وارد کنيد. به عنوان مثال اگر بخواهم فايلي به نام "me.txt" را از دايرکتوري فعلي خود به دايرکتوري "/usr/bin" منتقل کنم، دستور زير را تايپ خواهم کرد: mv me.txt /usr/bin اگر بخواهم نام فايل را بدون تغيير دادن مکان آن عوض کنم، به صورت زير از دستور Mv استفاده ميکنم: Mv me.txt you.txt به خاطر داشته باشيد زماني که از mv استفاده ميکنيد، فايل را منتقل ميکنيد نه کپي. بنابراين نسخهي اصلي قايل منتقل شده و در مکان اوليه موجود نخواهد بود. حالا نيز کمي دقت کنيد، زيرا ممکن است به صورت تصادفي فايلها را بازنويسي کنيد. به عنوان مثال اگر يک فايل را به دايرکتوري انتقال دهم که شامل ايلي با همان نام است، فايلي که منتقل ميکنم، فايل موجود در دايرکتوري را بازنويسي خواهد کرد. در اين صورت ممکن است دچار مشکل شويد بنابراين کمي دقت کنيد. rmاز سويي ديگر دستوري وجود دارد که موقع استفاده از آن بايد دقت زيادي بکنيد. Rm مخفف remove بوده ودستوري است که براي حذف يک فايل يا دايرکتوري (و محتويات آن) از آن استفاده ميشود. برلاي استفاده از اين دستور rm و پس از آن نام فايلي را که ميخواهيد براي هميشه حذف شود، تايپ کنيد. براي حذف يک دايرکتوري ميتوانيد از همان دستور همراه با پارامتر -R به صورت زير استفاده کنيد: rm -R directoryname به طور قطع directoryname نام directoryname است که ميخواهيد حذف کنيد. همچنين ميتوانيد از rmdir که مخفف remove directory است استفاده کنيد. هنگام استفاده از اين دستورات دقت بسيار زيادي داشته باشيد، زيرا ايتفادهي نادرست از انها ميتواند موجب توقف کار سيستم عاملتان شود. Locate/slocateاين دستورها در يافتن فايلهاي روي سيستم فايل به شما کمک ميکنند. مکان تمام فايلها در سيستم شما در يک پايگاه داده ذخيره شده است که توسط دستور updatedb به طور متناوب بهنگام ميشود. براي يافتن يک فايل، locate يا slocate (بسته به اينکه کداميک روي کامپيوتر شما نصب شده است) و سپس قسمتي از نام فايل يا directoryname را که به دنبال آن هستيد تايپ کنيد. به عنوان مثال اگر من در جستجوي فايلي به نام "icecast.conf' باشم، دستور زير را تايپ ميکنم : Slocate icecast.conf اگر با اجراي اين دستور هيچ پاسخي توليد نشود، به اين معني اسن که يا فايل در سيستم من وجود ندارد و يا اينکه پايگاه داده از مکان آن بي اطلاع است. در حالت دوم من updatedb را تايپ کرده و دوباره انتحان ميکنم. با دستورات locate و slocate نميتوانيد هيچ چيزي را از بين ببريد، بنابراين هرچقدر که دوست داريد تمرين کنيد. بعضي اوقات ممکن است اجراي دستور updatedb به خاطر اينکه اخيرا آن را اجرا نکرده ايد يا ماشين کندي داشته باشيد، طول بکشد. اجراي اين دستور ممکمن است مقدار زيادي از توان CPT را در ماشينهاي کند بگيرد. بنابراين هرگز اين دستور را زماني که يک برنامهي مهم را اجرا ميکنيد، به کار نبريد. همچنين يافتن فايلها روي کامپيوترتان را با دستورات whereis و find آزمايش کنيد. cpحدس بزنيد اين دستور مخفف چيست؟ copy. روش ايتفاده از اين دستور مانند mv است، با اين تفاوت کهخ اين دستور فايل اصلي را نگهداشته و يک کپي از آن ايجاد ميکند. Pingاين دستور معمولا جزء ده دستور اولي که نياز به يادگيري آنها داريد، نيست.ولي براي دانستن اينکه آنلاين هستيد بسيار کارامد است. Ping درخواستي را به هر يک از کامپيوترهاي روي شبکه ارسال ميکند، اگر آن کامپيوتر درخواست را بگيرد جواب ميدهد. ابتدا ping و پس از ان يک URL را که ميشناسيد تايپ کنيد. به عنوان مثال بهتر است دستور زير را امتحان کنيد ping www.cnn.com
اگر آن کامپيوتر درخواست را دريافت کند، اطلاعات ارسالي از طرف آن از طريق ترمينال براي شما نمايش داده ميشود. اين اطلاعاتبه طور مداوم scroll خواهد کرد، براي توقف آن ctrl و c را تايپ کنيد تا فرايند Ping متوقف شود. اگر از ping هيچ پاسخي دريافت نکنيد، احتمالا Offline هستيد. با اين حال بعضي ماشينهاي آنلاين با دلايل امنيتي و ... به درخواستهاي ping پاسخ نمدهند. بنابراين مطمئن شويد که ماشيني که ping ميکنيد، واقعا به درخواستهاي ping پاسخ ميدهد. به علاوه برخي اتصالهاي اينترنتي به ترافيک Ping اجازهي عبور نميدهند... به عنوان مثال هم اکنون که من اين راهنما را مينويسم، در يم کافي نت در Riga هستم که سرعت ارتباطي آن زياد است، ولي نميتوانم Ping کنم.شايد به اين دليل که آنها فکر ميکنند تنها خرابکارهاي بدانديش از Ping استفاده ميکنند، بنابراين از نوعي امنيت شبکهي پارانويايي استفاده ميکنند که اجازهي انجام هيچ کار مفيدي را نميدهد. TabTab بيشتر به عنوان يککليد مطرح بوده و يک دستور نيست. کليد Tab در هر صفحه کليدي وجود دارد و داشتن آن در لينوکس بسيار مفيد است. ممکن است پيش تر از اين کليد براي دندانه گذاري کلمات در يک کلمهپرداز استفاده کرده باشيد. ميتوانيد از اين کليد به همين شکل در کلمهپردازهاي لينوکس نيز استاده کنيد. ولي اگر در ترمينال لينوکس از اين کليد استفاده کنيد، به قدري در زمان صرفهجويي ميکند که پس از کسب مهارت همواره از آن استفاده خواهيد کرد. کليد Tab لزوما يک auto-complee است. به عنوان مثال اگر بخواهم فايلي به نام 'dsjkdshdsdsjhds_ddsjw22.txt' را با استفاده از دستور mv به جاي ديگري منتقل کنم، ميتوانم تک تک حروف نام فايل را تايپ کن يا اينکه پس از دستور Mv (به معني MOVE) چند حرف اول نام فايل را تايپ کرده و Tab بزنم. بقيهي اسم قايل به طور خودکار نوشته ميشود. اگر نام فايل به صورت خودکار نوشته نشود، به اين معني است که چند فايل (يا دايرکتوري) وجود دارند که نام آنها با همان چند حرف شروع ميشود. براي حل اين مشکل ميتوانم چند حرف ديگر از اسم فايل را تايپ کرده و tab بزنم يا براي کمک گرفتن ميتوانم دوبار Tab بزنم تا ليستي از فايلهايي که نامشان با اين چند حرف شروع ميشئد برايم نشان داده شود. Tab دوست شماست، از آن زياد استفاده کنيد. دستورهاي ديگردر ابتداي اين بخش گفتم که تعدادي دستور ديگر نيز وجود دارند که بهتر است انها را بدانيد. اين دستورات عبارتند از:
منقبلا در مورد بعضي از انها مانند whereis و updatedb صحبت کرده ام. ديگر دستورها براي تصب نرمافزار کاربرد دارند. Moreدستور More در حالتي که بخواهيد خروجي طولاني هر دستوري را در ترمينال کنترل کنيد، مفيد است. براي مثال اگر من در دايرکتوري شمل هزار فايل باشم، خروجي دستور Ls به صورت مناسبي در پنجرهي کوچک ترمينال فرار نميگيرد و اطلاعات با سرعتي غير قابل خواندن توليد شده و پايين خواهد رفت. براي کند کردن گذشتن اطلاعات به نحوي که قابل خواندن باشد، ميتوانيم از دستور More به شکل زير استفاده کنيم: ls | more اگر در دايرکتوري هزار فايلي از اين دستور استاده کنم، در هر لحظه يک صفحه از خروجي نشان داده ميشود و با فشردن کليد space صفحهي بعدي ظاهر ميشود. فشردن q ، more را متوقف ميکند. ممکن است در مورد خط راست خنده دار در دستور بالا تعجب کنيد، اين دستور pipe نام دارد. Pipe امکان ترکيب کردن دستورها را براي کنترل نوع خروجي فراهم ميکند و معمولا براي اصلاح يک دستور به کار ميرود (کاري که پارامترهاي دستور نيز انجام ميدهند). بنابراين زماني که مهارت لازم را در استفاده از دستورها کسب کنيد، ميتوانيد چيزهايي بنويسيد که شبيه به معادله هستند ولي در واقع راههايي کارا براي استفاده از دستورات استاندارد هستند. pipe نقش مهمي در افزايش کارايي شما دارد. |