I am using rsync to make a duplicate of an ExFAT-formatted external HD to another external HD. At the end of the copy, I got a message saying some files had vanished during the copy. So I used diff to see what files weren't copied. There are a lot of files starting in ._ that weren't copied, so I'll try using dot_clean to fix those and re-copy. But there's another weirder problem.

Diff tells me a certain file exists 'Only in /volumes/[...]' so I go that directory and do a ls -a and that file doesn't show up in the list. I do a diff again and it again says the file is there. (It is not a . file btw.) There are 20 or so files like this according to diff.

Is there any reason a file would not show up in ls -a?

  • ls -a will only list files in current directory. – jmh Aug 16 '19 at 21:43
  • From command line you can type 'locate filename' or 'find . name filename' – jmh Aug 16 '19 at 22:00
  • First, I would not recommend removing "._" (AppleDouble) files -- they contain metadata that ExFAT volumes cannot store natively, and (depending on exactly how you did the sync) rsync probably did the right thing, and converted them to actual metadata. diff will show this as a missing file, but it's actually exactly what you want. As for the other "Only in ..." files, I'd need to know details (like, an example filename and ls -a on the directory that should contain it). – Gordon Davisson Aug 16 '19 at 22:12

You must log in to answer this question.

Browse other questions tagged .