Linux patch 명령어
Linux 명령어大全
Linux patch 명령어는 파일을 고침하는 데 사용됩니다.
patch 명령어는 사용자가 수정 및 업데이트할 원본 파일을 설정한 고침 파일을 통해 수정하는 방법을 제공합니다. 한 번에 하나의 파일을 수정하면 명령어 목록에서 순차적으로 실행할 수 있습니다. 고침 파일과 함께 사용하면 많은 파일을 한 번에 고침할 수 있으며, 이것도 Linux 시스템 커널 업그레이드 방법 중 하나입니다.
문법
patch [-bceEflnNRstTuvZ][-B <백업 이름 문자열>][-d <작업 디렉토리>][-D <지시 기호>][-F <감별 열 수>][-g <제어 값>][-i <修补 파일>][-o <출력 파일>][-p <剥离层级>][-r <거부 파일>][-V <백업 방식>][-Y <백업 이름 문자열>][-z <백업 이름 문자열>][--backup-if -mismatch][--binary][--help][--nobackup-if-mismatch][--verbose][원본 파일 <修补文件>] 또는 path [-p <剥离层级>] < [修补文件]
파라미터:
- -b 또는--backup 모든 원본 파일을 백업합니다。
- -B<백업 이름 문자열> 또는--prefix=<백업 이름 문자열> 파일 백업 시 파일 이름 앞에 추가할 문자열을 설정합니다. 이 문자열은 경로 이름일 수 있습니다。
- -c 또는--context 修补 데이터를 관련적인 차이로 해석합니다。
- -d<작업 디렉토리> 또는--directory=<작업 디렉토리> 작업 디렉토리를 설정합니다。
- -D<지시 기호> 또는--ifdef=<지시 기호> 지정된 기호로 변경된 부분을 표시합니다。
- -e 또는--ed 修补 데이터를 ed 명령어가 사용할 수 있는 설명 파일로 해석합니다。
- -E 또는--remove-empty-files 修补 후 출력된 파일의 내용이 공백이면 해당 파일을 제거합니다。
- -f 또는--force 이 파라미터의 효과는 지정된"-t"파라미터와 유사하지만, 수정 데이터의 버전을 새 버전으로 가정합니다。
- -F<감별 열 수> 또는--fuzz<감별 열 수> 감별 열 수의 최대 값을 설정합니다。
- -g<제어 값> 또는--get=<제어 값> RSC 또는 SCCS를 통해 수정 작업을 제어합니다。
- -i<修补 파일> 또는--input=<修补 파일> 지정된 수정 파일을 읽습니다。
- -l 또는--ignore-whitespace 修补 데이터와 입력 데이터의 탐격, 공백 문자를 무시합니다。
- -n 또는--normal 修补 데이터를 일반적인 차이로 해석합니다。
- -N 또는--forward 修补된 데이터가 원본 파일의 버전보다 오래되거나, 이 버전의 수정된 데이터가 이미 사용되었을 경우 무시합니다。
- -o<출력 파일> 또는--output=<출력 파일> 출력 파일 이름을 설정합니다. 수정된 파일은 이 이름으로 저장됩니다。
- -p<剥离层级> 또는--strip=<剥离层级> 설정을 떼려는 경로 이름의 층 수를 설정합니다。
- -f<거부 파일> 또는--reject-file=<거부 파일> 거부된 패치 정보를 저장할 파일 이름을 설정합니다. 기본 파일 이름은 .rej입니다。
- -R 또는--reverse 수정 데이터가 새로운 파일과 구성 요소가 교환된 위치에서 생성되었을 것이라고 가정합니다。
- -s 또는--quiet 또는--silent 명령어 실행 과정을 표시하지 않습니다. 오류가 발생하지 않으면.
- -t 또는--batch 에러를 자동으로 건너뜀하고 어떤 질문도하지 않습니다。
- -T 또는--set-time 이 매개변수의 효과는 지정된 "-Z" 매개변수와 유사하지만, 로컬 시간을 기준으로 합니다.
- -u 또는--unified 수정 데이터를 일관된 차이로 해석합니다。
- -v 또는--version 버전 정보를 표시합니다。
- -V<백업 방식> 또는--version-control=<백업 방식> "-b" 매개변수로 백업 대상 파일을 백업한 후, 백업 파일의 끝부분에 백업 문자열이 추가됩니다. 이 문자열은 사용할 수 있지만-z" 매개변수 변경 시,-V" 매개변수를 사용하여 다른 백업 방식을 지정할 때, 다른 백업 문자열이 생성됩니다.
- -Y<백업 문자열 시작부분> 또는--basename-prefix=--<백업 문자열 시작부분> 파일 백업 시, 파일 기본 이름 앞에 추가되는 문자열을 설정합니다。
- -z<백업 문자열 끝부분> 또는--suffix=<백업 문자열 끝부분> 이 매개변수의 효과는 지정된 "-B" 매개변수와 유사하지만, 수정 작업에서 사용하는 경로와 파일 이름이 src로 설정되었을 때의 차이점은 있습니다/linux/fs/super.c에 "backup/" 문자열 후에, 파일 super.c는 백업됩니다/src/linux/fs/backup 디렉토리에.
- -Z 또는--set-utc 수정된 파일의 변경 및 접근 시간을 UTC로 설정합니다。
- --backup-if-mismatch 데이터가 일치하지 않고 파일을 백업하지 않도록 명시적으로 지정하지 않았을 때, 파일을 백업합니다。
- --binary 데이터를 표준 출력 장치를 통해 아니라 이진 모드로 읽고 쓰기합니다。
- --help 온라인 도움말。
- --nobackup-if-mismatch 데이터가 일치하지 않고 파일을 백업하지 않도록 명시적으로 지정하지 않았을 때, 파일을 백업하지 마십시오。
- --verbose 명령어 실행 과정을 상세히 표시합니다。
온라인 예제
파일 "testfile"을 patch 명령어로 수정합니다1업그레이드를 수행하려면, "testfile.patch" 패치 파일을 사용하여 다음 명령어를 입력합니다:
$ patch -p0 testfile1 testfile.patch # 패치 프로그램으로 파일 업그레이드
명령어 "cat"를 사용하여 "testfile1"의 내용입니다. 원본 파일과 수정 및 업그레이드가 필요한 파일 간에 "diff" 명령어를 사용하여 패치 파일을 생성할 수 있습니다. 구체적인 작업 방법은 다음과 같습니다:
$ cat testfile1 # testfile 확인1의 내용
Hello,This is the firstfile!
$ cat testfile2 # testfile 확인2의 내용
Hello,Thisisthesecondfile!
$ diff testfile1 testfile2 # 두 파일을 비교
1c1
<Hello,Thisisthefirstfile!
---
>Hello,Thisisthesecondfile!
# 비교 결과를 tetsfile.patch 파일에 저장
$ diff testfile1 testfile2>testfile.patch
$ cat testfile.patch # 패치 팩의 내용 확인
1c1
<Hello,Thisisthefirstfile!
---
>Hello,Thisisthesecondfile!
# 패치 팩으로 testfile 업그레이드1파일
$ patch -p0 testfile1 testfile.patch
파일 testfile 수정1
$cat testfile1 #testfile을 다시 확인1의 내용
#testfile1파일이 testfile로 수정되었습니다2같은 내용
Hello,This is the secondfile!
주의: 위의 명령어 코드에서, "$ diff testfile1 testfile2">testfile. patch"에서 사용하는 연산자">"은 왼쪽의 파일 데이터를 오른쪽에 지정된 파일로 기록하는 것을 의미합니다. 여기서는 두 파일을 비교한 결과를 파일"testfile.patch"에 기록하는 것을 의미합니다.
Linux 명령어大全