[리눅스 명령어] 프린터(Printer) : lpadmin / lpr / lpq / lprm / lpc / lp / lpstat / cancel
System Software/Linux 2022. 3. 13. 20:12728x90
728x170
프린터(Printer)
프린팅 시스템의 개요
- 리눅스에서 프린터를 지원해주는 인쇄 시스템
- 초기에는 LPRng 를 기본으로 사용함.
- 최근에는 LPRng 이외에 CUPS 라는 시스템을 추가로 사용하고 있음.
- LPRng
- 버클리 프린팅 시스템(Berkeley Printing System)
- BSD 계열 유닉스에서 사용하기 위해 개발됨.
- 라인 프린터 데몬 프로토콜(Line Printer Daemon Protocol) 사용
- 프린터 스풀링(Printer Spooling) 지원
- 네트워크 프린터 서버 지원
- 명령어
- BSD 계열 : lpr, lpq, lprm
- System V 계열 : lp, lpstat, cancel
- 리눅스 초기에는 다음의 도구를 사용해서 관련 설정을 하였음.
- printtool
- printconf
- 설정한 정보가 저장된 파일 : /etc/printcap
- RFC 1179로 정의되어 있음.
- 관련 사이트 : https://www.lprng.org
- CUPS(Common Unix Printing System)
- 애플(Apple)이 개발한 오픈 소스 프린팅 시스템
- 유닉스 계열 운영체제의 시스템을 프린터 서버로 사용 가능하도록 해줌.
- 유닉스 계열 운영체제에서 프린터 형식과 형태마다 독자적으로 사용했던 장치 드라이버의 작성을 용이하게 해줌.
- 유닉스 초기에 지원하던 특수 라인 프린터 및 포스트스크립트 프린터 뿐 만 아니라 매킨토시, 윈도우 등 시판되는 대부분의 프린터를 유닉스 계열 운영체제에서 사용할 수 있도록 지원함.
- HTTP 기반의 IPP(Internet Printing Protocol) 을 사용함.
- SMB 프로토콜도 부분적으로 지원함.
- 관련 명령어도 BSD 계열과 System V 계열 모두 사용 가능함.
- 사용자 및 호스트 기반의 인증을 제공함.
- 웹 서버의 Common Log Format 형태의 로그 파일을 제공함.
- lpadmin이라는 명령을 이용하여 웹 상에서도 제어 가능함.
- 제공하는 장치 드라이버는 Adobe 의 PPD(Postcript Printer Description) 형식의 텍스트 파일을 이용하여 설정 가능
- 관련 사이트 : https://www.cups.org
CUPS 관련 파일
파일 | 설명 |
/etc/cups/cupsd.conf | - CUPS 프린터 데몬의 환경 설정 파일 - 기본 문법이 아파치의 httpd.conf 와 유사함. |
/etc/cups/printers.conf | - 프린터 큐 관련 환경 설정 파일 - lpadmin 명령을 이용하거나 웹을 통해 제어할 수 있음. |
/etc/cups/classes.conf | - CUPS 프린터 데몬의 클래스(Class) 설정 파일 |
프린터 관련 명령어
- BSD 계열 : lpr, lpq, lprm, lpc 등
- System V 계열 : lp, lpstat, cancel 등
대부분의 배포판에서는 이 두 계열의 명령어를 모두 지원한다.
프린터의 설정
- 레드햇 계열 리눅스는 초기에 printtool, printconf 와 같은 유틸리티를 사용하였지만, redhat-config-printer를 거쳐 CentOS 6 버전부터는 system-config-printer 를 사용한다.
# system-config-printer
lpr
- 프린터 작업을 요청하는 명령어
사용법
# lpr [option] [파일명]
주요 옵션
옵션 | 설명 |
-# 값 | 인쇄할 매수(1-100)를 지정하는 옵션 |
-m | 작업이 완료되면 관련 정보를 E-mail로 전송함. |
-P 프린터명 | 기본 설정된 프린터 이외에 다른 프린터를 지정할 때 사용 |
-T | 타이틀 페이지에 들어갈 타이틀명 설정 |
-r | 출력한 뒤에 지정한 파일 삭제 |
-l | 필터링 없이 직접 보냄. |
사용 예
예 1
- test.txt 문서를 lp라는 이름을 가진 프린터로 2장 출력
# lpr -# 2 -P lp test.txt
예 2
- cat 명령과 파이프를 이용하여 출력할 수 있음.
# cat test.txt | lpr
- 직렬 포트에 직접 프린터가 연결된 경우
- 장치 파일명과 리다이렉션 기호(>)를 사용해 출력할 수 있음.
# cat test.txt > /dev/lp0
예 3
- pr 명령과 파이프를 이용하여 출력할 수 있음.
# pr -l80 test.txt | lpr
예 4
- test.txt 문서 파일을 출력한 뒤에 삭제
# lpr -r test.txt
lpq
- 프린터 큐(Queue)에 있는 작업의 목록을 출력하는 명령
사용법
# lpq [option]
주요 옵션
옵션 | 설명 |
-a | 설정되어 있는 프린터의 작업 정보 출력 |
-l | 출력 결과를 자세하게(Long Format) 출력 |
-P 프린터명 | 특정 프린터를 지정할 때 사용 |
사용 예
예
- 프린터 큐의 작업 목록 출력
# lpq
lprm
- 프린터 큐에 대기 중인 작업을 삭제하는 명령
- 취소할 프린트 작업의 번호를 입력한다.
- 작업 번호를 명시하지 않을 경우, 가장 마지막에 요청한 작업을 취소한다.
사용법
# lprm [option] [파일명]
주요 옵션
옵션 | 설명 |
- | 프린터 큐에 있는 모든 작업 취소 |
-U 사용자명 | 지정한 사용자의 인쇄 작업 취소 |
-P 프린터명 | 특정 프린터를 지정할 때 사용 |
-h 서버[:port] | 지정한 서버의 인쇄 작업 취소 |
사용 예
예 1
- 작업 번호 3의 프린트 작업 취소
# lprm 3
예 2
- 현재 사용자가 수행한 인쇄 작업 모두 취소
# lprm -
lpc
- 라인 프린터 컨트롤 프로그램(Line Printer Control Program)
- 프린터나 프린터 큐를 제어할 때 사용
- 보통 lpc 라는 명령을 실행한 뒤에 지정한 명령어를 사용한다.
사용법
# lpc
주요 명령
옵션 | 설명 |
disable | 새로운 프린트 작업을 할 수 없도록 함. |
enable | 프린트 작업을 가능하게 함. |
down | 지정한 프린터를 사용할 수 없게 함. |
up | 모든 환경을 활성화시키고, 관련 데몬을 새롭게 구동함. |
help, ? | 사용 가능한 명령 출력 |
quit, exit | 명령 종료 |
사용 예
예
- 최근 배포판에서 사용하는 CUPS 기반의 lpc 명령은, BSD 계열의 모든 명령을 지원하지 않고 상태 정보만 확인할 수 있음.
# lpc
lpc> help
Commands may be abbreviated. Commands are:
exit help quit status ?
lpc>
lp
- System V 계열에서 사용하는 인쇄 명령
- BSD 계열의 lpr 명령과 유사함.
사용법
# lp [option] [파일명]
주요 옵션
옵션 | 설명 |
-d | 다른 프린터를 지정 |
-n | 인쇄할 매수 지정 (1-100) |
사용 예
예 1
- /etc/passwd 파일의 내용 출력
# lp /etc/passwd
예 2
- /etc/passwd 파일의 내용 2매 출력
# lp -n 2 /etc/passwd
lpstat
- System V 계열에서 사용하는 인쇄 명령
- 프린터 큐의 상태를 출력해주는 명령
사용법
# lpstat [option]
주요 옵션
옵션 | 설명 |
-p | 프린터의 인쇄 가능 여부 출력 |
-t | 프린터의 상태 정보 출력 |
-a | 받아들이는 요청들의 상태 출력 |
사용 예
예 1
- 프린터 큐의 상태 출력
# lpstat
예 2
- 프린터의 상태 출력
# lpstat -p
cancel
- System V 계열에서 사용하는 인쇄 명령
- 프린터 작업을 취소하는 명령
- 먼저 lpstat를 이용하여 요청 ID(Request-ID)를 확인해야 한다.
사용법
# cancel 요청-아이디
주요 명령
옵션 | 설명 |
-a | 모든(All) 인쇄 작업 취소 |
사용 예
예
- 요청 아이디가 printer-7인 작업 취소
# cancel printer-7
728x90
그리드형(광고전용)
'System Software > Linux' 카테고리의 다른 글
[리눅스 명령어] lastb (0) | 2022.03.15 |
---|---|
[리눅스 명령어] lastlog (0) | 2022.03.15 |
[리눅스 명령어] last (0) | 2022.03.15 |
[리눅스 명령어] logrotate (0) | 2022.03.15 |
[리눅스 명령어] 디스크 확장 : fdisk, partprobe, reboot, mkfs.xfs (0) | 2022.03.13 |
[리눅스] 커널 컴파일(Kernel Compile) (0) | 2022.03.13 |
[리눅스 명령어] lsmod, insmod, rmmod, modprobe, modinfo, depmod (0) | 2022.03.13 |
[리눅스 명령어] ldd (0) | 2022.03.13 |