服务器测评网
我们一直在努力

linux 命令 bash

Linux 系统作为服务器开发和运维的核心工具,其命令行界面(CLI)是高效操作的关键,而 Bash(Bourne Again Shell)作为 Linux 最默认的 Shell 环境,不仅是用户与系统交互的桥梁,更是自动化任务和脚本编程的基础,掌握 Bash 与 Linux 命令,意味着掌握了系统管理的“钥匙”,无论是日常文件操作、系统监控,还是复杂任务自动化,都能游刃有余。

linux 命令 bash

Bash 基础:交互式与非交互式环境

Bash 是 GNU 项目对 Bourne Shell 的改进,既支持交互式命令输入,也支持脚本执行,在交互模式下,用户通过终端输入命令,Bash 解释并执行后返回结果;非交互模式则常用于脚本执行,例如通过 bash script.sh 运行脚本。

启动 Bash 后,首先会加载配置文件:交互式登录 Shell 依次读取 /etc/profile~/.bash_profile~/.bash_login~/.profile;非登录 Shell 则读取 ~/.bashrc,这些文件中可以定义环境变量(如 PATH 指定命令搜索路径)、别名(如 alias ll='ls -l' 简化常用命令)或函数,提升操作效率。

基础操作中,Tab 键是 Bash 的“利器”:输入命令或文件名前按 Tab 可自动补全,避免手动输入错误;连续按两次 Tab 则列出所有匹配选项。Ctrl+C 可终止当前命令,Ctrl+D 退出 Shell,Ctrl+L 清屏,这些快捷键是日常操作的必备技能。

核心命令:文件与目录管理

Linux 中一切皆文件,掌握文件操作命令是使用 Bash 的第一步。

  • ls:列出文件与目录
    ls 是最常用的命令之一,配合选项可灵活显示内容:ls -l 以长格式显示(包含权限、所有者、大小、修改时间等),ls -a 显示隐藏文件(以 开头的文件),ls -h 以人类可读格式显示大小(如 KMG)。ls -la ~/Documents 可查看用户主目录下 Documents 文件夹的详细内容,包括隐藏文件。

  • cd:切换目录
    cd(change directory)用于在不同目录间跳转:cd ~cd 回到用户主目录,cd .. 返回上级目录,cd - 在上次目录和当前目录间切换,从 /home/user 切换到 /var/log 后,cd - 会回到 /home/user

  • cpmvrm:复制、移动与删除
    cp 复制文件或目录:cp file1 file2 复制文件,cp -r dir1 dir2 递归复制目录(需 -r 选项);mv 移动文件或目录,也可用于重命名(如 mv oldname newname);rm 删除文件,rm -r 递归删除目录,rm -f 强制删除(不提示确认),需注意,rm 删除的文件无法直接恢复,操作时需谨慎。

  • mkdirrmdir:创建与删除空目录
    mkdir 创建目录:mkdir newdir 创建单层目录,mkdir -p parent/child 递归创建多级目录(若父目录不存在则自动创建);rmdir 仅能删除空目录,删除非空目录需用 rm -r

    linux 命令 bash

文本处理:从查看内容到流编辑

Linux 中文本处理是核心任务之一,Bash 提供了一系列强大的命令,支持对文本的查看、搜索、编辑和转换。

  • catlessmore:查看文件内容
    cat 一次性显示整个文件内容(适合短文件),如 cat /etc/passwd 查看 Linux 用户信息;less 分页显示(支持上下滚动、搜索,按 q 退出),适合大文件;moreless 的简化版,仅支持向前分页。

  • grep:文本搜索
    grep 使用正则表达式搜索文本,支持全局匹配(-i 忽略大小写)、显示行号(-n)、递归搜索目录(-r)。grep -r "error" /var/log 在日志目录中搜索包含 “error” 的行,grep -i "linux" README.md 不区分大小写查找 README.md 中的 “linux”。

  • sed:流编辑器
    sed 可对文本进行编辑(替换、删除、插入等),但默认不修改原文件,仅输出处理结果。sed 's/old/new/g' file.txt 将文件中所有 “old” 替换为 “new”,sed -i 's/^#//g' config.txt 直接修改文件(-i 选项),删除行首的 注释。

  • awk:文本分析工具
    awk 基于字段和行处理文本,支持自定义逻辑。awk '{print $1, $3}' file.txt 输出每行的第 1 和第 3 字段(默认以空格分隔),awk -F: '{print $1}' /etc/passwd 以 为分隔符,输出用户名列表。

系统管理:监控与控制进程

作为系统管理员,掌握进程管理和系统监控命令是保障系统稳定运行的关键。

  • pstop:查看进程
    ps 查看当前进程,ps aux 显示所有进程详细信息(包括用户、CPU 占用、内存占用等),ps -ef 以完整格式显示进程树;top 动态实时监控进程,按 q 退出,P 按 CPU 占用排序,M 按内存占用排序。

  • killpkill:终止进程
    kill 通过进程 ID(PID)终止进程,如 kill 1234 终止 PID 为 1234 的进程;kill -9 1234 强制终止(无法忽略);pkill 通过进程名终止,如 pkill nginx 终止所有 nginx 进程。

    linux 命令 bash

  • dfdu:磁盘使用情况
    df 查看磁盘分区使用情况,df -h 以人类可读格式显示(如 50G100M),默认显示所有挂载点;du 查看目录或文件大小,du -sh * 显示当前目录下各文件/目录的总大小(-s 仅显示总计,-h 格式化)。

Bash 进阶:脚本编程与自动化

Bash 脚本是将命令序列组织为可执行文件,实现任务自动化的核心工具,一个简单脚本示例:

#!/bin/bash
# 这是一个备份脚本
src_dir=/home/user/documents
dest_dir=/backup
timestamp=$(date +%Y%m%d)
tar -czf $dest_dir/backup_$timestamp.tar.gz $src_dir
echo "Backup completed: $dest_dir/backup_$timestamp.tar.gz"

脚本首行 #!/bin/bash 指定解释器, 开头为注释,变量通过 name=value 定义(无需 ),使用时加 (如 $src_dir);$(command) 是命令替换,执行命令并返回结果(如 date 命令的输出)。

流程控制是脚本的核心:if 条件判断(如 if [ -f $file ]; then echo "File exists"; fi)、for 循环(如 for i in {1..5}; do echo $i; done)、while 循环(如 while read line; do echo $line; done < file.txt),函数可通过 function_name() { commands; } 定义,通过 function_name 调用,实现代码复用。

学习路径:从入门到精通

掌握 Bash 与 Linux 命令需循序渐进:

  1. 基础命令实践:每天练习 5-10 个常用命令(如 lscdgrep),通过 man 命令查看帮助(如 man grep);
  2. 脚本编写入门:从简单脚本(如文件备份、批量重命名)开始,逐步学习变量、循环、函数;
  3. 系统管理实战:通过虚拟机搭建实验环境,练习进程管理、日志分析、服务配置;
  4. 高级特性探索:学习 Bash 的数组、正则表达式、信号处理,以及 curlssh 等网络工具的整合使用。

Bash 的强大在于其灵活性和可扩展性,它不仅是命令行工具,更是连接系统与用户的纽带,唯有通过持续实践,才能真正理解其精髓,让 Linux 系统管理高效而自如。

赞(0)
未经允许不得转载:好主机测评网 » linux 命令 bash