Відмінності між версіями «Робота з архівами»
Donserg (Обговорення • внесок) м (Захист на Робота з архівами встановлено ([edit=sysop] (безстроково) [move=sysop] (безстроково))) |
|||
(4 проміжні версії одного користувача не показані) | |||
Рядок 5: | Рядок 5: | ||
Tar - стандартий і найпопулярніший засіб для архівування / розпакування даних в Linux. Основні опції tar. | Tar - стандартий і найпопулярніший засіб для архівування / розпакування даних в Linux. Основні опції tar. | ||
− | v | + | v - Докладний висновок інформації і роботі. |
− | - | + | |
− | + | ||
− | f Ця опція дозволяє записувати у файл. Тобто її потрібно вказувати завжди як при створенні нового архіву, так і при розпакуванні. | + | f - Ця опція дозволяє записувати у файл. Тобто її потрібно вказувати завжди як при створенні нового архіву, так і при розпакуванні. |
− | c Створення нового архіву. Використовується разом з опцією f. | + | c - Створення нового архіву. Використовується разом з опцією f. |
− | A Додати файли до архіву. Увага: стислі архіви (bzip2 або gzip) не можна змінити! Оновити / додати файли можна тільки в ті архіви, які створені без стиснення, тобто наприклад так tar cf архів.tar назва_пакунка | + | A - Додати файли до архіву. Увага: стислі архіви (bzip2 або gzip) не можна змінити! Оновити / додати файли можна тільки в ті архіви, які створені без стиснення, тобто наприклад так tar cf архів.tar назва_пакунка |
− | r Додати файли в кінець архіву. | + | r - Додати файли в кінець архіву. |
− | d Показати відмінності між архівами. | + | d - Показати відмінності між архівами. |
− | t Вивести список файлів у архіві. | + | t - Вивести список файлів у архіві. |
− | u Додати в архів тільки ті файли, що новіше вже існуючих в архіві. | + | u - Додати в архів тільки ті файли, що новіше вже існуючих в архіві. |
− | x Видобути файли з архіву. Разом з цією опцією треба вказувати тип архіву. | + | x - Видобути файли з архіву. Разом з цією опцією треба вказувати тип архіву. |
− | j Вказує тип архіву bzip2. | + | j - Вказує тип архіву bzip2. |
− | z Вказує тип архіву gzip. | + | z - Вказує тип архіву gzip. |
− | k Не перезаписувати існуючі файли. | + | k - Не перезаписувати існуючі файли. |
- Keep-newer-files Не перезаписувати існуючі файли, які новіше, ніж файли в архіві. | - Keep-newer-files Не перезаписувати існуючі файли, які новіше, ніж файли в архіві. | ||
Рядок 35: | Рядок 33: | ||
- Remove-files Видалити файли, після додавання їх в архів. | - Remove-files Видалити файли, після додавання їх в архів. | ||
− | w Інтерактивний режим, в якому tar буде запрошувати підтвердження на кожну дію. | + | w - Інтерактивний режим, в якому tar буде запрошувати підтвердження на кожну дію. |
− | X назва_пакунка | + | X назва_пакунка - Не додавати в архів файли, список яких вказаний у файлі "ім'я-файла". |
− | + | $ tar -tf primer.tar.gz - Перегляд вмісту архіву; | |
− | + | $ tar cf primer.tar / home / primer.txt - Створити tar-архів з ім'ям primer.tar містить / home / primer.txt; | |
− | + | $ tar czf primer.tar.gz / home / primer.txt - Створити tar-архів з стисненням Gzip на ім'я primer.tar.gz; | |
− | + | $ tar cjf primer.tar.bz2 / home / primer.txt - Створити tar-архів з стисненням Bzip2 на ім'я primer.tar.bz; | |
− | + | $ tar xf primer.tar - Розпакувати архів primer.tar в поточну папку; | |
− | + | $ tar xzf primer.tar.gz - Розпакувати tar-архів з Gzip; | |
− | + | $ tar xjf primer.tar.bz - Розпакувати tar-архів з Bzip2. | |
Поточна версія на 23:18, 20 вересня 2012
Робота з архівами у Linux. Утиліта TAR. Основні типи архівів. Створення, зміна, розпакування архівів. Робота з великою кількістю файлів і архівів одночасно. Масове перейменування файлів.
УТИЛІТИ TAR
Tar - стандартий і найпопулярніший засіб для архівування / розпакування даних в Linux. Основні опції tar.
v - Докладний висновок інформації і роботі.
f - Ця опція дозволяє записувати у файл. Тобто її потрібно вказувати завжди як при створенні нового архіву, так і при розпакуванні.
c - Створення нового архіву. Використовується разом з опцією f.
A - Додати файли до архіву. Увага: стислі архіви (bzip2 або gzip) не можна змінити! Оновити / додати файли можна тільки в ті архіви, які створені без стиснення, тобто наприклад так tar cf архів.tar назва_пакунка
r - Додати файли в кінець архіву.
d - Показати відмінності між архівами.
t - Вивести список файлів у архіві.
u - Додати в архів тільки ті файли, що новіше вже існуючих в архіві.
x - Видобути файли з архіву. Разом з цією опцією треба вказувати тип архіву.
j - Вказує тип архіву bzip2.
z - Вказує тип архіву gzip.
k - Не перезаписувати існуючі файли.
- Keep-newer-files Не перезаписувати існуючі файли, які новіше, ніж файли в архіві.
- Remove-files Видалити файли, після додавання їх в архів.
w - Інтерактивний режим, в якому tar буде запрошувати підтвердження на кожну дію.
X назва_пакунка - Не додавати в архів файли, список яких вказаний у файлі "ім'я-файла".
$ tar -tf primer.tar.gz - Перегляд вмісту архіву;
$ tar cf primer.tar / home / primer.txt - Створити tar-архів з ім'ям primer.tar містить / home / primer.txt;
$ tar czf primer.tar.gz / home / primer.txt - Створити tar-архів з стисненням Gzip на ім'я primer.tar.gz;
$ tar cjf primer.tar.bz2 / home / primer.txt - Створити tar-архів з стисненням Bzip2 на ім'я primer.tar.bz;
$ tar xf primer.tar - Розпакувати архів primer.tar в поточну папку;
$ tar xzf primer.tar.gz - Розпакувати tar-архів з Gzip;
$ tar xjf primer.tar.bz - Розпакувати tar-архів з Bzip2.
Масове перейменування файлів в Linux Взагалі, намагайтеся не використовувати прогалини у іменах файлів. Наступна конструкція перейменовує всі файли в поточному каталозі, замінюючи прогалини на символи підкреслення «_»:
$ Find. -type f | while read i; do mv "$ i" "$ (echo" $ i "| tr ' ' _)"; done
Досвід використання масового перейменування файлів із заміною пробілів на символи підкреслення:
$ Ls -1
1 odun.djvu
2 dva.djvu
3 tru, choturu, = sim.djvu
r shi.djvu
$ Find. -type f | while read i; do mv "$ i" "$ (echo" $ i "| tr ' ' _)"; done
$ Ls -1
1_odun.djvu
2_dva.djvu
3_tru, _choturu, =sim.djvu
r_shi.djvu
Наведена конструкція замінить прогалини на символи підкреслення в іменах файлів не тільки поточного але і всіх вкладених каталогів. Якщо вам потрібно перейменувати файли тільки в поточному каталозі, додайте опцію-maxdepth 1: $ Find. -maxdepth 1-type f | while read i; do mv "$ i" "$ (echo" $ i "| tr _)"; done