Thành thạo Bash: Các lệnh thiết yếu, nền tảng scripting và kỹ thuật tự động hoá cho người dùng Linux

.## 1. Cơ bản về Bash

Bash Shell là gì?

Bash (Bourne Again Shell) là giao diện dòng lệnh được sử dụng phổ biến nhất trong các bản phân phối Linux. Công cụ đơn giản nhưng mạnh mẽ này cung cấp một nền tảng cho người dùng tương tác với hệ thống, cho phép họ thực hiện các nhiệm vụ cơ bản như thao tác tệp, thực thi chương trình và quản lý công việc.

Ưu điểm của Bash

  • Khả năng viết script mạnh mẽ : Bash cho phép người dùng tự động hoá các tác vụ phức tạp bằng các script shell.
  • Hỗ trợ rộng rãi : Nó được hỗ trợ trên hầu hết các hệ điều hành dựa trên Unix và các bản phân phối Linux.
  • Tùy biến cao : Với các alias và hàm shell, người dùng có thể tùy chỉnh môi trường để phù hợp với quy trình làm việc của mình.
    # Simple Bash command example
    echo "Hello, World!"
    

2. Các lệnh Bash thiết yếu

Các thao tác với tệp

Dưới đây là một số lệnh thao tác tệp được sử dụng thường xuyên trong Bash.

  • ls : Liệt kê nội dung của một thư mục.
  • cd : Thay đổi thư mục hiện tại.
  • cp : Sao chép tệp hoặc thư mục.
  • mv : Di chuyển hoặc đổi tên tệp.
  • rm : Xóa tệp.
    # Display directory contents in detail
    ls -l
    
    # Move to the home directory
    cd ~
    
    # Copy a file
    cp source.txt destination.txt
    
    # Move or rename a file
    mv old_name.txt new_name.txt
    
    # Delete a file
    rm unwanted_file.txt
    

Thông tin hệ thống và quản lý tiến trình

Các lệnh kiểm tra thông tin hệ thống và quản lý tiến trình cũng rất quan trọng.

  • ps : Hiển thị các tiến trình đang chạy.
  • top : Cho thấy danh sách tiến trình theo thời gian thực và tổng quan hệ thống.
  • kill : Gửi tín hiệu để kết thúc một tiến trình.
    # Display active processes
    ps aux
    
    # Show system overview and process list
    top
    
    # Terminate a process with ID 1234
    kill 1234
    

3. Viết script Bash

Cấu trúc cơ bản của script

Một script Bash là một tệp chứa nhiều lệnh. Bằng cách tạo script, người dùng có thể tự động hoá và thực thi một chuỗi các thao tác.

#!/bin/bash
# This line is called a shebang and specifies the shell used to interpret the script.

echo "Hello, World!"  # Display a string using the echo command

Sử dụng biến

Biến cho phép bạn lưu trữ dữ liệu và tái sử dụng chúng trong script của mình.

#!/bin/bash
message="Hello, Bash Scripting!"
echo $message

Câu lệnh điều kiện và vòng lặp

Sử dụng các câu lệnh điều kiện và vòng lặp để xử lý logic phức tạp và các nhiệm vụ lặp đi lặp lại.

#!/bin/bash
# Example of an if statement
if [ $1 -gt 100 ]
then
  echo "The number is greater than 100."
else
  echo "The number is 100 or less."
fi

# Example of a for loop
for i in 1 2 3 4 5
do
  echo "Looping ... number $i"
done

4. Tự động hoá công việc với Bash

Tổng quan về tự động hoá công việc

Script Bash cho phép tự động hoá các nhiệm vụ lặp lại một cách hiệu quả. Dù là thực hiện sao lưu hệ thống, đồng bộ dữ liệu, hay tạo báo cáo, Bash giảm bớt gánh nặng quản trị hệ thống.

Script sao lưu tự động

Script dưới đây thực hiện sao lưu định kỳ cho một thư mục được chỉ định nhằm bảo vệ dữ liệu hàng ngày.

#!/bin/bash
SRC_DIR="/home/user/documents"
DST_DIR="/backup/documents"
DATE=$(date +%Y%m%d)

# Create backup directory if it does not exist
if [ ! -d "$DST_DIR" ]; then
  mkdir -p "$DST_DIR"
fi

# Compress and back up directory contents
tar -czf "$DST_DIR/backup_$DATE.tar.gz" -C "$SRC_DIR" .
echo "Backup completed successfully."

Chạy script tự động với cron

Sử dụng cron để chạy script sao lưu mỗi ngày vào lúc 2:00 sáng.

0 2 * * * /path/to/backup.sh

Xử lý lỗi và thông báo

Script này bao gồm cơ chế xử lý lỗi và thông báo cho quản trị viên nếu có vấn đề xảy ra trong quá trình sao lưu.

#!/bin/bash
SRC_DIR="/home/user/documents"
DST_DIR="/backup/documents"
LOG_FILE="/var/log/backup.log"
DATE=$(date +%Y%m%d)

if [ ! -d "$DST_DIR" ]; then
  mkdir -p "$DST_DIR"
fi

if tar -czf "$DST_DIR/backup_$DATE.tar.gz" -C "$SRC_DIR" .; then
  echo "Sao lưu thành công vào ngày $DATE" >> $LOG_FILE
else
  echo "Sao lưu thất bại vào ngày $DATE" | mail -s "Thất bại Sao lưu" admin@example.com
fi

5. Troubleshooting and Common Errors

Understanding and Resolving Bash Errors

It is common for errors to occur when executing Bash scripts. Here are some frequent errors and how to resolve them.

Command Not Found Error

This occurs when the command you are trying to run is not installed or the path is not configured correctly.

lệnh không tìm thấy
  • Solution : Ensure the command is installed and verify that the $PATH environment variable is properly configured.

Permission Error

This error occurs when you lack the necessary permissions to access a file or directory.

Quyền truy cập bị từ chối
  • Solution : Run the command with a user who has the required permissions, or modify permissions using chmod or chown .

Syntax Error

This error occurs when the script contains improperly formatted code.

lỗi cú pháp: kết thúc tệp bất ngờ
  • Solution : Carefully review the script and correct any syntax issues.

File Not Found Error

This error occurs when a specified file does not exist.

Không có tệp hoặc thư mục như vậy
  • Solution : Verify the path and ensure the file exists.

Using Debugging Tools

The set -x command is useful when debugging Bash scripts. It displays each step as the script executes, making it easier to identify the cause of an error.

set -x  # Bật gỡ lỗi kịch bản