У будь-якій операційній системі користувачі працюють з файлами та виконують такі операції, як створення, видалення та читання файлів. У Linux ситуація нічим не відрізняється.
У той час як ви можете працювати з файлами за допомогою графічного інтерфейсу користувача в операційній системі Linux, більшість користувачів Linux віддають перевагу взаємодії з операційною системою з терміналу.
Таким чином, Linux має команди, які дозволяють користувачам працювати з файлами прямо з терміналу. Однією з таких команд є команда cat.
З довідкових сторінок Linux команда cat використовується для об’єднання файлів і друку вмісту файлів у стандартний вихід. Сторінки керівництва Linux – це файли документації, які мають допомогти користувачам зрозуміти команди Linux і їх використання.
Щоб отримати доступ до сторінки довідки для будь-якої команди Linux, просто введіть man
man cat
Для чого використовується команда cat
Як зазначалося раніше, команду cat можна використовувати для виведення вмісту файлу на екран. Його інша функція полягає в об’єднанні файлів і виведенні їх вмісту. Це означає, що якщо ви надасте команді cat кілька файлів, вона об’єднає їхній вміст і виведе їхній вміст на екран.
Простіше кажучи, команда cat збирає вміст у кілька файлів і виводить їх на екран. Однак у такій операції команда cat не створюватиме жодного нового файлу, а вихідні файли, які використовуються в команді cat, залишаться незмінними.
Команда cat також використовується для перенаправлення. Перенаправлення стосується того, як користувачі можуть змінювати джерело стандартного введення та призначення для стандартного виведення та стандартної помилки. Стандартний вхід, стандартний вихід і стандартна помилка — це стандартні потоки, які використовуються для зв’язку в Linux.
За замовчуванням стандартним введенням є клавіатура, а стандартний вихід і стандартні помилки відображаються на екрані за замовчуванням.
Таким чином, перенаправлення означає замість отримання стандартного введення з клавіатури, яке є типовим, ми можемо перенаправити та отримати введення з файлу чи будь-якого іншого джерела.
Коли справа доходить до стандартного виводу та стандартної помилки, які відображаються на екрані за замовчуванням, через перенаправлення ви можете записати ці виходи у файл.
Синтаксис команди cat
Синтаксис команди cat такий:
cat [OPTION]... [FILE]...
На довідкових сторінках Linux усе, що вказано в квадратних дужках, є необов’язковим. Таким чином, у наведеному вище синтаксисі команда cat не є обов’язковою для аргументу OPTION або навіть File. Він може мати одне з двох, обидва або взагалі жодного.
Три крапки (…) використовуються, щоб показати, що один або кілька попередніх операндів або аргументів дозволені. Таким чином, команда cat може приймати один або кілька ОПЦІЙ або ФАЙЛОВ.
FILE представляє файли, які команда cat хоче об’єднати та відобразити. OPTION представляє прапорці, які можна додати до команди cat, щоб змінити її поведінку. Нижче показано параметри, які можна використовувати з командою cat:
Команда cat працює, беручи передані файли та виводячи їх вміст у стандартний вихід, яким є вікно терміналу. Якщо йому передано кілька файлів, їхній вміст об’єднується, а потім відображається у вікні терміналу.
Команда cat також буде поводитися по-різному залежно від переданого їй прапора. Наприклад, передача прапорця -n призведе до того, що команда cat пронумерує всі вихідні рядки. Залежно від того, як ви хочете, щоб він поводився, ви можете передати будь-який із прапорів, які можна використовувати з командою cat.
Як використовувати команду cat
Щоб скористатися командою cat, просто введіть команду та ім’я файлу(ів), які ви хочете об’єднати та прочитати, наприклад. Щоб вивести вміст файлу під назвою rainbow.txt, виконайте таку команду.
cat rainbow.txt
Ви також можете додати позначку, щоб змінити поведінку команди cat. Наприклад, ви можете пронумерувати всі вихідні рядки за допомогою прапорця -n. У нашому прикладі вище ми можемо пронумерувати всі вихідні рядки у файлі rainbow.txt, виконавши такий рядок:
cat -n rainbow.txt
Результати двох команд наведено нижче:
Щоб об’єднати прапорці або параметри, які можна використовувати з командою cat, просто напишіть їх один за одним або розмістіть їх. Будь-яка з двох робіт. Прапор -E, показаний нижче, використовується для додавання знака долара ($) у кінці рядків виводу.
Це може бути корисним під час відображення валютних значень. Нижче показано різні способи поєднання кількох прапорів за допомогою команди cat:
Щоб об’єднати та відобразити декілька файлів за допомогою команди cat, просто напишіть імена файлів один за одним, розділивши їх пробілами. Наприклад, щоб об’єднати два файли з іменами rainbow.txt і primary.txt, виконайте такий рядок:
cat rainbow.txt primary.txt
Результат команди показано нижче
Після цієї операції два файли rainbow.txt і primary.txt залишаться незмінними. Зауважте, що порядок відображення файлів у команді визначає спосіб відображення вмісту. Вміст відображається від першого файлу до останнього. Ви також можете додати позначки під час об’єднання та відображення кількох файлів, як показано нижче:
І останнє, про що слід зауважити щодо команди cat, це те, що у випадку, якщо до команди не надано файл або надано дефіс (-), команда cat читатиме зі стандартного вводу замість файлу. Стандартним введенням є клавіатура.
Тому команда cat просто відображатиме все, що користувач вводить з клавіатури. Щоб переконатися в цьому на практиці, виконайте команду:
cat
Команда переведе вас до миготливого курсору, який очікує введення з клавіатури. Введіть будь-який текст і натисніть Enter. Усе, що ви введете, буде виведено на стандартний вихід, як показано нижче:
Натисніть CTRL + C, щоб вийти та припинити передачу даних команді cat.
Ми також можемо використовувати команду cat для об’єднання та виведення вмісту всіх файлів певного типу в активний каталог. Це робиться за допомогою зірочки
cat *.txt
символ підстановки. Наприклад, щоб отримати весь вміст текстових файлів (.txt) у певному каталозі, ми б виконали наведений нижче код:
Результат команди показано нижче:
Приклади cat Command
Окрім стандартного використання команди cat, функціональність команди cat можна розширити за допомогою переспрямування. Як згадувалося раніше, команда cat за замовчуванням виводить на екран терміналу.
Однак за допомогою переспрямування ми можемо перенаправити його вивід до іншого файлу замість того, щоб вивод відображався на екрані.
Оператором перенаправлення виводу в Linux є > (символ «більше», який також називають шевроном).
cat rainbow.txt
Наприклад, якщо ми виконаємо рядок:
Вміст файлу rainbow.txt буде виведено на екран.
cat colors.txt > rainbow.txt
Однак якщо ми виконаємо
Вміст файлу rainbow.txt не відображатиметься на екрані. Натомість вони будуть перенаправлені та записані у файл colors.txt. Це може бути чудовим способом копіювання вмісту з одного файлу в інший.
За замовчуванням перенаправлення виводу в Linux перезаписує весь вміст у файлі, на який ми перенаправляємо. Наприклад, у наведеному вище прикладі весь вміст у файлі rainbow.txt буде перезаписано вмістом із файлу colors.txt. Щоб зберегти наявний вміст у файлі, на який ви перенаправляєте, і додати до нього новий вміст, використовуйте >> під час перенаправлення.
Зауважте, що у файлі colors.txt тепер є кольори, знайдені в файлі rainbows.txt після перенаправлення результату з файлу rainbows.txt у файл colors.txt за допомогою >>
Щоб розвинути функціональність команди cat ще далі, ми можемо поєднати переспрямування та типову поведінку команди cat – читання зі стандартного вводу, коли файл не надано, щоб використовувати команду cat для створення файлу та запису в нього.
cat > dark.txt
Якщо ви виконаєте наведений нижче код
Ми будемо переспрямовувати на dark.txt. Оскільки ми не надали файл, вміст якого буде переспрямовано до dark.txt, команда cat очікуватиме введення з клавіатури.
Тому введіть будь-який текст, який ви хочете зберегти в dark.txt, натисніть Enter, щоб перейти до наступного рядка, і натисніть CTRL + D, коли закінчите, щоб зберегти введене у файлі, на який ви перенаправляєте.
Оскільки ми перенаправляємо до файлу, якого не існує, dark.txt буде створено автоматично, а те, що ми ввели за допомогою клавіатури, буде збережено у файлі. Таким чином ми можемо використовувати команду cat для створення файлів і запису в них під час їх створення.
Результат операції показано нижче:
cat >> dark.txt
Кота також можна використовувати для додавання тексту в кінець файлу. Використовуючи dark.txt, ми можемо додати до нього більше кольорів, виконавши:
Потім ви можете додати додаткову інформацію, ввівши з клавіатури, а потім натиснувши CTRL + D, щоб зберегти та додати новий вміст до dark.txt, як показано нижче:
cat file1 file2 file3 > file4
Команду cat також можна використовувати для об’єднання кількох файлів в один. Синтаксис такої операції наведено нижче
Вміст файлів file1, file2 і file3 буде об’єднано разом і записано до file4. Ви також можете використовувати >>, якщо ви не хочете перезаписувати вміст у файлі4. Якщо file$ не існує, він буде створений автоматично.
Приклад цього показано нижче:
cat colors.txt primary.txt > allColors.txt
Щоб записати вміст colors.txt і primary.txt у allColors.txt, ми виконуємо
cat primary.txt >> colors.txt
Ви також можете додати вміст з одного або кількох файлів до іншого за допомогою команди cat. Це робиться за допомогою >> під час перенаправлення виводу. Це дозволяє уникнути перезапису того, що вже зберігається в іншому файлі. Наприклад, щоб додати вміст первинного.txt до colors.txt, виконайте наведений нижче код:
Результат цієї операції показано нижче:
Висновок
Команда cat — це дуже корисна команда Linux, яка дозволяє користувачам об’єднувати та відображати вміст файлів. Команда має кілька прапорців, які можна додати до неї, щоб змінити її поведінку.
За допомогою переспрямування функціональність команди cat може бути значно розширена, дозволяючи користувачам створювати та копіювати файли, об’єднувати кілька файлів в один файл і додавати до існуючого файлу. Щоб дізнатися більше про команду cat, відвідайте її сторінки man.
Ви також можете дослідити деякі команди Linux для системних адміністраторів.