Linux 基础 - BASH

Bash(Bourne Again Shell)是 Linux 和其他类 Unix 系统上最常用的命令行解释器和脚本语言。以下是 Bash 的一些基础知识和常用技巧,帮助你高效地使用和编写 Bash 脚本。

Bash 基础命令

1. 文件和目录操作

  • ls:列出目录内容。

    ls
    ls -l      # 详细信息
    ls -a      # 显示隐藏文件
    
  • cd:切换目录。

    cd /path/to/directory
    cd ~       # 切换到用户主目录
    cd -       # 切换到前一个目录
    
  • pwd:显示当前工作目录。

    pwd
    
  • cp:复制文件或目录。

    cp source_file destination_file
    cp -r source_directory destination_directory   # 递归复制目录
    
  • mv:移动或重命名文件或目录。

    mv old_name new_name
    mv source_file target_directory
    
  • rm:删除文件或目录。

    rm file
    rm -r directory  # 递归删除目录
    
  • mkdir:创建目录。

    mkdir new_directory
    
  • rmdir:删除空目录。

    rmdir empty_directory
    

2. 文件查看

  • cat:连接并显示文件内容。

    cat file
    
  • less:分页查看文件内容。

    less file
    
  • head:显示文件开头的内容。

    head file
    head -n 10 file   # 显示前 10 行
    
  • tail:显示文件结尾的内容。

    tail file
    tail -n 10 file   # 显示最后 10 行
    

3. 重定向和管道

  • 重定向输出

    command > file    # 将输出写入文件(覆盖)
    command >> file   # 将输出追加到文件
    
  • 重定向输入

    command < file    # 从文件读取输入
    
  • 管道

    command1 | command2   # 将 command1 的输出作为 command2 的输入
    

4. 查找文件

  • find:查找文件和目录。

    find /path/to/search -name "filename"
    find /path/to/search -type d -name "directoryname"   # 查找目录
    find /path/to/search -type f -name "filename"        # 查找文件
    
  • grep:搜索文件中的内容。

    grep "search_term" file
    grep -r "search_term" /path/to/search   # 递归搜索
    

5. 文件权限

  • chmod:修改文件权限。

    chmod 644 file   # 赋予文件 rw-r--r-- 权限
    chmod +x script  # 赋予文件可执行权限
    
  • chown:修改文件所有者。

    chown user:group file
    

6. 压缩和解压缩

  • tar:归档文件。

    tar -cvf archive.tar file_or_directory   # 创建 tar 归档
    tar -xvf archive.tar                     # 解压 tar 归档
    tar -czvf archive.tar.gz file_or_directory   # 创建 gzip 压缩的 tar 归档
    tar -xzvf archive.tar.gz                     # 解压 gzip 压缩的 tar 归档
    
  • zipunzip:压缩和解压文件。

    zip archive.zip file_or_directory
    unzip archive.zip
    

Bash 脚本编写

1. 脚本基本结构

  • 创建一个脚本文件(例如 script.sh)并添加以下内容:

    #!/bin/bash
    # 脚本说明
    echo "Hello, World!"
    
  • 赋予脚本可执行权限:

    chmod +x script.sh
    
  • 运行脚本:

    ./script.sh
    

2. 变量

  • 定义变量:

    NAME="John"
    echo "Hello, $NAME"
    
  • 读取用户输入:

    echo "Enter your name:"
    read NAME
    echo "Hello, $NAME"
    

3. 条件判断

  • if 语句:

    if [ condition ]; then
        # 代码块
    elif [ condition ]; then
        # 代码块
    else
        # 代码块
    fi
    
  • 示例:

    if [ "$NAME" == "John" ]; then
        echo "Hello, John!"
    else
        echo "Hello, Stranger!"
    fi
    

4. 循环

  • for 循环:

    for i in {1..5}; do
        echo "Number $i"
    done
    
  • while 循环:

    COUNT=1
    while [ $COUNT -le 5 ]; do
        echo "Number $COUNT"
        ((COUNT++))
    done
    

5. 函数

  • 定义和调用函数:
    function greet {
        echo "Hello, $1"
    }
    
    greet "John"
    

6. 数组

  • 定义数组:

    NAMES=("Alice" "Bob" "Charlie")
    
  • 访问数组元素:

    echo ${NAMES[0]}   # 输出 Alice
    
  • 遍历数组:

    for NAME in "${NAMES[@]}"; do
        echo "Hello, $NAME"
    done
    

7. 常用快捷键

  • 命令行编辑

    • Ctrl + a:移到行首。
    • Ctrl + e:移到行尾。
    • Ctrl + k:删除从光标到行尾的内容。
    • Ctrl + u:删除从光标到行首的内容。
  • 命令历史

    • Ctrl + r:反向搜索命令历史。
    • !!:执行上一条命令。
    • !n:执行历史中的第 n 条命令。
    • !string:执行最后一个以 string 开头的命令。

掌握这些 Bash 的基础知识和技巧,可以帮助你高效地在 Linux 系统上操作和编写脚本。如果你有任何问题或需要进一步的指导,请随时告诉我。

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值