Mit jelentenek a különböző színek az ls-ben?

301

Mit jelent az Ubuntuls parancs különböző színei? Például, amikor az egyik mappámba írtam be als parancsot, az egyik fájl zölden világossá válik, a másik (amely egy mappa) kék, zöld kiemeléssel.

Mit jelentenek ezek a színek, és van bármilyen kézikönyv az összes színről?

    
készlet Rafid 14.12.2010 09:15
forrás

5 válasz

311
  • kék : könyvtár
  • Zöld : végrehajtható vagy felismert adatfájl
  • Sky Blue : szimbolikus hivatkozási fájl
  • Sárga fekete háttérrel : Eszköz
  • Rózsaszín : grafikus képfájl
  • Piros : archiválási fájl
  • Piros fekete háttérrel : Broken link

Az Ön információiért:

  • A szín kikapcsolásához meg kell kommentálnia a következő sorokat a.bashrc -ban.

    # 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
    
  • Ha szeretné látni a saját bash-színes jelentéseit, akkor másolja / illessze be a következő kódokat a termináljába.

      
    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       
    } 
    

    Kimenet:

Megjegyzés:

válasz adott karthick87 14.12.2010 09:18
forrás
86

Megtudhatja, milyen színeket használls a$LS_COLORS változó megtekintésével:

  • Türkiz: audiofájlok 1
  • Világos piros: Archívumok és tömörített fájlok 2
  • Lila: képek és videók 3

Ezenkívül a fájlok jellemzői:

  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, jar, rar, ász, állatkert, cpio, 7z, rz.

  3. jpg, jpeg, gif, bmp, pbm, pgm, ppm, tga, xbm, xpm, tif, tiff, png, svg, svgz, mng, ogm, mp4, m4v, mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, OGX.

Mindezek az információk adircolors --print-database kimenetében vannak, de formázása meglehetősen olvashatatlan.

Itt van egy technikai magyarázat arról, mi történik:

Példa:

CHR 40;33;01

A színkód három részből áll:

  • A pontosvessző előtt álló első rész a szövegstílust jelöli.

    • 00 = nincs, 01 = félkövér, 04 = aláhúzás, 05 = villog, 07 = vissza, 08 = rejtett.
  • A második és harmadik rész a szín és a háttérszín:

    • 30 = fekete, 31 = piros, 32 = zöld, 33 = sárga, 34 = kék, 35 = bíborvörös, 36 = ciánkék, 37 = fehér.

Minden rész elhagyható, feltételezve, hogy a bal oldalon kezdődik. azaz "01" jelentése merész, a "01; 31" jelentése vastag és piros. És akkor kapja meg a terminált, hogy színesben nyomtassa ki az utasításokat[ -al, és végül egym -al. 33 vagy 1B hexadecimális, az ASCII "ESCAPE" jel (az ASCII karakterkészlet speciális karaktere). Példa:

"[1;31mHello World[m"

A "Hello World" világos vörös színű szövegeket nyomtat.

Als parancs a--color=auto argumentummal (az Ubuntu-nál als az alias als --color=auto -on) átkeresi az összes fájlnevet, és megpróbál először különböző típusúakat, például a végrehajtható, a cső és így tovább . Ezután megpróbálja egyezik a szabályos kifejezésekkel, például a * .wav-val, és kinyomtatja a kapott fájlnevet, amely ebbe a színváltási utasításhoz tartozik.

    
válasz adott Stefano Palazzo 14.12.2010 09:57
forrás
27

Ha írsz dircolors (echo $LS_COLORS is működik) a parancsból line sorozatot kapsz egy listát a kódok és színek sok fájltípusok 1 sorban. Adircolors --print-database egyszerre 1 sort mutat. Itt van egy rövid lista (igyekeztem felvenni a legfontosabbakat). Alul van egy magyarázat arról, hogy az egyes sorok végén a különböző kódok:

NORMAL 00 # global default, although everything should be something.
FILE 00 # normal file
DIR 01;34 # directory
LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
 # numerical value, the color is as for the file pointed to.)
FIFO 40;33 # pipe
SOCK 01;35 # socket
DOOR 01;35 # door
BLK 40;33;01 # block device driver
CHR 40;33;01 # character device driver
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file
SETUID 37;41 # file that is setuid (u+s)
SETGID 30;43 # file that is setgid (g+s)
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
# archives or compressed (bright red)
.tar 01;31
.tgz 01;31
# image formats
.jpg 01;35
.jpeg 01;35
.gif 01;35
.bmp 01;35
# audio formats
.aac 00;36
.flac 00;36
.ogg 00;36
  • Attribútum kódok:00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
  • Szövegszínkódok:30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
  • Háttérszínkódok:40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white

Ha ezzel szeretne játszani, akkor itt egy példa egy fájl színének beállítására:

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

Ez a*.ogg és a.mp3 értéketbold magenta -ra állítja be. Ha pedig a.bashrc fájljába helyezi, akkor állandó lesz.

    
válasz adott Rinzwind 14.09.2011 10:25
forrás
15

A válaszok egyike sem tartalmazza a 256 színes opciót az Ubuntu legújabb verzióiban. Színhiba vagyok (egyes színek egymáshoz közel állnak), így a fekete alapértelmezett kék könyvtár nehezen olvasható. Következik az a kutatás, amely megváltoztatja ezt.

Írja be adircolors -p |less -ot az aktuális színkód megtekintéséhez.

Az alapértelmezett .bashrc-t már nem csak a rendszer színkódjának kihasználására kell konfigurálni, hanem egy ~ / .dircolor-ban is, így a dircolors kimenetet a .dircolorra kell bontani, így ezzel a parancs használatával elkezdheted. dircolors -p > ~/.dircolors

Alternatíva: nagyon hasonló 256 színű dircolort vegyen fel a seebi's solarized projektet.

Fogja meg ezt a Colortest szkriptet , és futtassa azt acolortest -w paranccsal, hogy láthassa minden szín egyszerre. Válasszon színt. Szeretem a narancs # 208-at. Azt akarom, hogy ez legyen a szöveg színe, ezért ezt az információt a kiterjesztett színkódokkal használva alkalmazhatom.

Tehát van egy színed, most mi van. Először létre kell hoznunk a karakterláncot.

Az első szám egy attribútumkód lesz, valószínűleg 00, de ha azt szeretné, hogy villogni kezdjen 05:

  

Válasszon egy attribútumkódot: 00 = nincs 01 = bold 04 = aláhúzás 05 = villog 07 = fordított 08 = rejtett

A következő válasszuk a;38;5; -ot ehhez az attribútumkódhoz, hogy megjelöljük a szöveg színét a 00; 38; 5; majd illessze be a színét. 208-at választottam, így kapok00;38;5;208.

Ha hátteret is szeretne készíteni, válasszon egy másik színt (mondjuk 56) a legegyszerűbb parancsfájllal és a;48;5; hozzáadásával a háttérben és 56 színben, hogy a00;38;5;208;48;5;56 összes karaktert kapja.

Tehát most megvan, mit csinál vele?

vim ~/.dircolors és keresse meg a megváltoztatni kívánt szakaszt (számomra DIR) a fenti "00; 38; 5; 208" pontban meghatározott karakterláncra.

Ez nem érvényes azonnal, be kell töltened a konfigurációt. Használja adircolors ~/.dircolors -ot a get kódra az LS_COLORS változó beállításához. Beillesztheti ezt a terminál munkamenetbe, vagy bezárhatja a terminált, és újra megnyithatja. Ezt is beillesztheti egy fájlba, és futtathatja shell-parancsfájlként.

Ugyanezt a műveletet 16 színnel végezheti el. Nem kell a speciális, 38, 5 vagy 48, 5 cucc. Csak vigye a számokat a szövegbe, és élvezze az egyszerűséget.

A Dan és a seebi a jegyzetekhez és kódokhoz.

    
válasz adott flickerfly 22.03.2013 21:45
forrás
14

Ez kiterjed a Karthick87 válaszára .

Az alapértelmezett beállítással

  • Nem festett (fehér) : fájl vagy nem filenév szöveg (például als -l
  • Félkövér kék : könyvtár
  • Bold cián : szimbolikus link
  • Félkövér zöld : végrehajtható fájl
  • Félkövér piros : archív fájl
  • Bold magenta : képfájl, videó, grafika stb. vagy ajtó vagy foglalat
  • Cián : hangfájl
  • Sárga fekete háttérrel : cső (AKA FIFO)
  • Boldog sárga fekete háttérrel : blokkoló eszköz vagy karakter eszköz
  • Bold piros fekete háttérrel : orphan symlink vagy hiányzó fájl
  • Piros háttérrel nem festett : set-user-ID fájl
  • Fekete, sárga háttérrel : set-group-ID fájl
  • Fekete vörös háttér : képes fájl
  • Fehér kék háttér : ragadós könyvtár
  • Kék zöld háttérrel : más írható könyvtár
  • Fekete zöld háttérrel : ragadós és más írható könyvtár

Script a színek megjelenítéséhez

#!/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

Kimenet alapértelmezett beállítással:

Kimenet a beállításommal (egyedi dircolorok és egyéni Solarizált termináléma):

A (z)dircolors -p ésman dir_colors leírások listáját kaptam, és kitöltöttem a hiányosságokat saját kutatásaimmal.

A színek és a leírások megegyeznek a 14.04-től 17.10-ig.

    
válasz adott wjandrea 17.02.2017 22:05
forrás