파일 읽는 세 방법
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 file 이 cat 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 를 띄움. $PAGER 를 less -R (raw 색) 으로 두면 색깔 출력 유지. $LESS="-RFX" 가 흔한 dotfile 설정.