Linux

Trần Đức Lĩnh

Cấu trúc thư mục và quản lý tệp.

--: (/)
  |
  |_ /root
  |
  |_ /bin
  |
  |_ /sbin
  |
  |_ /ect
  |
  |_ /dev
  |
  |_ /tmp
  |
  |_ /proc
  |
  |_ /var
  |
  |_ /usr
  |
  |_ /home
  |
  |_ /boot
  |
  |_ /lib
  |
  |_ /opt
  |
  |_ /mnt
  |
  |_ /media
  |
  |_ /srv

Giải thích cấu trúc thư mục:

  • /root: Là nơi bắt đầu của thư mục, chỉ có user mới có quyền ghi trong thư mục này. ("/root" là thư mục home).
  • /bin - Chương trình của người dùng: Thư mục chứa các chương trình thực thi. Các chương trình chung của hệ thống được sử dụng bởi tất cả các người dùng được lưu ở đây. (ls, ping, ...)
  • /sbin - Chương trình của hệ thống: Thư mục này chứa các chương trình thực thi chường trình admin, dành cho việc bảo trì hệ thống. (reboot, fdisk, ...)
  • /ect - Cấu hình: Nơi chứa các file cấu hình của các chương trình, cũng là nơi chứa các sell script được dùng để khởi động hoặc tắt các chương trình khác. (/ect/resolv.conf, ...)
  • /dev - Thiết bị: Những phân vùng ổ cứng, các thiết bị ngoại vi như USB, ổ đĩa rời hay bất kỳ bộ nhớ gắn ngoài gắn vào hệ thống đều được lưu ở đây. (Name USB: usb1; mount/dev/usb1/tmp)
  • /tmp - Các file tạm: Chứa các file tạm thời được tạo bởi hệ thống và những người dùng khác. Những file được lưu trong thư mục này sẽ bị xóa đi khi toàn bộ hệ thống khởi động lại.
  • /proc - Thông tin các tiến trình: Những tiến trình đang chạy sẽ được lưu trong file này dưới dạng thư mục mô phỏng. Các file này được đặt với các ID=pid Ngoài ra cũng là nơi lưu các thông tin về tài nguyên đang sử dụng của hệ thống. (/proc/version, ...)
  • /usr - Chương trình của người dùng: Chứa các thư viện, các file thực thi, tài liệu khác và mã nguồn cho chương trình này chạy ở 2 cấp của hệ thống. Chi tiết hơn.

    • /usr/bin - Chứa các file thực thi của người dùng: Những file (at, awk, cc, less, ...) thường tìm trong /bin hoặc /usr/bin.
    • /usr/sbin - Chứa các file thực thi hệ thống dưới quyền admin: Các file như (atd, cron, ...) thường tìm trong /sbin hoặc /usr/sbin.
    • /usr/lid - Chứa các thư viện cho các chương trình: Những file thư viện của /usr/bin/usr/sbin được lưu tại đây.
    • /usr/local - Chứa các chương trình của người dùng được cài từ mã nguồn: Giả dụ như cài Apache, mã nguồn sẽ được lưu tại đây.
  • /home - Thư mục của người dùng: Nơi của các file cá nhân của người dùng.
  • /boot - Các file khởi động: Tất cả các file khởi động như initrd, vmlinux được lưu tại đây.
  • /lid - Thư viện hệ thống: Chứa các thư viện hỗ trợ cho các file thực thi trong /bin/sbin.
  • /opt - Các ứng dụng phụ tùy chọn: Tên thư mục này nghĩa là (optional), nó chứa các ứng dụng thêm vào từ các nhà cung cấp độc lập. Các ứng dụng nyaf có thể được cìa iwr /opt hoặc một thư mục con của /opt.
  • /mnt - Thư muc để (nâng đỡ - kéo lên - đống khung...): Mount là tên viết tắt của thư mục tạm này, mục đích để mount các file trong hệ thống.
  • /media - Các thiết bị gắn có thể gỡ bỏ: Thư mục tạm này chứa các thiết bị như các phân vùng ổ đĩa cứng khác như media/Data.
  • /srv - Dữ liệu của các dịch vụ khác: Chứa các dữ liệu liên quan đến các dịch vụ của máy chủ.

Thao tác phân vùng file.

Đối tượng phân quyền gồm 3 loại:

  • (o) - owner: Xác định chủ sở hữu.
  • (g) - group: Xác định nhóm file.
  • (o) - others: Không xác định được 2 yếu tố trên sẽ được đưa vào nhóm khác.

Có các hành động có sẵn trên hệ thống để điều chỉnh file sẽ là

  • (r) - read: Có khả năng mở và xem nội dung của file.
  • (w) - write: Có khả năng ghi và sửa nội dung bên trong.
  • (x) - execute: Có khả năng thực thi, khả năng chạy file như một chưng trình thực thi.
  • (-) - denied: Không được phép sẽ là dấu gạch ngang.

Quyền truy cập file được hiển thị dưới 2 dạng.

Dạng ký hiệu tượng trưng.

Có tổng cộng 1 chuỗi gồm 10 ký tự viết liền nhau.

Sau ký tự đầu tiên (- : directory/file type), cứ sau mỗi 3 ký tự liền nhau là 1 cụm đại diện cho các đối tượng phân quyền (owner-group-other) chứa các hành động có sẵn trên hệ thống (read-write-execute).

Ví dụ:

-rwxr-xr--

Phân tách: (-) (rwx) (r-x) (r--)

  • (-) : Chính là kiểu file.
  • (rwx) : Owner.
  • (r-x) : Group.
  • (r--) : Other.

Dạng ký hiệu số học.

Dạng ký hiệu này có tổng cộng 3 số tính tới hàng trăm.

Mỗi chữ số riêng lẻ sẽ tương ứng với (owner-group-other).

Mỗi số có giá trị là 3 bit, giao động giá trị từ 0 - 7. Các ý nghĩa của từng giá trị chữ số sẽ là:

  • 0: Không được phép thực hiện bất kỳ quyền nào.
  • 1: Thực thi.
  • 2: Viết.
  • 3: Viết và thực thi.
  • 4: Đọc.
  • 5: Đọc và thực thi.
  • 6: Đọc và viết.
  • 7: Đọc, viết và thực thi.

Ví dụ chuyển đổi: -rwxr-xr--

-(đọc viết thực.thi) (đọc - thực.thi) (đọc - -): 754.

Chuyển ngược lại một số bất kỳ: 552

-(đọc - thực.thi) (đọc - thực.thi) (viết): -r-xr-x-w-.

Dùng Chmod tác động phân vùng file.

Được viết tắt cho từ "change mode", cho phép thay đổi đặt quyền của file theo cách thủ công.

  • chmod <mode> <file/folder> : chmod 775 hello-linux.txt (Sử dụng cho từng file/folder).
  • chmod -R <mode> <file/folder> : chmod 775 hello-linux.txt (Sử dụng cho tất cả các file/folder).

Các chmod cơ thường được dùng:

  • 644 (-rw-r--r--) : Cho phép chủ sở hữu có thể truy cập và sửa file/folder theo cách mong muốn, trong khi những người dùng khác thì không thể sửa đổi, không một ai có thể thực thi ngay cã chủ sở hữu nó. Lý tưởng cho các file truy cập công khai vì có tính linh hoạt và tính bảo mật cao.
  • 755 (-rwxr-xr-x) : Tương tự như 644, nhưng mọi người đều có quyền thực thi, được sử dụng công khai vì cần quyền thực thi để thay đổi đối với thư mục.
  • 555 (-r-xr-xr-x) : Làm cho file không thể chỉnh sửa đổi mới bất kỳ ai ngoại trừ siêu người dùng (superuser) của hệ thống. Khác xa so với 644 nhưng rất quan trọng, ngăn ngừa cho việc giả mạo hoặc các thay đổi ngẫu nhiên không mong muốn.
  • 777 (-rwxrwxrwx) : Cho phép mọi người đều có quyền làm điều gì đối với file/folder. Khá nguy hiểm vì lý do bảo mật đặt biệt trên các máy chủ.

Thao tác liên quan đến hệ thống.

  • exit : Thoát khỏi cửa sổ Terminal.
  • logout : Thoát phiên bản làm việc.
  • halt : Tắt máy nhưng nguồn vẫn hoạt động.
  • shutdown -h now / telinit 0 hoặc init 0: Tắt máy ngay bây giờ.
  • shutdown -r now hoặc reboot : Khởi động lại hệ thống.
  • shutdown -c : Hủy bỏ cách lệnh tắt máy nếu gán thời gian.

Thao tác trên tập tin.

  • ls : Liệt kê các danh sách và file trong thư mục hiện tại.
  • ls -l : Liệt kê tất cả các danh sách và file (bao gồm đã ẩn).
  • pwd : Xuất đường dẫn của thư mục hiện tại.
  • cd : Chọn thư mục làm việc.
  • mv : Di chuyển tập tin / thư mục.
  • mv <old-name> <new-name> : Đổi tên tập tin / thư mục.
  • cp : Sao chép file từ vị trí nguồn đến vị trí đích.
  • cp -r : Sao chép toàn bộ dữ liệu bên trong.
  • mkdir : Tạo thư mục mới.
  • rmdir : Xóa thư mục rỗng.
  • rm -r : Xóa toàn bộ thư mục và dữ liệu bên trong nó.
  • find \! -name <file-name> : Tìm kiếm tất cả các tên, không phân biệt HOA/thường.
  • tar -cvf <file-name> : Tạo file nén (.tar) từ file có sẵn.
  • tar -tvf <file-name> : Xem nội dung bên trong file nén (.tar).
  • tar -xvf <file-name> : Giải nén file (.tar).
  • gzip <file-name> : Tạo file nén (.gz) từu file có sẵn.
  • gzip -d <file-name> hoặc gunzip <file-name> : Giải nén file (.gz).
  • wc : Đếm string / line trong tập tin.
  • touch : Tạo tập tin mới.
  • cat : Xem nội dung tập tin.
  • df : Kiểm tra dung lượng đĩa, phân vùng.

Thao tác làm việc trên terminal.

  • clear : Xóa lệnh.
  • date : Xem ngày giờ hệ thống.
  • cal : Xem lịch hệ thống.

Thao tác quản lý hệ thống.

  • rpm : Kiểm tra gói, cài đặt hoặc gỡ bỏ.
  • ps : Kiểm tra tiến trình đang chạy.
  • kill : Dừng các tiến trình bị treo.
  • top : Hiển thị các hoạt động của tiến trình, bao gồm thông tin và sử dụng tài nguyên.
  • pstree : Hiển thị các tiến trình hoạt động dưới dạng cây.
  • sleep : Hệ thống đưa về chế độ ngủ.
  • useradd : Thêm người dùng mới.
  • groupadd : Tạo nhóm người dùng mới.
  • passwd : Thay đổi mật khẩu người dùng.
  • gpasswd : Thay đổi mật khẩu của nhóm người dùng.
  • userdel : Xóa bỏ người dùng đã tạo.
  • su : Cho phép đăng nhập với tư cách người dùng khác.
  • groups : Hiển thị nhóm người dùng hiện tại.
  • who hoặc w : Hiển thị người dùng hiện tại.
  • id : Hiển thị ID người dùng.

Thao tác kiểm tra thông tin hệ thống.

  • cat /proc/cpuinfo : Kiểm tra thông tin CPU.
  • cat /proc/meminfo : Kiểm tra thông tin RAM.
  • cat /proc/version : Kiểm tra thông tin Kernel Linux.
  • cat /proc/ioport : Kiểm tra thông tin port I/O.
  • hostname : Xem tên máy.
  • last reboot : Xem lịch sử reboot máy.

Thao tác tinh chỉnh Network.

  • ifconfig -a : Xem tất cả giao diện và trạng thái.
  • iwconfig : Tương tự như ifconfing nhưng được dùng thiết lập cho mạng không dây.
  • host <DNS> : Tìm kiếm IP của tên miền.
  • whois <DNS> : Kiểm tra thông tin người đăng ký và sỡ hữu DNS.
  • ip <options> :

    • <addpress>
    • <add>
    • <route>
    • <link>
    • <-4 addpress>
  • ping : Kiểm tra kết nối giữa 2 nodes.