This is a really simple question, but even after reading about wildcards/regex, I can't seem to grasp entirely what the differences between these commands are:
grep . test.txt
this one will look for lines containing any character in test.txt
grep \. test.txt
this one also apparently does the exact same thing, even though I assumed it shouldn't, since it would be escaped and return only those lines containing an actual '.'
grep ? test.txt
since ? is a special character, I guess it would be interpreted as a wildcard, but since grep doesn't deal with wildcards, it's not going to output anything; however
grep \? test.txt
does find the lines which contain an '?' in them, but also those that contain an '\?' in them. Why is this?