Sometimes, we need to transfer files between Unix and Windows systems. In Windows and Dos files, the line break is represented using two characters: the first is the
carriage return (\r) (CR) and the second is the
Line feed (\n) (LF). On the other hand, in Linux/Unix distributions the end of the line is indicated by using only one character that is a
Line Feed (LF). However, this difference may cause issues, like code not compiling, scripts not working, text formating looking off.
Using the popular commands
unix2dos, we can avoid the hidden character problems.
The main objective of this article is to explain the workings of
unix2dos commands. We will also learn how to transfer a file from Dos to Unix and vice versa using these two commands. We explain both commands with the help of a few examples.
Table of Contents Hide
- How to Convert Files on Linux?
- dos2unix command – Converts a DOS/Windows text file to Unix format
- unix2dos command – Converts a Unix file to DOS/Windows format
- Useful options for unix2dos and dos2unix commands
How to Convert Files on Linux?
Using the following two most commonly used Linux commands, you can convert the file on a Linux system:
- unix2dos command
- dos2unix command
Let’s explain the use of each command with the help of some examples.
dos2unix command – Converts a DOS/Windows text file to Unix format
dos2unix utility converts the DOS plain text files to a Unix format. This tool can be installed on Ubuntu/Debian systems by running the command:
sudo apt install dos2unix
To install this tool on Fedora/CentOS 8 distributions, type the below-mentioned command:
sudo dnf install dos2unix
Syntax of dos2unix command
Usage of the
dos2unix [options] [dos-text-file]
To convert a file from DOS format to Unix is quite simple using the
dos2unix utility. You need a text file created on a Dos/Windows system. If you download this file on your system then, by running the
dos2unix command you can easily convert this text file into the Unix format as follows:
The above command converts the file without saving it in the original format. But, if you need to save the original file, use the
-b option or attribute before the name of the file. This action creates a backup of the original file under the same name with the
dos2unix -b [file-name]
You can also use some additional options based on your specific situation.
Example: File conversion from DOS to Unix format
For example, we downloaded a file named
dos-sample-file.txt on the Linux system. Now, display the file content using the vim text editor. You will observe, at the end of each line
^M symbols are added. That means this file is in Dos format.
You can also use the below-given command to verify that this file is in DOS format:
od -bc Dos-sample-file.txt
Now, to convert this text file from DOS to Unix format, use the
dos2unix command as follows:
sudo dos2unix Dos-sample-file.txt
To display the help related to the
dos2unix command, run the below-given command:
The following output shows on the terminal including all additional options:
unix2dos command – Converts a Unix file to DOS/Windows format
unix2dos utility converts the Linux/Unix plain text files in the DOS and window formats. This command is very useful while you need to transfer or export a file from Linux to Windows operating system.
Syntax of unix2dos command
The following syntax is used to convert a file which is created on a Linux system into the DOS format via the
unix2dos [options] [File-name]
-b option to save the original Unix file as a backup on your system.
unix2dos -b [File-name]
Example: File conversion from Unix to DOS format
For example, we want to convert a Unix text file named
unix-sample-file.txt to a DOS file format. In this case, use the above command in the following way:
unix2dos -b unix-sample-file.txt
The following output displays on your terminal screen:
To confirm the conversion of the above text file into the DOS format, open the text file in the vim text editor as follows:
You noticed here the
^M has been removed at the end of each line. Now, run the following command for confirmation that the
unix-sample-file.txt is now in the DOS format:
od -bc unix-sample-file.txt
Useful options for unix2dos and dos2unix commands
The following options you can use along with
unix2dos commands to convert from DOS to Unix format and vice versa.
--help) – display help and multiple options and attributes.
--keepdate) – This option Keeps the date stamp of the output file the same as the input file.
--newline) – Add an additional newline.
--quiet) – Quiet mode. Suppress all warnings and messages.
--version) – Prints version details.
--force) – This option forces conversion of binary files.
--safe) – by default, used to Skip binary files.
--follow-symlink) – convert the targets and follow symbolic links and.
--skip-symlink) – used to leave the symbolic links and targets unchanged (default).
We explored the uses of
unix2dos commands on a Linux system. We also mentioned different options attributes that will help you to solve your problem.