Для чего используется 'кошка'?

Я видел, что команда кошки подходит в некотором материале онлайн, и мне было любопытно относительно какой cat сделал и для чего это в контексте кого-то, кто просто делает некоторый простой материал командной строки.

13
задан 3 January 2018 в 03:30

4 ответа

catосновная цель состоит в том, чтобы связать файлы. cat file1 file2 ... покажет содержание file, file2 и другие один за другим, как будто содержание было в единственном файле. См. страницу справочника:

NAME
       cat - concatenate and print files

Это предназначено для использования где также:

  • целевая команда не может читать из файлов, и необходимо передать несколько файлов ей. Пример tr утилита. Обычно, с одним файлом, Вы сделали бы:

    tr < file
    

    Но с несколькими файлами, не может использоваться перенаправление, таким образом, необходимо сделать:

    cat file1 file2 ... | tr
    
  • целевая команда может читать из нескольких файлов, но ее поведение может измениться, когда она дала несколько файлов. Пример wc, который печатает счета для каждого файла, наряду с именами файлов, где Вы, возможно, хотели просто общее количество без имени файла.

Помните, что большинство команд Вы встречаетесь (grep, sed, awk, sort...) может считать превосходные файлы.

Если Вы хотите просмотреть содержание файла, используйте пейджер - less и more и чрезвычайно способны к представлению файлов для просмотра и намного более удобны для использования.

12
ответ дан 23 November 2019 в 03:16

cat одна из наиболее часто используемых команд в подобных Unix операционных системах. Это имеет три связанных функции относительно текстовых файлов:

  1. отображение их
  2. объединяющиеся копии их
  3. создающие новые.
  4. файлы Копии

общий синтаксис кошки:

cat [options] [filenames] [-] [filenames]

Файлы Чтения

наиболее популярный способ использования кошки должен считать содержание файлов, и кошка часто является самой удобной программой с этой целью. Все, что необходимо для открытия текстового файла для просмотра на мониторе, должно ввести кошку слово, сопровождаемую пространством и названием файла, и затем нажать клавишу ENTER. Например, следующее отобразит содержание файла, названного file1:

cat file1

Конкатенация

вторая роль кошки является конкатенацией. (Это - источник любопытного имени кошки.) Нет никакого эффекта на исходные файлы.

, Например, следующая команда свяжет копии содержания этих трех файлов file1, file2 и file3:

cat file1 file2 file3

содержание каждого файла будет отображено на экране монитора. Этот вывод мог так же легко быть перенаправлен с помощью оператора перенаправления вывода для другого файла, такого как file4, с помощью следующего:

cat file1 file2 file3 > file4

Создание Файла

Благодаря комментарий @muru: кошка способна к, создают новые файлы в зависимости от функции перенаправления оболочки и не его

Для маленьких файлов, это часто легче, чем использование vi, gedit или другие текстовые редакторы. Это выполняется путем ввода кошки, сопровождаемой оператором перенаправления вывода и названием файла, который будет создан, затем нажатие ВХОДИТ и наконец одновременно нажатие Ctrl & d ключи.

, Например, новый файл, названный file1, может быть создан путем ввода

cat > file1

тогда, нажатие ВХОДИТ и одновременно нажимает Ctrl & d ключи.

PS1: Если файл, названный file1 уже, будет существовать, это будет перезаписано

PS2: можно добавить к использованию файла, из которого выходят, добавляют кошку оператор >> в качестве примера>> Файлы Копии file1

, команда кошки может также использоваться ( зависящий на функции перенаправления оболочки), чтобы создать новый файл и передать ему данные из существующего файла. Пример: сделайте копию файла oldfile.txt:

cat oldfile.txt > newfile.txt

Ссылки:

9
ответ дан 23 November 2019 в 03:16

Это может использоваться для показа содержания файла. Например: cat "my file.txt". Можно также сделать man cat, чтобы показать Вам детали о том, для чего cat может использоваться.

1
ответ дан 23 November 2019 в 03:16

Вот иначе для создания файла с помощью перенаправления оболочки (или передавая по каналу) и cat:

cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF

cat << EOF произведет следующие строки до строки EOF встречен снова. Затем > (>>) перенаправит вывод в файл foo.sh. С другой стороны, если необходимо создать файл как корень, можно передать вывод по каналу к команде tee (tee -a), выполняемый командой sudo:

cat << EOF | sudo tee foo.sh && sudo chmod +x foo.sh
#!/bin/sh
HELLO='Hello World!'
echo "\$HELLO"
EOF
  • Вышеупомянутое сделает исполняемый файл файла (chmod +x) если это успешно создается (&&).
  • Особое значение некоторых символов (как $) должен быть оставлен (с \) в выводе cat.
0
ответ дан 23 November 2019 в 03:16

Другие вопросы по тегам:

Похожие вопросы: