Linux 아카이빙은 수많은 파일을 모아서 하나의 큰 파일로 결합하는 프로세스입니다. 일반적으로 시스템 백업의 일부로 사용되며 오래된 데이터가 시스템에서 일부 장기 저장소로 이동되는 상황에서도 자주 사용됩니다. device. tar 명령은 Linux 파일 및 디렉터리에 대한 아카이브를 생성할 수 있습니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
리눅스 아카이브는 무엇을 의미하나요?
보관은 압축 작업과 함께 사용되는 일반적인 파일 관리 작업입니다. 보관은 일반적으로 시스템 백업의 일부로 많은 파일을 모아서 하나의 큰 파일로 결합하는 프로세스이며, 오래된 데이터가 시스템에서 일부 장기 저장 장치로 이동되는 상황에서 자주 사용됩니다.
tar 명령은 Linux 파일 및 디렉터리용 아카이브를 생성할 수 있습니다. tar를 사용하면 특정 파일에 대한 아카이브(백업 파일)를 생성하거나, 아카이브의 파일을 변경하거나, 아카이브에 새 파일을 추가할 수 있습니다. tar는 원래 테이프에 아카이브를 생성하는 데 사용되었지만 이제 사용자는 모든 장치에서 아카이브를 생성할 수 있습니다. tar 명령을 사용하면 많은 수의 파일과 디렉터리를 하나의 파일로 패키징할 수 있는데, 이는 파일을 백업하거나 네트워크 전송을 위해 여러 파일을 하나의 파일로 결합하는 데 매우 유용합니다.
Linux tar 명령
tar 명령은 여러 파일을 하나의 파일 패키지로 패키징하는 Linux 일반 패키지 도구입니다. 전송이 편리하며 파일 백업에도 사용할 수 있습니다. tar를 사용하여 아카이브 파일의 압축을 풀 수도 있습니다.
tar 명령 압축 형식
tar 명령에서 지원하는 압축 형식은 일반적으로 tar 명령을 사용할 때 공간 사용량을 줄이기 위해 파일을 동시에 압축합니다. 일반적으로 우리는 사용하는 압축 방법에 동의하기 위해 다음 명명 규칙을 사용합니다.
.tar 기본 모드, 압축 없음, 모든 파일을 하나의 패키지에 넣기만 하면 됩니다.
.tar.gz 공통 모드, gzip 알고리즘을 사용하여 압축. 압축률은 평균이고 압축 시간은 중간입니다.
.tar.bz2는 일반적으로 사용되지 않습니다. bz2 알고리즘을 사용하여 압축합니다. 압축률은 약간 나빠지고 압축 시간은 짧아집니다.
.tar.xz는 일반적으로 사용되지 않으며 xz 알고리즘을 사용하여 압축됩니다. 압축률이 더 좋고 압축 시간이 길어집니다.
tar 개요
tar 구문 소개
tar는 일반적으로 다음 두 가지 구문 형식을 지원하며, 두 번째 구문은 이전 방식입니다.
tar OPTION... [NAME]... tar LETTER... [ARGUMENT]... [OPTION]... [NAME]...
tar의 주요 매개변수는 [작업 유형]이라고 합니다. 예를 들어 c는 생성, x는 압축 해제를 수행합니다. 파일 이름, 보관할 대상 파일 등 작업 진행 상황을 변경하는 데 사용되는 다른 매개변수 [추가 옵션]을 호출합니다.
주요 매개변수 [동작 유형]은 앞에 배치되어야 합니다.
[NAME]은 두 구문 형식 모두에서 보관하려는 파일의 이름을 나타냅니다. [NAME]은 파일이나 디렉터리일 수도 있고 여러 파일이나 디렉터리일 수도 있습니다. [NAME]은 명확하게 지정되어야 하며 tar 명령을 실행하기 전에 파일 시스템에 이미 존재해야 합니다.
tar에 대한 기타 지식
tar "상대 경로가 있는 파일 이름을 상대 디렉터리로 해석합니다. 절대 경로를 지정하면 tar는 패키징을 위해 첫 번째 /를 제거합니다. 그 목적은 압축 해제를 방지하는 것입니다. 시스템 디렉터리 교체 . 의도적으로 [--absolute-names] 옵션을 지정하지 않는 한
디렉토리를 지정하면 tar는 보관할 디렉터리의 모든 하위 디렉터리와 파일을 반복적으로 지정합니다.
쉘 와일드카드를 사용할 때 파일 이름과 아카이브할 멤버를 구별하는 것이 매우 중요합니다. 그 이유는 쉘은 기존 파일에만 와일드카드를 사용하고 tar 자체도 와일드카드를 사용하기 때문입니다. 아카이브 회원은 와일드카드를 사용하므로 와일드카드는 쉘이 아닌 tar에서만 작동하도록 해야 합니다. 일반적으로 "*" 또는 "?" 안에 백슬래시를 사용하거나 작은따옴표로 묶을 수 있으므로 이전 버전도 괜찮습니다
보통은 모두 명령줄에 분리 파일을 넣습니다. 실제로 '--files-from=FILE-OF-NAMES' ('-T FILE-OF. -NAMES') 파일을 읽어 보관된 파일 이름을 지정할 수도 있습니다.
보관된 파일 이름을 지정하지 않으면 추가, 삭제 및 기타 작업 명령이 아무 작업도 수행하지 않습니다. create는 진단 메시지를 출력하고 다른 작업 옵션이 전체 디렉터리 작업에 영향을 미치지 않도록 합니다.
정상적으로 종료되면 tar는 여러 가지 이유로 실패합니다. 예를 들어 tar 명령이 정상적으로 작성되지 않으면 일부 오류가 보고됩니다. 의도적인 것은 아니지만 여전히 위험하므로 tar는 즉시 종료됩니다.
그러나 즉시 또는 지연 여부에 관계없이 모든 비정상적인 종료에는 오류 출력 및 진단 정보가 있습니다
tar 프로그램의 종료 코드는 다음과 같습니다. 0(정상 종료), 1(파일이 변경됨), 2(심각한 오류, 복구할 수 없는 오류)
tar 옵션 스타일
3가지 옵션 스타일
표준 tar 명령은 다양한 작업을 완료할 수 있도록 총 8가지 작동 모드를 지원합니다. tar 명령을 사용할 때마다 하나의 작동 모드만 선택할 수 있습니다. 실제 상황에 따라 tar 작업 모드를 지정할 수도 있습니다. 예를 들어 출력의 출력 형식을 수정할 수 있습니다. 또는 작업 순서를 구체적으로 지정해야 하는 파일 형식을 원하는 경우.
tar 옵션은 tar 작업 모드를 지정한 후 추가되는 옵션입니다. tar의 작동 모드에 따라 하나 이상의 옵션을 지정할 수 있습니다. 옵션마다 기능이 다릅니다. 일반적으로 옵션에 따라 작동 모드의 특정 내용이 수정됩니다. 예를 들어 아카이브 형식, 아카이브 파일 이름 또는 사용자 상호 작용 수준을 수정합니다.
일부 옵션은 모든 작동 모드에 유효하고 일부 옵션은 특정 작동 모드에만 유효합니다. 우리가 자주 사용하는 몇 가지 고정 옵션이 있습니다. 다른 것들은 거의 사용되지 않거나 전혀 사용되지 않을 수 있습니다.
옵션은 대소문자를 구분합니다. 예를 들어 -T와 -t는 서로 다릅니다. T에는 파일 이름이나 파일 목록을 지정하기 위한 매개변수 이름이 필요합니다. t에는 매개변수가 필요하지 않으며 --list를 작성하는 또 다른 방법입니다.
tar 옵션은 일반적으로 긴 이름 지정 스타일(--), 짧은 이름 지정 스타일(-) 및 이전 이름 지정 스타일(- 제외)의 3가지 스타일을 지원합니다. 어느 스타일이든 작동 모드나 옵션에 사용할 수 있습니다. 3의 다양한 스타일은 서로 다른 시기에 개발되었습니다.
일부 옵션에는 매개변수가 필요합니다. 매개변수 배치 위치는 일반적으로 사용하는 스타일에 따라 다릅니다. 이러한 차이는 미묘할 수 있지만 중요합니다. 잘못된 위치에 옵션을 배치하면 일부 중요한 파일을 덮어쓸 수 있습니다. 우리는 이러한 차이점을 주목해야 합니다. 그리고 다른 옵션도 이해할 때까지 우리가 이해하는 옵션만 사용하십시오. 인수를 취하는 옵션의 경우 기존 스타일의 대응 항목 없이 가장 길거나 짧은 형식을 가질 수 있습니다. 지정된 매개변수가 필요한 이러한 옵션 사용에 대한 규칙은 매우 엄격합니다.
예를 들어 --file 옵션은 아카이브 파일 이름을 매개변수로 받아야 합니다. 아카이브 파일 이름을 지정하지 않으면 tar는 기본이지만 혼동되는 이름을 사용합니다. 특정 아카이브 파일 이름을 지정하는 것이 좋습니다.
긴 이름의 옵션 스타일
tar 모든 매개변수 옵션에는 긴 이름의 매개변수가 하나 이상 있습니다. 긴 이름의 매개변수 옵션은 짧은 이름의 매개변수 이름 유형과 이전 매개변수 이름 유형보다 더 명확하게 표시됩니다. 긴 이름 옵션은 이름이 다르지만 동일한 효과를 갖는 경우가 있습니다. 예를 들어 --compare와 --dif는 동일한 의미를 갖습니다. 또한 긴 이름 지정 방법은 고유한 약어를 사용할 수도 있습니다. 예를 들어 --create는 --cre로 대체될 수 있습니다. --cre로 시작하는 다른 옵션이 없기 때문입니다.
tar 긴 이름 지정 옵션은 더 명확하고 기억하기 쉽고 이름도 알아보기 쉽습니다. 예를 들어 tar --create --verbose --blocking-factor=20 --file=/dev/rmt0은 모두 긴 이름의 매개변수를 사용하며 각 매개변수의 의미를 명확하게 볼 수 있습니다.
긴 이름의 옵션이 매개변수를 받아야 하는 경우 옵션 바로 뒤에 작성해야 합니다. 필요한 매개변수를 지정하는 방법에는 두 가지가 있는데, 하나는 공백을 사용하는 것이고, 다른 하나는 = 기호를 사용하는 것입니다. 예를 들어 --file 옵션과 함께 --file archive.tar 또는 --file=archive.tar를 사용하여 매개변수를 지정할 수 있습니다.
해당 옵션이 매개변수를 수신할 수 있는지 여부입니다. 이 경우 매개변수를 수신하려면 = 기호를 사용하여 매개변수를 지정해야 합니다. 예를 들어 --backup은 선택적으로 매개변수를 허용합니다. 지정하려면 '--backup=BACKUP-TYPE'을 사용해야 합니다.
짧은 이름 지정 옵션 스타일
대부분의 옵션에도 해당하는 짧은 이름 지정 옵션이 있으며 - 기호를 사용합니다. 편지 . 예를 들어 -t(긴 이름의 옵션 --list에 해당)는 기능적으로 동일하며 상호 교환이 가능합니다.
긴 이름 지정 옵션에 비해 짧은 이름 지정 방법의 확실한 장점은 작성하기 쉽다는 것입니다.
짧은 이름의 옵션은 옵션 바로 다음에 매개변수를 받아야 하는 경우 일반적으로 공백으로 구현됩니다. 공백을 생략하고 옵션을 즉시 작성할 수도 있습니다. 예를 들어 아카이브 이름을 지정하려면 -f archive.tar(공백 포함), -farchive.tar(공백 포함), --file=archive를 사용할 수 있습니다. tar -f ARCHIVE-NAME 및 -file=ARCHIVE-NAME은 이 옵션이 아카이브 파일 이름을 지정함을 나타냅니다.
옵션 매개변수가 포함된 짧은 이름의 옵션이 있습니다. 매개변수를 지정하려면 매개변수 뒤에 짧은 옵션 이름이 와야 하며 공백을 사용할 수 없습니다.
짧은 네이밍 옵션은 함께 써도 되지만 필수는 아닙니다. 짧은 옵션이 컬렉션에 나타날 경우 tar -cvf와 같이 옵션 시작 부분에 -만 사용하고 마지막 옵션만 필수 매개변수를 수신하도록 허용합니다. (여러 옵션을 함께 묶으면 마지막 옵션에 매개변수가 포함되어 쓰기가 다소 불투명해집니다.)
옵션을 별도로 사용하는 경우 각 옵션의 매개변수는 해당 옵션을 따라야 합니다. tar -c -v -b 20 -f /dev/rmt0. 매개변수가 제대로 조정되지 않으면 파일을 덮어쓸 수 있습니다.
옵션을 다시 조정할 때 해당 옵션에 속한 매개변수도 동시에 이동하도록 주의하세요.
이전 옵션 스타일
像短命名选项一样,旧选项风格也只有一个字母。但是,旧风格选项必须将所有选项放在一起,不得有空格将他们分开,或者-连接他们。在tar命令和空格之后,比较紧跟这些字母选项的集合。旧选项不能在任意地方出现。旧选项风格的选项和短命名风格的选项含义是一样的。例如 在旧选项风格中,选项 t 和 短命名选项-t 已经长命名选项--list有一样的作用。 tar cv 命令中,选项v是c选项的额外附加内容。
在旧选项风格中,但选项需要参数的时候,这些选项要一起提供,所有的选项按选项书写顺序提供。例如 tar -c -v -b 20 -f /dev/rmt0 要写成 tar cvbf 20 /dev/rmt0这里20是b选项的参数 /dev/rmnt0是f的参数。
我们可以看出,旧风格选项,匹配选项字母和对应的参数是很困难的,而且很容易令人困惑。短命名方式逗比旧命名方式要好很多。如果要调整选项的字母,必须要同时准确地调整对应的参数位置。
旧选项风格有的时候甚至可以震惊一个熟悉的用户。
tar cfz archive.tar.gz file 这个例子中 archive.tar.gz 被认为是f的参数,z是压缩选项。
tar -cfz archive.tar.gz file 这个例子中 z会被认为是f的选项值,尽管不是我们想的。
旧选项风格是为了向下兼容而保留的。而且很多用户已经习惯了这种方式。
第二个例子我们有几种方式来修改。
tar -czf archive.tar.gz file tar -cf archive.tar.gz -z file tar cf archive.tar.gz -z file
通常tar命令的第一个选项一般都会当做包含操作模式和选项来对待处理,尽管没有用-开始。因此 tar c与tar -c一样,都是和--create一样来创建归档。
混合选项风格
三种选项风格可以同时出现在一条tar 命令中,但是旧选项必须在tar命令后 第一个出现,现代风格的选项必须在旧选项集合输入之后出现,这个是必须遵守的原则,否则可能我们输入的命令跟我们预想的结果根本不一样。可能会造成严重的错误或灾难。
tar选项
操作模式
'--concatenate' '--catenate' '-A' 将其他归档文件放在当前归档文件末尾
'--append' ' -r' 追加文件到归档文件
'--compare' '--diff' '-d' 将归档文件和文件系统上的文件进行对比
'--create' '-c' 创建一个归档文件
'--delete' 从归档文件中删除一些文件。(不能在tape上操作)
'--extract' '--get' '-x' 提取归档文件到当前文件系统
'--list' '-t' 显示归档文件的组成文件列表
'--update' '-u' 更新归档文件中的某个文件,只有在该文件有更新时。或者不存在与归档文件。
通用选项
-C, --directory=DIR 改变工作目录。
-f, --file=ARCHIVE 指定归档文件名
-j, --bzip2 使用bzip2压缩方式过滤
-J, --xz 使用xz压缩方式过滤
-p, --preserve-permissions 解压时保留文件的权限。
-v, --verbose 详细的列出处理的文件
-z, --gzip 使用gzip压缩方式过滤
提取时覆盖选项
--remove-files 提取归档后删除归档文件
-k --keep-old-files 执行的时候不覆盖已经存在的文件,会输出错误
--keep-newer-files 执行的时候不覆盖比archive里文件新的文件
--keep-directory-symlink 不把已经存在的连接替换成目录
--no-overwrite-dir 保存已经存在的目录的原信息
--overwrite 覆盖已经存在的文件
--overwrite-dir 覆盖已经存在的目录
--recursive-unlink 在提取目录文件前清除该目录结构
--skip-old-files 不替换已经存在的文件。静默方式跳过
-U, --unlink-first 在提取之前先删除所有文件
-W, --verify 校验
处理文件的属性
--atime-preserve[=METHOD] 保存文件atime到归档文件
--delay-directory-restore 直到解压完才改变目录的时间戳属性
--group=NAME 强制修改文件所属组
--mode=CHANGES 强制连接模式修改
--mtime=DATE-OR-FILE 修改文件的mtime
-m, --touch 不提取文件的 mtime
--no-delay-directory-restore 取消delay-directory-restore
--no-same-owner extract files as yourself (default for ordinary users)
--no-same-permissions apply the user's umask when extracting permissions from the archive (default for ordinary users)
--numeric-owner 使用number来表示owner和group
--owner=NAME 修改归档的文件的owner
-p, --preserve-permissions, --same-permissions 파일 속성을 유지합니다
--preserve -p 및 -s
와 동일하게 파일 속성을 유지합니다.--same-owner 속성을 유지합니다. of the file
- s, --preserve-order, --same-order 파일 속성 유지
로컬 디렉터리 파일 선택
--add-file=FILE 파일이 있는 경우 아카이브에 파일 추가 이름이 다음으로 시작함 -
--backup[=CONTROL] 삭제하기 전에 백업
-C, --directory=DIR 작업 디렉터리를 지정된 디렉터리로 수정
--exclude=PATTERN 일부 파일 제외
--exclude -backups 백업 및 잠금 파일 제외
--exclude-caches 캐시(CACHEDIR.TAG) 디렉터리에서 태그 파일을 제외한 다른 파일 제외
--exclude-caches-all CACHEDIR.TAG를 포함한 디렉터리 제외
--exclude -caches-under 태그 파일이 있는 디렉터리의 다른 모든 파일을 제외하지만 디렉터리가 있습니다.
--exclude-tag=FILE 파일을 제외하고 지정된 파일이 있는 디렉터리를 제외합니다.
FILE 자체를 제외하고 FILE이 포함된 디렉터리의 내용을 제외합니다.
--exclude-tag-all=FILE FILE이 포함된 디렉터리 제외
--exclude-tag-under=FILE 특정 파일이 포함된 디렉터리의 모든 내용 제외
--exclude- vcs vcs 버전 제어에서 디렉터리 제외
-h, --dereference 소프트 링크 저장 및 대상 파일 보관
심볼릭 링크를 따라 해당 파일이 가리키는 파일 보관 및 덤프
--hard-dereference 하드 및 소프트 저장 link, 대상 파일도 Archive
-K, --starting-file=MEMBER-NAME 디렉터리에 있는 파일부터 Archive를 시작하면, 이전 파일은 보관되지 않습니다
--newer-mtime=DATE 내용이 수정, 파일 비교 날짜 및 시간
-P, --absolute-names는 절대 경로로 압축됩니다. --recursion
--suffix=STRING 추출 시 원본 파일을 덮어씁니다. 삭제하기 전에 백업하고 설정된 접두사
-X, --exclude-from=FILE로 지정된 파일에서 합의된 파일을 제외합니다
추천 학습: "Linux 비디오 튜토리얼"
위 내용은 리눅스 아카이브는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!