> 텍스트 처리 및 검색 > lesspipe

lesspipe: less를 위한 입력 전처리기

lesspipeless 명령어의 기능을 확장하여 압축 파일, 아카이브, PDF 등 다양한 형식의 파일을 less로 직접 볼 수 있게 해주는 입력 전처리기 스크립트입니다. LESSOPEN 환경 변수를 통해 less가 파일을 열기 전에 lesspipe를 호출하여 파일 내용을 파이프라인으로 전달합니다. 이를 통해 사용자는 파일의 압축을 풀거나 변환하는 추가적인 단계 없이 즉시 내용을 확인할 수 있습니다.

개요

`lesspipe`는 `less`가 일반 텍스트 파일 외의 다양한 파일 형식을 처리할 수 있도록 돕는 유틸리티입니다. `less`가 파일을 열 때 `lesspipe` 스크립트를 실행하여 파일 내용을 표준 출력으로 변환하고, 이 출력을 `less`가 받아서 표시합니다.

주요 기능

  • 압축 파일 (gzip, bzip2, xz 등) 내용 직접 보기
  • 아카이브 파일 (tar, zip, rar 등) 내부 목록 및 내용 보기
  • PDF, 이미지 등 비텍스트 파일의 텍스트 추출 및 보기 (관련 도구 필요)
  • less의 강력한 검색 및 탐색 기능 유지

설치 및 설정

`lesspipe`는 대부분의 리눅스 배포판에서 `less` 패키지의 일부로 제공되거나 별도의 `lesspipe` 패키지로 제공됩니다. 핵심은 `LESSOPEN` 환경 변수를 설정하여 `less`가 `lesspipe`를 사용하도록 하는 것입니다.

설치 확인

대부분의 시스템에 기본 설치되어 있지만, 다음 명령어로 존재 여부를 확인할 수 있습니다.

which lesspipe

패키지 설치 (필요시)

만약 lesspipe가 설치되어 있지 않다면, 다음 명령어로 설치할 수 있습니다.

Debian/Ubuntu

sudo apt update && sudo apt install less

Fedora/RHEL

sudo dnf install less

LESSOPEN 환경 변수 설정

lesspipe를 활성화하려면 셸 설정 파일(예: ~/.bashrc, ~/.zshrc)에 LESSOPEN 환경 변수를 추가해야 합니다. lesspipe의 정확한 경로는 시스템마다 다를 수 있으므로 which lesspipe로 확인하세요.

LESSOPEN 설정 예시

export LESSOPEN="|/usr/bin/lesspipe %s"
export LESS_ADVANCED_PREPROCESSOR=1
source ~/.bashrc

일반적인 설정은 다음과 같습니다. `source` 명령어를 통해 변경 사항을 즉시 적용합니다.

LESSOPEN 변수 설명

  • |: 파이프를 통해 lesspipe의 출력을 less로 전달함을 의미합니다.
  • %s: less가 열려고 하는 파일의 경로를 나타내는 플레이스홀더입니다.
  • LESS_ADVANCED_PREPROCESSOR=1: 일부 lesspipe 버전에서 고급 전처리 기능을 활성화하는 데 사용됩니다.

사용 예시

`lesspipe`가 올바르게 설정되면, `less` 명령어를 평소처럼 사용하면 자동으로 다양한 파일 형식을 처리합니다.

gzip 압축 파일 내용 보기

less my_log.gz

압축을 풀지 않고 `.gz` 파일의 내용을 직접 `less`로 봅니다.

tar 아카이브 내부 파일 목록 보기

less my_archive.tar.gz

`.tar.gz` 파일의 압축을 풀지 않고 내부 파일 목록을 `less`로 확인합니다.

zip 파일 내부 파일 목록 보기

less my_documents.zip

`.zip` 파일의 압축을 풀지 않고 내부 파일 목록을 `less`로 확인합니다.

PDF 파일 텍스트 내용 보기

less document.pdf

`pdftotext`와 같은 도구가 설치되어 있다면, PDF 파일의 텍스트 내용을 `less`로 볼 수 있습니다.

바이너리 파일의 문자열 보기

less /bin/ls

바이너리 파일의 경우, `strings` 명령어를 통해 추출된 문자열을 `less`로 볼 수 있습니다.

팁 & 주의사항

`lesspipe`를 효과적으로 사용하기 위한 팁과 고려해야 할 사항들입니다.

사용자 정의 lesspipe 스크립트

기본 lesspipe 스크립트는 셸 스크립트이므로, 필요에 따라 수정하거나 자신만의 lesspipe 스크립트를 작성하여 LESSOPEN 변수에 지정할 수 있습니다. 예를 들어, 특정 파일 형식에 대한 추가적인 처리 로직을 추가할 수 있습니다.

  • 기존 lesspipe 스크립트 복사 및 수정
  • 새로운 파일 형식 처리 로직 추가
  • LESSOPEN 변수에 사용자 정의 스크립트 경로 지정

성능 고려

매우 큰 압축 파일이나 아카이브를 lesspipe로 열 경우, 파일 내용을 추출하고 변환하는 데 시간이 걸릴 수 있습니다. 이 경우 less가 시작되기까지 약간의 지연이 발생할 수 있습니다.

보안 주의

lesspipe는 파일을 처리하기 위해 외부 명령어를 실행합니다. 따라서 신뢰할 수 없는 lesspipe 스크립트를 사용하거나, 악의적인 파일이 lesspipe를 통해 처리될 경우 보안 문제가 발생할 수 있습니다. 항상 신뢰할 수 있는 소스의 lesspipe를 사용하고, LESSOPEN 변수 설정에 주의하십시오.

지원되는 파일 형식 확인

시스템에 설치된 lesspipe 스크립트의 내용을 확인하면 어떤 파일 형식을 지원하고 어떤 외부 도구를 사용하는지 알 수 있습니다. 일반적으로 cat /usr/bin/lesspipe (또는 해당 경로) 명령어로 스크립트 내용을 볼 수 있습니다.



동일 카테고리 명령어