-
[CRLF] CRLF란 무엇일까?컴퓨터지식/운영체제 2023. 11. 3. 13:35
가끔 git 업로드 할 때나, 데이터 통신을 할때, 서로 다른 OS에서 문자열을 처리할 때 CRLF에 대한 경고문을 보게 된다.
여기서 말하는 CRLF란 무엇일까??
CR + LF
CRLF는 CR 과 LF 가 합쳐진 말이고, 타자기에서 유래되었다.
CR
CR은 Carriage Return의 약자로 Carrige는 타자기 등의 기계에서 다른 부분을 이동시키는 것을 만한다.
즉, 종이를 움직여서 현재의 커서를 제일 왼쪽으로 이동한다는 말이다.
LF
LF는 Line Feed의 약자로 모니터의 커서 위치나 프린터 인쇄 위치를 한줄 아래로 내리는 것을 말한다.
CRLF
결론 적으로 CR+LF인 CRLF는 현재의 커서를 제일 왼쪽으로 움직이기 + 한줄 아래로 내리기 인것이다.
그러므로 IDE나 메모장, Word 등으로 생각하면, 문장의 마지막 부분에서 엔터를 치는 것을 말하겠다.
= 결국 줄바꿈이다.
CRLF로 발생하는 문제
CRLF는 줄바꿈인데 무슨 문제가 발생하겠냐만,
문제는 운영체제마다 기본으로 사용하는 방식이 다르다는 것에 있다.
한마디로 정리하자면
Windows = CRLF(\r\n)
Unix / Linux / MacOS = LF(\n)
(MAC의 9버전 이하는 CR(\r)을 줄바꿈으로 사용)
라고 할 수 있다.
(꼭 이렇게 해야된다는 것은 아니고 기본 설정이 그렇다는 것이다.)
때문에, 서로 다른 운영체제를 오가야하는 경우, 사용하는 Tool에서 OS별로 CRLF 방식을 일치시키는 설정을 해주게되면 CRLF로 인한 문제를 해결할 수 있을 것이다.
저장소(거의 Linux)에서 가져올 때는 LF를 사용하고, 보낼때는 CRLF를 사용하도록 설정하여 문제를 해결할 수 있다.
Windows에선 이렇게
git config --global core.autocrlf true
Linux에선 이렇게
git config --global core.autocrlf input
'컴퓨터지식 > 운영체제' 카테고리의 다른 글
[운영체제] 프로세스(Process)와 스레드(Thread) 간단 정리 (0) 2022.12.29