Вивчаємо команди linux split

1. Введення

Якщо ви не чули про команду split, ви багато чого втратили. Як можна зрозуміти з її назви, ця команда може допомогти вам розділити файл на кілька менших файлів. split працює з будь-якими файлами, як текстовими, так і бінарними. Це дуже корисно, якщо ваш файл не поміщається на флешку, або вам потрібно відправити великий файл по електронній пошті. Ви також можете розділяти великі текстові файли, такі як логи, на кілька частин заданого розміру. У даній статті описаний сінтакіс і застосування команди split.

2. Часто використовувані опції

-b, --bytes = SIZE
Ця опція задає розмір виведених файлів.
-d, --numeric-suffixes
використовувати цифрові суфікси замість алфавітних
-n, --number = CHUNKS
задає кількість виведених файлів

3. Розрізування файлу на частини заданого розміру

Якщо не використовується опція suffix, за замовчуванням команда split буде розділяти файли на частини, назва яких буде починатися з x, за яким будуть слідувати ще два символи в алфавітному порядку. Наприклад, перший файл буде називатися xaa, за яким буде йти xab, xac, а останній файл буде називатися xzz. Це означає, що в даному випадку ви можете розбити свій файл не більше ніж на 676 частин (26x26). Візьмемо для прикладу файл розміром 10 Мб:

Тепер ми можемо розбити цей файл на частини розміром 1 Мб за допомогою опції -b:

4. Розрізування файлу на задану кількість частин

Також може виникнути ситуація, коли нам потрібно розбити файл на певну кількість частин. У наведеному нижче прикладі ми розрізаємо наш файл розміром 10 Мб на максимум три частини за допомогою опції -n:

5. Використання числових суфіксів

Команда split дозволяє створювати файли з числовими суфіксами замість символьних. Наведена нижче команда створює файл для кожного символу в рядку "linuxcareer.com". Секрет полягає в тому, що ми розрізаємо файл, задаючи розмір частини в байтах, а 1 байт еквівалентний 1 символу. Також замість символьних ми використовуємо числові суфікси:

6. Відновлення початкового файлу

Розрізати файл легко, але як зібрати його назад? Припустимо, у нас є якийсь ISO-образ, і ми хочемо розділити його навпіл.

Тепер ми розрізаємо образ навпіл за допомогою опції -n:

Ми можемо відновити вихідний файл ubuntu-12.04.1-server-amd64.iso, використовуючи команду cat і оператор перенаправлення STDOUT:

Щоб переконатися, що файл restored-ubuntu-12.04.1-server-amd64.iso відновлений коректно і являє собою точну копію оригінального файлу ubuntu-12.04.1-server-amd64.iso, ми використовуємо команду md5sum для створення контрольної суми обох файлів:

Як ви можете бачити, відновлений файл є точною копією вихідного, так як їх контрольні суми збігаються.

7. Розрізування архівів tar на льоту

Тепер, коли ми ознайомилися з основами, розглянемо більш складний приклад.
У наведеному нижче прикладі ми архівуємо директорію / tmp / Software. Однак замість створення архіву ми розріжемо його на льоту за допомогою команди split.

Як ви можете бачити, наш архів ДИРЕТОР / tmp / Software розрізаний на частини з максимальним розміром 2 Мб. Далі ми відновимо вихідну директорію:

8. Висновок

Як ви можете бачити, при використанні операційної системи GNU / Linux ви обмежені тільки своєю уявою і навичками, а не розміром вашого гаманця. У даній статті описані лише основи роботи з командою split. Дізнатися більше ви можете за допомогою команди: