UNIX / Linux file systems do not have a hidden file attribute. A file or folder is typically hidden by using a period as the first character in the file name i.e. .hiddenfile .
In order to list all files and directories you can use the ls command.
![Linux ls command without arguments](https://www.abort-retry-fail.com/wp-content/uploads/2018/09/Linux_ls_without_arguments.png)
To list all files and folders including hidden (starting with a dot) files and directories use ls -a or ls -Ra to recursively list all files and folders under the directory.
![Linux ls command with arguments](https://www.abort-retry-fail.com/wp-content/uploads/2018/09/Linux_ls_command.png)
We know bash does not include files with a dot. Additionally, * does not include files with a dot too. Consider the command ls TestOne/* .
![Linux ls command with asterisk](https://www.abort-retry-fail.com/wp-content/uploads/2018/09/Linux_ls_command_with_asterisk.png)
If you want to copy only hidden files from TestOne to TestTwo but not sub-folders run cp TestOne/.* TestTwo . You will get a warning that it did not copy . or .. .
![Linux cp, copy hidden files only](https://www.abort-retry-fail.com/wp-content/uploads/2018/09/Linux_cp_hidden_files_only.png)
If you want to copy hidden files and normal files together, ignoring sub-directories run the command cp TestOne/.* TestOne/* TestThree .
![Linux cp, copy hidden and normal files](https://www.abort-retry-fail.com/wp-content/uploads/2018/09/Linux_cp_hidden_and_normal_files.png)
You can also use shopt -s dotglob and then use cp commands like cp TestOne/* TestFour or cp -R TestOne/ TestFive if you want to copy sub-directories too.
![Linux cp using shopt -s dotglob](https://www.abort-retry-fail.com/wp-content/uploads/2018/09/Linux_cp_shopt_dotglob.png)
If you get stuck with wildcards test them with the echo command before running cp or mv commands. For example echo TestOne/* or echo TestOne/.* .
![Linux echo wildcard test](https://www.abort-retry-fail.com/wp-content/uploads/2018/09/Linux_echo_wildcard_test.png)