This is normal. If you do ls -a
(which shows all files, ls -A
will show all files except for .
and ..
), you will see the same output.
.
is a link referring to the directory it is in: foo/bar/.
is the same thing is foo/bar
.
..
is a link referring to the parent directory of the directory it is in: foo/bar/..
is the same thing as foo
.
Any other files beginning with .
are hidden files (by convention, it is not really enforced by anything; this is different from Windows, where there is a real, official hidden attribute). Files ending with ~
are probably backup files created by your text editor (again, this is convention, these really could be anything).
If you don't want to show these types of files, you have to explicitly check for them and ignore them.