Microsoft ra mắt Coreutils cho Windows: Trải nghiệm dòng lệnh Linux ngay trên nền tảng này

Phần mềm02 tháng 6, 2026·4 phút đọc

Microsoft đã phát hành bản dựng Coreutils cho Windows, mang các tiện ích dòng lệnh quen thuộc của UNIX/Linux như ls, cat, grep chạy trực tiếp trên hệ điều hành này. Dự án nhằm giúp các nhà phát triển làm việc mượt mà giữa Windows và các môi trường Linux khác mà không cần sửa đổi script. Hiện tại, công cụ đang ở giai đoạn preview và có thể cài đặt dễ dàng qua WinGet.

Microsoft ra mắt Coreutils cho Windows: Trải nghiệm dòng lệnh Linux ngay trên nền tảng này

Microsoft ra mắt Coreutils cho Windows: Trải nghiệm dòng lệnh Linux ngay trên nền tảng này

Microsoft đã chính thức giới thiệu dự án Coreutils cho Windows, một bộ công cụ cung cấp các tiện ích dòng lệnh kiểu UNIX chạy trực tiếp trên hệ điều hành này. Đây là bản dựng được Microsoft bảo trì dựa trên các dự án mã nguồn mở như uutils/coreutils, findutils và một phiên bản grep tương thích GNU, tất cả được đóng gói trong một tệp nhị phân duy nhất.

Mục tiêu chính của dự án là loại bỏ sự khác biệt khi làm việc trên nhiều nền tảng khác nhau. Với Coreutils for Windows, các nhà phát triển có thể sử dụng cùng một lệnh, cờ (flags) và pipeline mà họ đã quen thuộc trên Linux, macOS hay WSL (Windows Subsystem for Linux). Điều này giúp các tập lệnh (scripts) hiện có có thể hoạt động ngay lập tức trên Windows mà không cần phải dịch hay sửa đổi lại mã nguồn.

Cách cài đặt

Hiện tại, dự án đang ở giai đoạn preview và người dùng có thể cài đặt dễ dàng thông qua trình quản lý gói WinGet bằng lệnh sau:

winget install Microsoft.Coreutils

Ngoài ra, bạn cũng có thể tải xuống bản dựng mới nhất từ trang Release của dự án trên GitHub.

Xung đột và yêu cầu hệ thống

Một điểm quan trọng cần lưu ý là dự án yêu cầu PowerShell 7.4 hoặc mới hơn. Các phiên bản PowerShell cũ hơn không được hỗ trợ.

Nhiều lệnh trong Coreutils có tên trùng với các lệnh tích hợp (built-ins) hoặc alias trong CMD và PowerShell. Việc phiên bản nào sẽ được chạy phụ thuộc vào loại shell bạn đang sử dụng, thứ tự trong biến môi trường PATH và bảng alias của PowerShell.

Ví dụ:

  • Các lệnh như cat, cp, ls, mv hoạt động tốt trên CMD nhưng có thể bị xung đột (⚠️) trên PowerShell 7.4+.
  • Lệnh dir không được cung cấp vì xung đột với lệnh DOS có sẵn.
  • Lệnh kill không khả dụng do Windows thiếu các tín hiệu (signals) chuẩn của POSIX.

Những khác biệt cần lưu ý trên Windows

Mặc dù mang lại trải nghiệm giống Linux, Coreutils for Windows vẫn có một số hạn chế do đặc thù của hệ điều hành này:

  • Kết thúc dòng (CRLF): Các tệp văn bản trên Windows thường sử dụng kết thúc dòng CRLF (\r\n). Hầu hết các tiện ích sẽ xử lý vấn đề này một cách trong suốt, nhưng việc khớp mẫu với $ hoặc đếm byte chính xác có thể bị ảnh hưởng.
  • Thay thế cho /dev/null: Trên Windows, bạn cần sử dụng NUL thay vì /dev/null. Ví dụ: find . -name "*.log" > NUL.
  • Tín hiệu POSIX: Các tín hiệu như SIGHUP, SIGPIPESIGUSR không khả dụng. Tuy nhiên, lệnh Ctrl+C (SIGINT) vẫn hoạt động như mong đợi.
  • Phân tách đường dẫn: Cả dấu gạch chéo / và dấu gạch chéo ngược \ đều được chấp nhận. Tuy nhiên, một số tiện ích có thể xuất ra đường dẫn dùng \, điều này có thể ảnh hưởng đến các pipeline tiếp theo.
  • Quyền tệp: Windows sử dụng ACL (Danh sách kiểm soát truy cập) thay vì các bit quyền hạn POSIX. Do đó, các vị từ dựa trên quyền hạn (ví dụ: find -perm) có thể hoạt động khác hoặc không khả dụng.
  • Liên kết tượng trưng (Symlinks): Việc đọc các liên kết tượng trưng hiện có không cần quyền nâng cao. Tuy nhiên, tạo mới các liên kết này yêu cầu bật Developer Mode hoặc chạy terminal với quyền Admin.

Các lệnh không được bao gồm

Microsoft đã loại bỏ một số lệnh tồn tại trong phiên bản gốc vì chúng phụ thuộc vào các khái niệm chỉ có trên POSIX, có thể làm hỏng các tập lệnh Windows hiện có, hoặc đơn giản là không hữu ích trên nền tảng này.

Các lệnh bị loại bỏ bao gồm: dd, dircolors, shred, sync, uname, chmod, chown, chroot, groups, id, nice, nohup, và nhiều lệnh khác liên quan đến quản lý tiến trình và quyền hạn kiểu UNIX.

Dự án hiện đang chào đón các báo cáo lỗi và đóng góp mã nguồn từ cộng đồng.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗