cat
여러 파일을 연결하는 것이 목적인 것 같습니다 . 그러나 많은 사람들은 여전히 파일을 표시하기 위해 cat
바꾸기 less
(또는 유사한 프로그램 more
)를 사용합니다. 예를 들어GNU m4 매뉴얼그리고 대답은 "명령줄에 텍스트 파일의 내용을 표시하는 방법은 무엇입니까?".
매뉴얼 페이지: 덜
-F 또는 --quit-if-one-screen
less
전체 파일을 첫 번째 화면에 표시할 수 있으면 자동으로 종료됩니다.-X 또는 --no-init
termcap 초기화 및 초기화 해제 문자열을 터미널로 보내는 것을 비활성화합니다. 초기화 해제 문자열이 불필요한 작업(예: 화면 지우기)을 수행하는 경우 이는 때때로 바람직합니다.
요즘에는 파일을 표시하거나 보는 데 이를 사용하는 것이 좋은 습관입니까 cat
? 파일 보기를 사용하는 이유는 무엇입니까 cat
?
이게 생각나네고양이에게 쓸모없는 용도.
노트:less
이 질문은 와 의 차이점 에 관한 것이 아닙니다 more
. 또한 이전에 생성된 파일의 시각화도 포함됩니다.
답변과 의견을 바탕으로cat
, 호출기보다 사용하기 쉽기 때문에 목적을 벗어난 것 같습니다 (예: more
, less
...). 어떤 사람들은 이것을 사소한 사실(또는 쓸모없는 사실)이라고 생각하지만, 경험에 따르면 쉘과 관련된 다양한 미묘함이 실제 결과를 초래할 수 있습니다.쉘 루프를 사용하여 처리텍스트 문서,따옴표 없이 변수 사용...
부정적인 결과는 강도에 따라 다릅니다. 예를 들어, cat foo bar | less
이는 사용자가 두 개의 파일을 연결했기 때문에 작동하지만cat foo | less
유효하지 않은. 같은 정신으로, 호출기는 파이프에서도 작동하는 cat
것처럼 보이지만 "파이프"에서 필요한 것으로 보입니다 (참고: 디스플레이와 관련된 모든 경우에 적합하지는 않습니다.less
less
명명된 파이프 읽기: tail 또는 cat?).
또한보십시오: OR 옵션을 사용하여 파일을 분류하는 방법
답변1
나는 질문에 나오는 "많은 사람"이 이와 같은 사이트에 튜토리얼, 매뉴얼 또는 답변을 작성하는 사람들을 의미한다고 가정합니다.
텍스트 문서에 터미널 명령을 작성할 때 cat
파일 내용을 표시하는 데 이 명령이 자주 사용됩니다.
한 가지 예:
$ cat script.sh
#!/bin/sh
echo 'hello'
$ chmod +x script.sh
$ ./script.sh
hello
여기에서는 이라는 파일이 있고 script.sh
, 그 내용이 무엇인지, 파일을 실행 가능하게 만들고 있는지, 실행 중인지, 그 결과는 무엇인지 보여줍니다.
이 예에서 사용은 cat
"모든 카드를 표시"하는 방법일 뿐입니다. 즉, 예의 모든 전제 조건을 명시적으로 표시하는 것입니다(그리고 이를 터미널 세션의 텍스트 표현의 일부로 만듭니다).
less
기타 화면 기반 호출기는 사용 방법에 따라 터미널에서 반드시 이 출력을 제공하지 않을 수도 있습니다. 그래서 내가 글을 쓴다면
$ less script.sh
#!/bin/sh
echo 'hello'
사용자가 직접 시도해 보면 왜 스크립트의 텍스트가 터미널에서 다르게 나타나고 호출기를 닫은 후 터미널에서 사라지는지 less
(이렇게 호출기를 구성한 경우) 또는 답변(또는 튜토리얼) less
과 혼동하는지 궁금해할 수 있습니다. less
또는 콘텐츠에 사용된 모든 것) 또는 다른 일을 잘못하고 있는 경우. 이러한 사고방식의 가능성을 허용하는 것은 사용자에게 역효과를 낳고 파괴적일 것입니다.
cat
이는 예제를 재현하는 매우 쉬운 방법을 제공하므로 터미널에서 예제를 텍스트로 표시할 때 사용하는 것이 좋습니다.정밀한주어진 텍스트와 동일한 결과입니다. 더 큰 파일의 경우 파일을 개별적으로 표시한 다음 파일에 무슨 일이 일어나고 있는지 이해하는 데 집중하는 것이 좋습니다.사용된텍스트에 터미널 명령을 쓸 때.
less
, more
, most
, view
, 또는 다른 호출기나 프로그램을 사용하여 파일을 보는 것을 선호한다면 sublime
전혀 문제가 없습니다. 계속하세요. 그러나 터미널의 일부 작업 흐름을 설명하는 재현 가능한 텍스트를 제공하려면 터미널에서 읽은 내용과 터미널에서 보는 내용의 차이에 대해 사용자에게 경고도 제공해야 합니다. 사용된 호출기 및 구성 방법.
답변2
less
비표준 GNU 유틸리티입니다.
The Open Group Base Specifications Issue 7, 2018 edition IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008) Copyright © 2001-2018 IEEE and The Open Group
이름
cat - 파일 연결 및 인쇄
요약
cat [-u] [file...]
...
cat
존재할 가능성이 더 높다일관된 행동을 유지하고.
답변3
cat을 사용하여 파일을 표시하거나 보는 것이 좋은 습관입니까?
IMO, 이건 좋지도 나쁘지도 않아요.
"좋은 습관"은 개인으로서 당신을 더욱 효과적으로 만드는 모든 관행이며, 더 중요하게는 당신을 팀의 더 효과적인 구성원으로 만드는 모든 관행입니다.
짧은 텍스트 파일을 보는 데 사용할 도구에 대한 선호도는 작업이나 동료와의 관계 방식에 영향을 미치지 않습니다.
답변4
IMHO, 내 생각엔 이것이 "오래된/나쁜" 습관인 것 같아요. 나 자신은 적은 것이 더 좋다고 생각하지 않기 때문에 항상 고양이를 사용합니다. 바이너리 파일의 내용을 표시하려고 하면 less는 표시에 동의하는지 묻고 텍스트가 길면 자동으로 페이지를 매깁니다. Cat은 작성하기가 짧고 페이지 매김이 필요하지 않은 매우 짧은 파일에 사용하기 쉽습니다. 그래도 실제로는 2인용을 의미합니다. 이 경우 텍스트를 표시하기 위해 매개변수 1에 지정된 파일의 표준 출력과 매개변수 2의 기본 표준 입력을 연결합니다.