ويرايشگر vim

ژانویه 18, 2016

ما تا اينجا تعداديفرمانياد گرفتيم ولي گاهي اوقا شما نياز داريد يک فايل را ت يير دهيد و يا تنريماتي که م د نررت ان اس ت را اعمال کنيد. بنابراين لازم است و مي توان گفت ضروري است

که يک لينوکس کار بتواند با يک editor کار کند.ويرايش گر ي ک ه گواهینامه ssl ما با آن کار مي کنيم ويرايشگر vim مي باشد. در اين جلسه ما به طور کامل ويرايشگر Vim را بررسي ميکنيم.

[N.pardis@lpi1 ~]$ vim [N.pardis@Lpi1~]$man vim

اين فرمانجزوه يکاملي هم دارد. براي اينکه يک فايل را ويرايش کنيم اين فرمان را ميزنيم

 

File-namevim[N.pardis@Lpi1~]

 

اگر فايلي را نتوانيم ت يير دهيم vim در خط آخر اعتراض ميکند و با خط قرمز اعتراضش را نشان ميدهد. Vim محدوديت ندارد و اگر باينري ) exe (

باشد ميشود انجام داد و به طور کلي هر چيزي را آماده است ويرايش کند. برنامهاي بنويسيد که يک اسم را بخواند و حرف اولش را چاپ کند:

)ميخواهيم اين برنامه را به صور ي ک فرم ان در لينوکس در بياوريم. شروع کار به صور زير است و فايلي با نام test1 ميسازد:

[N.pardis@Lpi1~]$vim testl

براي وارد کردن دستورا و يا ت ييرا در فايل کليد i در صفحه کليد را فشار مي دهيم و ت ييراتي را که مي خواهيم اعمال م ي کنيم. براي ذخيره و خارج شدن از محيط ويرايشگر shift+:+x را ميزنيم حالا ls –l که بزنيم مشخصا فايل را ميبينيم و اگر اس م فايل را بزنيم اجرا ميشود.

[N.pardis@Lpi1~]$ test1

ميبينيم که اجرا نشد و به ما پي ام command not found را ميدهد که اين به اين دليل است که لينوکس به خاطر مس الل امنيتي current directory را نميگردد و از بيرون ميخواهد بياورد برخلاف ويندوز مايکروسافت. )مسالل امنيت ي اينس ت ک ه ممکن است فرماني مثل date در دايرکتوري جاري دستکاري شده باشد و اگر م ا date را از دايرکت وري جاري اجرا کن يم م ثلاً format يا delete را انجام دهد به همين دليل است که از دايرکتوري جارينميخواند( حالا اگر خودمان مشخص کنيم که از دايرکتوري جاريبخوان بايد به صور زير بزنيم

[N.pardis@Lpi1~]$./testl Permission denied

که حالا اجرا ميشود ولي ممکن است پي ام permission denied هم بگيريد.

[N.pardis@Lpi1~]$chmod 777 test1

مجوزي که ما روي اين فايل اعمال کرديم خيلي خطرناک است و هيچ وقت تحت هيچ شرايطي نبايد اين مجوز را بدهيم. بايد حواسمان باشد که اسم مت يرها را با حروف بزرگ و بقيه را با حرف کوچک بنويسيم اگر اشتباه بنويسيم ممتني است خطالي گرفته شود. که اين error را semantic error ميگويند و اگر دستور کلاً اشتباه باشد syntax error ميدهد. سرور مجازی برنامهاي بنويسيد که اسم را بگيرد و حرف آخر آن را چاپ کند؟

[N.pardis@Lpi1~]$vim testn echo "please Enter ur NAME:" read N echo $N |tail-c2

خروج از vim با

shift+:+x [n.pardis@lpi ~]$ testn -bash: testn: command not found

بنابراين براي اجرا ./testn را به کار مي گيريم:

[N.pardis@Lpi1~]$ ./testn bash:./testn permission denied

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

[N.pardis@Lpi1~]$chmod 777 test1 [N.pardis@Lpi1~]$ ./testn

حالا ميبينيم که اجرا ميشود و از ما اسم ميخواهد و حرف آخرش را نمايش ميدهد.