Liên hệProfile
Danh mục

Mục Lục

    Lệnh ln Linux là gì? Cách dùng lệnh ln chi tiết, đơn giản trong Linux

    Nguyễn Hưng

    Ngày đăng:

    13/03/2026

    Cập nhật lần cuối:

    13/03/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    13/03/2026

    Cập nhật lần cuối:

    13/03/2026

    Mục lục

    Ln Linux là lệnh dùng để tạo liên kết giữa các file hoặc thư mục, giúp nhiều tên file cùng trỏ tới một dữ liệu mà không cần sao chép nội dung. Trong bài viết này, mình sẽ hướng dẫn bạn cách dùng lệnh ln để tạo Hard Link và Symbolic Link đơn giản, nhanh chóng.

    Những điểm chính

    • Khái niệm: Hiểu rõ ln là lệnh tạo liên kết, giúp truy cập dữ liệu từ nhiều vị trí mà không cần sao chép, tối ưu dung lượng.
    • Phân loại liên kết: Phân biệt được hai loại liên kết chính là Hard Link và Soft Link.
    • Tầm quan trọng của Symbolic Link: Nắm được các lợi ích của Soft Link như rút ngắn đường dẫn, quản lý linh hoạt, tiết kiệm tài nguyên và hỗ trợ deploy.
    • Cú pháp và tùy chọn: Thành thạo cú pháp lệnh ln và các tùy chọn quan trọng như -s (soft link), -f (ghi đè), -v (hiển thị chi tiết),…
    • 5 ví dụ sử dụng thực tế: Học cách áp dụng ln vào các tình huống cụ thể như tạo shortcut cấu hình, backup log, ghi đè link và kiểm tra liên kết.
    • Kỹ thuật deploy ứng dụng: Học cách sử dụng lệnh ln để chuyển đổi phiên bản ứng dụng ngay lập tức mà không gây gián đoạn dịch vụ.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc phổ biến xoay quanh lệnh ln Linux.

    Lệnh ln Linux là gì?

    Ln (Link) Linux là lệnh có chức năng khởi tạo các liên kết giữa các files hoặc thư mục. Về mặt kỹ thuật, lệnh này cho phép người dùng truy cập vào cùng một dữ liệu nguồn từ nhiều vị trí khác nhau trong cấu trúc hệ thống mà không cần sao chép dữ liệu, giúp tối ưu hóa dung lượng lưu trữ. ln hoạt động dựa trên hai cơ chế liên kết chính là:

    • Liên kết mềm (Symbolic Link).
    • Liên kết cứng (Hard Link).
    Ln (Link) là lệnh có chức năng khởi tạo các liên kết giữa các files hoặc thư mục
    Ln (Link) là lệnh có chức năng khởi tạo các liên kết giữa các files hoặc thư mục

    1. Liên kết cứng (Hard Link)

    Hard link là một tên file bổ sung trỏ tới cùng vùng dữ liệu với file ban đầu. Nhiều hard link cùng chia sẻ một nội dung nhưng chúng chỉ tồn tại trong cùng một phân vùng và không hỗ trợ cho thư mục. Khi bạn tạo một Hard Link, hệ thống sẽ tạo thêm một tên file mới nhưng trỏ trực tiếp vào cùng một inode với file gốc.

    Đặc điểm:

    • Dữ liệu đồng nhất: Mọi thay đổi trên Hard Link sẽ cập nhật ngay lập tức vào file gốc và ngược lại.
    • Tính bền vững: Ngay cả khi file gốc bị xóa, dữ liệu vẫn an toàn và có thể truy cập bình thường qua Hard Link.
    • Tiết kiệm dung lượng: Do cùng chia sẻ một vùng dữ liệu vật lý, Hard Link không làm tốn thêm dung lượng lưu trữ của ổ cứng.
    Hard link là một tên file bổ sung trỏ tới cùng vùng dữ liệu với file ban đầu
    Hard link là một tên file bổ sung trỏ tới cùng vùng dữ liệu với file ban đầu

    2. Liên kết mềm (Soft Link/Symbolic Link)

    Soft Link (symbolic link) hoạt động giống như shortcut trên Windows, là một file đặc biệt chứa đường dẫn tới file hoặc thư mục đích và có thể trỏ sang nhiều phân vùng khác nhau.

    Đặc điểm:

    • Tính linh hoạt cao: Soft Link có khả năng liên kết xuyên qua các phân vùng ổ cứng khác nhau.
    • Hỗ trợ đa dạng: Có thể tạo liên kết cho cả file lẫn thư mục.
    • Dễ nhận biết: Khi kiểm tra chi tiết, hệ thống sẽ hiển thị rõ ràng dấu mũi tên (->) chỉ ra đâu là link và đâu là file gốc.
    Soft Link (symbolic link) hoạt động giống như shortcut trên Windows
    Soft Link (symbolic link) hoạt động giống như shortcut trên Windows

    Tầm quan trọng của Symbolic Link

    Việc sử dụng Symbolic Link giúp tối ưu hóa hiệu suất làm việc trên Linux:

    • Rút ngắn thời gian truy cập: Tương tự như tính năng Shortcut trên Windows, Symlink giúp người dùng truy cập nhanh vào các file hoặc thư mục nằm sâu trong hệ thống. Nhờ vậy, bạn sẽ không cần phải ghi nhớ hay gõ lại những đường dẫn dài và phức tạp mỗi khi cần thao tác.
    • Kiến tạo cấu trúc quản lý linh hoạt: Symlink cho phép tạo ra một cấu trúc thư mục ảo logic để phục vụ người dùng, trong khi các file gốc thực tế có thể nằm rải rác ở nhiều phân vùng khác nhau. Điều này giúp việc quản lý dữ liệu trở nên trực quan hơn.
    • Tiết kiệm tối đa tài nguyên lưu trữ: Symlink có kích thước chỉ từ vài bytes nên việc tạo nhiều liên kết cũng không gây tiêu tốn dung lượng ổ cứng của bạn.
    • Dễ dàng bảo trì và nâng cấp phần mềm: Trong môi trường Server, Symlink giúp việc cập nhật phiên bản trở nên đơn giản hơn. Thay vì phải can thiệp sâu vào mã nguồn để sửa lại đường dẫn cố định, bạn chỉ cần thay đổi đích đến của Symlink. Khi đó, mọi ứng dụng đang trỏ vào liên kết đó sẽ tự động nhận diện dữ liệu mới mà không cần cấu hình lại.
    • Hỗ trợ chia sẻ dữ liệu tập trung: Symlink cho phép nhiều người dùng hoặc ứng dụng cùng truy cập vào một nguồn dữ liệu. Điều này giúp người dùng không cần sao chép dữ liệu ra nhiều bản và đảm bảo tính nhất quán vì khi file gốc thay đổi, tất cả các bên đều nhận được cập nhật ngay lập tức.
    • Bảo toàn tính ổn định cho ứng dụng: Nhiều phần mềm yêu cầu thư viện hoặc file cấu hình tồn tại tại một đường dẫn cố định nên khi buộc phải di chuyển dữ liệu gốc sang phân vùng hoặc ổ đĩa khác vì hạn chế dung lượng, bạn có thể sử dụng Symlink như một lớp trung gian, ánh xạ đường dẫn cũ tới vị trí mới 
    Tầm quan trọng của Symbolic Link
    Tầm quan trọng của Symbolic Link

    Cú pháp và các tùy chọn quan trọng của lệnh ln

    Cú pháp của lệnh ln như sau:

    ln [OPTION]... TARGET [LINK_NAME]

    Trong đó:

    • TARGET: Đường dẫn của file hoặc thư mục gốc.
    • LINK_NAME: Tên của liên kết bạn muốn tạo.

    Bảng tùy chọn phổ biến của lệnh ln:

    Tùy chọnChức năngVí dụ minh họa
    -sTạo Symbolic Link (Soft link).ln -s /etc/nginx/nginx.conf ~/nginx.conf
    -fBắt buộc ghi đè nếu tên link đã tồn tại.ln -sf file1.txt file2.txt
    -vChế độ hiển thị chi tiết, báo cáo kết quả sau khi tạo.ln -sv file1.txt link1.txt
    -nXử lý link đích là một file thông thường nếu nó là symlink trỏ tới thư mục).ln -sn file1.txt link1.txt
    -TLuôn coi LINK_NAME là một tệp tin thông thường, ngăn chặn việc tạo link bên trong thư mục nếu LINK_NAME là một thư mục.ln -sT file1.txt mylink

    1. Tạo Symbolic Link cho file cấu hình

    Để chỉnh sửa file config của Nginx nằm trong /etc ngay tại thư mục Home mà không cần gõ đường dẫn dài, bạn thực thực hiện sau:

    ln -sv /etc/nginx/nginx.conf ~/nginx.conf

    Kết quả là File ~/nginx.conf được tạo ra, trỏ thẳng về /etc/nginx/nginx.conf. Khi đó, mọi thay đổi tại Home sẽ cập nhật ngay lập tức vào file gốc.

    Tạo symbolic link cho config
    Tạo symbolic link cho config

    2. Tạo Hard Link để bảo vệ log

    Bạn có thể sử dụng Hard Link để bảo vệ cho các file log quan trọng. Nếu ai đó vô tình xóa file gốc /var/log/syslog thì dữ liệu vẫn còn nguyên tại syslog_backup. Cú pháp thực thi câu lệnh như sau:

    ln -v /var/log/syslog syslog_backup

    Lệnh trên sẽ tạo một Hard Link tên syslog_backup trỏ tới cùng inode với /var/log/syslog. Khi đó, nếu file gốc /var/log/syslog bị xóa nhầm, nội dung log vẫn được giữ nguyên và truy cập bình thường thông qua syslog_backup, vì cả hai tên file này cùng chia sẻ một vùng dữ liệu và luôn đồng bộ nội dung theo thời gian thực.

    Tạo Hard Link để bảo vệ log
    Tạo Hard Link để bảo vệ log

    3. Ghi đè link cũ

    Khi cần chuyển một liên kết hiện có sang một file đích mới, chẳng hạn đổi từ file cấu hình phiên bản cũ sang phiên bản mới, bạn có thể dùng tùy chọn -f để ghi đè mà không phải xóa link cũ trước:

    ln -sfv /etc/nginx/new.conf ~/nginx.conf

    Lệnh này sẽ buộc cập nhật ~/nginx.conf để trỏ sang /etc/nginx/new.conf, giúp việc thay đổi cấu hình trở nên nhanh gọn và hạn chế thao tác thủ công.

    Ghi đè link cũ
    Ghi đè link cũ

    4. Tạo Shortcut cho thư mục

    Bạn có thể dùng Symbolic Link để tạo đường dẫn truy cập nhanh tới các thư mục Web Server nằm sâu trong hệ thống với cú pháp lệnh như sau:

    ln -s /var/www/html ~/web

    Sau khi tạo, chỉ cần vào ~/web là có thể truy cập nội dung của /var/www/html mà không phải gõ lại đường dẫn dài. 

    Tạo Shortcut cho thư mục
    Tạo Shortcut cho thư mục

    5. Kiểm tra và xác minh link

    Sau khi tạo link, bạn nên kiểm tra lại để đảm bảo liên kết đang trỏ đúng đích mong muốn bằng cách dùng lệnh ls -l với cú pháp lệnh như sau:

    ln -sv /etc/nginx/nginx.conf ~/nginx.conf
    ls -l ~/nginx.conf

    Lệnh ls -l sẽ hiển thị rõ ràng Symbolic Link ~/nginx.conf đang trỏ tới /etc/nginx/nginx.conf, giúp bạn xác minh nhanh cấu hình liên kết trước khi đưa vào sử dụng.

    Kiểm tra và xác minh link
    Kiểm tra và xác minh link

    Xem ngay link đã tạo để biết TARGET đang trỏ đến đâu

    Hướng dẫn kỹ thuật deploy ứng dụng

    Trong quy trình triển khai phần mềm, các SysAdmin thường áp dụng kỹ thuật Atomic Switching với lệnh ln để chuyển đổi phiên bản ứng dụng mà không làm gián đoạn dịch vụ). Giả sử bạn đã thiết lập xong mã nguồn mới tại thư mục /opt/app/releases/v2 và muốn hệ thống ngay lập tức sử dụng phiên bản này thay cho bản cũ, có thể thực hiện với lệnh sau:

    ln -sfnv /opt/app/releases/v2 /opt/app/current

    Phân tích tham số -sfnv:

    • -s: Tạo soft link.
    • -f: Ghi đè link /opt/app/current cũ.
    • -n: Nếu /opt/app/current đang là một symlink trỏ tới thư mục, -n đảm bảo ta thay thế chính cái symlink đó, chứ không phải tạo link mới bên trong thư mục được trỏ tới.
    • -v: Hiển thị kết quả.
    Dùng trong script deploy
    Dùng trong script deploy

    Câu hỏi thường gặp

    Làm thế nào để biết một file có phải là Hard Link hay không bằng lệnh ls?

    Bạn hãy nhìn vào cột thứ 2 khi chạy lệnh ls -l.
    Ví dụ: -rw-r–r– 2 root root …
    Số 2 ở đây chính là Link Count (Số lượng liên kết cứng).
    Nếu số này là 1: File bình thường, chưa có hard link nào.
    Nếu số này > 1: File này đang có ít nhất một hard link khác trỏ vào cùng inode.

    Lỗi “Too many levels of symbolic links” nghĩa là gì?

    Lỗi “Too many levels of symbolic links” nghĩa là hệ thống phát hiện một vòng lặp vô hạn trong các symbolic link nên dừng lại và báo lỗi khi cố gắng truy cập file hoặc thư mục đó.

    Tại sao tôi không thể tạo Hard Link trên USB hoặc ổ cứng định dạng FAT32/exFAT?

    Hard Link và cả Symbolic Link chuẩn của Linux là tính năng đặc thù của hệ thống file ext3, ext4, xfs,… Các định dạng của Windows như FAT32 hay exFAT không hỗ trợ cấu trúc Inode và Link như Linux, do đó bạn sẽ nhận được lỗi “Operation not permitted” khi cố tạo link trên các thiết bị này.

    Tôi có thể tạo Link trỏ tới một file chưa tồn tại không?

    Với Symbolic Link: Được. Link vẫn được tạo nhưng sẽ báo lỗi màu đỏ khi ls và không truy cập được cho đến khi bạn tạo file gốc đúng vị trí đó.
    Với Hard Link: Không. Hard link trỏ trực tiếp vào Inode dữ liệu, nên dữ liệu bắt buộc phải tồn tại trước thì mới tạo được link.

    Lệnh ln Linux cho phép bạn tạo Hard Link và Symbolic Link để quản lý dữ liệu linh hoạt, tiết kiệm dung lượng và tối ưu quy trình vận hành hệ thống. Khi hiểu rõ sự khác nhau giữa hai loại liên kết này, bạn sẽ dễ dàng áp dụng chúng trong backup log, deploy ứng dụng hay tạo các shortcut thông minh trong môi trường làm việc hằng ngày.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Cách dùng lệnh less Linux để xem nội dung file nhanh chóng và đơn giản
    Cách dùng lệnh less Linux để xem nội dung file nhanh chóng và đơn giản

    Less Linux là một trình phân trang chạy trên dòng lệnh, cho phép xem nội dung file văn bản theo kiểu cuộn trang một cách tương tác mà không cần nạp toàn bộ file vào bộ nhớ. Trong bài viết dưới đây, mình sẽ cùng bạn tìm hiểu về những lợi ích khi dùng lệnh…

    13/03/2026

    Cách sử dụng lệnh sed Linux để biên tập dòng lệnh nhanh chóng
    Cách sử dụng lệnh sed Linux để biên tập dòng lệnh nhanh chóng

    sed Linux là một trình biên tập dòng dùng để xử lý và chỉnh sửa văn bản theo cách tự động, không tương tác trực tiếp như khi mở file bằng vim/nano. Trong bài viết dưới đây, mình sẽ cùng bạn tìm hiểu các tính năng quan trọng và hướng dẫn bạn sử dụng lệnh…

    13/03/2026

    Cách dùng lệnh realpath để xác định đường dẫn tuyệt đối chính xác trong Linux
    Cách dùng lệnh realpath để xác định đường dẫn tuyệt đối chính xác trong Linux

    Realpath Linux là lệnh dùng để chuyển đường dẫn tương đối hoặc có symlink thành đường dẫn tuyệt đối, đã được chuẩn hóa đầy đủ. Trong bài viết dưới đây, mình sẽ cùng bạn tìm hiểu về chức năng, các tùy chọn phổ biến cũng như hướng dẫn bạn cách sử dụng lệnh realpath chi…

    13/03/2026

    Cách sử dụng lệnh locate Linux để tìm kiếm file nhanh chóng
    Cách sử dụng lệnh locate Linux để tìm kiếm file nhanh chóng

    Locate Linux là lệnh dùng để tìm kiếm đường dẫn file và thư mục nhanh chóng bằng cách tra cứu trong cơ sở dữ liệu đã được lập chỉ mục sẵn thay vì quét trực tiếp toàn bộ hệ thống file như find. Trong bài viết này, mình sẽ cùng bạn tìm hiểu chi tiết…

    13/03/2026

    linux

    lenh

    text