在Linux系统中,换行符(Line Ending)使用 LF
(Line Feed) 字符表示,对应的ASCII码是 \n
(即 0x0A
)。这是Linux/Unix系统的标准换行符。
Linux/Unix:\n
(LF)
Hello\nWorld
Windows:\r\n
(CRLF)
\r
,ASCII 0x0D
) + 换行(\n
)。Hello\r\nWorld
经典Mac(OS X之前):\r
(CR)
\n
,与Linux一致。文件换行符转换:
dos2unix
(Windows转Linux)或 unix2dos
(Linux转Windows)工具:bash
dos2unix filename # 将CRLF转为LF
unix2dos filename # 将LF转为CRLF
sed
命令删除 \r
:bash
sed -i 's/\r//g' filename
Git自动处理换行符:
在Git中设置核心配置,避免跨平台协作问题:
git config --global core.autocrlf input # Linux/macOS用户(提交时转为LF)
git config --global core.autocrlf true # Windows用户(检出时转为CRLF,提交时转为LF)
文本编辑器显示:
vim
:set ff?
输出可能是 fileformat=unix
(LF)、dos
(CRLF)或 mac
(CR)。\r
,可能导致错误(如 ^M
或 bad interpreter
)。通过工具或配置统一换行符,可以避免这些问题。