Lệnh dos2unix trong linux với các ví dụ dễ hiểu

Lệnh dos2unix trong Linux là một công cụ hữu ích để chuyển đổi định dạng văn bản từ Windows (DOS) sang Unix/Linux. Nó loại bỏ các ký tự xuống dòng thừa (^M) thường gây ra lỗi khi mở file văn bản Windows trên Linux. Sử dụng lệnh dos2unix giúp đảm bảo tính tương thích và hiển thị chính xác nội dung file trên các hệ thống khác nhau, rất tiện lợi phải không nào?

Lệnh dos2unix trong linux là gì?

Lệnh command dos2unix in linux là một công cụ hữu ích để chuyển đổi định dạng văn bản từ DOS/Windows sang Unix/Linux, giúp loại bỏ các ký tự xuống dòng thừa. Các ký tự xuống dòng thừa này thường gây ra lỗi khi bạn mở các file văn bản từ Windows trên hệ thống Linux. Sử dụng dos2unix giúp đảm bảo tính tương thích và hiển thị chính xác nội dung của file văn bản. Nó đặc biệt quan trọng khi làm việc với các script hoặc file cấu hình được tạo trên Windows. Lệnh này giúp bạn tránh các vấn đề liên quan đến định dạng văn bản khác nhau giữa các hệ điều hành.

Giới thiệu về Lệnh dos2unix

Trong bước này, bạn sẽ tìm hiểu về lệnh dos2unix, dùng để chuyển đổi định dạng file text từ DOS/Windows sang Unix/Linux.

Định dạng DOS/Windows dùng ký tự CR+LF (carriage return và line feed) để báo hiệu kết thúc dòng.

Trong khi đó, định dạng Unix/Linux chỉ dùng ký tự LF (line feed), sự khác biệt này gây ra vấn đề khi chuyển file giữa các hệ thống.

Lệnh dos2unix là một công cụ đơn giản và hiệu quả để giải quyết vấn đề này một cách nhanh chóng.

Nó đọc file đầu vào, loại bỏ ký tự carriage return, và ghi nội dung đã sửa đổi vào file đầu ra.

Hãy bắt đầu bằng cách kiểm tra phiên bản của lệnh dos2unix đã được cài đặt trên hệ thống của bạn.

dos2unix --version

Ví dụ về kết quả:

dos2unix (NLS version)
Copyright (C) 2009-2022 Bernd Johannes Wuebben.
Copyright (C) 1994-1995 Benjamin Lin.
dos2unix comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of dos2unix under the terms of the GNU
General Public License. For more information about these matters,
see the file named COPYING.

Lệnh dos2unix là một phần của package tofrodos, đã được cài đặt sẵn trong môi trường Ubuntu 22.04 của bạn.

Chuyển đổi File Text từ Định dạng DOS sang Unix

Trong bước này, bạn sẽ học cách dùng lệnh dos2unix để chuyển đổi file text từ DOS/Windows sang Unix/Linux.

Đầu tiên, hãy tạo một file text mẫu theo định dạng DOS để thực hành chuyển đổi nhé.

echo "This is a sample text file in DOS format." > sample_dos.txt

Bây giờ, chúng ta sẽ sử dụng lệnh dos2unix để thực hiện chuyển đổi file vừa tạo.

dos2unix sample_dos.txt

Ví dụ về kết quả sau khi chạy lệnh:

dos2unix: converting file sample_dos.txt to Unix format ...

Lệnh dos2unix đã sửa đổi trực tiếp file, loại bỏ ký tự carriage return và chuyển sang định dạng Unix.

Hãy cùng kiểm tra nội dung của file sau khi chuyển đổi để đảm bảo thành công.

cat sample_dos.txt

Ví dụ về kết quả sau khi kiểm tra:

This is a sample text file in DOS format.

Như bạn thấy, file hiện dùng ký tự kết thúc dòng Unix (LF) thay vì DOS (CR+LF).

Bạn cũng có thể chỉ định file đầu ra để lưu file đã chuyển đổi với tên khác.

dos2unix sample_dos.txt sample_unix.txt

Lệnh này sẽ tạo file mới sample_unix.txt với định dạng Unix, giữ nguyên file gốc sample_dos.txt.

Tự động chuyển đổi dos2unix bằng Shell Scripts

Trong bước này, bạn sẽ học cách tự động hóa việc chuyển đổi định dạng file text từ DOS sang Unix bằng shell scripts.

Chúng ta hãy tạo một shell script đơn giản để chuyển đổi tất cả các file .txt trong thư mục hiện tại nhé.

#!/bin/bash

for file in *.txt; do
  if [ -f "$file" ]; then
    echo "Converting $file to Unix format..."
    dos2unix "$file"
  fi
done

echo "DOS to Unix conversion complete."

Hãy lưu script này với tên convert_to_unix.sh trong thư mục ~/project của bạn.

Bây giờ, hãy cấp quyền thực thi cho script này bằng lệnh sau:

chmod +x ~/project/convert_to_unix.sh

Bạn có thể chạy script này để chuyển đổi tất cả các file .txt trong thư mục hiện tại.

~/project/convert_to_unix.sh

Ví dụ về kết quả đầu ra:

Converting sample_dos.txt to Unix format...
dos2unix: converting file sample_dos.txt to Unix format ...
DOS to Unix conversion complete.

Script sử dụng vòng lặp for để duyệt qua tất cả các file .txt trong thư mục hiện tại.

Sau đó, nó gọi lệnh dos2unix trên mỗi file để chuyển đổi sang định dạng Unix.

Bạn có thể tùy chỉnh script để xử lý các đuôi file khác nhau hoặc chuyển đổi file đệ quy trong các thư mục con. Bạn cũng có thể thêm xử lý lỗi và ghi log để làm cho script mạnh mẽ hơn.

Kết luận cho linux dos2unix command

```html

Vậy là bạn đã nắm được cách sử dụng lệnh dos2unix trong Linux rồi đấy! Hy vọng hướng dẫn này giúp bạn dễ dàng chuyển đổi định dạng dòng kết thúc giữa Windows và Linux. Việc này rất quan trọng khi bạn làm việc với các tệp văn bản được tạo trên các hệ điều hành khác nhau. Đừng quên rằng, việc sử dụng đúng cú pháp sẽ giúp bạn tránh được những lỗi không đáng có. Hãy thử nghiệm với các tùy chọn khác nhau của linux dos2unix command để hiểu rõ hơn về cách nó hoạt động. Chúc bạn thành công trong việc quản lý và xử lý các tệp văn bản của mình một cách hiệu quả. Giờ đây, bạn có thể tự tin chia sẻ và sử dụng các tệp văn bản trên cả hai hệ điều hành mà không lo lắng về vấn đề định dạng nữa. Hãy nhớ rằng, việc tìm hiểu và sử dụng các công cụ như dos2unix sẽ giúp bạn trở thành một người dùng Linux thành thạo hơn.

```
Last Updated : 17/10/2025