9+ Cách Tạo File Trên Linux Bằng Terminal Chi Tiết 2026

Tóm tắt nhanh: Linux hỗ trợ 6 loại file (regular, directory, link, special, socket, pipe). Để tạo file mới bằng terminal, có 9 cách phổ biến: touch, >, cat, echo, printf, fallocate, vim, vi, và nano — mỗi cách phù hợp với một mục đích khác nhau.

Làm việc với các tệp tin thông qua cửa sổ terminal là một kỹ năng tối quan trọng mà bất kỳ ai sử dụng Linux cũng cần phải nắm vững. Bài hướng dẫn dưới đây sẽ giúp bạn hiểu rõ bản chất của hệ thống lưu trữ trên Linux, đồng thời bỏ túi những thủ thuật dùng lệnh để khởi tạo tệp tin một cách nhanh chóng và chuyên nghiệp.

Hướng Dẫn Cách Tạo File Trên Linux Bằng Terminal

1. File trong Linux là gì?

Trên nền tảng Linux, tệp tin (file) chính là đơn vị cơ bản nhất dùng để lưu giữ dữ liệu. Triết lý thiết kế của hệ điều hành này quy định “mọi thứ đều là một tệp tin”. Hàng loạt các tệp sẽ được gom chung vào các thư mục (directory). Kế tiếp, những thư mục này lại được sắp xếp theo một hệ thống phân cấp hình cây, gọi chung là hệ thống tập tin (filesystem).

Bên cạnh các dạng dữ liệu quen thuộc như hình ảnh, văn bản hay mã nguồn phần mềm, khái niệm “tệp tin” trong Linux còn bao trùm luôn cả các phân vùng ổ đĩa, các thư mục và thậm chí là các driver điều khiển linh kiện phần cứng.

2. 06 định dạng tệp tin cơ bản trong Linux

Trước khi thực hành gõ lệnh, bạn cần nắm rõ đặc thù của các định dạng tệp mà Linux đang hỗ trợ. Hiện nay, hệ thống này phân chia dữ liệu thành 06 nhóm chính:

  • Tệp tin thông thường (Regular file): Đây là loại file phổ thông nhất, đảm nhận việc chứa nội dung thực tế như ảnh, video, âm thanh, văn bản hay các đoạn script. Điểm thú vị là trên Linux, nhóm file này có thể hoạt động bình thường dù bạn có đặt phần đuôi mở rộng (extension) cho nó hay không.
  • Tệp tin thư mục (Directory file): Cơ sở dữ liệu của bạn được phân cấp gọn gàng là nhờ nhóm tệp này. Thay vì chứa nội dung trực tiếp, thư mục bản chất là những file đặc biệt chuyên lưu trữ tên và địa chỉ vị trí của các tệp tin con nằm bên trong nó.
  • Tệp tin liên kết (Link file): Chức năng của loại tệp này giống như một lối tắt (shortcut) trỏ về một file gốc đang nằm ở khu vực khác. Chúng được chia làm hai phân nhánh: liên kết cứng (hard link) và liên kết mềm/tượng trưng (symbolic link).
  • Tệp tin đặc biệt (Special file): Toàn bộ linh kiện vật lý (máy in, màn hình, ổ CD/DVD, ổ cứng…) đều được Linux nhận diện dưới dạng các tệp đặc biệt và gom chung vào đường dẫn /dev. Nhóm này tiếp tục được chia nhỏ thành hai dạng: tệp xử lý theo ký tự (character) và tệp xử lý theo khối (block).
  • Tệp tin Socket: Khi các phần mềm cần “nói chuyện” và truyền tải dữ liệu cho nhau (hoặc kết nối với máy khách từ xa), chúng sẽ dùng tới socket. Mỗi socket luôn gắn liền với một cổng (port) và một địa chỉ IP nhất định để sẵn sàng đón nhận các kết nối đầu vào.
  • Tệp tin Pipe đích danh (Named pipe file): Thường được gọi là file FIFO (Vào trước ra trước). Loại tệp này cực kỳ đặc biệt vì phần lõi Kernel chỉ xử lý chúng trên bộ nhớ tạm mà không hề ghi dữ liệu vật lý xuống ổ cứng. Chúng có thể được đặt ở bất cứ đâu trên hệ thống phân cấp.
XEM THÊM:  Hướng Dẫn Sử Dụng Lệnh wget Trong Linux: Đầy Đủ Kèm Ví Dụ 2026

Linux phân thành 6 loại file chính. Mỗi loại có ký hiệu riêng khi bạn chạy ls -l:

Loại file Ký hiệu Mô tả
Regular file - File thông thường: văn bản, ảnh, script, binary. Có thể có hoặc không có extension.
Directory file d Thư mục — lưu tên và vị trí của các file bên trong, không lưu dữ liệu trực tiếp.
Link file l Con trỏ tới file khác. Có hai dạng: hard link (cùng inode) và symbolic link (trỏ theo đường dẫn).
Special file c hoặc b Đại diện cho thiết bị phần cứng. Character device (c) xử lý từng byte, block device (b) xử lý theo khối. Nằm trong /dev.
Socket file s Điểm giao tiếp giữa các tiến trình hoặc giữa client và server cục bộ. Mỗi socket gắn với địa chỉ IP và số port.
Pipe file (FIFO) p Kernel xử lý luồng dữ liệu theo kiểu First In First Out. Tồn tại ở bất kỳ đâu trong filesystem mà không ghi vào đĩa theo nghĩa thông thường.

3. Điều kiện tiên quyết

Bạn cần có quyền truy cập vào terminal Linux. Nếu chưa có máy Linux, có 3 cách phổ biến để thực hành ngay:

  • Cài một bản phân phối Linux (Ubuntu, Debian, Fedora…) trực tiếp hoặc qua máy ảo.
  • Dùng WSL (Windows Subsystem for Linux) trên Windows 10/11 — gõ wsl trong PowerShell là có ngay terminal Ubuntu.
  • Dùng Replit (replit.com) — tạo project Bash, terminal mở ngay trong trình duyệt, không cần cài gì.

Sau khi có terminal, kiểm tra thư mục hiện tại bằng pwd và liệt kê file bằng ls trước khi bắt đầu.

4. 9 Cách tạo File Linux bằng dòng lệnh

Lệnh 1 touch — Tạo nhanh file rỗng hoặc nhiều file cùng lúc

Hầu hết các bản phân phối Linux đều tích hợp sẵn tiện ích touch. Công năng nguyên bản của lệnh này là để cập nhật lại các siêu dữ liệu về thời gian của tệp (chẳng hạn như mốc thời gian truy cập hay chỉnh sửa cuối cùng). Dù vậy, touch lại được giới lập trình viên dùng chủ yếu để sinh ra một file rỗng hoàn toàn. Lưu ý, nếu tên file bạn định tạo đã có sẵn trong máy, lệnh này sẽ không ghi đè mất dữ liệu mà chỉ làm mới lại ngày giờ sửa đổi của file đó.

Để tạo một tệp tại vị trí hiện tại, bạn gõ:

Tạo một file:

touch filename.txt

Tạo nhiều file trong một lệnh:

touch filename1.txt filename2.txt filename3.txt

Tạo dãy file đánh số tự động từ 1 đến 10:

touch test_{1..10}.txt

Tạo dãy file theo bảng chữ cái từ a đến j:

touch test_{a..j}.txt

Kiểm tra kết quả:

ls

Một số cờ (option) hữu ích đi kèm với touch:

--version (hoặc -v): Xem thông tin phiên bản của công cụ.
--help: Mở bảng hướng dẫn sử dụng.
-a: Cập nhật lại mốc thời gian truy cập tệp.
-m: Cập nhật lại mốc thời gian sửa đổi tệp.
-no-dereference (hoặc -h): Chỉnh sửa mốc thời gian cho một file liên kết mềm.
-c (hoặc --no-create): Bỏ qua việc tạo file mới nếu phát hiện file chưa tồn tại.
--date=<string> (hoặc -d=<string>): Ép thời gian của tệp tuân theo một chuỗi ngày do bạn tự định nghĩa.
--reference=<file> (hoặc -r=<file>): Sao chép mốc thời gian từ một file mẫu sang.
-t<stamp>: Thiết lập mốc thời gian theo định dạng ngày/giờ cụ thể.

XEM THÊM:  Hướng dẫn sử dụng lệnh strace trong Linux từ A-Z [2026]

Do touch không hỗ trợ chèn văn bản, nó là công cụ hoàn hảo nhất để tạo nháp hàng loạt tệp trước khi bạn đi vào chỉnh sửa chi tiết.

Lưu ý thực tế: touch phù hợp khi bạn cần tạo nhiều file placeholder để điền nội dung sau — ví dụ chuẩn bị cấu trúc dự án. Nó không mở editor nên không thể gõ nội dung trực tiếp.

Lệnh 2 Toán tử chuyển hướng > — Tạo file rỗng hoặc ghi đè

Ký tự dấu lớn hơn (>) thường đóng vai trò đẩy kết quả của một lệnh nào đó vào trong tệp tin. Tuy nhiên, đứng độc lập, nó cũng có khả năng đẻ ra một tệp tin trống trơn:

> filename.txt
Cảnh báo: Nếu đường dẫn chứa sẵn một file trùng tên, toán tử này sẽ xóa sạch nội dung cũ và ghi đè thành một file rỗng.

Lệnh 3 cat — Tạo file và nhập nội dung trực tiếp từ terminal

Dù nổi tiếng với khả năng đọc và ghép nối nội dung các file văn bản, cat hoàn toàn có thể biến hình thành một trình soạn thảo mini ngay trên Terminal. Để khởi tạo và viết dữ liệu, bạn gõ:

cat > cat.txt

Tiếp theo, hãy gõ đoạn văn bản dưới đây và ấn Enter:

This file has been created with cat command

Để lưu lại và thoát chế độ nhập, bạn bấm tổ hợp Ctrl + D. Cuối cùng, để xem thành quả, hãy gọi lại lệnh:

cat cat.txt
Khi nào dùng cat để tạo file? Khi cần gõ vài dòng nhanh mà không muốn mở vim hay nano. Giới hạn là bạn không thể di chuyển con trỏ lên dòng trên đã gõ — nếu cần chỉnh sửa, hãy dùng editor thực sự.

Lệnh 4 echo — Tạo file với một dòng văn bản cụ thể

Thông thường, echo có nhiệm vụ in ra màn hình Terminal những gì bạn ra lệnh. Nhưng khi kết hợp với toán tử điều hướng, nó sẽ sinh ra một file mới có chứa (hoặc không chứa) dữ liệu.

Tạo file rỗng:

echo -n > filename.txt

Tạo tệp và nhúng sẵn một dòng chữ vào trong:

echo "File text" > filename.txt
Nhớ đặt dấu nháy kép xung quanh nội dung. Nếu bỏ dấu nháy và text có ký tự đặc biệt như $, !, bash sẽ interpret chúng theo nghĩa khác.
Nhớ kỹ: Văn bản cần chèn bắt buộc phải nằm gọn trong cặp dấu ngoặc kép!

Lệnh 5 printf — Tạo file nhiều dòng với định dạng tùy chỉnh

Hoạt động khá giống echo, tuy nhiên printf cung cấp bộ khung tùy biến văn bản sâu hơn. Giả sử bạn muốn khởi tạo một file chứa sẵn cấu trúc văn bản chia làm hai dòng, hãy dùng cú pháp:

Tạo file hai dòng:

printf 'Some text\nSome more text' > filename.txt

Hoặc theo cú pháp nhiều dòng:

printf 'Some text
Some more text' > filename.txt

Khi cần tạo file config template hoặc file CSV đơn giản từ dòng lệnh, printf cho kết quả chính xác hơn echo nhờ format specifier.

XEM THÊM:  Toàn Tập Cài Đặt Và Kiểm Tra Phiên Bản .NET Trên Windows Server

Lệnh 6 fallocate — Tạo file có kích thước cố định

fallocate cấp phát không gian đĩa cho file ngay lập tức mà không cần ghi dữ liệu thực vào từng byte. Đây là lệnh dùng khi cần tạo file giả định kích thước cụ thể — thường phục vụ kiểm tra tốc độ ghi ổ cứng hoặc test giới hạn dung lượng.

fallocate -l 10MB filename
Trong lệnh trên, chữ “filename” là tên tệp bạn muốn đặt. Tham số -l yêu cầu hệ thống cấp phát một không gian cụ thể, và 10MB chính là kích thước file. Tùy theo nhu cầu, bạn có thể thay MB thành các đơn vị khổng lồ như TB, GB, hoặc dùng chữ M để biểu diễn chuẩn mebibyte.

Lệnh 7 vim — Trình soạn thảo terminal đầy đủ tính năng

Vim (Vi IMproved) là trình soạn thảo văn bản mạnh nhất trong nhóm này. Gõ tên file sau lệnh vim để mở — nếu file chưa tồn tại, vim tự tạo khi bạn lưu:

vim filename.txt

Vim khởi động ở Normal mode — không thể gõ văn bản ngay.

Giao diện Vim xuất hiện, bạn phải bấm phím I (Insert) mới có thể gõ chữ. Sau khi soạn xong, ấn nút Esc để thoát chế độ nhập liệu, gõ cụm :wq và kết thúc bằng phím Enter để ghi đè và đóng ứng dụng.

Vim cần thời gian làm quen với hệ thống mode. Nhưng một khi quen rồi, tốc độ chỉnh sửa file trên server (không có GUI) nhanh hơn đáng kể — đặc biệt khi kết hợp các phím tắt di chuyển và search/replace.

Lệnh 8 vi — Phiên bản gốc có trên mọi hệ thống Unix/Linux

Vi là tiền thân của Vim, có mặt trên hầu hết mọi hệ thống Unix và Linux kể cả những bản tối giản nhất. Cú pháp giống Vim:

vi vi.txt

Nhấn i để vào Insert mode và bắt đầu nhập. Khi xong, nhấn Esc rồi gõ :wq để lưu và thoát.

Vi không có các tính năng nâng cao như syntax highlighting hay plugin như Vim. Dùng vi khi SSH vào server không cài sẵn vim hoặc nano.

Lệnh 9 nano — Trình soạn thảo terminal thân thiện nhất cho người mới

Nếu Vim hay Vi quá phức tạp, GNU nano chính là cứu cánh tuyệt vời bởi giao diện trực quan và dễ tiếp cận hơn. Mở Nano để tạo file bằng câu lệnh:

nano filename.txt

Tại đây, bạn cứ gõ văn bản tự do như dùng Word. Hoàn thành xong, hãy dùng tổ hợp Ctrl + S để lưu trữ dữ liệu và Ctrl + X để quay lại cửa sổ dòng lệnh.

Tóm lại, hệ sinh thái Linux trao cho bạn quyền kiểm soát vô tận đối với tệp tin, từ việc click chuột qua các thư mục đồ họa cho đến việc ứng biến linh hoạt qua hàng loạt tập lệnh mạnh mẽ trên Terminal.

Đang cần VPS tốc độ cao để thực hành?

InterData cung cấp VPS hiệu năng cao với SSD/NVMe với đa dạng hệ điều hành Ubuntu, CentOS, Debian,… — deploy trong vài phút, full root access, uptime cao. Thực hành các lệnh Linux trực tiếp trên môi trường thật, không lo lag hay giới hạn tài nguyên phù hợp chạy web, deploy ứng dụng, và thực hành Linux hàng ngày.

Xem các gói VPS →

5. FAQ — Câu hỏi thường gặp

Tạo file trên Linux có cần quyền root không?

Không nhất thiết. Bạn chỉ cần quyền ghi (write permission) vào thư mục đích. Trong thư mục home của chính mình (~/), user thường có đầy đủ quyền. Chỉ khi tạo file trong /etc, /usr, hay các thư mục hệ thống mới cần sudo.

Sự khác nhau giữa touch và > khi tạo file?

touch an toàn hơn: nếu file đã tồn tại, nó chỉ cập nhật timestamp, không xóa nội dung bên trong. Còn > ghi đè hoàn toàn — file cũ có bao nhiêu nội dung cũng bị xóa sạch. Khi không chắc file có tồn tại chưa, dùng touch.

Làm sao tạo file ẩn trên Linux?

Đặt tên file bắt đầu bằng dấu chấm. Ví dụ: touch .env hoặc touch .gitignore. File ẩn không hiện trong ls thông thường, cần dùng ls -a để thấy.

Tạo file trong thư mục chưa tồn tại được không?

Không được trực tiếp. Bạn cần tạo thư mục trước bằng mkdir -p /đường/dẫn/ rồi mới tạo file bên trong. Hoặc dùng một lệnh kết hợp trong script.

fallocate tạo file nhanh hơn dd như thế nào?

fallocate chỉ báo với kernel cấp phát block trên đĩa chứ không thực sự ghi dữ liệu — nên tạo file 1GB mất chưa đến 1 giây. dd ghi từng byte thực vào đĩa, tốn thời gian tỷ lệ với kích thước file. Để benchmark tốc độ ghi thực sự, dùng dd. Để tạo file placeholder kích thước lớn nhanh, dùng fallocate.