나는 고양이 명령이 온라인에서 나오는 것을 보았고 cat
간단한 명령 줄 작업을 수행하는 사람의 상황에서 무엇을하고 무엇 을했는지 궁금했습니다 .
나는 고양이 명령이 온라인에서 나오는 것을 보았고 cat
간단한 명령 줄 작업을 수행하는 사람의 상황에서 무엇을하고 무엇 을했는지 궁금했습니다 .
답변:
cat
의 주요 목적은 사기꾼이다 고양이 enate 파일. 내용이 단일 파일에있는 것처럼의 내용과 다른 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
유닉스 계열 운영 체제에서 가장 자주 사용되는 명령 중 하나입니다. 텍스트 파일과 관련하여 세 가지 관련 기능이 있습니다.
고양이의 일반적인 구문은 다음과 같습니다
cat [options] [filenames] [-] [filenames]
cat의 가장 일반적인 용도는 파일의 내용을 읽는 것이며, cat은 종종이 목적에 가장 편리한 프로그램입니다. 디스플레이 모니터에서 볼 텍스트 파일을 여는 데 필요한 것은 cat이라는 단어 다음에 공백과 파일 이름을 입력 한 다음 Enter 키를 누르는 것입니다. 예를 들어, 다음은 file1이라는 파일의 내용을 표시합니다.
cat file1
고양이의 두 번째 역할은 연결입니다. (이것은 고양이의 호기심 많은 이름의 원천입니다.) 원본 파일에는 영향을 미치지 않습니다.
예를 들어 다음 명령은 세 파일 file1, file2 및 file3의 내용 사본을 연결합니다.
cat file1 file2 file3
각 파일의 내용이 모니터 화면에 표시됩니다. 이 출력은 다음을 사용하여 출력 리디렉션 연산자를 사용하여 file4와 같은 다른 파일로 쉽게 리디렉션 될 수 있습니다.
cat file1 file2 file3 > file4
@muru 주석 덕분에 : cat은 자체가 아닌 쉘 리디렉션 기능에 따라 새 파일을 만들 수 있습니다.
작은 파일의 경우 vi, gedit 또는 다른 텍스트 편집기를 사용하는 것보다 쉽습니다. cat 다음에 출력 경로 재 지정 연산자와 작성할 파일 이름을 입력 한 다음을 누르고 ENTER마지막으로 Ctrl& d키를 동시에 누르면 됩니다.
예를 들어, file1이라는 새 파일을 입력하여 만들 수 있습니다
cat > file1
그런 다음 & 키를 ENTER동시에 누릅니다 .Ctrld
PS1 : file1이라는 파일이 이미 있으면 덮어 씁니다.
PS2 : 추가 연산자 >>
예제 cat >> file1을 사용하여 종료 된 파일에 추가 할 수 있습니다.
cat 명령을 사용하여 ( 쉘 재 지정 기능에 따라 ) 새 파일을 작성하고 기존 파일의 데이터를 전송할 수도 있습니다. 예 : 파일 사본을 만드십시오 oldfile.txt
.
cat oldfile.txt > newfile.txt
참고 문헌 :
cat
해당 파일을 만들지 않습니다. 셸은 리디렉션을 사용했을 때입니다. 당신도 잘했을 것 echo foo > file1
입니다.
cat
은 실제로 다른 것에 의해 행해지고있는 것에 기여 하고 있습니다. 예를 들어, 하 less file1 > file2
(거나 grep '.*' file1 > file
또는 awk 1 file1 > file2
같은 효과가 ... OR). 4에 대한 Ditto. 이것은 단지 오용입니다.
> file
동일한 결과를 줄 수 있다는 것을 알고 있지만 고양이와 함께하는 것이 타당하다고 생각할 수 없습니까?!
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
.
< <(cat file[12]) tr
이기도<<<$(cat file[12]) tr
합니다. 물론cat
배관이 유일한 방법은 아닙니다.