Quản lý file và thư mục là một phần quan trọng trong việc sử dụng hệ điều hành Linux vì nó giúp người dùng tổ chức, truy cập và quản lý dữ liệu trên hệ thông của mình. Tạo, di chuyển và xóa các thư mục giúp tổ chức cấu trúc thư mục dễ dàng hơn. Thông qua quản lý thư mục, người dùng có thể dễ dàng tình kiếm và truy cập vào các tập tin và thư mục họ cần. Về phía bảo mật, quản lý file và thư mục cho phép người dùng thiết lập quyền truy cập để bảo vệ dữ liệu khỏi truy cập trái phép. Bên cạnh đó sẽ giúp tổ chức hay người dùng dễ dàng sao lưu và phục hồi dữ liệu quan trọng trong trường hợp cần thiết và tương tác với hệ thống, thực hiện một số tác vụ như cài đặt phần mềm, cấu hình hệ thống, …vv và nhiều hơn nữa. Trong bài viết phần 1, tôi sẽ đưa ra các lệnh quản lý file.
Một số tập tin thư mục cơ bản
Tập tin thư mục | Chức năng |
/bin, /sbin | Chưa các tập tin nhị phân hỗ trợ cho việc boot và thực thi các lệnh |
/boot | Chưa kernel, file hỗ trợ cho việc load hệ điều hành |
/dev | Chứa các tập tin thiết bị, thiết bị đầu cuối (CDRom, HDD, USB, …vv) |
/etc | Chứa các tập tin cấu hình hệ thống, các tập tin lệnh để khởi động các dịch vụ của thống |
/home | Chứa thư mục chính lưu trữ tập tin các nhân của người dùng (VD : /home/username ) |
/lib | Chứa kernel module, các file thư viện hỗ trợ các tập tin nhị phân trong /bin và /sbin |
/mnt | Chứa các mount point của các thiết bị , nơi mà người quản trị hệ thống có thể mount các tập tin hệ thống |
/proc | Lưu trữ thông tin về kernel, các tiến trình, các tập tin hệ thống ảo với nội dung tài nguyên hệ thống (VD : /proc/{pid}, /proc/cpuinfo ,…vv ) |
/root | Lưu trữ home directory cho user root |
/tmp | Chứa các tập tin tạm thời được bảo vệ bởi hệ thống và user, sẽ được xóa khi hệ thống khởi động lại. |
/usr | Chứa các chương trình đã được cài đặt ( VD : /usr/lib, /usr/local, …vv) |
/var | Chứa các log file, các gói và các file dữ liệu, hàng đợi các chương trình, lock file, mailbox của users và các file tạm thời khi reboot (VD : /var/log, /var/lock, /var/mail, …vv ) |
/opt | Chứa các ứng dụng add-on từ các nhà cung cấp ( VD : /opt/sub ) |
/srv | Chứa các service của máy chủ, liên quan đến dữ liệu |
Sử dụng lệnh quản lý file
Hiển thị thư mục hiện hành (lệnh pwd)
Hiển thị file, thư mục (lệnh ls) ( VD : ls [option] [filename])
Một số option thường dùng với lệnh ls
Options | Ý nghĩa |
ls -L / | Hiển thị danh sách file (chỉ hiện tên) |
ls -l / | Hiển tị danh sách file (gồm nhiều cột: file name, size, date, …vv) |
ls -a / | Liệt kê tất cả các file, bao gồm những file ẩn |
ls -R / | Liệt kê tất cả các file kể cả các file trong thư mục con |
ls -all /[folder]
Tạo và đặt tên file (lệnh touch)
VD : tạo file adminvietnam.txt
touch adminvietnam.txt
Kiểm tra loại file (lệnh file)
file [file name]
Tạo thư mục (lệnh mkdir)
mkdir [option] [folder name]
Xóa thư mục (lệnh rmdir)
rmdir [option] [folder name]
Sao chép file và thư mục (lệnh cp)
Sử dụng command cp để sao chép files từ thư mục hiện tại. Chẳng hạn, command cp image.jpg /home/username/Pictures sẽ tạo bản copy của image.jpg vào danh mục Pictures.
cp [option]... source dest
Di chuyển, đổi tên file và thư mục (lệnh mv)
Công dụng chính của command mv là di chuyển files, dù nó cũng có thể được dùng để đổi tên files
mv [option]... source dest
Chúng ta sẽ đổi tên file như sau nếu trong cùng 1 thư mục
Tiếp theo ta sẽ di chuyển sang thư mục khác.
Nén file bằng một số lệnh như : gzip, bzip2, xz, zip
gzip [file name]
bzip2 [file name]
xz [file name]
zip [file name .zip] [fil name]
Tạo file lưu trữ với tar
Một số option của lệnh tar
Short | Long | Mô tả |
-c | –create | Tạo kho lưu trữ tar mới |
-u | –update | |
-g | –listed-incremental | |
-z | –gzip | Lọc kho lưu trữ thông qua gzip |
-j | –bzip2 | Lọc kho lưu trữ thông qua bzip2 |
-J | –xz | Loc kho lưu trữ thông qua xz |
-v | –verbose | Hiển thị các tệp đang xử lý bằng lệnh tar |
-x | –extract | Giải nén toàn bộ kho lưu trữ hoặc 1 hoặc nhiều tệp từ kho lưu trữ |
-t | –list | Hiển thị danh sách các tệp có trong kho lưu trữ |
-f | –file=archive=name | Chỉ định tên tệp lưu trữ |
-z | –gunzip | Giải nén file trong tarball dùng gunzip |
-j | –bunzip2 | Giải nén file trong tarball dùng bunzip2 |
-J | –unxz | Giải nén file trong tarball dùng unxz |
Sử dụng tar để tạo ra một tarball
tar -zcvf [filename.tar.gz] [filename]
Sử dụng tar để liệt kê nội dung của tarball
tar -tf [filename]
Sử dụng tar để trích xuất các tập tin từ một tarball
tar -zxvf [filename]
Quản lý liên kết
Quản lý liên kết trong Linux liên quan đến việc tạo và quản lý các liên kết tới tệp và thư mục. Có 2 loại chính là:
Liên kết cứng (Hard links)
Liên kết mềm (Soft links)
Thiết lập một liên kết cứng
Tạo hard link (lệnh ln)
ln OriginalFile.txt HardLinksFile.txt
Trong trường hợp ảnh trên, hai file OriginalFile.txt và HardLinksFile.txt đều có cùng số inode là 1615873. Điều này xảy ra khi ta tạo một liên kết cứng từ OriginalFile.txt đến HardLinksFile.txt. Khi đó cả hai file sẽ trỏ đến cùng một inode hay cùng trỏ đến cùng một vùng dữ liệu trên ổ đĩa
Hard links là các liên kết trực tiếp tới inode của một tệp. Mỗi tệp trên hệ thống tệp Linux được xác định bằng một số duy nhất được gọi là inode.
Khi tạo một hard link từ một tệp gốc, cả hai tệp đều trỏ tới cùng một inode. Điều này có nghĩa là không có khái niệm tệp “gốc” hoặc “liên kết” – cả hai tệp đều có thể được coi là bản sao của nhau.
Cả tệp gốc và hard link đều có cùng một inode, do đó, chúng có cùng quyền truy cập và nội dung. Bất kỳ thay đổi nào được thực hiện trên một tệp cũng sẽ phản ánh trên tất cả các hard link khác tới inode đó.
Khi bạn xóa một hard link, nội dung của tệp không bị xóa cho đến khi tất cả các hard link tới inode đó đều bị xóa. Điều này có nghĩa là dữ liệu thực sự không bị xóa cho đến khi không còn ai trỏ tới nó nữa.
Thiết lập một liên kết mềm
Tạo Soft links (lệnh ln -s)
ln -s OriginalFile.txt SoftLinksFile.txt
Khi bạn tạo một liên kết mềm, nó không tạo ra một bản sao của tệp gốc như liên kết cứng. Thay vào đó, nó chỉ tạo ra một con trỏ đến tệp gốc, giống như một biểu tượng shortcut trong một hệ điều hành có giao diện đồ họa.
Khi bạn thao tác với SoftLinksFile.txt, hệ thống sẽ thực sự thực hiện thao tác trên tệp OriginalFile.txt mà nó trỏ đến
Các đặc điểm của liên kết mềm:
Thay đổi trong cả hai: Thay đổi tên hoặc vị trí của tệp gốc vẫn làm thay đổi trong liên kết mềm. Nó không bị mất nếu tệp gốc được di chuyển hoặc đổi tên.
Không chia sẻ cùng inode: Mỗi liên kết mềm có một inode riêng biệt, không chia sẻ với tệp gốc.
Không có sự phụ thuộc vào tệp gốc: Nếu tệp gốc bị xóa, liên kết mềm vẫn tồn tại, nhưng nó sẽ trỏ vào một vị trí không tồn tại (broken link).
Danh sách bài viết:
Quản lý file và thư mục trong Linux (phần 1) < here
Quản lý file và thư mục trong Linux (phần 2)