cpio 예제

이 예제에서는 현재 디렉터리에서 시작하는 디렉터리 트리를 파일 시스템의 다른 경로 새 경로로 복사하여 파일 모드(-m)를 보존하고 필요에 따라 디렉터리(-d)를 만들고 기존 파일을 무조건(-u)으로 대체합니다. 표준 출력 (-v) 에 목록 : 위의 예에서 현재 디렉토리 (/ 홈 / bob / 예제_dir)에서 /home /bob/new_directory 디렉토리에 모든 파일을 복사한 것을 볼 수 있습니다. 원본 파일은 보존되었습니다. Cpio는 파일을 복사하는 세 번째 유형의 작업을 지원합니다. 패스 옵션(-p)으로 시작됩니다. cpio는 명령줄 인수로 지정된 경로에 지정된 대로 한 디렉터리 트리에서 다른 디렉터리 트리로 파일을 복사하여 실제로 아카이브를 사용하지 않고 복사 및 복사 단계를 결합합니다. 이렇게 하면 파일 archive.cpio에 보관된 파일을 검색하여 현재 디렉터리에 배치합니다. 보관된 디렉터리 트리를 처리하는 경우 `-d` 옵션을 사용하여 필요에 따라 디렉터리를 만들어야 합니다. -v 플래그는 앞에서 설명한 대로 파일 이름을 나열합니다.

(ii) 일치하는 이름을 가진 아카이브의 파일만 아카이브에서 복사할 경우 다음 예제에서는 아카이브에서 등/fstab을 추출할 때 이를 보여 주는 예제입니다. 이 튜토리얼은 리눅스 „cpio”명령, 옵션 및 예제와 함께의 사용을 설명합니다. 옵션 플래그 이외의 나머지 명령줄 인수는 쉘과 같은 눈부심 패턴입니다. 일치하는 이름을 가진 아카이브의 파일만 아카이브에서 복사됩니다. 다음 예제는 아카이브에서 파일 /etc/fstab을 추출합니다: 복사 모드는 -o 또는 -create 옵션과 함께 사용되어 ls의 출력을 수락하거나 명령을 아카이브의 입력으로 찾아아카이브를 만듭니다. 예를 들어 현재 디렉터리에 있는 모든 파일을 보관하려면 복사 작업 중에 -o 명령줄 플래그로 시작된 아카이브를 만들 때 cpio가 표준 입력 채널에서 파일 및 디렉터리 경로 이름을 읽고 은 결과 아카이브 바이트 스트림을 표준 출력에 씁니다. 따라서 Cpio는 일반적으로 찾기 프로그램 또는 ls 명령과 같이 보관할 파일 목록을 생성하는 다른 유틸리티와 함께 사용됩니다. (i) (iii) cpio는 타르처럼 작동하지만 „찾기”명령에서 입력을 읽을 수 있습니다.

이것은 멋진 기능입니다. 예를 들어 cpio 명령으로 모든 *.c 파일 및 백업을 찾을 수 있습니다. 이 예제에서는 현재 디렉터리 및 하위 디렉터리의 파일을 new-dir이라는 새 디렉터리로 복사하는 방법을 보여 주며, 하위 디렉터리입니다. 몇 가지 새로운 옵션은 Cpio의 `–null` 옵션과 결합된 GNU find에서 사용할 수 있는 `-print0`입니다. 이 두 옵션은 특수 문자가 파일 이름에 포함되어 있더라도 find와 cpio 간에 파일 이름을 보내기 위해 함께 작동합니다. 또 다른 것은 cpio가 발견한 파일을 디렉토리 `new-dir`에 전달하도록 지시하는 `-p`입니다. cpio 유틸리티는 POSIX.1-1988에서 표준화되었지만 파일 크기(및 기타) 제한으로 인해 POSIX.1-2001에서 생략되었습니다. 예를 들어 GNU 버전은 파일 크기 제한이 각각 2,147,483,647바이트(2GB) 및 8,589,934,591바이트(8GB)인 „bin”(기본값 및 사용되지 않는) 및 „ustar”와 같은 다양한 출력 형식 옵션을 제공합니다.

[3] 위의 예제에서 find 명령은 현재 디렉터리의 모든 파일및 하위 디렉토리를 나열하고 이를 cpio 명령으로 파이프하여 해당 파일을 희망 사용자 계정에 복사합니다.