$ ls -A1p |grep -v / # I think this would actually match cp's behavior Here is options used -A, --almost-all do not list implied . and .. -1 list one file per line -p, --file-type append indicator (one of /=@|) to entries We grep / to remove directories from output, since they won't be copied with ls command below > ls /foo/*.xyz # To see the files it will select > cp /foo/*.xyz /boo