tar on a directory mydir will archive hidden files and hidden subdirectories, but tar from within mydir with a * wildcard will not. Is this a known inconsistency or bug?
Edit: Additional information. tar from within mydir with a * wildcard will not "see" nor archive hidden files and hidden subdirectories in the immediate directory. However, in the non-hidden subdirectories of mydir hidden files and hidden subdirectories will be archived. In other words, deeper in the directory tree the hidden objects will be archived.
The answer is that the * wildcard is handled by the shell and it just does not expand to things that start with a dot. The other wildcard ? also does not expand to things that start with a dot. Thanks to Keith for pointing out it is the shell that does the expansion and so it has nothing to do with tar.
If you use shopt -s dotglob then expansion will include things like .filename. Thanks to Andy.
Use shopt -u dotglob to turn it off.
Switching the dotglob option does not change ls itself. Rather it just changes expansion behaviour as exhibited in something like ls *.
Edit: My recommendations are in a comment below.