Short answer
- They are dead symbolic links
- You can remove the red either by deleting the link (the bit on the left of the arrow) with
rm
, fix the link by replacing the target file (the bit on the right of the arrow) or by changing the link to point to somehthing else.
Long answer
In ls
, when you see something like b -> a
, that means that b
is a 'symbolic link' to a
.
If I create a file a
in the terminal echo "test" > a
, then create b
as a symbolic link to a
ln -s a b
, the output of ls
would look like this (using screenshots to illustrate colour):

And if you cat b
you will see test
.
Now if I remove a
, the source of our link rm a
, it looks like this (my environment is setup differently to yours hence I don't have a red background):

If you remember, a
contained the text test
, if I now look at the contents of b
I get an error:
cat: b: No such file or directory
The symlink points to a
, which doesn't exist and so when trying to open the file b
, it appears like it just doesn't exist.
Finally to clean up you can just rm b
.
Dead symlinks are not harmful or dangerous, you can leave them and nothing bad will come of it.
The root cause of how it happened, at a guess, you installed something at some point which created the link to a file from the thing you installed. Then you uninstalled it and the uninstall process didn't clean up the symlinks it made.