Я видел, что команда кошки подходит в некотором материале онлайн, и мне было любопытно относительно какой cat
сделал и для чего это в контексте кого-то, кто просто делает некоторый простой материал командной строки.
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
и чрезвычайно способны к представлению файлов для просмотра и намного более удобны для использования.
cat
одна из наиболее часто используемых команд в подобных Unix операционных системах. Это имеет три связанных функции относительно текстовых файлов:
общий синтаксис кошки:
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
Ссылки:
Это может использоваться для показа содержания файла. Например: cat "my file.txt"
. Можно также сделать man cat
, чтобы показать Вам детали о том, для чего cat
может использоваться.
Вот иначе для создания файла с помощью перенаправления оболочки (или передавая по каналу) и 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
.