NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
25/02/2025
Lượt xem

Chuyển đổi file từ DOS sang UNIX với lệnh dos2unix trong Linux

25/02/2025
13 phút đọc
Lượt xem

Đánh giá

Lệnh dos2unix trong Linux sẽ giúp người dùng chuyển đổi file từ định dạng DOS/Windows sang định dạng Unix, giúp đảm bảo sự tương thích giữa các hệ thống. Trong bài viết này, mình sẽ giới thiệu tới bạn cú pháp, tùy chọn, điều kiện và cách sử dụng lệnh dos2unix qua các ví dụ cụ thể.

Những điểm chính

  • Cú pháp và tùy chọn của lệnh dos2unix: Hiểu cách sử dụng lệnh dos2unix và các tùy chọn quan trọng.
  • Điều kiện để sử dụng lệnh dos2unix: Biết những yêu cầu cần có trước khi chạy lệnh này trong Linux.
  • Định dạng file DOS: Hiểu sự khác biệt giữa file định dạng DOS và UNIX, đặc biệt là về ký tự xuống dòng (CRLF vs. LF).
  • Ví dụ về cách sử dụng dos2unix: Nắm được cách áp dụng lệnh với nhiều trường hợp khác nhau khi chuyển đổi file.
  • Giới thiệu Vietnix: Biết về Vietnix, nhà cung cấp giải pháp VPS mạnh mẽ, an toàn và nhanh chóng.

Cú pháp và tùy chọn của lệnh dos2unix trong Linux

Cú pháp lệnh dos2unix như sau:

dos2unix [options] [file]

Trong đó:

  • [options]: Chỉ định chế độ chuyển đổi và cách hiển thị kết quả.
  • [file]: Chỉ định file cần chuyển đổi.

Các tùy chọn phổ biến của lệnh dos2unix:

FlagTùy chọnMô tả
--allow-chownThay đổi quyền sở hữu file.
-b--keep-bomGiữ nguyên Byte Order Mark (BOM).
-c mode--convmode modeChọn chế độ chuyển đổi (ASCII, 7bit, ISO, MAC).
-I file--info fileHiển thị thông tin về file.
-h--helpHiển thị hướng dẫn sử dụng lệnh.
-k--keepdateGiữ nguyên timestamp trong file mới.
-m--add-bomThêm Byte Order Mark (mặc định là UTF-8).
-n infile outfile--newfile infile outfileChuyển đổi file và ghi kết quả vào outfile (không thể dùng ký tự đại diện).
--no-allow-chownKhông cho phép thay đổi quyền sở hữu file (mặc định).
-o file--oldfile fileChuyển đổi file cũ và ghi kết quả lên chính file đó (chế độ mặc định, có thể dùng ký tự đại diện).
-q--quietBỏ qua tất cả cảnh báo trong quá trình chuyển đổi.
-r--remove-bomXóa Byte Order Mark (mặc định).
-u--keep-utf16Giữ nguyên định dạng mã hóa UTF-16.
-ul--assume-utf16leGiả định file đầu vào được mã hóa theo chuẩn UTF-16LE.
-ub--assume-utf16beGiả định file đầu vào được mã hóa theo chuẩn UTF-16BE.
-v--verboseHiển thị thông tin chi tiết.
-V--versionHiển thị phiên bản của lệnh.
Bảng tùy chọn của lệnh dos2unix

Điều kiện để sử dụng lệnh dos2unix trong Linux

Lệnh dos2unix thường không có sẵn trên các hệ thống Linux nên bạn cần cài đặt lệnh này để có thể sử dụng. Dưới đây là hướng dẫn cài đặt cho một số bản phân phối phổ biến:

Đối với Ubuntu, Debian và các bản phân phối dựa trên Debian:

sudo apt install dos2unix
Cài đặt lệnh dos2unix trong Linux trên Ubuntu
Cài đặt lệnh dos2unix trong Linux trên Ubuntu

Đối với CentOS, RHEL và các bản phân phối dựa trên RPM:

sudo yum install dos2unix
Cài đặt lệnh dos2unix trên CentOS
Cài đặt lệnh dos2unix trên CentOS

Đối với Arch Linux và các bản phân phối dựa trên Arch:

sudo pacman -S dos2unix
Cài đặt lệnh dos2unix trên Arch Linux
Cài đặt lệnh dos2unix trên Arch Linux

Sau khi cài đặt xong, bạn có thể xác nhận lại bằng cách kiểm tra phiên bản:

dos2unix --version
Phiên bản hiện tại của dos2unix
Phiên bản hiện tại của dos2unix

Tìm hiểu về định dạng file DOS

File DOS thường được dùng trong hệ điều hành Windows với đặc điểm là mỗi dòng sẽ kết thúc bằng cặp ký tự \r\n. Trên Linux, bạn có thể kiểm tra file DOS bằng lệnh od (octal dump) để xem nội dung file ở nhiều định dạng. Cụ thể, bạn chạy lệnh od với tùy chọn -c:

od -c file.txt

Lệnh này sẽ để hiển thị kết quả như hình dưới, với các ký tự có thể in được và các ký tự escape backslash (bao gồm cả 2 ký tự \r \n). Để sửa các ký tự escape này theo định dạng UNIX, bạn sẽ cần tới lệnh dos2unix.

Định dạng file DOS
Định dạng file DOS

Chuyển đổi một file từ DOS sang UNIX

Bạn có thể thay đổi định dạng của một file từ DOS sang UNIX bằng cách sử dụng lệnh dos2unix kèm theo tên file. Ví dụ, để chuyển đổi file vietnix.txt, bạn sẽ chạy lệnh sau:

dos2unix vietnix.txt

Tiếp theo, bạn sử dụng lệnh od để xác minh kết quả chuyển đổi và sẽ thấy ký tự xuống dòng \n trong file như hình bên dưới.

Chuyển file DOS sang UNIX
Chuyển file DOS sang UNIX

Chuyển đổi nhiều file từ DOS sang UNIX

Để chuyển đổi nhiều file từ DOS sang UNIX cùng lúc, bạn có thể liệt kê các tên file này sau lệnh dos2unix, mỗi file cách nhau bằng khoảng trắng:

dos2unix vietnix.txt vps.txt hosting.txt
Chuyển nhiều sang từ dạng DOS sang UNIX
Chuyển nhiều sang từ dạng DOS sang UNIX

Nếu muốn chuyển đổi tất cả các file trong một thư mục cụ thể, bạn sử dụng ký tự đại diện *:

os2unix /path/*

Giữ nguyên Timestamp gốc

Bạn có thể giữ nguyên Timestamp gốc của file bằng cách sử dụng lệnh dos2unix với tham số -k hoặc --keepdate:

dos2unix -k vietnix.txt
ls -ul | grep vietnix.txt
Giữ Timestamp gốc
Giữ Timestamp gốc

Chuyển đổi file theo nhiều chế độ khác nhau

Lệnh dos2unix đi kèm tùy chọn -c hoặc --convmode giúp người dùng chỉ định chế độ chuyển đổi. Các chế độ được hỗ trợ bao gồm: ASCII, 7bit, ISO và MAC. Để chuyển đổi file sang ASCII, bạn chạy lệnh sau:

dos2unix -c ascii vietnix.txt
Chuyển file sang ASCII
Chuyển file sang ASCII

iconLưu ý

ASCII là chế độ mặc định, dos2unix sẽ tự động chuyển file sang chế độ này ngay cả khi bạn không chỉ định.

Để chuyển đổi file sang 7bit, bạn chạy lệnh sau:

dos2unix -c 7bit vps.txt

Lệnh này sẽ chuyển đổi file sang định dạng ASCII 7 bit và loại bỏ bit thứ 8 của mỗi byte. Như hình bên dưới file chứa ký tự ASCII mở rộng như Ä đã bị xóa khỏi file.

Chuyển file từ ASCII sang 7 bit
Chuyển file từ ASCII sang 7 bit

Để chuyển đổi file sang IOS, bạn chạy lệnh sau:

dos2unix -c iso hosting.txt

Lệnh dos2unix hỗ trợ chuyển đổi sang nhiều định dạng ISO khác nhau như ISO-1252, 437, 850, 860, 863 và 865. Đồng thời các ký tự đặc biệt cũng được giữ nguyên.

Chuyển file thành định dạng ISO
Chuyển file thành định dạng ISO

Nếu muốn chuyển đổi file DOS sang định dạng Mac cũ (kết thúc dòng bằng ký tự \r), bạn chạy lệnh sau:

dos2unix -c mac hosting.txt
Chuyển file từ DOS sang định dạng Mac cũ
Chuyển file từ DOS sang định dạng Mac cũ

Bạn cũng có thể chuyển đổi nhiều file cùng lúc bằng cách liệt kê tên file hoặc sử dụng ký tự đại diện. Ví dụ:

dos2unix -c ascii vietnix.txt hosting.txt
Chuyển định dạng nhiều file cùng lúc
Chuyển định dạng nhiều file cùng lúc

Chuyển đổi và lưu kết quả vào file mới

Lệnh dos2unix cho phép bạn lưu kết quả chuyển đổi vào một file mới qua tùy chọn -n. Chẳng hạn, để chuyển đổi file gốc hosting.txt sang định dạng UNIX và lưu kết quả vào file mới dos.txt, bạn dùng lệnh:

dos2unix -n hosting.txt dos.txt
Chuyển đổi file và lưu vào file mới
Chuyển đổi file và lưu vào file mới

Để chuyển đổi file theo chế độ cụ thể, bạn chạy lệnh sau:

dos2unix -n -c 7bit hosting.txt dos.txt

Kết quả: Như bạn thấy, khi chuyển file với chế độ 7bit thì kí tự đặc biệt của ASCII sẽ bị xóa khỏi file mới.

File hosting đã được đổi và lưu vào file dos
File hosting đã được đổi và lưu vào file dos

Để chuyển đổi nhiều file cùng lúc, bạn cần liệt kê các cặp file nguồn và file đích theo thứ tự tương ứng:

dos2unix -n hosting.txt dos.txt vietnix.txt mail.txt
Chuyển đổi nhiều file cùng lúc
Chuyển đổi nhiều file cùng lúc

Để giữ nguyên timestamp của file gốc trong file mới, bạn chạy lệnh sau:

dos2unix -n -k vietnix.txt mail.txt

Kết quả: Bạn sẽ thấy được timestamp của file mail.txt vẫn giữ nguyên giống file gốc.

Chuyển đổi file vẫn giữa timestamp gốc
Chuyển đổi file vẫn giữa timestamp gốc

Chuyển đổi file DOS sang file Unix mà không hiển thị thông báo

Để bỏ qua tất cả các cảnh báo trong quá trình chuyển đổi file, bạn sử dụng lệnh dos2unix với tùy chọn -q như sau:

dos2unix -q vietnix.txt
Chuyển đổi không hiển thị thông báo
Chuyển đổi không hiển thị thông báo

Chuyển đổi file DOS mà vẫn giữ nguyên Byte Order Mark (BOM)

Byte Order Mark (BOM) là một chuỗi byte đặc biệt dùng để nhận diện kiểu mã hóa của file, ví dụ như UTF-8, UTF-16 hay UTF-32. Mỗi kiểu có một cách biểu diễn khác nhau:

Kiểu mã hóaGiá trị HexGiá trị thập phân
UTF-8ef bb bf239 187 191
UTF-16fe ff254 255
UTF-32 (BE)00 00 fe ff0 0 254 255
UTF-32 (LE)00 00254 255 0 0

Nếu muốn thêm BOM vào file, bạn chạy lệnh với tùy chọn -m:

dos2unix -m hosting.txt

Kết quả: Cho thấy các giá trị ef bb bf của BOM đã được thêm vào file, tương tự như hình sau:

Giá trị của BOM đã được thêm vào file
Giá trị của BOM đã được thêm vào file

Để giữ nguyên BOM UTF-8 trong quá trình chuyển đổi, bạn chạy lệnh:

dos2unix -b hosting.txt
Giữ nguyên BOM UTF-8
Giữ nguyên BOM UTF-8

Để giữ nguyên BOM UTF-16, bạn chạy lệnh:

dos2unix -u hosting.txt
Giữ nguyên BOM UTF-16
Giữ nguyên BOM UTF-16

Để xóa BOM, bạn sử dụng tùy chọn -r:

dos2unix -r hosting.txt
Xóa BOM
Xóa BOM

Vietnix – Nhà cung cấp giải pháp VPS mạnh mẽ, an Toàn và nhanh Chóng

Vietnix cung cấp dịch vụ thuê VPS với hạ tầng máy chủ mạnh mẽ, 100% ổ cứng SSD, đảm bảo tốc độ truy cập nhanh và ổn định. Khách hàng được toàn quyền quản trị, dễ dàng tùy chỉnh hệ thống thông qua giao diện trực quan, đầy đủ tính năng. Hệ thống backup tự động hàng tuần giúp bảo vệ dữ liệu và khôi phục nhanh chóng khi cần. Vietnix cam kết mang đến giải pháp VPS an toàn, hiệu quả và tối ưu chi phí.

VPS Linux tại Vietnix mang lại tốc độ xử lý nhanh, tính ổn định cao và khả năng vận hành mượt mà ngay cả với các tác vụ lớn. Hệ thống cho phép thay đổi cấu hình linh hoạt mà không ảnh hưởng đến các dịch vụ khác, giúp giảm thiểu downtime và tối ưu hiệu suất. Cơ chế phân quyền chặt chẽ, chỉ quản trị viên hoặc người dùng có quyền root mới có thể kiểm soát hệ thống, tăng cường bảo mật tối đa.

Thông tin liên hệ:

  • Hotline: 18001093
  • Email: sales@vietnix.com.vn 
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Website: https://vietnix.vn/

Với cú pháp đơn giản và khả năng chuyển đổi nhanh chóng, dos2unix giúp bạn dễ dàng giải quyết các vấn đề về định dạng dòng, tiết kiệm thời gian và công sức lập trình. Hy vọng bài viết này đã cung cấp cho bạn những kiến thức cần thiết để sử dụng lệnh dos2unix trong Linux một cách hiệu quả. Ngoài ra, nếu bạn muốn tìm hiểu chuyên sâu hơn về các lệnh khác trong Linux thì có thể tham khảo những bài viết dưới đây của mình:

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG