C.W.K.
Stream
Lesson 01 of 10 · published

cat, less, more

~8 min · cat, less, more, pager

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

파일 읽는 세 방법

cat 은 파일을 stdout 으로 통째 던짐. less 는 pager — 인터랙티브 스크롤 + 검색. more 는 옛날의 더 단순한 pager 로 less 가 대체했어 (그래서 less is more 농담이 진짜야).

cat — concatenate

  • cat file — 내용 출력.
  • cat a b c — 세 파일을 순서대로 이어붙임.
  • cat -n file — 줄 번호.
  • cat -A file — 비표시 문자 (탭은 ^I, 줄 끝은 $). 파일이 멀쩡해 보이는데 도구가 'unexpected token' 할 때.

필요 없으면 cat 안 써도 돼 — grep foo filecat file | grep foo 보다 깔끔. 유명한 useless use of cat.

less — 진짜 pager

less 안에선 파일 전체를 메모리에 안 올리고 탐색 가능:

  • Space / b — 다음 / 이전 페이지
  • j / k — 한 줄씩 (vim 스타일)
  • g / G — 처음 / 끝
  • /pattern — 정방향 검색, ?pattern 역방향
  • n / N — 다음 / 이전 매치
  • q — 종료
  • F — follow 모드 (tail -f 처럼)

less 는 기본 pager

man, git log, git diff 가 열릴 때 내부적으로 less 를 띄움. $PAGERless -R (raw 색) 으로 두면 색깔 출력 유지. $LESS="-RFX" 가 흔한 dotfile 설정.

Code

cat 이 OK 인 때 vs UUOC·bash
# Useless use of cat
cat file | grep foo
# Direct
grep foo file
# But cat is fine for inspecting tabs/newlines
cat -A weird.txt

External links

Exercise

less ~/.zshrc 로 열고 /export 검색, n 다음 매치, q 종료. 이어서 cat -A ~/.zshrc | head 로 탭 / 줄끝 마커 확인. LESS='-RFX' 를 shell config 에 넣고 다시 테스트.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.