Ls හි විවිධ වර්ණවලින් අදහස් කරන්නේ කුමක්ද?


385

උබුන්ටු lsවිධානයෙහි විවිධ වර්ණවලින් අදහස් කරන්නේ කුමක්ද? උදාහරණයක් ලෙස, මම lsමගේ එක් ෆෝල්ඩරයක විධානය ටයිප් කරන විට , එක් ගොනුවක් ලා කොළ පැහැයෙන් ද, අනෙක (එය ෆෝල්ඩරයක්) නිල් පැහැයෙන් ද කොළ පැහැයෙන් ඉස්මතු කරයි.

එම වර්ණවලින් අදහස් කරන්නේ කුමක්ද, සහ සියලු වර්ණ පිළිබඳ අත්පොතක් තිබේද?

Answers:


417
  • නිල් : නාමාවලිය
  • කොළ : ක්‍රියාත්මක කළ හැකි හෝ පිළිගත් දත්ත ගොනුව
  • අහස නිල් : සංකේතාත්මක සම්බන්ධක ගොනුව
  • කළු පසුබිම සහිත කහ : උපාංගය
  • රෝස : ග්‍රැෆික් රූප ගොනුව
  • රතු : සංරක්ෂිත ගොනුව
  • කළු පසුබිම සහිත රතු : කැඩුණු සබැඳිය

ඔයාගේ දැනගැනීම සඳහා:

  • වර්ණය අක්‍රිය කිරීමට, ඔබට පහත දැක්වෙන පේළි අදහස් දැක්විය යුතුය .bashrc.

    # enable color support of ls and also add handy aliases
    #if [ -x /usr/bin/dircolors ]; then
    #    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    #    alias ls='ls --color=auto'
    #    #alias dir='dir --color=auto'
    #    #alias vdir='vdir --color=auto'
    #
    #    alias grep='grep --color=auto'
    #    alias fgrep='fgrep --color=auto'
    #    alias egrep='egrep --color=auto'
    #fi
    
  • ඔබේම බාෂ් වර්ණ අර්ථයන් දැකීමට ඔබට අවශ්‍ය නම්, පහත දැක්වෙන කේත ඔබේ ටර්මිනලයේ පිටපත් කරන්න / අලවන්න.

    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       
    } 

    ප්‍රතිදානය:
    alt පෙළ

සටහන:

  • වැඩි විස්තර man dir_colorsසඳහා ටර්මිනලය ටයිප් කරන්න .

30
evalඑක් එක් වර්ගය සඳහා ප්‍රතිදාන වර්ණ නිරූපණය පෙන්වන එම ස්ක්‍රිප්ට් ඉතා දීප්තිමත් ... ස්තූතියි!
රුස්

3
පිරිසිදු ඇඹුල්;)
හෝමුන්කුලස් රෙටිකුලි

5
එම පිටපතෙහි වඩාත් කියවිය හැකි අනුවාදයක් evalමෙහි ඇත: github.com/gkotian/gautam_linux/blob/master/scripts/colours.sh
ගෞතම්

3
රතු යනු මළ සමමුහුර්තයකි.
තෝමස් වෝඩ්

1
සාමාන්‍ය සුදු පා text යේ ගොනු ගැන කුමක් කිව හැකිද?
එස් ..

101

විචල්‍යය lsදෙස බැලීමෙන් ඔබට කුමන වර්ණ භාවිතා වේදැයි සොයාගත හැකිය $LS_COLORS:

  • ටර්කියුයිස්: ශ්රව්ය ලිපිගොනු 1
  • දීප්තිමත් රතු: ලේඛනාගාරය සහ සම්පීඩිත ගොනු 2
  • දම් පාට: රූප සහ වීඩියෝ 3

ඊට අමතරව, ලිපිගොනු ගුණාංග අනුව වර්ණ ගැන්වේ:

alt පෙළ


  1. aac, au, flac, mid, midi, mka, mp3, mpc, ogg, ra, wav, axa, oga, spx, xspf.

  2. tar, tgz, arj, taz, lzh, lzma, tlz, txz, zip, z, Z, dz, gz, lz, xz, bz2, bz, tbz, tbz2, tz, deb, rpm, jar, rar, ace, zoo, cpio, 7z, rz.

  3. jpg, jpeg, gif, bmp, pbm, pgm, ppm, tga, xbm, xpm, tif, tiff, png, svg, svgz, mng, pcx, mov, mpg, mpeg, m2v, mkv, ogm, mp4, m4v, mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, emf, axv, anc, ogv, ogx.


මෙම සියලු තොරතුරු ප්‍රතිදානයේ අඩංගු වේ dircolors --print-database , නමුත් එහි හැඩතල ගැන්වීම කියවිය නොහැක.

සිදුවන්නේ කුමක්ද යන්න පිළිබඳ තාක්ෂණික පැහැදිලි කිරීමක් මෙන්න:

උදාහරණයක්:

CHR 40;33;01

වර්ණ කේතය කොටස් තුනකින් සමන්විත වේ:

  • අර්ධ සළුවට පෙර පළමු කොටස පෙළ ශෛලිය නියෝජනය කරයි.

    • 00 = කිසිවක් නැත, 01 = තද, 04 = අවධාරනය, 05 = බ්ලින්ක්, 07 = ආපසු හැරවීම, 08 = සඟවා ඇත.
  • දෙවන හා තෙවන කොටස වර්ණය සහ පසුබිම් වර්ණය:

    • 30 = කළු, 31 = රතු, 32 = කොළ, 33 = කහ, 34 = නිල්, 35 = මැජෙන්ටා, 36 = සයන්, 37 = සුදු.

සෑම කොටසක්ම අතහැර දැමිය හැකිය, වම් පසින් ආරම්භ වේ යැයි උපකල්පනය කරන්න. එනම් "01" යන්නෙන් නිර්භීත, "01; 31" යන්නෙන් තද සහ රතු යන අර්ථය ඇත. උපදෙස් වලින් ගැලවී \33[එය අවසන් කිරීමෙන් ඔබේ පර්යන්තය වර්ණයෙන් මුද්‍රණය වේ m. 33, හෝ හෙක්සැඩිසිමල් හි 1B යනු ASCII ලකුණ "ESCAPE" (ASCII අක්ෂර කට්ටලයේ විශේෂ චරිතයකි). උදාහරණයක්:

"\33[1;31mHello World\33[m"

දීප්තිමත් රතු පැහැයෙන් "හෙලෝ වර්ල්ඩ්" මුද්‍රණය කරයි.

lsතර්කය සහිත විධානය --color=auto(උබුන්ටු මත lsඅන්වර්ථයකි ls --color=auto) සියළුම ගොනු නාමයන් හරහා ගොස් පළමුව ක්‍රියාත්මක කළ හැකි, නල සහ වෙනත් විවිධ වර්ග සමඟ ගැලපීමට උත්සාහ කරයි. ඉන්පසු එය * .wav වැනි නිත්‍ය ප්‍රකාශන සමඟ සැසඳීමට උත්සාහ කරන අතර එහි ප්‍රති ing ලයක් ලෙස ඇති ගොනු නාමය මුද්‍රණය කරයි.


ස්තූතියි! මම Git topology දෘශ්‍යකරණ ප්‍රශ්නයක් දෙස බලා සිටි අතර සමහර චරිත මුද්‍රණය කරන්නේ ඇයිදැයි කල්පනා කළෙමි .
pdp

27

ඔබ විධාන රේඛාවෙන් ටයිප් කළහොත් dircolors( echo $LS_COLORSක්‍රියා කරයි) ඔබට 1 පේළියේ ගොනු වර්ග රාශියක් සඳහා කේත සහ වර්ණ ලැයිස්තුවක් ලැබෙනු ඇත. dircolors --print-databaseවරකට පේළි 1 ක් පෙන්වයි. මෙන්න කෙටි ලැයිස්තුවක් (මම වඩාත් වැදගත් ඒවා දැමීමට උත්සාහ කළෙමි). එක් එක් පේළි අවසානයේ විවිධ කේත නියෝජනය කරන්නේ කුමක් ද යන්න පිළිබඳ පතුලේ පැහැදිලි කිරීමක් ඇත:

NORMAL 00 # ගෝලීය පෙරනිමිය, සෑම දෙයක්ම යමක් විය යුතු වුවත්.
FILE 00 # සාමාන්‍ය ගොනුව
DIR 01; 34 # නාමාවලිය
LINK 01; 36 # සංකේතාත්මක සබැඳිය. (ඔබ මෙය a වෙනුවට 'ඉලක්කය' ලෙස සකසන්නේ නම්
 # සංඛ්‍යාත්මක අගය, වර්ණය පෙන්වා ඇති ගොනුවට සමාන වේ.)
FIFO 40; 33 # පයිප්ප
SOCK 01; 35 # සොකට්
දොර 01; 35 # දොර
BLK 40; 33; 01 # වාරණ උපාංග ධාවක
CHR 40; 33; 01 # අක්ෂර උපාංග ධාවක
ORPHAN 40; 31; 01 # නොපවතින ගොනුවකට හෝ ස්ථිතික නොවන ගොනුවකට සමමුහුර්ත කරන්න
SETUID 37; 41 # ගොනුව සැකසූ (u + s)
SETGID 30; 43 # ගොනුව setgid (g + s)
STICKY_OTHER_WRITABLE 30; 42 # dir එය ඇලෙන සුළු සහ වෙනත් ලිවිය හැකි (+ t, o + w)
OTHER_WRITABLE 34; 42 # dir එය වෙනත් ලිවිය හැකි (o + w) සහ ඇලෙන සුළු නොවේ
ස්ටිකි 37; 44 # dir ඇලෙන සුළු බිට් කට්ටලය (+ t) සමඟ මිස වෙනත් ලිවිය නොහැක
# ලේඛනාගාර හෝ සම්පීඩිත (දීප්තිමත් රතු)
.tar 01; 31
.tgz 01; 31
# රූප ආකෘති
.jpg 01; 35
.jpeg 01; 35
.gif 01; 35
.bmp 01; 35
# ශ්‍රව්‍ය ආකෘති
.aac 00; 36
.flac 00; 36
.ogg 00; 36
  • ගුණාංග කේත: 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
  • පෙළ වර්ණ කේත: 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
  • පසුබිම් වර්ණ කේත: 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white

ඔබට මෙය සමඟ සෙල්ලම් කිරීමට අවශ්‍ය නම් ගොනුවක් සඳහා වර්ණයක් සකසන්නේ කෙසේද යන්න පිළිබඳ උදාහරණයකි:

export LS_COLORS=$LS_COLORS:"*.ogg=01;35":"*.mp3=01;35"  

මෙය සකසා ඇත *.oggහා .mp3කිරීමට bold magenta. ඔබ එය ඔබගේ .bashrcගොනුවට දැමුවහොත් එය ස්ථිර වනු ඇත.


2
හේයි සමහර විට වෙන කෙනෙක් ඊට වඩා හොඳ පිළිතුරක් එයි. Btw ඔබ මෙම උඩුකය සමඟ මට 15k ඉක්මවා ඇත;)
Rinzwind

ගල් ගසන්න! ඔබ ඔබම එහි පැමිණියා ... නැවතත් ස්තූතියි, මට විශ්වාස නැති වර්ණ කිහිපයක් සෙවීමට මම / "නූල්" එකක් කළා
user784637

ඔබ දිනයන් ගැන කල්පනා කරන්නේ නම් මෙම (විශිෂ්ට) පිළිතුර ඒකාබද්ධ කරන ලදි . :-)
ස්ටෙෆානෝ පලසෝ

In රින්ස්වින්ඩ්, pdfගොනුව සඳහා වර්ණයක් සැකසීමට , ක්‍රියාවලිය භාවිතා කළ exportයුතුද? පෙරනිමි LS_COLORS විචල්‍යය තුළ එක් දිගුවක් එක් කළ හැකිද?
සිගූර්

24

මෙය කාර්තික් 87 ගේ පිළිතුර මත පුළුල් වේ .


පෙරනිමි සැකසුම සමඟ

  • වර්ණ රහිත (සුදු) : ගොනුව හෝ ගොනු නොවන පෙළ (උදා: ප්‍රතිදානයේ අවසර ls -l)
  • තද නිල් : නාමාවලිය
  • තද සයන් : සංකේතාත්මක සබැඳිය
  • තද කොළ : ක්‍රියාත්මක කළ හැකි ගොනුව
  • තද රතු : සංරක්ෂිත ගොනුව
  • තද මැජෙන්ටා : රූප ගොනුව, වීඩියෝ, ග්‍රැෆික්, හෝ දොර හෝ සොකට්
  • සයන් : ශ්‍රව්‍ය ගොනුව
  • කළු පසුබිම සහිත කහ : පයිප්ප (AKA FIFO)
  • කළු පසුබිම සහිත තද කහ : අවහිර උපාංගය හෝ අක්ෂර උපාංගය
  • කළු පසුබිම සහිත තද රතු : අනාථ සිම්ලින්ක් හෝ නැතිවූ ගොනුව
  • රතු පසුබිම සමඟ වර්ණ ගැන්වීම : set-user-ID ගොනුව
  • කහ පසුබිම සහිත කළු : set-group-ID ගොනුව
  • රතු පසුබිම සහිත කළු : හැකියාව ඇති ගොනුව
  • නිල් පැහැති පසුබිමක් සහිත සුදු : ඇලෙන සුළු නාමාවලිය
  • කොළ පැහැති පසුබිමක් සහිත නිල් : වෙනත් ලිවිය හැකි නාමාවලිය
  • කොළ පැහැති පසුබිමක් සහිත කළු : ඇලෙන සුළු සහ වෙනත් ලිවිය හැකි නාමාවලිය

තද රතු පැහැය තැඹිලි පැහැයෙන්ද, කළු පැහැය තද අළු පැහැයෙන්ද, තද පැහැති මැජෙන්ටා දම් / රෝස / ලැවෙන්ඩර් ලෙසද පෙනේ.

වර්ණ පෙන්වීමට ස්ක්‍රිප්ට්

#!/bin/bash
# For LS_COLORS, print type and description in the relevant color.

IFS=:
for ls_color in $LS_COLORS; do
    color="${ls_color#*=}"
    type="${ls_color%=*}"

    # Add descriptions for named types.
    case "$type" in
    bd) type+=" (block device)" ;;
    ca) type+=" (file with capability)" ;;
    cd) type+=" (character device)" ;;
    di) type+=" (directory)" ;;
    do) type+=" (door)" ;;
    ex) type+=" (executable file)" ;;
    fi) type+=" (regular file)" ;;
    ln) type+=" (symbolic link)" ;;
    mh) type+=" (multi-hardlink)" ;;
    mi) type+=" (missing file)" ;;
    no) type+=" (normal non-filename text)" ;;
    or) type+=" (orphan symlink)" ;;
    ow) type+=" (other-writable directory)" ;;
    pi) type+=" (named pipe, AKA FIFO)" ;;
    rs) type+=" (reset to no color)" ;;
    sg) type+=" (set-group-ID)" ;;
    so) type+=" (socket)" ;;
    st) type+=" (sticky directory)" ;;
    su) type+=" (set-user-ID)" ;;
    tw) type+=" (sticky and other-writable directory)" ;;
    esac

    # Separate each color with a newline.
    if [[ $color_prev ]] && [[ $color != $color_prev ]]; then
        echo
    fi

    printf "\e[%sm%s\e[m " "$color" "$type"

    # For next loop
    color_prev="$color"
done
echo

පෙරනිමි සැකසුම සමඟ ප්‍රතිදානය:

gnome-terminal තිර රුව

මගේ සැකසුම සමඟ ප්‍රතිදානය (අභිරුචි ඩිරිකෝලර් සහ අභිරුචි සූර්යකරණය කළ පර්යන්ත තේමාව):

gnome-terminal තිර රුව

මම විස්තර ලබාගෙන ඇති dircolors -pඅතර man dir_colors, මගේම පර්යේෂණවලින් හිඩැස් පුරවා ගතිමි.

වර්ණ හා විස්තර 14.04 සිට 17.10 දක්වා සමාන වේ.


rsමාධ්‍යයන් RESET, mhමාධ්‍යයන් MULTIHARDLINK, caමාධ්‍යයන් CAPABILITYයනාදිය ඔබ දැනගත්තේ කෙසේද ?
ෆෙඩ්රික් ගෝස්

Red ෆ්‍රෙඩ්රික් ගවුස් මම පිළිතුරේ ලියා ඇති පරිදි, මට ධාවනයෙන් විස්තර ලැබුණි dircolors -p.
wjandrea

dircolors -prs යනු RESET 0 # "සාමාන්‍ය" වර්ණයට යළි පිහිටුවීම යැයි නොකියයි .
ෆෙඩ්රික් ගෝස්

Red ෆ්‍රෙඩ්රික්ගෝස් පැහැදිලිවම නොවේ, නමුත් "රීසෙට්" යනු "ආර්එස්" ලෙස කෙටියෙන් දැක්විය හැකි එකම එක වන අතර වර්ණය (0) ගැලපේ.
wjandrea

18

මෙහි කිසිදු පිළිතුරකට උබුන්ටු හි නවතම අනුවාදවල වර්ණ විකල්ප 256 ඇතුළත් නොවේ. මම වර්ණ ient නතාවයෙන් සිටිමි (සමහර වර්ණ මට එකිනෙකා අසල කරදර ඇති කරයි) එබැවින් කළු පැහැයේ ඇති සුපුරුදු නිල් නාමාවලිය මට කියවීමට අපහසුය. එය වෙනස් කිරීම සඳහා මගේ පර්යේෂණ පහත දැක්වේ.

dircolors -p |lessඔබගේ වර්තමාන වර්ණ කේතය බැලීමට ටයිප් කරන්න.

පෙරනිමි .bashrc දැනටමත් වින්‍යාසගත කළ යුත්තේ පද්ධති වර්ණ කේතයේ වාසිය ලබා ගැනීම සඳහා පමණක් නොව, ~ / .dircolors වලින් එකක් ද වන බැවින් ඩිරිකොලර් ප්‍රතිදානය .dircolor වෙත දමන්න, එවිට ඔබට මෙම විධානය භාවිතා කර ආරම්භ කළ හැකිය. dircolors -p > ~/.dircolors

විකල්පය: සීබීගේ සූර්යකරණය කළ ව්‍යාපෘතියෙන් ඉතා සමාන වර්ණ 256 ක් තෝරා ගන්න .

මෙම වර්ණවත් ස්ක්‍රිප්ට් එක අල්ලා විධානය සමඟ ක්‍රියාත්මක කරන්න colortest -wඑවිට ඔබට සියලු වර්ණ එකවර දැකගත හැකිය. වර්ණයක් තෝරන්න. මම තැඹිලි # 208 ට කැමතියි. මට එය පා color වර්ණය වීමට අවශ්‍යයි, එබැවින් දීර් information වර්ණ කේත පිළිබඳ මෙම තොරතුරු භාවිතා කිරීමෙන් මට එය යෙදිය හැකිය.

ඉතින් ඔබට වර්ණයක් තිබේ, දැන් කුමක්ද. මුලින්ම අපි නූල් සෑදිය යුතුයි.

පළමු අංකය ආරෝපණ කේතයක් වනු ඇත, බොහෝ දුරට 00, නමුත් ඔබට එය ගිලිහී යාමට අවශ්‍ය නම් 05 සමඟ යන්න:

ආරෝපණ කේතයක් තෝරන්න: 00 = කිසිවක් 01 = තද 04 = යටි ඉරි 05 = බ්ලින්ක් 07 = ප්‍රතිලෝම 08 = සඟවා

ඊළඟ තේරීම ;38;5;00; 38; 5 ලබා ගැනීම සඳහා ඔබේ පෙළ වර්ණය දැක්වීමට එම ගුණාංග කේතයට එකතු කරන්න. ඉන්පසු ඔබේ වර්ණය එකතු කරන්න. මම 208 තෝරා ගත්තා, ඒ නිසා මට ලැබෙනවා 00;38;5;208.

ඔබට එයට පසුබිමක් දැමීමට අවශ්‍ය නම්, වර්ණවත් පිටපත සමඟ තවත් වර්ණයක් (56 යැයි කියමු) ;48;5;සහ පසුබිම සඳහා උපග්‍රන්ථය සහ 56 වර්ණය සඳහා සම්පූර්ණ නූලක් ලබා ගන්න 00;38;5;208;48;5;56.

දැන් ඔබට එය තිබේ, ඔබ එය කරන්නේ කුමක් ද?

vim ~/.dircolors "00; 38; 5; 208" ට ඉහළින් අප විසින් තීරණය කරන ලද නූලට ඔබට වෙනස් කිරීමට අවශ්‍ය කොටස (මට නම් එය ඩීඅයිආර්) සොයා ගන්න.

මෙය වහාම අදාළ නොවේ, ඔබට වින්‍යාසය පූරණය කිරීමට අවශ්‍ය වේ. dircolors ~/.dircolorsඔබගේ LS_COLORS විචල්‍යය සැකසීමට get කේතය භාවිතා කරන්න . ඔබට එය ඔබගේ පර්යන්ත සැසිවාරයට ඇලවිය හැකිය, නැතහොත් ඔබට ඔබේ පර්යන්තය වසා නැවත විවෘත කළ හැකිය. ඔබට එය ගොනුවකට නල කර ෂෙල් ස්ක්‍රිප්ට් එකක් ලෙස ධාවනය කළ හැකිය.

ඔබට වර්ණ 16 කින් මෙම ක්‍රියා පටිපාටියම කළ හැකිය. ඔබට විශේෂ; 38; 5 හෝ; 48; 5 දේවල් අවශ්‍ය නොවේ. සංඛ්‍යා නූල්වලට විසි කර සරල බව භුක්ති විඳින්න.

මේ පිළිබඳ ඔවුන්ගේ සටහන් සහ කේතය සඳහා ඩෑන් සහ සීබීට ස්තූතියි .


වර්ණ 256 ක් ක්‍රියා කරන්නේ xterm- අනුකූල පර්යන්තවල පමණක් දැයි කරුණාකර පරීක්ෂා කරන්න . ඉතින්, වර්ණ 256 ක් මට කොන්සෝල් සමඟ වැඩ නොකරන නමුත් xterm සහ rxvt-unicode සමඟ වැඩ කරයි .
ඩී.කේ බෝස්

1
කොන්සෝල් තමන්ගේම දෙයක් කරයි. ලස්සන වර්ණ පටිපාටියක් සඳහා draculatheme.com/konsole හෝ techoverflow.net/2013/11/08/installing-konsole-solariz-theme බලන්න .
flickerfly
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.