بایگانی

Posts Tagged ‘DIR_COLORS’

چ‌چ‌چ‌ (۸)‌: رنگی کردن خروجی فرمان ls در BASH


خیلی وقت بود که دنبال این بودم که بفهمم چطوری خروجی ls رو توی bash رنگی کنم و از این حالت مرده‌ی سادش در بیارم‌. خوبی این رنگ‌بندی موقعی معلوم می‌شه که توی دایرکتوری‌های تو در تو گم می‌شی‌. خلاصه یه پست از پیروزان عزیز امروز بانی خیر شد و من رو مجبور کرد که به سمت حل این مشکل برم و چیزایی یاد بگیرم‌. البته ناگفته نمونه که پیروزان هم چیز جالبی معرفی کرد که در ادامه‌ی مطلب توضیح استفاده ازش رو می‌دم‌.

برای رنگ کردن نتیجه‌ی خروجی خود دستور ls یه آرگومانی به این صورت داره ‎-‎‎-color که خروجی رو رنگی می‌کنه‌. یعنی هر بار که می‌خواین خروجی رنگی بگیرین باید یه همچین دستوری رو بزنین‌:

[bash]
ls –color
[/bash]
که خوب این یه کم ممکنه خسته کننده باشه‌. برای رفع مشکلش هم که طبیعیه می‌تونین از alias استفاده کنین‌، و برای ماندگار شدنش یه همچین خطی رو به فایل ‎.bashrc تون اضافه کنین:
[bash]
alias ls=»ls –color=always»
[/bash]
این دقیقا کاریه که خیلی از توزیع‌ها به صورت پیش‌فرض انجامش می‌دن‌. ولی خوب همونطور که گفتم دوست عزیزم پیروزان یه چیز جالب‌تر هم معرفی کرده بود‌. ماجرا از این قراره که این آرگومان ‎-‎‎-color که بحثش رو کردیم‌، بر می‌گرده از یه فایلی به اسم DIR_COLORS توی شاخه‌ی etc الگوی رنگ‌بندیش رو بر می‌داره‌ (‌که البته با توجه به توزیع‌های مختلف ممکنه جای این فایل فرق کنه‌). حالا یه آدم باحال نشسته و رنگ‌بندی متنوعی برای سیصد نوع فایل مختلف آماده کرده و توی این کانال git منتشر کرده‌. برای استفاده از این فایل اول اون رو دانلود کنین و برای مثال توی شاخه‌ی خانگی لینوکستون ذخیره کنین‌. حالا با اضافه کردن خط زیر توی فایل ‎.bashrc از رنگ‌بندی جدید لذت ببرین‌:
[bash]
eval $(dircolors -b LS_COLORS)
[/bash]
نمونه‌ای از خروجی این فایل به صورت زیره‌:

نمونه‌ای از خروجی فایل LS_COLOR