কনসোলে এলএস সহ ডিরেক্টরিগুলির জন্য রঙটি কীভাবে পরিবর্তন করব?


165

আমার কনসোলে ডিরেক্টরিগুলির জন্য রঙটি এমন নীল, যে অন্ধকার ব্যাকগ্রাউন্ডে পড়া শক্ত।

আমি কীভাবে রঙ সংজ্ঞা পরিবর্তন করতে পারি ls?

উত্তর:


250

আপনার ডিরেক্টরি রঙ পরিবর্তন করতে, ~/.bashrcআপনার সম্পাদক দিয়ে আপনার ফাইল খুলুন

nano ~/.bashrc

এবং ফাইলের শেষে নীচে প্রবেশ করুন:

LS_COLORS=$LS_COLORS:'di=0;35:' ; export LS_COLORS

কিছু সুন্দর রঙ পছন্দ (এই ক্ষেত্রে 0;35এটি বেগুনি রঙের হয়):

Blue = 34
Green = 32
Light Green = 1;32
Cyan = 36
Red = 31
Purple = 35
Brown = 33
Yellow = 1;33
Bold White = 1;37
Light Grey = 0;37
Black = 30
Dark Grey= 1;30

প্রথম সংখ্যাটি হল শৈলী (1 = গা bold়), তার পরে একটি সেমিকোলন এবং তারপরে রঙের আসল সংখ্যা, সম্ভাব্য শৈলী (প্রভাব) হ'ল:

0   = default colour
1   = bold
4   = underlined
5   = flashing text (disabled on some terminals)
7   = reverse field (exchange foreground and background color)
8   = concealed (invisible)

সম্ভাব্য পটভূমি:

40  = black background
41  = red background
42  = green background
43  = orange background
44  = blue background
45  = purple background
46  = cyan background
47  = grey background
100 = dark grey background
101 = light red background
102 = light green background
103 = yellow background
104 = light blue background
105 = light purple background
106 = turquoise background
107 = white background

সমস্ত সম্ভাব্য রঙ:

31  = red
32  = green
33  = orange
34  = blue
35  = purple
36  = cyan
37  = grey
90  = dark grey
91  = light red
92  = light green
93  = yellow
94  = light blue
95  = light purple
96  = turquoise
97  = white

এগুলি এমনকি একত্রিত হতে পারে, যাতে একটি পরামিতি:

di=1;4;31;42

আপনার LS_COLORS পরিবর্তনশীল ডিরেক্টরিগুলি একটি সবুজ পটভূমি সহ গা bold় রেখাচিত্রমালা লাল টেক্সটে প্রদর্শিত হবে!

আপনার টার্মিনালে এই সমস্ত রঙ এবং শৈলী পরীক্ষা করতে, আপনি এর মধ্যে একটি ব্যবহার করতে পারেন:

for i in 00{2..8} {0{3,4,9},10}{0..7}
do echo -e "$i \e[0;${i}mSubdermatoglyphic text\e[00m  \e[1;${i}mSubdermatoglyphic text\e[00m"
done

for i in 00{2..8} {0{3,4,9},10}{0..7}
do for j in 0 1
   do echo -e "$j;$i \e[$j;${i}mSubdermatoglyphic text\e[00m"
   done
done

Ls কমান্ড ব্যবহারের সময় প্রতিটি ধরণের সংজ্ঞা দিয়ে আপনি অন্যান্য ধরণের ফাইলও পরিবর্তন করতে পারেন:

bd = (BLOCK, BLK)   Block device (buffered) special file
cd = (CHAR, CHR)    Character device (unbuffered) special file
di = (DIR)  Directory
do = (DOOR) [Door][1]
ex = (EXEC) Executable file (ie. has 'x' set in permissions)
fi = (FILE) Normal file
ln = (SYMLINK, LINK, LNK)   Symbolic link. If you set this to ‘target’ instead of a numerical value, the color is as for the file pointed to.
mi = (MISSING)  Non-existent file pointed to by a symbolic link (visible when you type ls -l)
no = (NORMAL, NORM) Normal (non-filename) text. Global default, although everything should be something
or = (ORPHAN)   Symbolic link pointing to an orphaned non-existent file
ow = (OTHER_WRITABLE)   Directory that is other-writable (o+w) and not sticky
pi = (FIFO, PIPE)   Named pipe (fifo file)
sg = (SETGID)   File that is setgid (g+s)
so = (SOCK) Socket file
st = (STICKY)   Directory with the sticky bit set (+t) and not other-writable
su = (SETUID)   File that is setuid (u+s)
tw = (STICKY_OTHER_WRITABLE)    Directory that is sticky and other-writable (+t,o+w)
*.extension =   Every file using this extension e.g. *.rpm = files with the ending .rpm

আরও একটি সম্পূর্ণ তালিকা বিগসফটে উপলভ্য - LS_COLORS কনফিগার করা

কিছু বিতরণে, আপনি ow"( OTHER_WRITABLE) এর ডিফল্টটি অ-পাঠযোগ্য" উদাহরণস্বরূপ সবুজ পটভূমিতে নন-গা bold় নীল পাঠ্যে ব্যাকগ্রাউন্ডের রঙও পরিবর্তন করতে চাইতে পারেন ।

আপনি উদাহরণস্বরূপ LS_COLORS="$LS_COLORS:di=1;33"আপনার .bashrcফাইলের শেষে ব্যবহার করতে পারেন , কালো পটভূমিতে একটি দুর্দান্ত পঠনযোগ্য সাহসী কমলা পাঠ্য।

আপনি আপনার .bashrc ফাইল পরিবর্তন করার পরে, পরিবর্তনগুলি কার্যকর করার জন্য আপনাকে আপনার শেলটি পুনরায় চালু করতে হবে বা রান করতে হবে source ~/.bashrc

দ্রষ্টব্য: আপনি কোলনের সাথে আরও কমান্ড একত্রিত করতে পারেন , উদাহরণস্বরূপ

LS_COLORS=$LS_COLORS:'di=1;33:ln=36' ; export LS_COLORS; ls

উৎস:


3
ধন্যবাদ, এই ভাল কাজ করে। LS_COLORS=$LS_COLORS:'di=1;44:' ; export LS_COLORSনীল ব্যাকগ্রাউন্ডে গা bold় সাদা রঙের ডিরেক্টরিগুলি দেখায় যা সেট করতে আমি ব্যক্তিগতভাবে এটি আরও ভাল পেয়েছি ।
ইস্পির

2
এটি আমার পক্ষে কাজ করে না বলে মনে হচ্ছে। দেখে মনে হচ্ছে অন্য কোনও কনফিগারেশন ফাইল রয়েছে যা কোথাও ওভাররাইট করে .bashrc- কিছু রঙগুলি কাজ করে, অন্যরা অন্যরকমভাবে দেখায় । ফোল্ডারগুলি নীলের পরিবর্তে সবুজ, তবে ফাইলগুলি সঠিকভাবে দেখায়। এটা কী হতে পারতো?
Nearoo

1
আপনি বাশ বা শ ব্যবহার করছেন কিনা তা পরীক্ষা করে দেখুন এবং আপনার হোম ডিরেক্টরিতে আপনার। প্রোফাইল ফাইলটি পরীক্ষা করে দেখুন। এবং গ্লোবাল/etc/bash.bashrc
রুব 77

5
আপনি সম্ভবত অন্যান্য লিখনযোগ্য এবং আঠালো অন্যান্য লিখনযোগ্য ডায়ারগুলি সংশোধন করতে চান। আরও কিছু এর মতো চেষ্টা করুনLS_COLORS=$LS_COLORS:'tw=01;35:ow=01;35:' ; export LS_COLORS
চার্লস এল।

2
এটি ls এর জন্য কাজ করেছিল, তবে আমি যে ডায়ারের ভিতরে আছি তার রং কীভাবে পরিবর্তন করব, সেমিডি প্রম্পটে # এর আগে?
গাইয়া

31

খুব সহজ. এই তিনটি লাইন ~ / .bashrc এ যুক্ত করুন

$ vi ~/.bashrc
export LS_OPTIONS='--color=auto'
eval "$(dircolors -b)"
alias ls='ls $LS_OPTIONS'

আপনি যদি চলমান বাশ সেশনে পরিবর্তনগুলি প্রয়োগ করতে চান তবে চালান:

source ~/.bashrc

4
এটিই আমার পক্ষে কাজ করেছে।
solalito

এটি আমার পক্ষে কাজ করেছে তবে source ~/.bashrcপ্রতিবার যখন আমি লগ ইন করি তখন আমাকে চালানো দরকার this এটি ঠিক করার কোনও উপায় আছে কি?
মিগুয়েল

@ মিগুয়েল: আপনি যখন সিএমডি echo $SHELLপ্রম্পট থেকে টাইপ করবেন তখন কী পাবেন ? আমি বাজি ধরছি তা নয় /bin/bash। তুমি তোমার সক্রিয় জানতে পারেন .profileবা .loginযোগ source $HOME/.bashrcশেষে। শুভকামনা।
শেল্টার

4

LS_COLORS

এটি এক্সটেনশনের একটি সংগ্রহ: রঙিন ম্যাপিংস, আপনার এলএস রঙের পরিবেশ পরিবর্তনশীল হিসাবে ব্যবহারের জন্য উপযুক্ত।


1
আকর্ষণীয় তবে আমি এই কাজটি ksh এ করতে পারি না।
হারমান টুথরট

3

হেগাজির উত্তর ছাড়াও, আপনি ডাইরকোলার্স কমান্ডটি ব্যবহার করে ডিরেক্টরি রঙ এবং আরও অনেকগুলি রঙ নিয়ন্ত্রণ করতে পারেন। আপনি একটি কনফিগারেশন ফাইল তৈরি করতে পারেন যা ডকুমেন্টেড রয়েছে।

আপনি নীচে আপনার হোম ডিরেক্টরিতে একটি .dircolor ফাইল তৈরি করতে পারেন:

dircolors -p > ~/.dircolors

তারপরে আপনার ~ / .bashrc ফাইলটিতে লাইনগুলি যুক্ত করুন

eval "`dircolors -b ~/.dircolors`"
alias ls='ls --color=auto'

এটি ব্যাশের জন্য একটি S LS_COLORS পরিবর্তনশীল তৈরি করবে। Csh এর জন্য -c পতাকা সেট করা হবে। এটি রঙে প্রদর্শন করতে ls কমান্ডকেও ফ্ল্যাগ করে।

ডিরেক্টরিটির রঙ পরিবর্তন করতে or / .dircolor ফাইলের বর্ণের (বা অন্যান্য বর্ণের জন্য অন্তর্ভুক্ত ফাইল ধরণের যে কোনও একটি) উপরে DIR বৈশিষ্ট্যের মান সম্পাদনা করুন। আপনি নির্দিষ্ট ফাইলগুলির রঙ পরিবর্তন করতে পারেন বা নিজের নিজস্ব সংজ্ঞা দিতে পারেন।


2

--color=autoবিকল্প আমার উপর আমার ম্যাক iTerm2 ব্যবহার করার জন্য কাজ করে না। -Gবিকল্প যদিও কাজ করে। আমি আমার ~/.profileএবং এখন ডিরেক্টরিগুলিতে নীচের উপন্যাসটি রেখেছি এবং এতে একটি ট্রেলিং /সংযুক্ত করা হয়েছে:

alias ls='ls -F -G'

এর কারণ এটি বিএসডি ব্যবহার করে এবং
কোরিউটিলগুলি

0

সাধারণভাবে ব্যবহৃত বিকল্পগুলির সাথে ls কমান্ডের জন্য আমার পদ্ধতি:

lines / .alias নামক কোনও ফাইলে নিম্নলিখিত লাইনগুলি যুক্ত করুন

alias ll='ls -lhF --color=auto'
alias llt='ls -lht --color=auto'
alias lla='ls -alF --color=auto'
alias la='ls -A --color=auto'
alias l='ls -CF --color=auto'
alias ls="ls --color=auto"

নিম্নলিখিত লাইনগুলিকে ~ / .bashrc এ যুক্ত করুন

if [ -f ~/.alias ]; then
    . ~/.alias
fi

4
আপনাকে কেবলমাত্র উপনামটি যুক্ত --color=autoকরতে lsহবে
স্টুয়ার্ট কার্ডাল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.