- What do the different colors mean in ls?
- 5 Answers 5
- Full list, with the default setup
- Script to show colors
- Thread: ls -> green colored .txt files
- ls -> green colored .txt files
- Re: ls -> green colored .txt files
- Re: ls -> green colored .txt files
- Re: ls -> green colored .txt files
- Re: ls -> green colored .txt files
- Bookmarks
- Posting Permissions
What do the different colors mean in ls?
What do the different colours in Ubuntu’s ls command mean? For example, when I type the ls command in one of my folders, I get one of the files in light green, the other (which is a folder) in blue with green highlighting. What do those colours mean, and there is any manual about all the colours?
5 Answers 5
- Blue: Directory
- Green: Executable or recognized data file
- Cyan (Sky Blue): Symbolic link file
- Yellow with black background: Device
- Magenta (Pink): Graphic image file
- Red: Archive file
- Red with black background: Broken link
- To turn the color off, you have to comment out the following lines in .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[$m$( x=$; [ "$" ] && echo "$" || echo "$x" )\e[m" done >
You can find out what colours ls uses by looking at the $LS_COLORS variable:
- Turquoise: audio files 1
- Bright Red: Archives and compressed files 2
- Purple: images and videos 3
In addition, files are colourised by attributes:
- aac, au, flac, mid, midi, mka, mp3, mpc, ogg, ra, wav, axa, oga, spx, xspf.
- 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.
- 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, anx, ogv, ogx.
All this information is contained in the output of dircolors —print-database , but its formatting is rather unreadable.
Here’s a technical explanation of what’s happening:
The colour code consists of three parts:
- The first part before the semicolon represents the text style.
- 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.
Each part can be omitted, assuming starting on the left. i.e. «01» means bold, «01;31» means bold and red. And you would get your terminal to print in colour by escaping the instruction with \33[ and ending it with an m . 33, or 1B in hexadecimal, is the ASCII sign «ESCAPE» (a special character in the ASCII character set). Example:
Prints «Hello World» in bright red.
The command ls with the argument —color=auto (on Ubuntu, ls is an alias for ls —color=auto ) goes through all the file names and tries first to match different types, like Executable, Pipe and so on. It then tries to match regular expressions like *.wav and prints the resulting filename, enclosed in these colour-changing instructions for bash.
Thanks! I was looking at a Git topology visualization question and wondered why some of the characters were being printed.
Full list, with the default setup
- Uncolored (white):
- file
- non-filename text (e.g. permissions in the output of ls -l )
- multi-hardlink file
- image file, video, graphic, etc.
- door
- socket
- block device
- character device
- orphan symlink
- missing file
Note that bold red looks orange, black looks dark grey, cyan looks blue/green, and bold magenta looks purple/pink/lavender.
Script to show colors
#!/bin/bash # For each entry in LS_COLORS, print the type, and description if available, # in the relevant color. # If two adjacent colors are the same, keep them on one line. declare -A descriptions=( [bd]="block device" [ca]="file with capability" [cd]="character device" [di]="directory" [do]="door" [ex]="executable file" [fi]="regular file" [ln]="symbolic link" [mh]="multi-hardlink" [mi]="missing file" [no]="normal non-filename text" [or]="orphan symlink" [ow]="other-writable directory" [pi]="named pipe, AKA FIFO" [rs]="reset to no color" [sg]="set-group-ID" [so]="socket" [st]="sticky directory" [su]="set-user-ID" [tw]="sticky and other-writable directory" ) IFS=: for ls_color in $LS_COLORS; do color="$" type="$" # Add description for named types. desc="$" # Separate each color with a newline. if [[ $color_prev ]] && [[ $color != "$color_prev" ]]; then echo fi printf "\e[%sm%s%s\e[m " "$color" "$type" "$" # For next loop color_prev="$color" done echo
Output with default setup:
I got the descriptions from dircolors -p and man dir_colors , and filled in the gaps with my own research.
The colors and descriptions are the same from at least 14.04 to 17.10.
@FredrickGauss Not explicitly, but «RESET» is the only one that can be abbreviated as «rs», and the color (0) matches.
If you type dircolors ( echo $LS_COLORS also works) from command line you will get a list of codes and colors for lots of filetypes in 1 line. dircolors —print-database shows them 1 line at a time. Here is a short list (I tried to put in the most important ones). At the bottom there is an explanation about what the different codes at the end of each lines represents:
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
- Attribute codes: 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
- Text color codes: 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
- Background color codes: 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
If you want to play around with this here is an example on how to set a color for a file:
export LS_COLORS=$LS_COLORS:"*.ogg=01;35":"*.mp3=01;35"
This will set *.ogg and .mp3 to bold magenta . And if you put it in your .bashrc file it will become permanent.
Thread: ls -> green colored .txt files
A Carafe of Ubuntu
ls -> green colored .txt files
When I type the command ls in the command line, the file names of certain text files are displayed in green. What does this mean?
What are you planning?
Re: ls -> green colored .txt files
It means they have execute permissions.
You can verify that by running:
Permissions can be altered by using chmod:
Tomorrow’s an illusion and yesterday’s a dream, today is a solution.
Expired admin
Re: ls -> green colored .txt files
Those look like executable files (scripts?).
Oops — outtyped by CharlesA again.
Quad Shot of Ubuntu
Join Date Jan 2009 Location Belgium (Ghent) Beans 481 —> Beans 481 Distro Ubuntu 13.10 Saucy Salamander
Re: ls -> green colored .txt files
Dutch speaking; understand English, writing is a bit difficult. Member of: http://forum.ubuntu-nl.org
be Open be Free be Ubuntu Reg. User #485479
Ubuntu 13.10 Saucy Salamander — Ubuntu 14.04 Trusty TahrA Carafe of Ubuntu
Re: ls -> green colored .txt files
Thanks for the information guys.
I found that indeed the .txt files were executable. I tried to change that using the following command:
However it did not work, the permissions stayed -rwx——. When I moved the file to another directory however, the same command did work. What could be going on?
- Site Areas
- Settings
- Private Messages
- Subscriptions
- Who’s Online
- Search Forums
- Forums Home
- Forums
- The Ubuntu Forum Community
- Ubuntu Official Flavours Support
- New to Ubuntu
- General Help
- Installation & Upgrades
- Hardware
- Desktop Environments
- Networking & Wireless
- Multimedia Software
- Ubuntu Specialised Support
- Ubuntu Development Version
- Security
- Virtualisation
- Ubuntu Servers, Cloud and Juju
- Server Platforms
- Ubuntu Cloud and Juju
- Gaming & Leisure
- Emulators
- Wine
- Development & Programming
- Packaging and Compiling Programs
- Development CD/DVD Image Testing
- Ubuntu Application Development
- Ubuntu Dev Link Forum
- Programming Talk
- Repositories & Backports
- Ubuntu Backports
- Bug Reports / Support
- Ubuntu Backports
- System76 Support
- Apple Hardware Users
- Ubuntu Community Discussions
- Ubuntu, Linux and OS Chat
- Recurring Discussions
- Full Circle Magazine
- The Cafe
- Cafe Games
- Market
- Mobile Technology Discussions (CLOSED)
- Announcements & News
- Weekly Newsletter
- Membership Applications
- The Fridge Discussions
- Forum Council Agenda
- Forum Feedback & Help
- Request a LoCo forum
- Resolution Centre
- Ubuntu, Linux and OS Chat
- Other Discussion and Support
- Other OS Support and Projects
- Other Operating Systems
- Ubuntu/Debian BASED
- Debian
- MINT
- Arch and derivatives
- Fedora/RedHat and derivatives
- Mandriva/Mageia
- Slackware and derivatives
- openSUSE and SUSE Linux Enterprise
- Mac OSX
- PCLinuxOS
- Gentoo and derivatives
- Windows
- BSD
- Any Other OS
- Other Operating Systems
- Assistive Technology & Accessibility
- Art & Design
- Education & Science
- Documentation and Community Wiki Discussions
- Tutorials
- Outdated Tutorials & Tips
- Ubuntu Women
- Ubuntu LoCo Team Forums
- Americas LoCo Teams
- Argentina Team
- Software
- Hardware
- Comunidad
- Arizona Team — US
- Arkansas Team — US
- Brazil Team
- California Team — US
- Canada Team
- Centroamerica Team
- Chile Team
- Comunidad
- Hardware
- Software
- Instalaci�n y Actualizaci�n
- Colombia Team — Colombia
- Georgia Team — US
- Illinois Team
- Indiana — US
- Kentucky Team — US
- Maine Team — US
- Minnesota Team — US
- Mississippi Team — US
- Nebraska Team — US
- New Mexico Team — US
- New York — US
- North Carolina Team — US
- Ohio Team — US
- Oklahoma Team — US
- Oregon Team — US
- Pennsylvania Team — US
- Peru Team
- Texas Team — US
- Uruguay Team
- Utah Team — US
- Virginia Team — US
- West Virginia Team — US
- Argentina Team
- Asia and Oceania LoCo Teams
- Australia Team
- Bangladesh Team
- Hong Kong Team
- Myanmar Team
- Philippine Team
- Singapore Team
- Europe, Middle East, and African (EMEA) LoCo Teams
- Albania Team
- Catalan Team
- Portugal Team
- Egypt Team
- Georgia Team
- Ireland Team — Ireland
- Kenyan Team — Kenya
- Kurdish Team — Kurdistan
- Lebanon Team
- Morocco Team
- Saudi Arabia Team
- Sudan Team
- Tunisia Team
- Other Forums & Teams
- LoCo Archive
- Afghanistan Team
- Alabama Team — US
- Alaska Team — US
- Algerian Team
- Andhra Pradesh Team — India
- Austria Team
- Bangalore Team
- Bolivia Team
- Cameroon Team
- Colorado Team — US
- Connecticut Team
- Costa Rica Team
- Delhi Team
- Ecuador Team
- El Salvador Team
- Florida Team — US
- Galician LoCo Team
- Greek team
- Hawaii Team — US
- Honduras Team
- Idaho Team — US
- Iowa Team — US
- Jordan Team
- Kansas Team — US
- Libya Team
- Louisiana Team — US
- Maryland Team — US
- Massachusetts Team
- Michigan Team — US
- Missouri Team — US
- Montana Team — US
- Namibia Team
- Nevada Team — US
- New Hampshire Team — US
- New Jersey Team — US
- Northeastern Team — US
- Panama Team
- Paraguay Team
- Qatar Team
- Quebec Team
- Rhode Island Team — US
- Senegal Team
- South Carolina Team — US
- South Dakota Team — US
- Switzerland Team
- Tamil Team — India
- Tennessee Team — US
- Trinidad & Tobago Team
- Uganda Team
- United Kingdom Team
- US LoCo Teams
- Venezuela Team
- Wales Team
- Washington DC Team — US
- Washington State Team — US
- Wisconsin Team
- Yemen Team
- Za Team — South Africa
- Zimbabwe Team
- Americas LoCo Teams
- Other OS Support and Projects
- Ubuntu Official Flavours Support
Bookmarks
Bookmarks
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts