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ụcChức năng
/bin, /sbinChưa các tập tin nhị phân hỗ trợ cho việc boot và thực thi các lệnh
/bootChưa kernel, file hỗ trợ cho việc load hệ điều hành
/devChứa các tập tin thiết bị, thiết bị đầu cuối (CDRom, HDD, USB, …vv)
/etcChứ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
/homeChứ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 )
/libChứa kernel module, các file thư viện hỗ trợ các tập tin nhị phân trong /bin và /sbin
/mntChứ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
/procLư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 )
/rootLưu trữ home directory cho user root
/tmpChứ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.
/usrChứa các chương trình đã được cài đặt ( VD : /usr/lib, /usr/local, …vv)
/varChứ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 )
/optChứa các ứng dụng add-on từ các nhà cung cấp ( VD : /opt/sub )
/srvChứ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

ShortLongMô tả
-c–createTạo kho lưu trữ tar mới
-u–update 
-g–listed-incremental 
-z–gzipLọc kho lưu trữ thông qua gzip
-j–bzip2Lọc kho lưu trữ thông qua bzip2
-J–xzLoc kho lưu trữ thông qua xz
-v–verboseHiển thị các tệp đang xử lý  bằng lệnh tar
-x–extractGiả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–listHiển thị danh sách các tệp có trong kho lưu trữ
-f–file=archive=nameChỉ định tên tệp lưu trữ
-z–gunzipGiải nén file trong tarball dùng gunzip
-j–bunzip2Giải nén file trong tarball dùng bunzip2
-J–unxzGiả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 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)

Quản lý file và thư mục trong Linux (phần 3)

vanluong

Chia sẻ