What Do the Different Colors Mean in the Linux ls Command?
In Linux and other Unix-Like operating system, the ls
command allows you to list the files and directories in a specified directory.
The ls
command is one of the most basic and yet fundamental commands in Linux. And whether you are just getting started with Linux terminal or have used it for years, the ls
command will always be part of your arsenal.
However, have you ever wondered what the different colors mean in the ls
command output?
In this tutorial, we will attempt to explain what these colors represent and what exactly determines the specific color.
What Determines the Color Output of the ls
Command?
In Linux terminals, the colors displayed by the ls
command are determined by the configuration of your terminal and the environment variable LS_COLORS
.
To view the values of the LS_COLORS
variable, you can use the echo command as shown:
echo $LS_COLORS
The command above should return an output as shown:
rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.swp=00;90:*.tmp=00;90:*.dpkg-dist=00;90:*.dpkg-old=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:
NOTE: The actual values may vary depending on your terminal configuration. The above are the default values for an Ubuntu system.
What do the colors of the ls
command mean?
As we have stated, the specific meanings of colors may vary slightly depending on your system and the terminal configuration. However, the following are the typical meaning colors of the output of the ls command.
Blue
Blue is typically used to represent directories. When you use the ls
command, directories are often displayed in blue to differentiate them from regular files.
Light Green
Light Green is usually used to represent executable files. Executable files are those that can be run as programs or scripts.
Cyan
Cyan is commonly used to represent links or symbolic links. Symbolic links are special files that act as pointers to other files or directories.
Red
Red is often used to highlight compressed or archived files. When you see red filenames, it usually indicates that the file has been compressed using tools like gzip
or bzip2
.
Magenta
Magenta is commonly used to indicate image files. It helps to identify files that are in commonly used image formats such as JPEG, PNG, or GIF.
Yellow
Yellow is typically used to represent device files or special files related to the system. These files include devices like hard drives, printers, or other peripherals.
White or Default
Regular files are usually displayed in white or the default color of your terminal. These are non-executable, non-compressed files without any special color codes.
Conclusion
In this tutorial, we attempted to outline the basic colors used in the ls command and what each of them could mean in your terminal output.
Note: You can customize the color scheme based on your preferences or your system’s configuration. You can also modify the LS_COLORS
environment variable to change the colors associated with different file types, or you can use command-line options to disable or modify the colors displayed by the ls
command.