pax(명령어)
pax (command)![]() |
원저작자 | Mark H. Colburn (USENIX Association 후원) |
---|---|
개발자 | 다양한 오픈 소스 및 상용 개발자 |
초기 릴리즈 | 전 ( |
기입처 | Colburn pax, Muller pax, Hairloom Project pax: C |
운영 체제 | Unix, Unix like, IBM i, Windows |
플랫폼 | 크로스 플랫폼 |
유형 | 명령어 |
면허증. | Colburn pax: 이전 BSD 라이선스 Muller pax: BSD-4-Clause 가보 프로젝트 팩스: zlib Windows: 자체 소프트웨어 |
pax는 다양한 운영 체제에서 사용할 수 있는 아카이브 유틸리티로 [1]1995년부터 정의되었습니다.서로 호환되지 않는 옵션을 선별하는 것이 아니라tar
그리고.cpio
IEEE는 Unix의 다양한 버전에 걸친 구현과 함께 두 아카이브 서버 모두에서 유용한 옵션을 사용하여 다양한 아카이브 형식을 지원할 수 있는 새로운 아카이브 유틸리티 pax를 설계했습니다.그pax
명령어는 Unix 및 Unix 유사 운영 체제 및 IBM i,[2] Microsoft에서 사용할 수 있습니다.Windows NT [3]및 Windows 2000.
2001년에 IEEE는 새로운 팍스 포맷을 정의했습니다.기본적으로는 확장 Atribut이 [4][5]추가된 tar입니다.이 형식은 대부분의 Linux 디스트리뷰션 및 FreeBSD에서 pax 명령어는 지원하지 않지만 GNU 및 FreeB의 tar 명령어는 지원합니다.SD. 이 형식은 AIX, Solaris 및 HP-UX의 pax 명령을 통해 더욱 지원됩니다.
"pax"라는 이름은 휴대용 아카이브 교환의 약자입니다.명령어 호출과 구조는 어느 정도 양쪽을 통합한 것입니다.tar
그리고.cpio
.
역사
팍스의 첫 번째 공공 구현은 1989년 Mark H. Colburn에 의해 작성되었다.콜번은 그걸comp.sources.unix를 TAR 및 CPIO의 Usenix/IEEE POSIX 대체로 사용합니다.HP-UX, IRIX 및 SCO UNIX Atribut pax to [6]Colburn의 pax 매뉴얼페이지
1990년 7월부터의 POSIX.2 드래프트 10에서는 pax [7]명령어가 사용되고 있습니다.또한 1991년 cover pax 명령어에서의 POSIX.2 및 IEEE 1003.1b 초안은 cpio 및 ustar 아카이브 포맷을 특징으로 합니다.
팍스 프로그램의 또 다른 버전은 1992-1993년에 [8]키스 멀러에 의해 만들어졌다.이 버전은 4.4에서 처음 등장했습니다.BSD(1995)[9]Pax 명령어는 1995년 [1]X/Open 4호(Single Unix Specification 버전 1)에 등장했으며, cpio 및 ustar 아카이브 포맷이 특징이며, 1997년 싱글 유닉스 사양에서 유일하게 두 가지 포맷이 특징이었다.
1997년, Sun Microsystems는 ustar 포맷에 확장을 추가하는 방법을 제안했다.이 메서드는 POSIX.1-2001 표준에서 새로운 팍스 파일 포맷으로 받아들여졌습니다.pax 유틸리티의 POSIX 사양이 이 [1]형식을 포함하도록 업데이트되었습니다.
특징들
모드
pax에는 -r("read") 옵션과 -w("write") 옵션의 조합으로 호출되는4개의 일반 모드가 있습니다.
다음 표에 모달 동작을 정리합니다.
선택 | 모드 | 묘사 |
---|---|---|
(없음) | 리스트 | 는 아카이브의 내용을 나타내며, 아무것도 변경 또는 추출하지 않습니다. |
-r | "읽다" | 아카이브의 내용을 읽고 추출합니다. |
-w | "쓰기" | 아카이브 작성 또는 아카이브에 파일 추가 |
-rw | 카피 | 파일 및 디렉토리 트리를 읽고 지정된 디렉토리에 복사합니다. |
이 모델은 유사한 기본 연산 집합을 가진 cpio와 유사합니다.
예
보관 내용 목록:
$pax <archive.tar
아카이브의 내용을 현재 디렉토리에 추출합니다.
$pax - r <archive.tar
현재 디렉토리의 아카이브를 만듭니다.
$ printf ' . pax - w > archive . tar $ pax - w .> archive . tar
현재 디렉토리 트리를 다른 위치에 복사합니다.
$ printf ' . pax - w > archive . tar $ pax - rw target _ darget .
(타깃 디렉토리는 사전에 존재해야 합니다!)
명령어 호출
기본적으로는 pax는 아카이브 및 목록 작업에 표준 입력/출력을 사용합니다.이는 "tar-style" 옵션을 사용하여 변경할 수 있습니다.-f
아카이브 파일을 지정합니다.Pax는 디렉토리의 내용을 반복적으로 고려하는 점에서 cpio와 다릅니다.이 동작을 비활성화하기 위해 POSIX pax에는 옵션이 있습니다.-d
무효로 합니다.
pax 명령어는 cpio 및 tar 기능의 미스매시입니다.tar와 마찬가지로 pax는 디렉토리 엔트리를 재귀적으로 처리합니다.이것은, 다음의 기능을 사용해 무효로 할 수 있습니다.-d
cpio 스타일의 동작에 사용됩니다.파일 입출력 처리도 혼재합니다.명령줄에 파일 이름 목록이 지정되면 파일 입력 또는 목록(tar-like)을 위한 셸 글로브로 간주됩니다.그렇지 않으면 pax는 파일목록에 표준 입력을 사용하는 cpio 스타일의 동작을 취합니다.마지막으로 pax는 tar를 사용한 이름 있는 아카이브 파일 읽기/쓰기를 지원합니다.-f FILE
선택.
예를 들어 현재 디렉토리의 cpio 스타일의 아카이브를 원하는 경우 cpio를 사용하는 경우와 마찬가지로 pax를 find와 함께 사용할 수 있습니다.
$ find . - depth - print pax - wd > archive.tar
(이 구문은 위의 예와 동일하기 때문에 찾을 필터가 없으면 의미가 없습니다).
아카이브의 내용을 추출하는 명령어는 cpio와 동일합니다.
$pax - r <archive.tar
에서 이러한 명령어를 호출할 수 있습니다.tar
- like 구문도 마찬가지입니다.
$ pax - wf archive . tar . # write ( rad ) $ pax - f archive . tar # read ( rad )$ pax - f archive . tar #list $pax - rw .archive _ copy #
압축
대부분의 pax 실장에서는 압축에 -z(gzip) 및 -j(bzip2) 스위치를 사용합니다.단, 이 기능은 POSIX에 의해 지정되어 있지 않습니다.pax는 압축된 아카이브에 추가할 수 없습니다.
gzip 압축된 아카이브를 추출하는 예:
$pax - rzf archive.tar.gz
tar 및 cpio와 마찬가지로 pax 출력을 다른 압축기/압축기 프로그램으로 파이핑할 수 있습니다.예를 들어 xz는 다음과 같습니다.
$ pax - w .xz >archive.tar.xz
입력으로 xz 압축된 아카이브를 나열합니다.
$ xzcat archive.tar.xz pax
포맷 지원
POSIX.1-2001에서는 pax 명령어가 최소한 cpio, ustar 및 pax 형식의 아카이브를 지원해야 합니다.
4.4에서 시작된 pax 명령어 버전일반적으로 BSD 구현은 해당 버전에서 지원되는 형식을 상속하며 -x 옵션을 통해 선택할 수 있습니다.
- cpio : IEEE 표준 1003.2("POSIX.2") 규격으로 지정된 확장 cpio 교환 형식.
- bcpio : 오래된 바이너리 cpio 형식.
- sv4cpio: System V 릴리즈 4 cpio.
- sv4crc: 파일 crc 체크섬이 있는 System V 릴리즈 4 cpo.
- tar : BSD4.3에서 볼 수 있는 오래된 BSD tar 형식.
- ustar(디폴트):IEEE 규격 1003.2("POSIX.2") 규격으로 지정된 tar 교환 형식.
POSIX.1-2001 pax 형식은 이 BSD 버전의 pax 명령에서는 지원되지 않습니다.이 형식은 대부분의 Linux 배포(MirCPIO-paxmirabilis의 MirBSD [10][11][12]분기에서 pax 명령을 사용) 및 FreeBSD에서 [9]지원되지 않습니다.이 형식은 AIX,[13] Solaris[14] 및 HP-UX에서 pax 명령에 의해 지원됩니다.Python tarfile 모듈,[15] BSD 라이선스 libarchive,[16][17] 7-ZIP[18] 및 GNU[19] tar 및 FreeB에 의해 더욱 지원됩니다.SD tar.[20] 2003년에 Gunnar Ritter에 의해 개발된 Hereloom Project pax 명령어는 많은 추가 형식과 함께 [21]pax 형식을 지원합니다.
다중 볼륨
pax는 여러 볼륨에서 아카이브를 지원합니다.볼륨의 끝에 도달하면 다음 메시지가 나타납니다.
$ pax - wf / dev / fd0 .주의! 팍스 아카이브 볼륨 변경이 필요합니다./dev/fd0 아카이브 볼륨 준비 완료: 2 다음 스토리지 미디어를 로드하고(필요한 경우), 기입이 유효하게 되어 있는 것을 확인합니다.계속하려면 "y"를, 종료하려면 "."를, 새 장치로 전환하려면 "s"를 입력합니다.저장 미디어를 변경할 수 없는 경우 "s"를 입력하십시오. 장치가 온라인 상태입니까? >
여러 미디어에서 아카이브를 복원할 때 pax는 아카이브가 종료되기 전에 미디어의 끝에 도달하면 동일한 방법으로 다음 미디어를 요구합니다.
표준화, 수신 및 인기
2001년 IEEE에 의해 표준화되었지만 2010년 현재 pax는 상대적으로 인기도나 [citation needed]채택률이 낮습니다.이는 부분적으로 Unix 사용자가 필요로 하지 않았기 때문입니다. 단지 POSIX 위원회가 좀 더 일관된 인터페이스를 원했기 때문입니다.Pax는 또한 상당히 수다스럽고 일이 [citation needed]잘못되었을 때 사용자의 상호작용을 기대한다.
pax는 [22]버전 3.0(2005년 7월 6일 출시) 이후 Linux Standard Base에 의해 모든 준거 시스템에 존재해야 하지만 지금까지 Linux 디스트리뷰션에서 출하되어 기본적으로 설치된 것은 거의 없습니다.그러나 대부분의 배포판에는 별도로 설치할 수 [23][24][25]있는 패키지로 pax가 포함되어 있습니다.
또한 pax는 파일 아카이브(테이프는 [3]지원되지 않음)로 제한되는 Windows NT에도 존재합니다.나중에 Interix 하위 시스템으로 이동되었습니다.Win32 ACL [26]의 아카이브 또는 restore 는 서포트되고 있지 않습니다.pax 는 Windows 2000 [27]에도 존재했습니다.
인스톨러(macOS)에 의해서 처리되는 패키지는, 대부분의 경우, 컨텐츠의 대부분을 Archive.pax.gz 파일에 보관해, 시스템의 pax([28]heirloom) 유틸리티를 사용해 읽어낼 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b c 오픈 그룹 기반 사양 제6호 - POSIX.1-2001 (IEEE 표준 1003.1) 저작권 © 2001-2004 IEEE와 오픈 그룹
- ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.
- ^ a b Eric Pearce (1997). Windows NT in a nutshell: a desktop quick reference for system administrators. O'Reilly Media, Inc. p. 271. ISBN 978-1-56592-251-8.
- ^ "GNU tar: 8.1 Using Less Space through Compression". www.gnu.org. Archived from the original on 6 March 2016. Retrieved 22 April 2018.
- ^ "GNU tar: 4.3.2 Extended File Attributes". www.gnu.org. Archived from the original on 28 December 2019. Retrieved 27 January 2021.
- ^ TAR와 휴대성 비교– PAX 및 USTAR, invisible-island.net
- ^ IEEE P1003.2 드래프트 11.2- 1991년 9월 (pdf) - Shell and Utilities, princeton.edu - 초안 11은 팍스의 변경을 나타내므로 초안 10에 기재되어 있을 것
- ^ pax, svnweb.freebsd.org
- ^ a b FreeBSD 일반 명령어 매뉴얼 –
- ^ "MirCPIO — paxmirabilis: tar and even ar!". MirBSD. Retrieved 24 January 2020.
- ^ "MirCPIO in Launchpad". launchpad.net. Retrieved 22 April 2018.
- ^ "Bug #456405 "pax lack of support for "pax" format fails LSB" : Bugs : MirCPIO". bugs.launchpad.net. Retrieved 22 April 2018.
- ^ AIX 7.3용 pax, ibm.com
- ^ pax for Solaris 11.1, docs.oracle.com
- ^ tarfile, python.org
- ^ libarchive, libarchive.org
- ^ libarchive(3), freebsd.org
- ^ 7-Zip 이력 7-zip.org
- ^ tar 매뉴얼, gnu.org
- ^ tar, freebsd.org
- ^ "pax.1". heirloom.sourceforge.net. Retrieved 22 April 2018.
- ^ LSB 3.0 Archived 2011-07-17 at the Wayback Machine의 릴리스 노트에서는 pax가 추가되었음을 알 수 있습니다.LSB 3.0. 명령 및 유틸리티에는 pax가 필요하지만 LSB 2.1.0. 명령 및 유틸리티에는 필요하지 않습니다.
- ^ pax, pkgs.org
- ^ spax, pkgs.org
- ^ gareboom-pax, pkgs.org
- ^ "System Administration of Backups, Tar, and Pax in Interix". Archived from the original on 2010-08-23.
- ^ 가상 x86, 알았다.쉿
- ^ "Extracting files from a pax.gz package". cocoabuilder.com. Archived from the original on 14 February 2015. Retrieved 15 August 2013.
추가 정보
- Frisch, Æleen (2001). Windows 2000 Commands Pocket Reference. O'Reilly. ISBN 978-0-596-00148-3.
외부 링크

