"less"가 있는데 "cat"을 사용할 이유가 있나요?

"less"가 있는데 "cat"을 사용할 이유가 있나요?

cat이전에 파일을 볼 때 사용한 적이 있습니다 . 그러다가 이것이 less일반적으로 더 좋고 파일이 수십 줄보다 긴 경우 필수라는 것을 알게 되었습니다 .

내 질문: 사용할 이유가 있나요 cat? 더 나은 해결책이 less있습니까 ?cat

답변1

두 명령 모두 파일의 내용을 볼 수 있지만 원래 목적은 매우 다릅니다.

확장 능력이 떨어짐. 후자는 파일의 내용을 한 번에 한 화면씩 볼 수 있도록 만들어졌습니다. less는 뒤로 이동 및 향상된 메모리 관리와 같은 기능을 추가합니다(첫 번째 줄을 보기 전에 전체 파일을 읽을 필요가 없음).

cat은 파일을 연결하고 결과를 표준 출력으로 인쇄합니다. 파일만 제공하면 해당 파일의 내용이 표시됩니다. 여러 파일을 공급하면 "강력해집니다". 좋은 예는 다음과 같은 조합입니다.나뉘다그리고 고양이. 첫 번째 명령은 큰 파일을 더 작은 부분으로 분할합니다. 그런 다음 두 번째 파일은 이러한 작은 섹션을 단일 파일로 연결합니다.

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

답변2

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

그러나 그것은 귀하의 질문에 대답하지 않습니다. "적은 것이 있으면 왜 더 많이 사용하는가"라는 말이 있습니다 ;-)

그러나 내가 cat을 덜 선호하는 상황도 있습니다. 저는 보통 X11-windows를 사용합니다. 이 창에는 수백 줄로 설정할 수 있는 스크롤 버퍼가 있습니다.

저에게는 이러한 경우에 사용하는 것보다 for 를 수행하는 것이 더 편합니다. cat예를 들어 200줄을 입력한 다음 스크롤 막대가 있는 마우스를 사용하는 것입니다 .less

답변3

cat나는 보통 파일의 내용을 기반으로 명령을 입력해야 할 때 이것을 사용합니다. cat쉘 프롬프트에 접속하면 파일(크기가 작은 경우)을 볼 수 있어 더욱 편리합니다. 또한 파이프 라이닝도 허용됩니다.

답변4

어떤 사람들은 이것의 유일한 목적이 cat속이는 것이라고 강력히 주장합니다.고양이파일을 생성합니다. 다른 모든 용도에는 more(또는 ) 이 있습니다 less.

그러나 이는 다음과 같은 매우 중요한 사실을 고려하지 않은 것입니다.cat한 글자 더 적게 입력하세요.저는 이 명령을 많이 사용하므로 문자가 하나 줄어든 것은 당연한 일입니다.

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

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

즉, filename쓰기 액세스를 위해 파일을 열고 내용을 붙여넣은 다음 Ctrl-를 눌러 스트림을 닫습니다 D. 트릭 less도 마찬가지 more이며 편집기를 여는 것보다 빠릅니다.

관련 정보