Відмінності між версіями «Робота з архівами»
Рядок 5: | Рядок 5: | ||
Tar - стандартий і найпопулярніший засіб для архівування / розпакування даних в Linux. Основні опції tar. | Tar - стандартий і найпопулярніший засіб для архівування / розпакування даних в Linux. Основні опції tar. | ||
− | v | + | v Докладний висновок інформації і роботі. |
− | + | ||
− | + | ||
f Ця опція дозволяє записувати у файл. Тобто її потрібно вказувати завжди як при створенні нового архіву, так і при розпакуванні. | f Ця опція дозволяє записувати у файл. Тобто її потрібно вказувати завжди як при створенні нового архіву, так і при розпакуванні. |
Версія за 15:01, 6 грудня 2011
Робота з архівами у 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