سلام دوستان
باتوجه به تیتر مقاله و روشن بودن راه آن میپردازیم به اصل موضوع و از تعریفات اولیه اجتناب میکنیم.
در برخی از موضوعات این مقاله برای جلوگیری از مطالب تکراری از مقاله های ایمان عزیز استفاده میکنم که در اخر این پارت اشاره خواهم کرد.(آموزش فارسی LPIC 1) سعی میکنیم این دو مقاله مکمل یکدیگر باشند.
برای پارت هایی از این مقاله که مثل این پارت تعداد دستورات و معرفی آنها زیاد هست برای حفظ چارچوب اصلی مقاله از توضیح کامل آن دستور (مثل همه اپشن های دستور ها) صرف نظر میکنم ولی در پایان هر پارت یه فایل pdf ضمیمه خواهد شد که تمام اپشن های دستورات مربوط به همان مقاله یا پارت مربوطه کامل تر و با معرفی اپشن های مفید و بیشتر در آن قرار خواهد گرفت که در این پارت معرفی کاراکتر های ویژه جزو همین pdf خواهد بود.
اغلب آموزش ها یکی هست و در تمامی توزیع ها یکسان است مگر این که برنامه و یا … خاصی رو بخواهیم توضیح بدیم.
تشخیص هویت و اطلاعات کاربران لوگین کرده
پس از ورود به حساب کاربری خود در لینوکس با دیدن ترمینال میتوانیم بفهمیم که یوزر ما عادی هست یا روت(بالاترین سطح دسترسی).
وقتی کامند لاین به این شکل باشد یعنی یوزر ما عادی هست: $
alireza@alireza:~$
وقتی با یوزر روت وارد شویم به این صورت خواهد بود : #
alireza@alireza:~#
خب حالا میخواهیم بفهمیم که این یوزر وارد شده ما چه مشخصاتی داره و با چه هویتی لینوکس ما را میشناسد برای مشخص کردن این اطلاعات به معرفی چند کامند میپردازیم :
با استفاده از دستور id مشخصاتی مثل user id و group id و عضویت در گروه های ذکر شده در تصویر (cdrom,adm,..) نشان داده خواهد شد.
alireza@alireza:~$ id
who
این دستور هم مشخصات کاربران لوگین کرده(یعنی قابلیت نمایش اطلاعات چند کاربر) و هم تاریخ و زمان ورود انها رو نشان میدهد:
alireza@alireza:~$ who
که خروجی دستور به صورت زیر هست:
w
دستور دیگر برای نشان دادن مشخصات یوزری که لوگین کرده :
بررسی دایرکتوری ها و دستورات مرتبط با آن(pwd-cd-ls…)
پس از مشخص کردن اطلاعات اولیه کاربر به بررسی دایرکتوری ها میپردازیم.
pwd
خب در ابتدا برای فهمیدن اینکه در چه مسیری هستیم و یا دایرکتوری جاری ما کجاست از دستور pwd استفاده میکنیم :
alireza@alireza:~$ pwd
که ما در هر مسیری باشیم خروجی این دستور همان مسیر را نشان خواهد داد.
یا وقتی به دایرکتوری دیگر میرویم :
میبینیم که وقتی به دایرکتوری Desktop میرویم دستور pwd به ما مسیر از home/ تا Desktop رو نشان خواهد داد.
cd
حالا میخواهیم به دایرکتوری دیگری برویم و بین دایرکتوری ها حرکت کنیم برای این کار از دستور cd و اگر میخواهیم به چند دایرکتوری تو در تو برویم برای جداسازی باید از کاراکتر / استفاده کنیم به طور مثال:
چند نمونه دیگر از استفاده دستور cd :
برای برگشتن به دایرکتوری قبلی:
cd ..
برگشت به 2 دایرکتوری قبلی:
کد:
cd ../..
برای بازگشت به دایرکتوری اولیه یا همان home/al1r3z4/ (که در ابتدا که لوگین کردیم در همین دایرکتوری هستیم):
cd
ls
برای دیدن محتویات داخل دایرکتوری ها (شامل فایل ها و دایرکتوری های موجود در دایرکتوری جاری) از دستور ls استفاده میکنیم:
Usage: ls [OPTION]... [FILE]... alireza@alireza:~$ ls
خروجی این دستور به صورت زیر است:
نکته : زمانی که ما یک دستور رو تایپ میکنیم (مثل همین ls ) میتوانیم کارکتر ها (کارکتر های ویژه) و option مفید دیگر به آن اضافه کنیم تا خروجی ما مفید تر یا با اطلاعات کامل تر به نمایش داده شود.
command options
به طور مثال میتوان علاوه بر تایپ دستور اصلی به آن options (سویچ ها) و ارگومان و یا متغییر های محیطی و کارکتر های ویژه (special characters) به دستور اضافه کرد.
مثال موضوع فوق با دستور ls:
از دستور ls به راحتی نمیگذریم چون بعضی از options این دستور مفید هستند.
اگر دستور ls رو بدون options تایپ کنیم فقط لیستی از فایل ها (اسم) اون دایرکتوری جاری رو بدون جزئیات نشان میدهد.
la- یکی از اپشن های دستور ls هست که سویچ l- (یک لیست مشروح از جزئیات فایل ها) باعث میشه فایل ها و پوشه ها همراه با پرمیشن و سایز و تاریخ ساعت و.. نشان داده شود.
سویچ a-
برای نمایش همه فایل ها یا اصطلاحا فایل های نقطه دار(مخفی) است.در لینوکس اگر اول اسم فایل ها یا دایرکتوری ها نقطه بگذاریم اون فایل به صورت مخفی در میاد و با دستور ls بدون استفاده از اپشن a- این فایل ها به نمایش در نخواهند امد در تصویر زیر مثلا فایل cache. یک فایل مخفی است.به این شکل:
نکته1: برای بدست اوردن اطلاعات مفید از دستور مورد نظر یا توضیحات و معرفی options های آن از دستور help ان دستور استفاده میکنیم به طور مثال :
ls --help
که با توجه به تصویر به ما توضیح مختصری در مورد دستور و چگونگی اجرای دستور و option های اون و سینتکس های پشتیبانی شده میدهد.
نکته2: برای بدست اوردن اطلاعات کامل تر در مورد دستور ها از manual page اونها استفاده میکنیم تقریبا تمامی دستورات در لینوکس یک man یا manual فایل دارند که به صورت زیر است:
کد:
Usage: man [OPTION...] [SECTION] PAGE... مثال: man ls
این مثالی برای اپشن های یک دستور بود حالا ما میتوانیم از آرگمان هم استفاده کنیم (ارگمان شامل یک مسیر یا نام یک فایل هست )
به طور مثال
[command [options] [arg] مثال: ls –la /home/al1r3z4/
/home/al1r3z4/ ارگمان ماست که در این مثال با استفاده از ارگمان محتویات دایرکتوری home/al1r3z4 رانشان خواهد داد.
mkdir
این دستور برای ایجاد یک دایرکتوری هست که به این صورت استفاده میکنیم:
Usage: mkdir [OPTION]... DIRECTORY... alireza@alireza:~$ mkdir filename1 مثال: alireza@alireza:~$ mkdir alireza
یا میخواهیم چند دایرکتوری ایجاد کنیم که به صورت زیر عمل میکنیم:
alireza@alireza:~$ mkdir filename1 filename2 filename3 ...
که با وارد کردن این دستور یک دایرکتوری ایجاد خواهد شد (این دستور در هر دایرکتوری باشیم دایرکتوری جدید (alireza) در همان ایرکتوری ایجاد خواهد شد.
سویچ m-
برای ساختن دایرکتوری و همزمان پرمیشن دادن به اون دایرکتوریی از سویچ m- استفاده میکنیم.
alireza@alireza:~$ mkdir -m 755 filename
بعد از این دستور با استفاده از دستور ls -l فایل مورد نظر با پرمیشن داده شده به نمایش در خواهد امد.
cp
از دستور cp برای کپی کردن فایل ها و دایرکتوری ها استفاده میشود هميشه براي cp بايد دو آرگومان را بدهيم اولين آرگومان به عنوان فايل مبدا است ,که شامل يک نام مسير (فایل , دایرکتوری..) و دومين آرگومان به عنوان مقصد است , که مجددا ميتواند شامل يک نام مسير باشد .
زماني که بيشتر از دو آرگومان بدهيم , همه آرگومانها بجز آخرين به عنوان فايل هاي مبدا هستند و آخرين آرگومان به عنوان يک دايرکتوري مقصد است و فايلهاي مبدا با نام هاي اصلي در دايرکتوري مقصد کپي خواهد شد و به صورت زیر استفاده میشود:
Usage: cp [OPTION]... [-T] SOURCE DEST or: cp [OPTION]... SOURCE... DIRECTORY or: cp [OPTION]... -t DIRECTORY SOURCE alireza@alireza:~$ cp ........
سویچ r-
برای کپی کردن دایرکتوری ها از اپشن r- استفاده میکنیم چون با command بالا نمیتوان دایرکتوری را کپی کرد :
alireza@alireza:~$ cp -r <path of folder> <new path>
mv
از دستور mv برای انتقال فایلها و دایرکتوری یا تغییر نام آنها استفاده میشود mv همانند دستور cp دو آرگومان دارد , تنها تفاوت اين است که در mv فایل مبدا پاک ميشود و تنها فايل مقصد باقي ميماند به صورت زیر :
کد:
Usage: mv [OPTION]... [-T] SOURCE DEST or: mv [OPTION]... SOURCE... DIRECTORY or: mv [OPTION]... -t DIRECTORY SOURCE... مثال: alireza@alireza:~$ mv filename newfilename
اگه در دستور بالا فایل newfilename از قبل وجود داشته باشه کار انتقال فایل انجام میشود ولی اگر نباشد کار تغییر اسم انجام میشود.
حالا میخواهیم چندین تا فایل رو انتقال بدهیم (مانند cp)
کد:
alireza@alireza:~$ mv file1 file2 file3 newfile
با دستور بالا تمام فایل های file1 file2 fil3 را به newfile انتقال پیدا میکند.
special characters
در ادامه همین بحث با استفاده از کارکتر های ویژه در دستورات میپردازیم که چند مثال میزنیم اما بحث کامل و معرفی بیشتر کارکتر های ویژه را ضمیمه فایل pdf اخر این پست خواهم کرد.
در واقع ما با استفاده از این کارکتر ها میخواهیم خروجی دستور اونطور که میخواهیم به ما نشان داده شود(یا برای مثال هدایت خروجی دستور به یک فایل یا مرتب نمایش دادن خروجی و…) وخروجی را برای ما مفید تر میکتد.
cat
فبل ار معرفی کاراکتر های ویژه به معرفی بک دستور کاربردی میپردازیم .از دستور cat برای نمایش فایل های متتی و ایجاد فایل های متنی جدید،کپی کردن محتوای فایل های متنی (ترکیب آن با بعضی از کاراکتر ها که در ادامه اشاره خواهم کرد) استفاده میشود.
سویچ n-
برای شماره گذاری خطوط خروجی فایل متنی از سویچ n- دستور cat استفاده میکنیم
pipe یا |
برای redirect کردن خروجی از کاراکتر pipe استفاده میکنیم که خروجی دستور اول رو میگیره و به ورودی دستور بعد میدهد(میتوان از چند دستور در یک خط استفاده کرد). به طور مثال میخواهیم محتویات فایل passwd رو در خروجی به ما به صورت sort شده نشان دهد.
در تصویر اول مشاهده میکنیم که فایل passwd مرتب نیست (نسبت به حروف الفبا )
علامت | یا pipe استفاده از این کاراکتر این هست که خروجی دستور اول را گرفته , و به ورودی دستور بعدی میدهد که اینجا از sort استفاده میکنیم.
cat /etc/passwd | sort
دراین تصویر میبینیم که فایل passwd نسبت به حروف الفبا sort شده.
یا میتوان دستوری دیگر به این command اضافه کرد به طور مثال دو دستور زیر را تعریف کرده و استفاده میکنیم :
less
زمانی پیش می آید که تعداد خطوط چاپ شده ی یک فایل در ترمینال زیاد است و ترمینال فقط خطوط آخر را برای ما نمایش می دهد . لذا برای کنترل صفحه های باز شده می توان از این برنامه استفاده کرد.
رایج ترین کلید های مورد استفاده در این برنامه up / down / q / Ctrl + b / Ctrl + d می باشد . دو کلید Ctrl + b و Ctrl + d به ترتیب به صفحه ی قبلی و صفحه ی بعدی می روند .
more
دقیقا همان کار less را انجام می دهد با این تفاوت که دیگر نمی توان به خطوط و صفحات بالایی رفت . معروف ترین کلید های استفاده شده در این برنامه q / Enter / Space می باشد .
که به اینصورت میتوان نوشت :
cat /etc/passwd | sort | more
semicolon یا ;
کاراکتر بعدی که مثال میزنیم ; هست که یک جداکننده دستورات هست که ما میتوانیم چندتا دستور رو تو یک خط اجرا کنیم.
alireza@alireza:~$ ls /home/ ; date
کاراکتر <
این کاراکتر خروجی یه command میریزه توی یه فایل و اگه اون فایل از قبل وجود داشته باشه اطلاعات رو overwrite یعنی روی اطلاعات اون فایل میریزه به این صورت که اگه چیزی توش داشته باشید بعد از انجامش اطلاعات جدید کامندی که خروجیش رو redirect کردید رو خواهید داشت مثلا : ls > aa.txt این دستور اسم فایل دایرکتوری جاری (Desktop) رو داخل فایل aa.txt میریزد .
خب با توجه به تصویر ما با استفاده از کاراکتر < خروجی دستور ls (که شامل لیست اسم فایل های دایرکتوری Desktop هست) داخل فایل تکست aa.txt که ساختیم قرار دادیم.
کاراکتر <<
این کاراکتر هم دقیقا مثل < عمل میکند با این تفاوت که اگر اون فایل (اطلاعات داخل آن فایل) وجود داشته باشد اطلاعات اولیه فایل پاک نمیشه بلکه بعد از انتهای اون محتویاتی که توی اون فایل بوده اطلاعات جدید رو میریزد.
( مقاله همچنان در حال تکمیل است)
===============================End of Part 1============================
همان طور که در اول برای تعریف برخی از دستورات و تعریفات از مقاله ایمان عزیز استفاده میکنم.
مفاهیم پرمیشن در لینوکس
دستورات: chmod umask chown chgrp
برای معرفی این تعاریف به این مقاله مراجعه کنید که به طور مفصل بیان شده :
آموزش فارسی LPIC 1 – قسمت اول
==================================================================
موضوعات فایل pdf این پارت : معرفی بیشتر و مفید تر اپشن های دستورات و معرفی کامل کاراکتر های ویژه و مثال برای آنها.
پایان قسمت اول فایل pdf به زودی قرار خواهد گرفت امید وار هستم مفید بوده باشد.
منبع : او اس لرن دات آی آر | http://OSLearn.ir
نویسنده : AL1R3Z4