当前位置: 首页 > 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.dtcms.com/a/289125.html

相关文章:

  • 30天打牢数模基础-粒子群算法讲解
  • 详解Mysql索引合并
  • Jetpack - ViewModel、LiveData、DataBinding(数据绑定、双向数据绑定)
  • langchain调用本地ollama语言模型和嵌入模型
  • 梯度提升之原理
  • COGNEX康耐视IS5403-01智能相机加Navitar 18R00 LR1010WM52镜头
  • React 英语打地鼠游戏——一个寓教于乐的英语学习游戏
  • [Windows] Bili视频转图文笔记 v1.7.5
  • 网鼎杯2020青龙组notes复现
  • 7. 命令模式
  • Modbus Slave 使用教程:快速搭建模拟从站进行测试与开发
  • Ribbon轮询实现原理
  • Unity笔记——Unity 封装方法指南
  • day24——Java高级技术深度解析:单元测试、反射、注解与动态代理
  • [Python] -项目实战类3- 用Python制作一个记事本应用
  • CVE-2022-41128
  • Python数据处理库与语法总结
  • API获取及调用(以豆包为例实现图像分析)
  • FreeRTOS任务创建与删除
  • 掌握配置文件(三):运用Profile实现多环境配置隔离
  • 三级知识点汇总(详解)【c++】——3
  • 让不符合要求的任何电脑升级Windows11
  • 《通信原理》学习笔记——第五章
  • 开源安全大模型Foundation-Sec 8B的安全实践
  • 分享如何在保证画质的前提下缩小视频体积实用方案
  • 【记某次线上消息积压问题排查及解决方案】
  • 基于Pytorch的人脸识别程序
  • 基于FPGA实现ARINC818
  • Milvus Dify 学习笔记
  • Unity学习笔记(五)——3DRPG游戏(2)