Команда Cat в Linux - Як створити текстовий файл за допомогою Cat або Touch

catКоманда є дуже популярною і універсальної командою в «Нікс екосистемі. Існує 4 загальних звичаю catнаказу. Він може відображати файл, об'єднувати (об'єднувати) кілька файлів, ехо-текст, і його можна використовувати для створення нового файлу.

Відображення файлу

Найбільш поширеним використанням команди cat є виведення вмісту файлу. Далі наведено приклад, який ви можете спробувати.

echo "Dance, Dance" > cat_create #create a file cat cat_create

У цьому простому прикладі ми використовуємо комбінацію echoта переспрямування для створення файлу, що містить "Танець, Танець". Потім ми використовуємо catкоманду для відображення вмісту.

Вихід такий:

(Con) кішка

Попередній приклад насправді є конкретним випадком основної функції команди cat, яка полягає у об'єднанні файлів для відображення. Якщо ми використовуємо команду так само, але надаємо їй два або більше файлів, то вона виводить конкатенацію для файлів.

Якщо ми виконаємо такі команди:

echo "This is how we do it" > test1 #create 1st file echo "*This is how we do it*" > test2 #create 2nd file cat test1 test2 

Результатом є вміст 1-го файлу, а потім вміст 2-го файлу. Ви можете дати кішці багато файлів, і вона об’єднає (об’єднає) усі. Однак зверніть увагу, що команда cat автоматично вставляє розрив рядка між виходами.

catтакож надає деякі перемикачі, щоб робити такі речі, як показ недрукованих символів (-v) або нумерацію рядків (-n). Повну розбивку можна знайти на сторінках керівництва.

Відлуння

Це менш поширене використання cat, але є основою для наступного розділу. Якщо ви виконуєте catкоманду без команд, вона catбуде виконуватися в інтерактивному режимі і повторюватиме все, що ви вводите, поки не вийдете з команди.

У наведеному прикладі я набрав по одному слову на рядок. Кожного разу, коли я натискав клавішу Enter, рядок повторювався.

Ви також можете передати текст у конвеєр cat, і в цьому випадку цей текст відображається. Наприклад:

echo "Piping fun" | cat 

Це призведе до наступного результату:

Створення файлу

У попередніх прикладах ми використовували echoкоманду, перенаправлену у файл, для створення нових файлів. Кішку можна використовувати подібним чином. Насправді ми можемо використовувати catфункцію concat та echo для створення файлів.

Ми можемо створити файл, що містить об'єднання декількох файлів, як це:

echo "File 1 Contents" > file1 echo "File 2 Contents" > file2 echo "File 3 Contents" > file3 cat file1 file2 file3 > combined_file cat combined_file

У наведеному вище прикладі ми створюємо 3 файли за допомогою echo, об’єднуючи 3 файли в один за допомогою cat, а потім відображаючи новий об’єднаний файл за допомогою cat.

Ми також можемо використовувати catінтерактивний режим '' для створення файлу з текстом, який ми вводимо в термінал.

Кожного разу, коли ви натискаєте клавішу Enter, вона фіксує текст у файлі. Якщо у вас є незакріплений текст і вихід, він не буде захоплений у файл.

Це фантастичний спосіб швидкого створення файлу з можливістю введення вмісту файлу.

Замість цього скористайтеся Touch, щоб створити файл

Іноді для існування просто потрібен файл. Як альтернативу використанню catдля створення файлу ви можете використовувати touchкоманду.

touchКоманда була розроблена , щоб оновити змінену мітку часу файлу, але зазвичай використовується як швидкий спосіб для створення порожнього файлу. Ось приклад такого використання:

touch new_file_name

Команда touch може створювати кілька файлів, оновлювати часові позначки модифікації та / або створення та купу інших корисних речей. Повні сторінки керівництва можна знайти тут.

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

Резюме

Кішка - дуже корисна команда. Ви можете використовувати його для створення, відображення та комбінування текстових файлів дуже швидко і легко.  

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

Х'юї Коулз - провідний розробник Index Exchange. Він пише про архітектуру програмного забезпечення, масштабування, лідерство та культуру. Щоб дізнатись більше про його твори, перегляньте його щоденник.