Вы когда-нибудь отправляли кому-нибудь текстовый файл, созданный в системе Linux, и заставляли его жаловаться, что он выглядит неправильно в macOS или Windows? Это может быть связано с тем, что эти системы по-разному обрабатывают окончания строк. К счастью, это легко исправить с помощью пары утилит: Dos2Unix и Unix2Dos.

Что делать с окончаниями строк?

Одно из различий между Windows и Linux, которое может затруднить обмен файлами, - это способ подсчета окончаний строк. Это восходит к тем временам, когда компьютеры использовали телетайпы для ввода и вывода, которые фактически были автоматическими пишущими машинками.

Перевод строки, также называемый переводом строки, продвигает бумагу на одну строку, а возврат каретки перемещается в начало строки. Интерфейсы командной строки поддерживают это соглашение об интерпретации символов новой строки.

Windows унаследовала соглашение MS-DOS о подсчете новой строки и возврата каретки как одной строки, в то время как Linux, в свою очередь, сохранил традицию Unix просто подсчитывать новые строки как новые строки.

instagram viewer

В большинстве случаев текстовые редакторы достаточно умны, чтобы обнаруживать файлы, созданные в разных системах, и соответствующим образом настраивать отображение, но вы все равно можете время от времени сталкиваться с проблемами. Вы можете попытаться запустить сценарий, и интерпретатор может выдать ошибку, потому что он ожидает, что строки будут заканчиваться по-другому.

Использование Dos2Unix и Unix2Dos

К счастью, есть несколько утилит, которые позволяют конвертировать окончания строк в файлах между форматами. Они называются Dos2Unix и Unix2Dos.

Хотя эти утилиты распространены во многих установках Linux, если они не установлены в вашей системе, вы можете загрузить их с помощью диспетчера пакетов по умолчанию.

Чтобы преобразовать файл, созданный в системе Windows, в Linux, используйте dos2unix:

файл dos2unix

...где файл - это имя файла, который вы хотите преобразовать. Эта программа преобразует файл из новых строк DOS в символы Unix на месте, как следует из названия. Если вы хотите преобразовать копию файла, используйте -n вариант:

dos2unix -n файл1 файл2

...где file1 а также файл2 имена исходный файл и выходной файл. Команда unix2dos работает так же и принимает те же аргументы.

Альтернативный вариант - использовать текстовый редактор на Linux или Windows для преобразования файлов, так как они также могут определять и изменять поведение окончания строки.

Связанный: Unix vs. Linux: разница между ними и почему это важно

Теперь ваши текстовые файлы выглядят правильно в любой системе

С помощью этой пары утилит вы можете убедиться, что любой текстовый файл будет работать как в Windows, так и в Linux. Исправлять символы новой строки теперь проще, чем когда-либо, с помощью dos2unix и unix2dos.

В реальном мире пользователям Linux и Windows часто нужно обмениваться файлами. К счастью, в наши дни это сделать очень просто.

Электронное письмо
Как передавать файлы и обмениваться ими между Windows и Linux

Переходите с Windows на Linux и вам нужно скопировать данные? Используйте эти приемы для передачи файлов или обмена ими из Windows в Linux.

Читать далее

Похожие темы
  • Linux
  • MS-DOS
  • Unix
Об авторе
Дэвид Делони (Опубликовано 27 статей)

Дэвид - писатель-фрилансер, живущий на северо-западе Тихого океана, но родом из района Залива. Он был энтузиастом технологий с детства. Интересы Дэвида включают чтение, просмотр качественных телешоу и фильмов, ретро-игры и коллекционирование пластинок.

Ещё от David Delony

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.

.