سؤال

عند القيام بذلك ls في شل باش، في بعض الأحيان هناك ألوان للإشارة إلى أنواع موارد مختلفة، ويمكنك تمكين / التحكم في هذا مع --color جدال.

ولكن لا تقدم صفحة الرجل أو Google إجابة على السؤال:

ماذا تشير هذه الألوان بشكل افتراضي، وكيف يمكنني عرض ما يستخدمه النظام الحالي؟


تحديث:

شكرا للجميع من الإجابات حتى الآن، ولكن لتسهيل اختيار الفائز، هل يمكن لأي شخص الذهاب خطوة أخرى وتوفير طريقة لإخراج الأوصاف في الألوان التي تنطبق عليها.

هممم ... مثالي لا يعمل عند نشره (فقط عند معاينة)، لذلك إذا قمت بمعاينة هذا الرمز، فسيقوم بإظهار ما أقصد ...

<ul style="list-style:none; background:black; margin:0;padding:0.5em; width:10em">
  <li style="color:blue">directory</li>
  <li style="color:aqua">symbolic link</li>
  <li style="color:#A00000;">*.tar files</li>
  <li style="color:white">...</li>
</ul>

شكرا.

هل كانت مفيدة؟

المحلول

يتم تعريف الألوان من قبل $LS_COLORS متغيرات البيئة. اعتمادا على Distro، يتم إنشاؤه تلقائيا عند بدء تشغيل Shell، باستخدام ~/.dircolors أو /etc/DIR_COLORS.

يحرر:

لسرد معاني الألوان، استخدم هذا البرنامج النصي:

eval $(echo "no:global default;fi:normal file;di:directory;ln:symbolic link;pi:named pipe;so:socket;do:door;bd:block device;cd:character device;or:orphan symlink;mi:missing file;su:set uid;sg:set gid;tw:sticky other writable;ow:other writable;st:sticky;ex:executable;"|sed -e 's/:/="/g; s/\;/"\n/g')
{
  IFS=:
  for i in $LS_COLORS
  do
    echo -e "\e[${i#*=}m$( x=${i%=*}; [ "${!x}" ] && echo "${!x}" || echo "$x" )\e[m"
  done
}

نصائح أخرى

تشغيل الأمر dircolors -p سيتم طباعة جميع إعدادات الألوان الافتراضية. يرى http://linux.about.com/library/cmd/blcmdl1_dircolors.htm..

يجب أن تكون قادرا على رؤية قائمة التعيينات في / إلخ / dire_colors. يمكنك تجاوز ذلك عن طريق إنشاء .DIR_COLORS في الدليل الرئيسي الخاص بك.

حاول "رجل 5 dir_colors" لمعرفة كيفية تعيينه على نظامك. الألغام لا يملك / إلخ / dire_colors لذلك يجب تعيين مكان آخر.

جوجل ل ls_colors. لبعض الروابط المفيدة.

يحرر: لإدراج الألوان، قد يعطي هذا البرنامج النصي البسيط البسيط فكرة:

IFS=:
set $LS_COLORS
for C in $*
do
    IFS='='
    set $C
    echo -e "\033[$2m$1\033[00m"
done
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top