메모장 등의 편집기에서 글을 작성할 때, 다음 줄로 넘어가기 위해서는 키보드의 Enter 키를 입력한다. 이는 리눅스, 윈도우 할 것 없이 모두 동일하다. 하지만, 내부적으로 처리되는 방식에 있어서는 차이가 있다.
리눅스와 윈도우는 각각 개행문자를 처리하는 방식이 다르다.
윈도우의 줄바꿈 문자는 CR + LF 이며, 리눅스는 LF이다.
CR은 Carriage Return의 약자로, 현재 라인의 시작지점으로 커서를 이동함을 의미한다.
LF는 Line Feed의 약자로, 다음 라인으로 커서를 이동시킨다.
윈도우는 이 두 문자의 조합으로, 개행을 처리한다. 하지만 리눅스의 경우 CR은 따로 다루지 않으며, LF만으로 개행을 처리한다.
이는 윈도우에서 작성한 문서를 리눅스에서 열면, CR이 잉여문자로 나타남을 의미하며, 리눅스에서 작성한 문서를 윈도우에서 여는 경우 정상적으로 개행이 되지 않을 수 있음을 의미한다.
따라서, 리눅스에서 작성한 문서를 윈도우에서 열거나, 혹은 반대의 경우 별도의 처리가 필요하다.
이를 처리하기 위한 여러 방법이 있지만, Ubuntu 등의 데비안 계열 리눅스의 경우 dos2unix를 통해 간단히 파일 변환이 가능하다.
다음 명령으로 dos2unix를 설치하면, dos2unix, unix2dos, unix2mac 의 세 파일이 설치된다.
$ sudo apt install dos2unix
각 프로그램 뒤에 변환할 파일을 지정함으로써 변환을 수행할 수 있다.
$ dos2unix [File]
$ unix2dos [File]
$ unix2mac [File]