Làm việc với tệp tin là một phần thiết yếu của hệ điều hành Linux, và là một kỹ năng mà mọi người dùng Linux cần phải có. Trong Linux, mọi thứ đều được coi là tệp tin: văn bản, hình ảnh, hệ thống, thiết bị, và thư mục. Linux cung cấp nhiều tiện ích dòng lệnh để tạo, xem, di chuyển hoặc tìm kiếm tệp tin. Một số lệnh cơ bản để xử lý tệp tin trong terminal Linux bao gồm touch để tạo tệp, mv để di chuyển tệp, cp để sao chép tệp, rm để xóa tệp, và ls để liệt kê các tệp tin và thư mục.

Hình: File Permissions

Ví dụ, để tạo một tệp tin có tên là “adminvietnam.txt”, chúng ta sử dụng lệnh:

touch adminvietnam.txt

Để liệt kê các tệp tin trong thư mục hiện tại, chúng ta sử dụng lệnh:

ls

Biết cách quản lý và thao tác tệp tin một cách hiệu quả trong Linux là rất quan trọng để quản trị và vận hành thành công một hệ thống Linux.

Quyền Truy Cập Tệp Trong Linux (Linux File Permissions)

Trong hệ thống Linux, quyền và đặc quyền được gán cho các tệp tin và thư mục dưới dạng quyền truy cập. Những quyền này cho biết ai có thể đọc, ghi, hoặc thực thi (chạy) các tệp tin. Trong Linux, có ba loại người dùng: chủ sở hữu (owner), nhóm (group), và những người khác (others) mà có thể có các quyền khác nhau.

Quyền trên hệ thống có mục đích ngăn chặn người dùng không có quyền làm thay đổi hệ thống một cách không mong muốn. Với quyền không phù hợp, người dùng không có quyền có thể làm những thay đổi có lợi hoặc vô hại đối với hệ thống Linux.

Ví dụ về quyền truy cập tệp

-rwxr--r-- 1 root root 4096 Jan 1 12:00 filename

Ký tự đầu tiên (-) cho biết đây là tệp thường (-) hay thư mục (d).

Ba ký tự tiếp theo (rwx) đại diện cho quyền của chủ sở hữu tệp.

Ba ký tự tiếp theo (r–) đại diện cho quyền của nhóm.

Ba ký tự cuối cùng (r–) đại diện cho quyền của những người khác.

r cho biết tệp có thể đọc, w cho biết tệp có thể ghi, và x cho biết tệp có thể thực thi.

Thay đổi quyền truy cập tệp

Quyền truy cập có thể thay đổi bằng cách sử dụng các lệnh chmod, chown, và chgrp.

Thay đổi quyền bằng chmod:

chmod 755 filename  # rwxr-xr-x
chmod 644 filename  # rw-r--r--

Thay đổi chủ sở hữu bằng chown:

chown user filename

Thay đổi nhóm bằng chgrp:

chgrp group filename

Các bạn có thể đọc thêm bài viết Quản lý file và thư mục trong Linux (phần 3) , ở đó tôi có viết rõ hơn về phần file permission.

Lưu Trữ và Nén (Archiving and Compressing)

Linux cung cấp các công cụ mạnh mẽ để lưu trữ, nơi nhiều tệp và thư mục được kết hợp thành một tệp duy nhất, chủ yếu để sao lưu và đơn giản hóa việc phân phối. Các công cụ chính được sử dụng cho mục đích này là tar, gzip, và bzip2.

Tạo tệp lưu trữ (Archiving)

Tạo tệp tar:

tar cvf archive_name.tar directory_to_archive/

Giải nén tệp tar:

tar xvf archive_name.tar

Nén tệp (Compressing)

Sử dụng gzip:

gzip file.txt  # Tạo file.txt.gz
gunzip file.txt.gz  # Giải nén file.txt.gz

Sử dụng bzip2:

bzip2 file.txt  # Tạo file.txt.bz2
bunzip2 file.txt.bz2  # Giải nén file.txt.bz2

Kết hợp lưu trữ và nén

Tạo tệp tar.gz:

tar cvzf archive_name.tar.gz directory_to_archive/

Tạo tệp tar.bz2:

tar cvjf archive_name.tar.bz2 directory_to_archive/

Trong bài viết Quản lý file và thư mục trong Linux (phần 1), tôi có nói đến tạo file lưu trữ với tar, các bạn có thể đọc qua để tham khảo thêm.

Sao Chép và Đổi Tên (Copy and Renaming)

Trong Linux, làm việc với tệp tin là một hoạt động hàng ngày. Dù bạn là quản trị viên hệ thống, nhà phát triển hay người dùng thông thường, sẽ có những công việc mà bạn cần sao chép, đổi tên, hoặc thực hiện các thao tác tương tự với tệp và thư mục.

Sao chép tệp và thư mục

Lệnh cp được sử dụng để sao chép tệp và thư mục.

Sao chép tệp:

cp /path/to/original/file /path/to/copied/file

Sao chép thư mục:

cp -r /path/to/original/directory /path/to/copied/directory

Đổi tên và di chuyển tệp và thư mục

Lệnh mv được sử dụng để đổi tên và di chuyển tệp hoặc thư mục.

Đổi tên tệp:

mv oldname.txt newname.txt

Di chuyển tệp:

mv /path/to/original/file /path/to/new/location/

Liên Kết Mềm và Liên Kết Cứng (Soft Link and Hard Link)

Trong các hệ điều hành giống Unix như Linux, liên kết mềm (symbolic link) và liên kết cứng (hard link) là các tham chiếu đến tệp tin hiện có, cho phép người dùng tạo các lối tắt và hiệu ứng sao chép trong hệ thống tệp.

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

Liên kết cứng là một bản sao trực tiếp của tệp gốc, chia sẻ cùng dữ liệu tệp nhưng hiển thị tên và số inode khác nhau. Nếu tệp gốc bị xóa, liên kết cứng vẫn giữ lại dữ liệu tệp.

Tạo liên kết cứng:

ln source_file.txt hard_link.txt

Liên kết mềm (Soft Link)

Liên kết mềm, còn được gọi là liên kết tượng trưng, giống như một lối tắt tới tệp gốc. Nó có một số inode khác và dữ liệu tệp chỉ tồn tại trong tệp gốc. Nếu tệp gốc bị xóa, liên kết mềm sẽ bị hỏng và không hoạt động cho đến khi tệp gốc được khôi phục.

Tạo liên kết mềm:

ln -s source_file.txt soft_link.txt

Trong bài viết Quản lý file và thư mục trong Linux (phần 1), tôi có đề cập đến phần quản lý liên kết về Hard Link và Soft Link. Các bạn có thể đọc qua để nắm rõ phần này hơn.

Kết luận

Trên đây là tổng quan về cách làm việc với tệp tin trong Linux, bao gồm các khái niệm và lệnh cơ bản để quản lý quyền truy cập, lưu trữ và nén, sao chép và đổi tên, cũng như sử dụng liên kết mềm và liên kết cứng. Hy vọng bài viết này giúp bạn hiểu rõ hơn và làm việc hiệu quả hơn với hệ thống tệp tin trong Linux. Một lần nữa, các bạn hãy ghé qua phần 1, phần 2, phần 3 của Quản lý file và thư mục trong Linux để hiểu rõ hơn về các thao tác và quản lý tệp tin trong Linux. Bài viết sẽ cung cấp nhiều kiến thức chi tiết và hữu ích hơn để bạn nắm vững các kỹ năng cần thiết trong việc quản lý và tương tác với hệ thống tệp tin Linux.

Cảm ơn bạn đã đọc bài viết này. Nếu bạn có bất kỳ câu hỏi hoặc ý kiến đóng góp, đừng ngần ngại để lại bình luận bên dưới. Chúng ta hãy tiếp tục chia sẻ kiến thức và học hỏi từ nhau.

vanluong