5

Как архивировать и удалить лишние файлы, пример.

cd ~/Desktop && tar -cvf sitepack.tar ./

это даст мне

ls
Riva_Starr_Feat._Noze_I_Was_Drunk_Official_Video_HD_.mp3
Riva_Starr_feat._Sud_Sound_System_Orizzonti_Official_Vide.mp3
Riva_starr_I_was_drunk_Syskey_remix_.mp3
sitepack.tar

когда то, что я ищу

ls
sitepack.tar

так он все архивирует в zip, а не оставляет их на месте?

2 ответа2

11

Если вы используете GNU tar , вы можете использовать --remove-files :

--remove-files

удалить файлы после добавления их в архив

Это не портативно, хотя.

Если у вашего tar этого нет, вам нужно будет сделать это вручную, в два этапа.
Я бы посоветовал вам не помещать файл tar в каталог, который вы упаковываете, а помещать его в родительский каталог. Таким образом, вы можете просто rm * (возможно, рекурсивно) после завершения tar .

1
[max@localhost zzz]$ touch 1 2 3 4
[max@localhost zzz]$ ll
total 0
-rw-rw-r-- 1 max max 0 Oct 18 16:13 1
-rw-rw-r-- 1 max max 0 Oct 18 16:13 2
-rw-rw-r-- 1 max max 0 Oct 18 16:13 3
-rw-rw-r-- 1 max max 0 Oct 18 16:13 4

Для создания архива используйте эту команду

-c ---------> Для создания архива

[max@localhost zzz]$ tar -cvf max.tar 1 2 3 4
1
2
3
4
[max@localhost zzz]$ ls -l max.tar 
-rw-rw-r-- 1 max max 10240 Oct 18 16:14 max.tar

Для просмотра содержимого архива используйте эту команду

-t ---------> Список всех файлов в архиве

 
[max@localhost zzz]$ tar -tvf max.tar
-rw-rw-r-- max/max           0 2012-10-18 16:13 1
-rw-rw-r-- max/max           0 2012-10-18 16:13 2
-rw-rw-r-- max/max           0 2012-10-18 16:13 3
-rw-rw-r-- max/max           0 2012-10-18 16:13 4

Для извлечения используйте эту команду

-x ---------> Извлечь из архива

-v ---------> Для подробного режима

[max@localhost zzz]$ tar -xvf max.tar -C direc1
1
2
3
4

Здесь -C извлечь содержимое в директорию direc1

Чтобы извлечь один файл из архива, используйте эту команду

[max@localhost zzz]$ tar -xvf max.tar 1 -C direc1
1

Give the file name you want to archive in my case file name is `1`

[max @ localhost zzz] $ tar -cvf max.tar 1 2 3 4 --remove-files

Это удалит оригинальные файлы после достижения

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .