当前位置: 首页 > news >正文

30个常用的Linux命令汇总和实战场景示例

下面汇总常用的 30 个常用的 Linux 命令,每个都附有简要说明和典型示例,适合日常开发、服务器维护或系统学习使用。


30 个常用的 Linux 命令汇总

一、文件与目录操作(基础)

命令说明示例
ls列出文件和目录ls -l 显示详细信息
cd切换目录cd /home/user
pwd显示当前路径pwd
mkdir创建目录mkdir mydir
rm删除文件或目录rm file.txt, rm -r mydir
cp复制文件或目录cp a.txt b.txt, cp -r dir1 dir2
mv移动/重命名文件mv a.txt b.txt, mv olddir newdir
touch创建空文件touch newfile.txt
cat查看文件内容cat file.txt
tree树状显示目录结构(需安装)tree /etc

二、文件内容查看与搜索

命令说明示例
less分页查看文件less file.txt(用空格翻页)
head查看前几行head -n 10 file.txt
tail查看末尾内容tail -n 20 file.txt, tail -f log.txt 实时追踪日志
grep关键词搜索grep 'error' log.txt,配合 -r 可递归查找
find查找文件find / -name "*.log"
wc统计字数、行数等wc -l file.txt

三、权限与所有权

命令说明示例
chmod修改权限chmod +x script.shchmod 755 file
chown更改所有者chown user:user file.txt

四、系统管理与进程

命令说明示例
ps查看当前进程ps aux, ps -ef
top / htop实时系统资源监控top, htop(需安装,界面更友好)
kill终止进程kill 1234kill -9 1234
df查看磁盘空间df -h(-h: 人类可读)
du查看目录空间du -sh *
free查看内存使用free -h
uptime查看系统运行时间uptime

五、网络命令

命令说明示例
ping测试网络连通性ping www.google.com
curl发送 HTTP 请求curl https://example.com
wget下载文件wget http://example.com/file.zip
netstat / ss查看端口与连接ss -tuln 替代 netstat -tuln
ip查看和配置网络ip addr, ip route
scp远程复制文件scp file user@host:/path
ssh远程登录ssh user@ip_address

六、软件包管理(以 Ubuntu 为例)

命令说明示例
apt update更新软件包索引sudo apt update
apt install安装软件sudo apt install git
apt remove卸载软件sudo apt remove vim

七、其他常用技巧

命令说明示例
alias设置命令别名alias ll='ls -l'
history查看命令历史`historygrep ssh`
man查看帮助文档man grep
echo输出或写入内容echo "Hello" > a.txt
date查看当前时间date '+%Y-%m-%d %H:%M:%S'

开发环境配置日志排查 两个典型场景示例

一、开发环境配置常用命令(系统准备 + 软件管理)

1. 安装/升级常用工具

sudo apt update && sudo apt upgrade -y        # 更新系统(Ubuntu/Debian)
sudo apt install build-essential git vim curl # 安装构建工具和常用工具

2. 安装编程语言(以 Python/C++/Node.js 为例)

sudo apt install python3 python3-pip           # 安装 Python
sudo apt install g++ cmake                     # 安装 C++ 编译环境
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs                     # 安装 Node.js

3. 虚拟环境管理(Python)

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt                # 安装依赖

4. 配置环境变量(适用于 bash/zsh)

export PATH=$HOME/mybin:$PATH
echo 'export PATH=$HOME/mybin:$PATH' >> ~/.bashrc
source ~/.bashrc

二、项目目录管理与版本控制

git clone https://github.com/xxx/your-project.git
cd your-project
git status
git log --oneline

快速查看最近的修改内容:

git diff HEAD~1 HEAD

三、日志排查常用命令(系统日志 / 应用日志)

1. 快速查看日志文件内容

tail -n 50 /var/log/syslog                     # 查看最后 50 行系统日志
tail -f /var/log/nginx/error.log               # 实时追踪 Nginx 错误日志
less /var/log/myapp.log                        # 分页查看应用日志

2. 搜索特定关键词或错误

grep -i 'error' /var/log/myapp.log             # 忽略大小写查找 error
grep -C 5 'Exception' app.log                  # 包含上下文5行

结合 journalctl(适用于 systemd 系统):

journalctl -u nginx                            # 查看 nginx 服务日志
journalctl -xe                                  # 查看系统错误信息
journalctl -u myapp.service --since today       # 查看应用今天的日志

四、排查端口 / 服务是否正常运行

ps -ef | grep myapp                            # 查找进程
lsof -i :8080                                  # 查看 8080 端口占用情况
ss -tuln | grep 8000                           # 确认监听的服务
curl -I http://localhost:8000                  # 检查 HTTP 服务响应

五、常用服务管理命令(systemd)

sudo systemctl status myapp.service            # 查看服务状态
sudo systemctl restart myapp.service           # 重启服务
sudo systemctl enable myapp.service            # 设置开机启动

六、清理与排障辅助命令

df -h                                          # 查看磁盘空间
du -sh * | sort -h                             # 查看当前目录下各项大小
free -h                                        # 查看内存
dmesg | tail                                   # 查看内核级错误信息

七、完整日志排查脚本示例

#!/bin/bash
echo "------ 最近系统错误日志 ------"
journalctl -p err -n 20echo "------ 当前内存状态 ------"
free -hecho "------ 当前磁盘使用 ------"
df -hecho "------ 我的应用日志(最近50行)------"
tail -n 50 /var/log/myapp.log

推荐工具

工具名用途
htop动态查看进程状态(比 top 更友好)
ncdu分析磁盘占用(图形界面)
btop高性能资源监控工具
ngrep类似 tcpdump 的网络包过滤工具
strace跟踪程序的系统调用(适用于调试崩溃)

http://www.lryc.cn/news/593936.html

相关文章:

  • 使用 Pyecharts 绘制精美饼状图:从基础到高级技巧
  • nginx定期清理日志
  • Node.js:函数、路由、全局对象
  • 数据并表技术全面指南:从基础JOIN到分布式数据融合
  • 分布式文件系统04-DataNode海量数据分布式高可靠存储
  • ZooKeeper学习专栏(一):分布式协调的核心基石
  • 【橘子分布式】gRPC(编程篇-下)
  • C++STL系列之list
  • ABP VNext + Grafana Loki:集中式日志聚合
  • 【Django】DRF API版本和解析器
  • Kubernetes (K8S)知识详解
  • 基于bert-lstm对微博评论的情感分析系统设计与实现
  • JVM-Java
  • Web服务压力测试工具hey学习一:使用方法
  • Django ORM系统
  • PyQt5—QColorDialog 学习笔记
  • 7-20 关于mysql
  • 【企业架构】TOGAF概念之一
  • 基于SHAP的特征重要性排序与分布式影响力可视化分析
  • Shell脚本-cut工具
  • 零基础学习性能测试第一章-理解程序运行原理,需要什么资源
  • 第十四届全国大学生数学竞赛初赛试题(非数学专业类)
  • CSS 单位完全指南:掌握 em、rem、vh、vw 等响应式布局核心单位
  • gradle微服务依赖模版
  • PHPStorm携手ThinkPHP8:开启高效开发之旅
  • 用 Jetpack Compose 写 Android 的 “Hello World”
  • RCE随笔(1)
  • RK3588 安卓adb操作
  • C++ - 仿 RabbitMQ 实现消息队列--服务端核心模块实现(一)
  • RK3588 编译 Android 13 镜像方法