Linux Bash命令大全:从基础到进阶的实用指南
1. Linux Bash 常用操作命令概述作为一个在Linux系统下工作多年的开发者我深刻体会到掌握Bash命令的重要性。Bash(Bourne-Again SHell)是大多数Linux发行版的默认shell它不仅是用户与操作系统交互的界面更是自动化任务的强大工具。Bash命令可以分为几个主要类别文件与目录操作文本处理系统监控进程管理网络操作权限管理2. 基础文件与目录操作命令2.1 目录导航与查看pwd命令是最基础的命令之一它显示当前工作目录的完整路径。这个命令看似简单但在复杂的目录结构中工作时特别有用。$ pwd /home/username/projectsls命令用于列出目录内容它有多个常用选项-l长格式显示包含权限、所有者、大小等信息-a显示所有文件包括隐藏文件(以.开头的文件)-h以人类可读的格式显示文件大小$ ls -lah total 12K drwxr-xr-x 3 username username 4.0K Mar 15 10:00 . drwxr-xr-x 18 username username 4.0K Mar 14 09:00 .. -rw-r--r-- 1 username username 220 Mar 15 09:30 .bashrccd命令用于切换目录有几个特殊符号需要记住..上级目录~用户主目录-前一个工作目录2.2 文件操作touch命令用于创建空文件或更新文件时间戳$ touch newfile.txtcp命令复制文件-r选项用于递归复制目录$ cp file1.txt file2.txt $ cp -r dir1 dir2mv命令用于移动或重命名文件$ mv oldname.txt newname.txt $ mv file.txt /target/directory/rm命令删除文件-r选项删除目录及其内容使用时需特别小心$ rm file.txt $ rm -r directory/警告rm -rf /这样的命令会删除系统所有文件绝对不要尝试3. 文本处理与查看命令3.1 查看文件内容cat命令是最简单的查看文件内容的方式$ cat file.txtless和more命令更适合查看大文件支持分页浏览$ less largefile.loghead和tail命令分别显示文件开头和结尾部分默认显示10行$ head -n 20 file.log # 显示前20行 $ tail -f app.log # 实时跟踪日志文件变化3.2 文本搜索与处理grep是强大的文本搜索工具常用选项-i忽略大小写-v反向匹配-r递归搜索目录$ grep error *.log $ grep -r function_name /path/to/code/awk是强大的文本处理工具可以提取和处理列数据$ awk {print $1} data.txt # 打印第一列 $ awk -F, {print $2} csvfile.csv # 以逗号分隔打印第二列sed是流编辑器常用于文本替换$ sed s/old/new/g file.txt # 全局替换 $ sed -i.bak s/old/new/ file.txt # 直接修改文件并创建备份4. 系统监控与进程管理4.1 系统资源监控top命令提供实时系统监控显示CPU、内存使用情况和运行中的进程$ tophtop是top的增强版提供更友好的界面和更多功能$ htopfree命令显示内存使用情况-h选项以人类可读格式显示$ free -h total used free shared buff/cache available Mem: 15Gi 4.2Gi 8.4Gi 512Mi 2.8Gi 10Gi Swap: 2.0Gi 0.0Ki 2.0Gidf命令显示磁盘空间使用情况$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 100G 30G 70G 30% /4.2 进程管理ps命令显示当前进程状态常用组合$ ps aux # 显示所有用户的所有进程kill命令用于终止进程常用信号SIGTERM(15)正常终止(默认)SIGKILL(9)强制终止$ kill 1234 # 发送SIGTERM $ kill -9 1234 # 发送SIGKILLnohup命令让进程在用户退出后继续运行$ nohup ./long_running_script.sh 5. 网络相关命令5.1 网络连接与测试ping命令测试网络连通性$ ping google.comcurl和wget用于从网络下载内容$ curl -O https://example.com/file.zip $ wget https://example.com/file.zipnetstat或ss命令显示网络连接信息$ netstat -tulnp # 显示监听端口和对应进程 $ ss -tulnp # 更现代的替代方案5.2 SSH相关命令SSH是远程管理Linux系统的标准工具$ ssh usernameremote_hostSCP命令通过SSH安全地复制文件$ scp local_file usernameremote_host:/remote/directory/ $ scp usernameremote_host:/remote/file /local/directory/6. 权限与用户管理6.1 文件权限chmod命令修改文件权限可以使用数字或符号模式$ chmod 755 script.sh # 所有者rwx组和其他rx $ chmod x script.sh # 添加执行权限chown命令修改文件所有者$ chown username:group file.txt6.2 用户与组管理sudo命令以超级用户权限执行命令$ sudo apt updateuseradd和usermod管理用户账户$ sudo useradd newuser $ sudo usermod -aG sudo newuser # 添加到sudo组passwd命令修改用户密码$ passwd # 修改当前用户密码 $ sudo passwd username # 修改其他用户密码7. 实用技巧与组合命令7.1 命令组合与管道管道(|)是Bash最强大的特性之一它允许将一个命令的输出作为另一个命令的输入$ ps aux | grep python # 查找所有Python进程 $ cat access.log | awk {print $1} | sort | uniq -c | sort -nr # 统计访问日志IP出现次数7.2 后台与作业控制符号让命令在后台运行$ long_running_command jobs查看后台作业fg和bg控制作业前后台切换$ jobs $ fg %1 # 将作业1切换到前台 $ bg %2 # 将作业2切换到后台7.3 命令历史与快捷操作history命令查看命令历史$ history | grep ssh # 查找过去使用过的ssh命令快捷键CtrlR反向搜索命令历史CtrlA/CtrlE移动到行首/行尾CtrlU/CtrlK删除到行首/行尾8. 常见问题排查与调试8.1 命令执行问题当命令执行失败时检查以下几点命令是否存在which command是否有执行权限ls -l /path/to/command环境变量是否正确echo $PATH8.2 脚本调试技巧在脚本开头添加set -x启用调试模式#!/bin/bash set -x # 脚本内容检查命令退出状态$ some_command $ echo $? # 0表示成功非0表示失败8.3 日志分析技巧分析日志文件时常用组合$ grep ERROR app.log | awk {print $5} | sort | uniq -c | sort -nr # 统计错误类型 $ tail -n 100 app.log | grep -A 10 -B 10 critical # 查看关键错误上下文9. 进阶命令与脚本编写9.1 正则表达式应用grep支持基本正则表达式(BRE)和扩展正则表达式(ERE)$ grep -E [0-9]{3}-[0-9]{4} contacts.txt # 查找电话号码9.2 变量与条件判断Bash脚本中的变量使用#!/bin/bash nameJohn echo Hello, $name条件判断示例if [ -f /path/to/file ]; then echo File exists elif [ -d /path/to/dir ]; then echo Directory exists else echo Neither exists fi9.3 循环结构for循环示例for file in *.txt; do echo Processing $file # 处理每个txt文件 donewhile循环示例while read line; do echo Line: $line done input.txt10. 实用命令组合示例10.1 批量重命名文件for file in *.jpg; do mv $file vacation_${file} done10.2 查找并删除旧文件find /path/to/files -type f -mtime 30 -name *.log -exec rm {} \;10.3 监控目录变化while inotifywait -r -e modify,create,delete /path/to/watch; do echo Directory changed, running build... # 执行构建命令 done掌握这些Bash命令和技巧可以显著提高在Linux环境下的工作效率。建议从基础命令开始逐步尝试更复杂的组合和脚本编写。在实际工作中将这些命令组合使用往往能解决大多数日常任务。

相关新闻

3步搞定:让Xbox控制器在macOS上获得专业级游戏体验的终极指南

3步搞定:让Xbox控制器在macOS上获得专业级游戏体验的终极指南

3步搞定:让Xbox控制器在macOS上获得专业级游戏体验的终极指南 【免费下载链接】360Controller TattieBogle Xbox 360 Driver (with improvements) 项目地址: https://gitcode.com/gh_mirrors/36/360Controller 你是否曾经尝试在macOS上使用Xbox控制器&#x…

2026/7/16 16:13:49阅读更多 →
C++常量、指针与动态内存管理:核心概念与实战指南

C++常量、指针与动态内存管理:核心概念与实战指南

C编程中的常量、指针、new和delete运算符是每个开发者必须掌握的核心概念。这些基础知识点直接影响程序的内存管理效率、安全性和性能表现。今天我们来深入探讨这些关键技术的实际应用和常见陷阱。 对于C开发者来说,理解常量与指针的关系、掌握动态内存管理的正确方…

2026/7/16 16:13:49阅读更多 →
如何高效整合TradingView图表库:跨框架金融图表开发实战指南

如何高效整合TradingView图表库:跨框架金融图表开发实战指南

如何高效整合TradingView图表库:跨框架金融图表开发实战指南 【免费下载链接】charting-library-examples Examples of Charting Library integrations with other libraries, frameworks and data transports 项目地址: https://gitcode.com/gh_mirrors/ch/chart…

2026/7/16 16:08:49阅读更多 →
Linux远程桌面优化:XRDP+XFCE配置指南

Linux远程桌面优化:XRDP+XFCE配置指南

1. 为什么选择XRDPXFCE组合?在Linux系统中实现远程桌面访问有多种方案,XRDPXFCE的组合之所以成为经典配置,主要基于以下几个技术考量:首先,XRDP作为开源的RDP协议服务端,完美兼容Windows自带的远程桌面客户…

2026/7/17 19:14:21阅读更多 →
解决Windows 11下Codex沙箱访问WindowsApps目录权限问题

解决Windows 11下Codex沙箱访问WindowsApps目录权限问题

1. 问题现象与背景分析 最近在Windows 11环境下使用Codex时遇到了一个棘手问题:系统自动更新后,沙箱功能突然报错,提示无法访问C:\Program Files\WindowsApps目录。这个目录是Windows Store应用的安装位置,默认具有严格的访问权限…

2026/7/17 19:14:21阅读更多 →
计算机毕业设计之基于Springboot的学业帮扶系统的设计与实现

计算机毕业设计之基于Springboot的学业帮扶系统的设计与实现

摘要本研究聚焦高等教育质量提升背景下学业帮扶模式的数字化转型,设计并实现了一套基于Java语言、SpringBoot框架、Vue前端技术及MySQL数据库的学业帮扶系统。针对传统学业帮扶存在的覆盖面窄、时效性差、精准度低等问题,系统采用微服务架构设计&#xf…

2026/7/17 19:14:21阅读更多 →
小程序毕业设计-宠物医院服务小程序的设计与实现 基于 SpringBoot + 微信小程序的宠物医疗预约管理小程序(源码+LW+部署文档+全bao+远程调试+代码讲解等)

小程序毕业设计-宠物医院服务小程序的设计与实现 基于 SpringBoot + 微信小程序的宠物医疗预约管理小程序(源码+LW+部署文档+全bao+远程调试+代码讲解等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/17 19:14:21阅读更多 →
小程序毕业设计-猫咖宠物小店服务小程序的设计与实现 基于 SpringBoot + 微信小程序的猫咖预约消费小程序(源码+LW+部署文档+全bao+远程调试+代码讲解等)

小程序毕业设计-猫咖宠物小店服务小程序的设计与实现 基于 SpringBoot + 微信小程序的猫咖预约消费小程序(源码+LW+部署文档+全bao+远程调试+代码讲解等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/17 19:14:21阅读更多 →
Mac平台SSH工具与免密登录配置指南

Mac平台SSH工具与免密登录配置指南

1. Mac上替代Xshell和Xftp的工具选择作为一名长期在Mac环境下工作的运维工程师,我深刻理解Windows用户转向Mac平台时面临的工具适配问题。Xshell和Xftp作为Windows平台经典的SSH和FTP工具,在Mac上确实没有官方版本。但经过多年实践,我发现Mac…

2026/7/17 19:09:21阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/17 10:42:55阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/17 8:31:03阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/17 13:22:23阅读更多 →
VS Code 高效配置与个性化定制全攻略

VS Code 高效配置与个性化定制全攻略

1. VS Code 高效配置基础作为一款轻量级但功能强大的代码编辑器,VS Code 的默认配置已经能满足基本需求,但通过合理调整设置可以大幅提升编码效率。我使用 VS Code 已经有五年多时间,期间尝试过各种配置方案,总结出这套适合大多数…

2026/7/17 0:00:01阅读更多 →
从竞赛代码到桌面工具:让 SuperADD 与 SubspaceAD 真正跑进自己的图像

从竞赛代码到桌面工具:让 SuperADD 与 SubspaceAD 真正跑进自己的图像

在异常检测领域,很多优秀算法最初都是以研究代码的形式发布的。它们能够在固定测试集上复现实验结果,却不一定能被普通用户直接拿来测试自己的图片。尤其是最近很多算法仅提供在固定测试集的测试环境,而gradio的demo演示也不会提供。 对工程应用和在自己的图片上进行测试来…

2026/7/17 0:00:01阅读更多 →
WinRAR高效配置指南:从基础安装到高级压缩实战

WinRAR高效配置指南:从基础安装到高级压缩实战

前几天帮同事处理一个客户发来的压缩包,解压时系统自带的工具弹出一串乱码,换用 WinRAR 却顺利打开了。这种看似简单的场景,恰恰暴露了不同压缩工具在处理非标准编码、分卷压缩或加密文件时的差异。WinRAR 作为一款老牌工具,真正价…

2026/7/17 0:00:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/16 20:13:14阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/17 13:22:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/17 17:26:50阅读更多 →