cat, bat, head, tail
대표적인 text processing utilities로 file viewing commands라고도 불림.
less, more
pager라고 불리는 utilities로 긴 출력을 화면에 페이지 단위로 나누어 보여주는 역할을 수행함.
cat
, bat
cat
(concatenate)은 가장 간단하게 파일 내용을 확인할 수 있게 해준다.
stdout
에
파일의 내용을 출력해주는 역할을 한다.
bat
은 cat
을 보다 개선한 프로그램이다. 행번호 출력 및 페이지에 맞춰 출력을 해주고 highlighting과 git연동도 된다.
bat
은 cat
과 거의 비슷하게 동작한다.
한 파일을 출력
cat file.txt
- 만약 파일 이름 대신
-
문자를 사용하면,stdin
(표준 입력,standard input)을 통해 입력된 내용을 출력함. stdin
으로부터 입력을 완료하기 위해서는Ctrl
+d
(EOF
)를 입력하면 됩니다.
stdin으로 입력받아 파일저장.
cat > new_file.txt
cat - > new_file.txt
복수의 파일을 연속으로 출력
cat file0.txt file1.txt file2.txt
복수의 파일을 병합(merge)
cat file0.txt file1.txt > m_file.txt
위의 경우 redirection >
을 통해 stdout 대신 m_file.txt
로 출력하므로 파일에 기재함 (append로 동작시키려면 >>
을 사용).
참고 : Options
-n : 모든 line 앞에 line number 출력. (empty line 포함)
-b : empty line 외의 line에만 번호 출력.
-E : line의 마지막에 $ symbol 출력. (empty line은 $ 기호만 출력)
-T : Tab 문자를 ^I로 바꿔서 출력.
-s : 두개의 empty line 출력 안함.
-v : Tab(탭)과 linefeed(줄바꿈)을 제외한 non-printing 문자를 ^, M-로 출력.
-e : -vE와 결과 같음.
-t : -vT와 결과 같음.
-A : -vET와 같음.
https://recipes4dev.tistory.com/177
less
대표적인 pager로서 more
와 비슷하지만 less
가 보다 많은 기능을 지원함.
한 페이지에 맞춰 출력시켜주며,
화살표 위아래 키로 스크롤시키거나
f
키로 다음 페이지를 넘기거나 (한 화면 아래로. forward)b
키로 이전 페이지로 넘기거나 (한 화면 위로. backward)q
키로 종료시킴
vim과 비슷한 조작으로 파일의 내용을 살펴볼 수 있음.
참고로, man
도 less를 이용하고 있음.
pipe |
를 통해 stdout (표준출력)에 나오는 내용을 보다 자세히 살펴봐야하는 경우 많이 이용됨.
ls -al | less
- 위의 예는 현재 디렉토리의 내용들을 보다 편하게 보기위해 사용한 예임.
more
는 아주 오래전부터 사용되던 것이라 less
를 이용하는게 나음.
head
, tail
파일의 앞부분 (head
)이나 뒤부분 (tail
)의 특정 line만을 stdout에 출력해줌.
특히 tail
의 경우, -F
옵션을 주고 사용할 경우 실시간으로 log의 내용을 살필 때 많이 사용된다.
-n
: 보여줄 line 의 수를 지정하는 옵션
더 읽어보면 좋은 자료들
https://jongmin92.github.io/categories/Programming/Linux-Ubuntu/
'Linux' 카테고리의 다른 글
[Bash] 입출력 목적지 변경하기 : Redirection Operation (1) | 2023.10.02 |
---|---|
[Linux] 한글 처리 : Ubuntu (1) | 2023.10.01 |
[Linux] 터미널 종료와 상관없이 지속 실행되는 process 만들기 : nohup, tmux (0) | 2023.09.29 |
[Linux] Pipe(|)와 다중 명령어 (;, &&, ||) (0) | 2023.09.12 |
[zsh] install zsh and oh-my-zsh (0) | 2023.09.11 |