First off, let's clarify something: those different color filenames you're seeing on your Linux terminal often indicate different types of files. A different color could be related to things like file permissions, which may be why your Mac isn't seeing all of them.
One possible solution to your problem is to adjust the file permissions. Here's how you could do this:
1. First, connect the hard drive to your Linux machine.
2. Open Terminal.
3. Navigate to the drive's location using `cd` command.
4. You can modify permissions using the `chmod` command. For example, to give read, write, and execute permissions to everyone for a specific file, you could use `sudo chmod 777 filename`.
Please note, replace "filename" with the name of your actual file. Do this for all the problematic files. If you have lots of files, there are commands to do this in bulk as well.
Once you've done that, try connecting the hard drive to your Mac again and see if you can view the previously invisible files.
Note: Keep in mind that macOS does support ExFAT format, but sometimes there might be inconsistencies due to different implementations of ExFAT between different operating systems. In such cases, you could consider reformatting your external drive to a more universally friendly format like FAT32, although it has file size limit of 4GB.
For more information about changing file permissions in Linux, check out this article:
Also, here's an article explaining how to format a drive in different file systems using Disk Utility on Mac:
Remember to backup your files before proceeding with any formatting actions.