Học bằng cách đọc theo thứ tự

Tạo tệp và thư mục — mkdir, touch, cat

Tạo thư mục bằng mkdir, tạo tệp bằng touch và > / >> của echo, và kiểm tra nội dung bằng cat — tất cả thực hành trên terminal trong trình duyệt.

Tạo thư mục — mkdir

mkdir tạo một thư mục mới (folder).

Chỉ cần truyền tên bạn muốn là tạo được một thư mục.

Thêm -p thì nó tạo cả một cấu trúc lồng nhau cùng lúc, ngay cả khi các thư mục cha chưa tồn tại.

mkdir logs                 # tạo logs
ls                         # kiểm tra
mkdir -p src/app/utils     # tạo 3 cấp cùng lúc
ls -R src                  # liệt kê src theo đệ quy
Cấu trúc lồng nhau mà mkdir -p tạo ra
mkdir -p project/src/bin tạo tất cả cùng lúcprojectproject/srcproject/src/binbên trongbên trong
mkdir -p tạo project, project/src và project/src/bin cùng lúc, ngay cả khi không có thư mục cha.

① Tạo một thư mục tên work làm thư mục làm việc, và xác nhận đã tạo bằng ls.

② Tiếp theo, tạo cùng lúc một thư mục lồng ba cấp — src bên trong project, và bin bên trong đó —, rồi xác nhận ba cấp tồn tại bằng ls -R project. (Chạy đúng thì phần giải thích sẽ hiện ra.)

Linux console
0 / 4 đã hoàn thành
Loading Linux Terminal...

Xóa thư mục rỗng — rmdir

rmdir xóa một thư mục rỗng.

Vì chỉ xóa thư mục sau khi xác nhận nó rỗng, đây là thao tác an toàn, ít khả năng vô tình xóa nhầm các tệp bên trong.

Việc xóa thư mục kèm nội dung sẽ được trình bày ở bài sau.

mkdir empty_box      # tạo một thư mục rỗng
rmdir empty_box      # rỗng nên xóa được
ls                   # xác nhận đã biến mất

rmdir chỉ hoạt động khi rỗng

rmdir chỉ xóa thư mục rỗng.

Nếu bên trong có tệp hoặc thư mục, nó sẽ không xóa và thư mục vẫn còn.

Việc xóa thư mục kèm nội dung được xử lý an toàn ở bài sau.

① Tạo một thư mục dùng tạm tên demo và xác nhận tồn tại bằng ls.

② Sau đó xóa thư mục rỗng demo và xác nhận bằng ls rằng demo đã biến mất.

Linux console
0 / 3 đã hoàn thành
Loading Linux Terminal...

Tạo và ghi tệp — touch / echo

touch tạo một tệp rỗng.

echo 'văn bản' > tên_tệp ghi văn bản vào tệp, và cat hiển thị nội dung lên màn hình.

Tạo, ghi và xem — bạn sẽ dùng ba lệnh này cùng nhau.

LệnhTác dụng
mkdir nameTạo một thư mục
mkdir -p parent/child/grandchildTạo cả thư mục cha cùng lúc
rmdir nameChỉ xóa thư mục rỗng
touch nameTạo một tệp rỗng
touch notes.txt                 # tạo một tệp rỗng
echo 'first line' > notes.txt   # ghi
cat notes.txt                   # hiển thị
Tạo → ghi → hiển thị
touch hello.txtmột tệp rỗng được tạoecho ... > hello.txtHello, Linux! được ghi vàocat hello.txthiển thị trên màn hình
touch tạo tệp rỗng, > ghi, và cat hiển thị.

① Tạo một tệp rỗng tên hello.txt và xác nhận tồn tại bằng ls.

② Ghi một dòng Hello, Linux! vào tệp đó, rồi hiển thị nội dung bằng cat hello.txt để xác nhận.

Linux console
0 / 4 đã hoàn thành
Loading Linux Terminal...

Ghi đè và ghi thêm — > và >>

> xóa rỗng tệp trước khi ghi (ghi đè).

Khi muốn thêm dòng mà vẫn giữ nội dung hiện có, dùng >> (ghi thêm).

Nhầm lẫn hai cái này có thể xóa mất dữ liệu bạn cần.

Ký hiệuÝ nghĩa
>Xóa rỗng tệp rồi ghi (ghi đè)
>>Ghi thêm vào cuối (giữ nội dung hiện có)
echo 'line 1' > log.txt    # ghi đè (tạo mới)
echo 'line 2' >> log.txt   # ghi thêm
cat log.txt                # line 1 và line 2
echo 'reset' > log.txt     # ghi đè (nội dung cũ mất)
cat log.txt                # chỉ reset
> ghi đè, >> ghi thêm
echo A > ff chứa: Aecho B > ff chứa: B(A mất)echo C >> ff chứa: B / C> (ghi đè)>> (ghi thêm)
> xóa và ghi đè; >> ghi thêm vào cuối.

> xóa nội dung

> xóa rỗng nội dung tệp trước khi ghi.

Khi muốn thêm dòng vào nội dung hiện có, hãy luôn dùng >> (ghi thêm).

① Ghi một dòng first vào note.txt.

② Sau đó ghi thêm dòng second vào cùng note.txt, và xác nhận bằng cat rằng giờ có hai dòng.

③ Cuối cùng, ghi đè note.txt bằng reset, và xác nhận bằng cat rằng nội dung chỉ còn reset.

Linux console
0 / 4 đã hoàn thành
Loading Linux Terminal...
QUIZ

Kiểm tra kiến thức

Hãy trả lời từng câu hỏi một.

Câu 1Điều gì xảy ra khi bạn chạy mkdir -p a/b/c?

Câu 2rmdir có thể xóa cái gì?

Câu 3Ký hiệu nào thêm một dòng mới ở cuối mà vẫn giữ nội dung hiện có của tệp?