Ich kann wahrscheinlich ein Shell-Skript schreiben, um nur Dateien zu finden, und dann die Liste an tar übergeben, aber ich frage mich, ob es in tar bereits eine integrierte Funktion gibt, die genau dies in einer einzigen Befehlszeile ermöglicht.
Zum Beispiel fand ich den --no-recursion
Schalter, aber wenn ich tun:
tar --no-recursion -cvf mydir.tar mydir
Es archiviert nur die Namen der Einträge im Verzeichnis (einschließlich Unterverzeichnisse!), Aber es archivieren keine Dateien.
Ich habe auch versucht:
tar --no-recursion -cvf mydir.tar mydir/*
Aber während es Archive - Dateien nur, es auch archiviert die Namen der Unterverzeichnisse.
Gibt es eine Möglichkeit nur tar-Dateien zu sagen, keine Verzeichnisse?
find mydir -type f |xargs cp -t tempdir
und dann tar tempdir.
find mydir -depth 1 -type f | xargs tar cf mydir.tar
find mydir -maxdepth 1 -type f -exec tar cvf mydir.tar {} +
. Das +
bringt alle Dateien auf die gleiche Kommandozeile wie xargs.