Командата Cat в Linux - Как да създадете текстов файл с Cat или Touch

В catзаповедта е много популярен и гъвкав команда в "никс екосистема. Има 4 често използвани catкоманди. Той може да показва файл, да обединява (комбинира) множество файлове, ехо текст и може да се използва за създаване на нов файл.

Показване на файл

Най-често използваната команда на cat е за извеждане на съдържанието на файл. Следното е пример, който можете да опитате.

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

В този прост пример използваме комбинация от echoи пренасочване, за да създадем файл, съдържащ „Dance, Dance“. След това използваме 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 

Резултатът е съдържанието на първия файл, последвано от съдържанието на втория файл. Можете да дадете на котката много файлове и тя ще обедини (комбинира) всички тях. Забележете обаче, че командата 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е чудесна алтернатива.

Хюи Коулс е водещ разработчик в Index Exchange. Той пише за софтуерна архитектура, мащабиране, лидерство и култура. За повече от неговото писане, разгледайте блога му на носител.