tar - исключает, не работает

Я предположил, чтобы заархивировать каталог с tar и исключить некоторые файлы. У меня есть $HOME/java каталога, который включает некоторый .java и .class файлы. То, что я хочу сделать, исключают все .class файлы с помощью-X, исключают опцию.

Я создал Исключить файл при помощи находки

$ find $HOME/java -name "*.class" > Exclude

Затем попробованный для архивации каталога

$ tar -cvfX java.tar Exclude $HOME/java

Но так или иначе это не делает исключения. Версия tar на Солярисе не поддерживает исключение по имени.

3
задан 19.11.2014, 11:39

4 ответа

 tar -cvf java.tar --exclude="*.class" $HOME/java

От man страницы:

--exclude pattern

    Do not process files or directories that match the specified pattern.  
    Note that exclusions take precedence over patterns or filenames 
    specified on the command line.
3
ответ дан 07.12.2019, 23:03

Ваш синтаксис совершенно правилен для версии Соляриса tar, на самом деле я просто попробовал его на Солярисе 8 и 10 как корневой и некорневой пользователь.

Вы уверены, что это не исключило его? В подробном режиме-v опция, исключенный файл все еще перечислен и говорит "исключенный" вместо размера как последнее поле.

Есть ли какие-либо сообщения об ошибках? Если это не может найти или читать, исключают файл, скажет это так....

 tar c[BDeEFhilnopPqTvw@[0-7]][bfk][X...] [blocksize]
     [tarfile] [size] [exclude-file]...
     {file | -I include-file | -C directory file}...
4
ответ дан 07.12.2019, 23:03

Tar имеет опцию исключить файлы по имени шаблон. Попробуйте тот вместо этого.

Если Вы хотите использовать исключить файл, то удостоверьтесь пути (т.е. те, который tar выводы и те в файле), точно то же. Таким образом, в то время как "//b" совпадает с "a/b" на командной строке, это отличается для tar.

1
ответ дан 07.12.2019, 23:03

Если Вы действительно хотите использовать-X опцию, попробуйте это:

tar -cvf java.tar -X Exclude $HOME/java
1
ответ дан 07.12.2019, 23:03

Теги

Похожие вопросы