
자주 사용하는 리눅스지만 명령어에 대해 자세히 알지 못하는 부분이 많은 것 같아 시간 날때마다 관심있던 부분에 대해 정리하고자 한다.
grep 은 패턴과 일치하는 라인을 출력한다.

이를 확인하기 위해 이전에 openvidu 테스트를 위해 다운받았던 openvidu-tutorials 레포를 참고했다.
여기서 node (패턴) 가 들어간 디렉토리를 찾고싶다.

그러면 위와 같이 전체 목록을 출력하도록 하고 파이프라인 | 을 통해 해당 결과를 전달하여 grep 에 패턴으로 node 에 맞는 결과만 출력하도록 할 수 있다.
more, less 는 출력 내용을 페이지 단위로 표시하도록 할 수 있다.
more 보다 이후에 나온 less 가 더 많은 기능을 수행할 수 있어 less 사용을 권장한다고 한다.
그럼 언제 사용할까?
예를 들어 package-lock.json 같이 너무 긴 json 파일을 봐야 할 때가 있을 수 있다.
이런 긴 json 파일을 하나씩 보며 내가 원하는 결과를 확인하는 것은 비효율적이다.
이때 grep 과 less 를 같이 사용하면 편하다.
cat package-lock.json | grep node | less
위와 같이 package-lock.json 에서 node 를 포함하는 줄을 모두 찾는데 이걸 페이지 단위로 띄우라는 의미이다.


그러면 위와 같이 vi 편집기를 보는 것처럼 화면에 출력 결과가 페이지 단위로 나타난다.
이때 같이 사용하기 좋은 단축키가 있다.
화살표 위, 아래 : 한줄씩 위 아래로 이동space, b : 한 페이지 다음, 한 페이지 이전으로 이동g, G : 전체 파일의 맨 처음, 맨 뒤로 이동/문자열, ?문자열 : 현재 위치 이후의, 이전의 입력된 문자열 찾기h : 도움말 보기q : 종료
/문자열 로 특정 문자열 검색시,

h 로 도움말 검색시
head / tail 은 파일의 처음/끝 부분을 출력한다.
보통 cat 을 통해 파일을 출력하는데 해당 파일의 맨 처음, 끝 부분만 보고 싶을때 사용하는 명령어다.
head / tail 은 여러 옵션들을 같이 쓸 수 있는데 -c byte, -n count 등을 자주 같이 사용하는 것 같다.
head -n 5 package-lock.json
