`less`가있을 때`cat`을 사용해야 할 이유가 있습니까? 했습니다. 그런 다음 less일반적으로 더 낫다는 것을

cat파일을 보는 데 사용 했습니다. 그런 다음 less일반적으로 더 낫다는 것을 알았으며 파일이 수십 행보다 길면 필수입니다.

내 질문 : cat대신 사용해야 할 이유 가 less있습니까? cat더 나은 솔루션 이있는 상황 이 있습니까?



답변

저는 개인적 view으로 정적 콘텐츠 나 tail -f동적 콘텐츠를 선호 합니다.

그러나 이것은 귀하의 질문에 대답하지 않습니다. “당신이 적은 경우 더 많이 사용하는 이유”;-)

그러나 고양이보다 적은 것을 선호하는 경우가 있습니다. 나는 보통 X11-windows로 작업합니다. 이 창에는 수백 줄로 설정할 수있는 스크롤 버퍼가 있습니다.

cat위해-200 줄을 말한 다음 스크롤 막대로 마우스를 사용하는 것이이 less경우 보다 사용하기가 더 편합니다 .


답변

두 명령을 모두 사용하여 파일의 내용을 볼 수 있지만 원래 목적은 상당히 다릅니다.

많은 기능을 확장합니다 . 후자는 파일 내용을 한 번에 한 화면 씩 볼 수 있도록 만들어졌습니다. 적은 뒤로 이동 및 더 나은 메모리 관리와 같은 기능을 추가하지 않습니다 (첫 번째 줄을보기 전에 전체 파일을 읽을 필요가 없음).

cat은 파일을 연결하고 결과를 표준 출력에 인쇄합니다. 하나의 파일 만 제공하면 해당 파일의 내용이 표시됩니다. 여러 파일을 제공하면 ‘강력한’상태가됩니다. 좋은 예는 split 과 cat 의 조합입니다 . 첫 번째 명령은 큰 파일을 작은 부분으로 나눕니다. 두 번째는 작은 부분을 하나의 파일로 연결합니다.

귀하의 질문으로 돌아 가면 cat은 상호 작용없이 파일을 완전히 읽거나 연결 해야하는 자율 스크립트에서 선호됩니다. 파일보기의 관점에서, 그것은 맛의 문제라고 생각합니다.


답변

일반적으로 cat파일의 무언가를 기반으로 명령을 입력해야 할 때 사용 합니다. cat쉘 프롬프트에 액세스하는 동안 파일이 작 으면 (작은 경우) 볼 수 있기 때문에 더 편리합니다. 또한 파이프 라이닝이 가능합니다.


답변

고양이가 더 나은 솔루션 인 상황이 있습니까?

하나 이상의 파일을 처리하고 연결하려고 할 때.

매뉴얼 페이지에서 :

cat f - g
        Output f's contents, then standard input, then g's contents.

답변

의 유일한 목적이 있음을 강력하게 주장하는 사람들이있을 수 있습니다 cat사기입니다 고양이 enate 파일. 다른 모든 용도에는 more(또는 less)가 있습니다.

그러나 이것은 하나의 매우 중요한 사실을 고려하지 않습니다 cat. 나는 그 명령을 너무 자주 사용하여 한 문자가 적습니다.

또 다른 이유는 파일을 만들려고 할 때입니다. 웹에서 다음과 같은 파일로 텍스트를 복사하여 붙여 넣는 경우가 종종 있습니다 (명령 프롬프트 표시).

$ cat > filename
<Cmd-V>
<Ctrl-D>
$

즉, filename쓰기 액세스를 위해 파일 을 열고 내용을 붙여 넣고 Ctrl– 를 눌러 스트림을 닫습니다 D. 어느 쪽 lessmore그렇게없고, 편집기를 여는 것보다 빠릅니다 수 있습니다.


답변

때때로 당신은 페이지 매김을 less원하지 않고 완전한 파일을 원하기 때문에 당신이 사용할 수 있습니다 cat.


답변

내가 사용 catgrep(여러) 파일.

cat <filename1> [<filename2> <filename3>] | grep -i "string of interest"

나는 grep파일 이름을 지원한다는 것을 알고 있지만 다른 검색어에 대해 동일한 파일을 가져 오는 경우 검색어가 줄의 마지막 항목 인 명령을 편집하는 것이 더 쉽습니다. 줄을 다시 Ctrl + 화살표 키로 다시 사용해야합니다.