اموزش برنامه نویسی

در حمایت از نرم افزار ازاد و هرچیزی که مربوط به گیک هست:)

اموزش برنامه نویسی

در حمایت از نرم افزار ازاد و هرچیزی که مربوط به گیک هست:)

کاراکتر های خاص در لینوکس

پنجشنبه, ۱۲ تیر ۱۳۹۹، ۱۰:۵۵ ب.ظ


سلام به تمامی دوستداران نرم افزار ازاد و لینوکس 
در این قسمت میخوایم مبحث کاراکتر های خاص یا Expantion 
با هم یادبگیریم.

خوب حالا این اکسپنشن ها چی هستند؟ ببینید اکسپنشن ها یا کاراکتر های خاص فیچر هایی هستنند که خود شلِ بش در اختیار ما میزاره و ما میتونیم از اینها استفاده کنیم در کامندلاین. برای مثال ما تعدادی فایل در دسکتاپ داریم که    تعداد خیلی زیادی دارند و خوب محاله که لینوکسی باشید و بخواید یکی یکی اقدام به حذف کردنشون بکنید:))))
خوب پس حرفه ای ها چیکار میکنند؟ حرفه ای ها میان از کاراکتر های خاص خود شل استفاده میکنند که چهار تا هستند و طبق الویت استفاده میشند.
" * "
   ?
   []
‌   {}
خوب حالا که فهمیدیم کاراکتر های خاص چه کاراکتر هایی هستند  بریم باهم ببینیم که حالا چطور باید اینهارو استفاده بکنیم:
خوب همونطور که گفتیم طبق الویت اینها استفاده میشند و به مراتب محدود تر میشند.
کاراکتر خاص ستاره:
ستاره از دید شل به معنای "هر کاراکتری به هر تعدادی". ستاره میتونه جای هرچیزی به هر تعدادی بشینه. ستاره حتی میتونه جای هیچی هم بشینه
خوب برای مثال:
echo /dev/sd* 
شامل تمام فایل هایی میشه که در اسلش /dev هستند و با اس دی شروع میشند حتما و بقیش هرچیزی بود با هر پسوندی بود چاپ کن.
-خوب کاراکتر بعدی که از ستاره محدود تر هستش کاراکتر خاصِ علامت ? هستش. این کاراکتر محدودتر از ستاره هستش و به معنای "فقط یکی هستش".
ستاره به معنای هرچیزی به هر تعدادی بود ولی در علامت سوال یعنی فقط یک کاراکتر. یعنی هر علامت سوال به معنای یک کاراکتر هستش. خوب برای نمونه:
echo /dev/sd? 
خروجیش فایل هایی هست که دو کاراکتر اول sd هستش و کاراکتر سومش مهم نیست چی باشه. 
همونطور که گفتیم هر علامت سوال به معنای یکی هستش پس میتونیم اینطوری هم استفاده بکنیم:
echo /dev/sd??
خوب کاراکتر بعدی که نسبت به ? محدودتر هستش کاراکتر خاص "[]" یا class هستش
خوب یه دوره باهم بکنیم 
ستاره به معنای هر کاراکتری به هر تعدادی بود 
و در کاراکتر علامت سوال به معنای هر علامت سوال به ازای یک کاراکتر هستش 
خوب همه کاراکتر هایی که کِلَس یا کروشه هستند به اندازه یک علامت سوال هستند. 
که از کاراکتری که در کروشه هستند به معنی OR یا هرکدام هستند 
برای نمونه 
echo /dev/sd[ab]* 
به معنای این هستش که تمام فایل هایی که در اسلش dev هستند و با sd هستند کاراکتر سومش یا a باشه یا b هستش و بقیش مهم نیست 
sd[a or b] 
خوب کاراکتر خاصِ اخر که از همه محدودتر هم هستش کاراکترِ خاصِ "{}" یا براکت هستش.
خوب کاراکتر هایی که در داخل اکسپنشن براکت قرار دارند به معنای "فقط همین کاراکتر ها میشه". در کاراکتر کروشه به معنای یکی از اینها یا or بود ولی در براکت میشه شامل این کاراکتر ها.
برای مثال در دسکتاپ دایرکتوری میسازیم که به صورت تصادفی با این حروف به طور رندوم ساخته شه. به این صورت:
mkdir -p -v /AmirShams/{absdckk}
نکته: کامند mkdir برای ساختن دایرکتوری یا فولدر استفاده میشه 
نکته: کامند mkdir با اپشن -p برای ساختن دایرکتوری های تو در تو استفاده میشه.
نکته: اپشن v-  لاگ هارو نشون میده (همونطور که میدونید اکثرا کامند ها در لینوکس در حالت سایلنت هستند).

همچنین برای دانلود به صورت pdf کلیک کنید.
خوش خندون باشید:)))

موافقین ۰ مخالفین ۰ ۹۹/۰۴/۱۲
Amir Shams

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی