English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Linux diff 명령어

Linux 명령어大全

Linux diff 명령어는 파일의 차이를 비교하는 데 사용됩니다.

diff는 텍스트 파일의 차이를 줄별로 비교합니다. 디렉토리를 지정하면, diff는 동일한 파일 이름을 가진 파일을 비교하지만, 서브 디렉토리를 비교하지 않습니다.

문법

diff [-abBcdefHilnNpPqrstTuvwy][-<행수>][-C <행수>][-D <대장치 이름>][-I <문자 또는 문자열>][-S <파일>][-W <너비>][-x <파일 또는 디렉토리>][-X <파일>][--help][--side  파일의 차이점을 겹치는 방식으로 표시-column][--y 파라미터를 사용할 때, 두 파일의 일정한 행 내용이 같으면, 왼쪽의 칸에만 해당 행 내용을 표시합니다.-suppress-line][파일 또는 디렉토리1][파일 또는 디렉토리2]

매개변수와

  • -<행수>  보여줄 텍스트의 행 수를 지정합니다. 이 매개변수는-c 또는-u 매개변수를 모두 사용합니다.

  • -a 또는--text  diff 설정은 텍스트 파일을 줄별로 비교합니다.

  • -b 또는--ignore-space-change  공백 문자의 차이를 확인하지 않습니다。

    • -B 또는--ignore-blank-lines  비어 있는 행을 확인하지 않습니다。

    • -c  전체 내용을 표시하고, 차이점을 표시합니다。

    • -C<행 수> 또는--context<행 수>  와 실행"-c-<행 수>"명령어가 같습니다。

    • -d 또는--minimal  다른 알고리즘을 사용하여 작은 단위로 비교합니다。

    • -D<집합 이름> 또는 ifdef<집합 이름>  이 매개변수의 출력 형식은 전처리기 집합에 사용할 수 있습니다。

    • -e 또는--ed  이 매개변수의 출력 형식은 ed 스크립트 파일에 사용할 수 있습니다。

    • -f 또는-forward-ed  출력 형식은 ed 스크립트 파일과 유사하지만, 원래 파일의 순서로 차이점을 표시합니다。

    • -H 또는--speed-large-files  대형 파일을 비교할 때, 속도를 높일 수 있습니다。

    • -l<문자 또는 문자열> 또는--ignore-matching-lines<문자 또는 문자열>  두 파일이 몇 행에서 다를 때, 이 행들이 옵션에서 지정된 문자 또는 문자열을 모두 포함하고 있으면, 이 두 파일의 차이를 표시하지 않습니다。

    • -i 또는--ignore-case  대소문자의 차이를 확인하지 않습니다。

    • -l 또는--paginate  결과를 pr 프로그램에 분페이지합니다。

    • -n 또는--rcs  비교 결과를 RCS 형식으로 표시합니다。

    • -N 또는--new-file  비교 디렉토리에서 파일 A가 특정 디렉토리에만 나타나면, 기본적으로 다음과 같이 표시됩니다:

    • Only in 디렉토리: 파일 A가 사용될 때,-N 매개변수가 있으면, diff는 파일 A를 비어 있는 파일과 비교합니다。

    • -p  비교하는 파일이 C 언어의 프로그램 코드 파일이면, 차이점이 있는 함수 이름을 표시합니다。

    • -P 또는--unidirectional-new-file  와-N과 유사하지만, 두 번째 디렉토리가 첫 번째 디렉토리에 없는 파일을 포함하고 있을 때만 이 파일을 비어 있는 파일과 비교합니다。

    • -q 또는--brief  차이점이 있는지만 표시하고, 상세한 정보는 표시하지 않습니다。

    • -r 또는--recursive  자식 디렉토리 내의 파일을 비교합니다。

    • -s 또는--report-identical-files  차이점이 없더라도 정보를 표시합니다。

    • -S<파일> 또는--starting-file<파일>  비교 디렉토리에서 지정된 파일부터 비교합니다。

    • -t 또는--expand-tabs  출력 시 tab 문자를 확장합니다。

    • -T 또는--initial-tab  각 행 앞에 tab 문자를 추가하여 정렬합니다。

    • -u,-U<열 수> 또는--unified=<열 수>  파일 내용의 차이를 병합된 방식으로 표시합니다。

    • -v 또는--version  버전 정보를 표시합니다。

    • -w或--ignore-w 또는-ignore

    • -all--space  모든 공백 문자를 무시합니다.-W<너비> 또는

    • -width<너비>  left--y 파라미터를 사용할 때, 칸 너비를 지정합니다.

    • -x<파일 이름 또는 디렉토리> 또는--exclude<파일 이름 또는 디렉토리>  비교 옵션에 지정된 파일이나 디렉토리를 비교하지 않습니다.-X<파일> 또는

    • -exclude--from<파일>  파일이나 디렉토리 타입을 텍스트 파일로 저장할 수 있으며, =<파일>에서 이 텍스트 파일을 지정할 수 있습니다.-y 또는-side

    • --by

    • --side  파일의 차이점을 겹치는 방식으로 표시-help  도움말 표시-column  left

    • --y 파라미터를 사용할 때, 두 파일의 일정한 행 내용이 같으면, 왼쪽의 칸에만 해당 행 내용을 표시합니다.-suppress-lines  common-y 파라미터를 사용할 때, 다른 부분만 표시합니다.

    예제1:두 파일을 비교합니다

    [root@localhost test3]# diff log2014.log log2013.log 
    3c3
    < 2014-03
    ---
    > 2013-03
    8c8
    < 2013-07
    ---
    > 2013-08
    11,12d10
    < 2013-11
    < 2013-12

    위의"3c3"과"8c8"은 log2014.log와 log20143log 파일은3행과8행 내용이 다릅니다;11,12d10"은 첫 번째 파일이 두 번째 파일보다 많은11와12행.

    예제2:좌우 정렬 출력

    [root@localhost test3]# diff log2014.log log2013.log  -y -W 50
    2013-01                 2013-01
    2013-02                 2013-02
    2014-03               | 2013-03
    2013-04                 2013-04
    2013-05                 2013-05
    2013-06                 2013-06
    2013-07                 2013-07
    2013-07               | 2013-08
    2013-09                 2013-09
    2013-10                 2013-10
    2013-11               <
    2013-12               <
    [root@localhost test3]# diff log2013.log log2014.log  -y -W 50
    2013-01                 2013-01
    2013-02                 2013-02
    2013-03               | 2014-03
    2013-04                 2013-04
    2013-05                 2013-05
    2013-06                 2013-06
    2013-07                 2013-07
    2013-08               | 2013-07
    2013-09                 2013-09
    2013-10                 2013-10
                          > 2013-11
                          > 2013-12

    설명:

    • "|"은 앞뒤2개 파일 내용이 다릅니다

    • "<"은 다음 파일이 이전 파일보다 적습니다1행 내용

    • ">"은 다음 파일이 이전 파일보다 많습니다1행 내용

    Linux 명령어大全