Пращали ли сте някога текстов файл, създаден в Linux система, на някого и той да се оплаква, че е изглеждал погрешно в macOS или Windows? Това може да се дължи на това, че тези системи обработват различните окончания на линии. За щастие това е лесно да се поправи с няколко помощни програми: Dos2Unix и Unix2Dos.
Каква е сделката с окончания на редове?
Една разлика между Windows и Linux, която може да затрудни обмена на файлове, е начинът, по който те броят завършванията на редовете. Това датира от дните, когато компютрите са използвали телетайп машини за въвеждане и извеждане, които са били на практика автоматични пишещи машини.
Нова линия, наричана още линия за подаване, премества хартията с една линия и връщането на каретката се премества в началото на линията. Интерфейси на командния ред, изпълнени на тази конвенция за тълкуване на нови редове.
Windows наследи конвенцията MS-DOS за преброяване на нов ред и връщане на карета като един ред, докато Linux от своя страна носеше традицията на Unix просто да брои нови редове, както и нови редове.
През повечето време текстовите редактори са достатъчно интелигентни, за да могат да откриват файлове, създадени в различни системи, и да регулират дисплея по съответния начин, но все пак може да срещате проблеми понякога. Можете да опитате да стартирате скрипт и интерпретаторът може да изведе грешка, защото очаква редове да завършват по различен начин.
Използване на Dos2Unix и Unix2Dos
За щастие има няколко помощни програми, които ви позволяват да конвертирате окончания на редове във файлове между формати. Те са извикани Dos2Unix и Unix2Dos.
Въпреки че тези помощни програми са често срещани при много инсталации на Linux, ако не са инсталирани на вашата система, можете да ги изтеглите с помощта на мениджъра на пакети по подразбиране.
За да конвертирате файл, създаден в система с Windows, в Linux, използвайте dos2unix:
dos2unix файл
...където файл е името на файла, който искате да конвертирате. Тази програма ще преобразува файла от DOS нови редове в Unix на място, както подсказва името. Ако искате да конвертирате копие на файла, използвайте -н опция:
dos2unix -n файл1 файл2
...където файл1 и файл2 са имената на оригинален файл и изходния файл. Командата unix2dos работи по същия начин и приема същите аргументи.
Алтернативен вариант е да се използва a текстов редактор на Linux или Windows за конвертиране на файлове, тъй като те също могат да откриват и променят поведението, завършващо на реда.
Свързани: Unix срещу Linux: Разликите между и защо е важно
Сега вашите текстови файлове изглеждат правилно на всяка система
С тази двойка помощни програми можете да сте сигурни, че всеки текстов файл ще работи или на Windows, или на Linux. Поправянето на нови редове вече е по-лесно от всякога с dos2unix и unix2dos.
В реалния свят потребителите на Linux и потребителите на Windows често трябва да споделят файлове. За щастие е много лесно да се направи това в наши дни.
Преминавате от Windows към Linux и трябва да копирате данни? Използвайте тези трикове за прехвърляне или споделяне на файлове от Windows към Linux.
Прочетете Напред
- Linux
- MS-DOS
- Unix
Дейвид е писател на свободна практика, базиран в северозападната част на Тихия океан, но първоначално идва от района на залива. От детство е ентусиаст на технологиите. Интересите на Дейвид включват четене, гледане на качествени телевизионни предавания и филми, ретро игри и събиране на записи.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и ексклузивни оферти!
Още една стъпка…!
Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.