patch
텍스트 처리
쓰는 꼴
patch -p1 < [file.patch]diff를 파일에 실제로 적용합니다. -p가 패치에 적힌 경로를 몇 겹 버릴지 정하고, git 패치는 a/ b/ 접두사 때문에 -p1이 필요합니다.
자주 쓰는 옵션
| 옵션 | 뜻 |
|---|---|
| -pN | Strip N leading path components; git diffs need -p1 |
| -R | Apply the patch backwards to undo it |
| --dry-run | Test whether it applies and change nothing |
| -i | Read the patch from a file instead of standard input |
| -b | Keep a backup of every file it changes |
예시
patch -p1 < fix.patchApplies a git-style patch from the repo root.
patch -p1 -R < fix.patchUndoes it again.
patch -p1 --dry-run < fix.patchChecks it applies cleanly first.
파이프로 이어 쓰는 것이 본래 용도입니다. 한 명령이 다 하는 것보다 셋을 잇는 편이 짧습니다.
읽는 방법
- 대괄호 [ ]는 넣어도 되고 안 넣어도 되는 자리입니다.
- 점 셋 …은 여러 개를 이어 쓸 수 있다는 뜻입니다.
- 옵션은 대소문자를 가립니다 — -r과 -R이 다른 명령도 있습니다.
자주 묻는 것
Q. patch은 무엇을 하나요?
diff를 파일에 실제로 적용합니다. -p가 패치에 적힌 경로를 몇 겹 버릴지 정하고, git 패치는 a/ b/ 접두사 때문에 -p1이 필요합니다.
Q. 어떻게 치나요?
patch -p1 < [file.patch] — 대괄호는 생략할 수 있는 자리입니다.
Q. 옵션은 몇 개나 자주 쓰나요?
여기 정리한 것은 5개입니다. 전체 목록은 man patch에 있습니다. 이 명령은 텍스트 처리 갈래입니다.
같이 보는 명령
man 페이지: man patch