The file is called
(This is assuming the file was called
filename before, your "real" file will have a different name I guess. But however the file was called, the first two characters have been substituted with a
This is because a dot in regular expression is a special character meaning match any character. So,
.. is any two characters. As
rename only replaces the first match unless you added the global modifier (
g), the first two characters of your given filename have been replaced.
Note, that the "replacement" in
s/regex/replacement/modifiers is not a regular expression, and thus the
. on the right side of your expression
s/.././ works as you expected.
Now, where is your file:
Files beginning with a
. are hidden files. Thus, you won't see them by running
ls -a to reveal those files.
Rename your file back using
mv .lename filename
Next time, escape characters that are special to regular expressions:
rename 's/\.\././' filename
Also, you could use
rename -n ... to do a dry-run and check the results before performing the actual renaming. That would have shown you something like this: