Hướng Dẫn Các Lệnh Cơ Bản Trong Linux Cho Người Mới Bắt Đầu

Hướng Dẫn Các Lệnh Cơ Bản Trong Linux Cho Người Mới Bắt Đầu

Linux là một hệ điều hành mã nguồn mở mạnh mẽ, được sử dụng rộng rãi trong quản trị server, lập trình và phát triển web. Để làm việc hiệu quả với Linux, bạn cần nắm vững các lệnh cơ bản. Trong bài viết này, chúng ta sẽ khám phá các lệnh cơ bản trong Linux kèm giải thích chi tiết để bạn dễ dàng áp dụng.

1. Lệnh ls /etc/php/

  • Ý nghĩa: Đây thực chất là lệnh trong các hệ Unix-like (bao gồm Linux), nhưng có thể bạn muốn nói đến dir trong Windows hoặc lệnh tương tự. Trong Linux, để liệt kê nội dung thư mục /etc/php/, bạn dùng:

ls -l /etc/php/

Giải thích: Lệnh này liệt kê tất cả các tệp và thư mục con trong /etc/php/, nơi chứa cấu hình PHP trên hệ thống. Thêm -l để hiển thị chi tiết như quyền truy cập, chủ sở hữu, kích thước tệp.

2. Lệnh mv file_name_old file_name_new

  • Ý nghĩa: Di chuyển hoặc đổi tên tệp/thư mục.
  • Giải thích:
    • mv là viết tắt của "move".
    • Ví dụ: mv old.txt new.txt sẽ đổi tên tệp từ old.txt thành new.txt. Nếu chỉ định đường dẫn, tệp sẽ được di chuyển đến vị trí mới.

3. Lệnh cp -a path/folder path/new_folder

  • Ý nghĩa: Sao chép toàn bộ thư mục giữ nguyên cấu trúc và quyền.
  • Giải thích:
    • -a (archive) đảm bảo sao chép toàn bộ thuộc tính, quyền và liên kết tượng trưng.
    • Ví dụ: cp -a /home/user/sites /backup/sites sao chép thư mục sites sang /backup.

4. Tạo và Quản Lý Tệp ZIP

  • Cài đặt ZIP:
  • sudo apt update
sudo apt install zip unzip -y
  • Tạo tệp ZIP:
  • zip -r sites.zip /path/to/sites
    • -r (recursive) nén toàn bộ thư mục sites thành sites.zip.
    • Chia nhỏ tệp ZIP:
  • split -b 900M sites.zip sites.zip.part
    • Chia sites.zip thành các phần nhỏ, mỗi phần 900MB, với tên như sites.zip.partaa, sites.zip.partab, v.v.
    • Ghép lại tệp ZIP:
  • cat sites.zip.part* > sites.zip
    • Kết hợp tất cả các phần thành một tệp sites.zip.
    • Giải nén:
  • unzip sites.zip -d /desired/path/
    • Giải nén sites.zip vào thư mục chỉ định.

    5. Lệnh sudo ufw allow 'Nginx Full'

    • Ý nghĩa: Mở cổng cho Nginx trong tường lửa UFW.
    • Giải thích:
      • UFW (Uncomplicated Firewall) quản lý quy tắc tường lửa.
      • Lệnh này cho phép lưu lượng truy cập qua cổng 80 (HTTP) và 443 (HTTPS) cho Nginx.

    6. Cài Đặt và Quản Lý SSL với Certbot

    • Cập nhật gói:
  • sudo apt update
    • Cài Certbot:
  • sudo apt install certbot python3-certbot-nginx -y
    • Tạo chứng chỉ SSL:
  • sudo certbot --nginx -d example.com -d www.example.com
    • Tự động cấu hình SSL cho Nginx trên các domain chỉ định.
    • Kiểm tra gia hạn:
  • sudo certbot renew --dry-run
    • Thử nghiệm gia hạn chứng chỉ mà không áp dụng thực tế.

    7. Tải Tệp với curl

    • Ví dụ
  • curl -O https://domain.com/db.sql
     
    • Giải thích: Tải tệp test4kynang.sql về thư mục hiện tại.

    8. Quản Lý Quyền Sở Hữu và Phân Quyền

    • Xác định người dùng web server:
  • ps aux | grep apache2 # Hoặc grep nginx
    • Kiểm tra tiến trình để biết user (thường là www-data).
    • Thay đổi quyền sở hữu:
  • sudo chown -R www-data:www-data /path/to/drupal/sites/default/files
    • Gán quyền sở hữu cho www-data (user web server) trên thư mục Drupal.
    • Cấp quyền:
  • sudo chmod -R 755 /path/to/drupal/sites/default/files
    • Quyền 755: chủ sở hữu toàn quyền, người khác chỉ đọc/thực thi.

    9. Script Bash Tự Động

    • Ví dụ:
  • #!/bin/bash set -e cd /home/iotdev/vn-ielts-test/web wget https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1-en.php echo "Download completed"
    • Tự động chuyển thư mục và tải tệp adminer.

    10. Thay Đổi Tên và Nội Dung Tệp

    • Đổi đuôi tệp
  • for file in *.php; do mv "$file" "${file%.php}.html"; done
    • Chuyển tất cả tệp .php thành .html.
    • Thay nội dung:
  • find . -type f -exec sed -i '' 's/\.php/\.html/g' {} +
    • Thay .php bằng .html trong nội dung tệp.

    11. Sử dụng chức năng Find trong nano

    sudo nano /đường/dẫn/đến/file

    • Nhấn Ctrl + W (Where Is) để kích hoạt chế độ tìm kiếm
    • Nhập chuỗi bạn muốn tìm (ví dụ: hello) và nhấn Enter.
    • nano sẽ đưa con trỏ đến vị trí đầu tiên của chuỗi được tìm thấy
    • Để tìm lần xuất hiện tiếp theo, nhấn Alt + W (hoặc Ctrl + W rồi Enter nếu không có thay đổi).

    12. Sử dụng chức năng Replace trong nano

    Để thay thế từng trường hợp một:

    • Nhấn Ctrl + \ (phím backslash) để vào chế độ thay thế.
    • Nhập chuỗi bạn muốn tìm (ví dụ: hello) và nhấn Enter.
    • Nhập chuỗi thay thế (ví dụ: world) và nhấn Enter.
    • nano sẽ hỏi bạn có muốn thay thế tại vị trí hiện tại không:
      • Nhấn Y (Yes) để thay thế.
      • Nhấn N (No) để bỏ qua và tìm vị trí tiếp theo.
      • Nhấn A (All) để thay thế tất cả các lần xuất hiện của chuỗi trong file mà không cần xác nhận từng cái một.

    Ví dụ:

    • File ban đầu: hello world hello universe
    • Nhấn Ctrl + \, nhập hello, rồi world2.
    • Chọn A → File trở thành: world2 world world2 universe.

    13. Thay thế hàng loạt bằng sed (nếu cần nhanh hơn)

    Nếu bạn muốn thay thế tất cả các lần xuất hiện của một chuỗi mà không cần mở nano, bạn có thể dùng lệnh sed từ terminal
    sudo sed -i 's/hello/world/g' /đường/dẫn/đến/file

    • -i: thay đổi trực tiếp trong file.
    • s/hello/world/g: thay thế tất cả hello bằng world.
    • Sau đó, bạn có thể mở file bằng sudo nano để kiểm tra kết quả.

Working Contact Form with Ajax & PHP

Get a functional and working contact form with Ajax & PHP in a few minutes. Just copy and paste the files, add a little code and you’re done.

Download Now