Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

cat – об’єднати файли

Команда як команда читає один або кілька файлів і копіює їх у стандартний висновок так:


кіт [файл ...]

кіт [файл ...]


У більшості випадків ви можете придумати як як аналогічний до TYPE команду в DOS. Ви можете використовувати його для відображення файлів без сторінок, наприклад:



[me@linuxbox ~]$ cat ls-output.txt

[me@linuxbox ~]$ cat ls-output.txt


відобразить вміст файлу ls-вихід.txt. як часто використовується для відображення коротких текстових файлів. Оскільки як може приймати більше одного файлу як аргумент, його також можна використовувати для об’єднання файлів разом. Скажімо, ми завантажили великий файл, який було розділено на кілька частин (мультимедійні файли часто розбиваються таким чином у Usenet), і ми хочемо знову об’єднати їх разом. Якщо файли були названі:

movie.mpeg.001 movie.mpeg.002 ... movie.mpeg.099

ми могли б знову об’єднати їх разом за допомогою цієї команди:



cat movie.mpeg.0* > movie.mpeg

cat movie.mpeg.0* > movie.mpeg


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

Все це добре, але яке відношення це має до стандартного введення? Поки нічого, але давайте спробуємо щось інше. Що станеться, якщо ми введемо «cat» без аргументів:



[me@linuxbox ~]$ як

[me@linuxbox ~]$ як


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

If як не надано жодних аргументів, він читає зі стандартного введення, а оскільки стандартний введення за замовчуванням приєднано до клавіатури, він чекає, коли ми щось введемо! Спробуйте додати такий текст і натиснути Enter:

Переспрямування стандартного введення


[me@linuxbox ~]$ як

Швидкий коричневий лис перестрибнув ледачого собаку.

[me@linuxbox ~]$ як

Швидкий коричневий лис перестрибнув ледачого собаку.


Далі введіть a Ctrl-d (тобто, утримуйте клавішу Ctrl і натисніть «d»), щоб розповісти як що воно досягло кінець файлу (EOF) на стандартному введенні:



[me@linuxbox ~]$ як

Швидкий коричневий лис перестрибнув ледачого собаку.

Швидкий коричневий лис перестрибнув ледачого собаку.

[me@linuxbox ~]$ як

Швидкий коричневий лис перестрибнув ледачого собаку.

Швидкий коричневий лис перестрибнув ледачого собаку.


За відсутності аргументів імені файлу, як копіює стандартний вхід у стандартний вихід, тому ми бачимо, що наш рядок тексту повторюється. Ми можемо використовувати цю поведінку для створення коротких текстових файлів. Скажімо, ми хотіли створити файл під назвою “lazy_dog.txt”, який містить текст у нашому прикладі. Ми б зробили це:



[me@linuxbox ~]$ cat > lazy_dog.txt

Швидкий коричневий лис перестрибнув ледачого собаку.

[me@linuxbox ~]$ cat > lazy_dog.txt

Швидкий коричневий лис перестрибнув ледачого собаку.


Введіть команду, а потім текст, який ми хочемо розмістити у файлі. Не забудьте ввести Ctrl-d в кінці. Використовуючи командний рядок, ми впровадили найтупіший у світі текстовий процесор! Щоб побачити наші результати, ми можемо використовувати як щоб знову скопіювати файл у стандартний вихід:


[me@linuxbox ~]$ кіт lazy_dog.txt

Швидкий коричневий лис перестрибнув ледачого собаку.

[me@linuxbox ~]$ кіт lazy_dog.txt

Швидкий коричневий лис перестрибнув ледачого собаку.


Тепер, коли ми знаємо, як як приймає стандартне введення, на додаток до аргументів імені файлу, давайте спробуємо перенаправити стандартний вхід:



[me@linuxbox ~]$ кіт < lazy_dog.txt

Швидкий коричневий лис перестрибнув ледачого собаку.

[me@linuxbox ~]$ кіт < lazy_dog.txt

Швидкий коричневий лис перестрибнув ледачого собаку.


Використовуючи оператор переспрямування «<», ми змінюємо джерело стандартного введення з клавіатури на файл lazy_dog.txt. Ми бачимо, що результат такий самий, як і передача одного аргументу імені файлу. Це не особливо корисно в порівнянні з передачею аргументу імені файлу, але воно служить для демонстрації використання файлу як джерела стандартного введення. Інші команди краще використовують стандартний введення, як ми скоро побачимо.


Перш ніж ми перейдемо далі, перегляньте сторінку man як, оскільки має кілька цікавих варіантів.


Найпопулярніші хмарні обчислення ОС на OnWorks: