bao156

博客园 首页 新随笔 联系 订阅 管理

Linux命令是操作Linux系统的核心工具,涵盖文件管理、系统监控、网络配置等各类操作。
以下分类整理常用命令及示例:

基础命令

文件/目录操作

  • 切换目录 (cd=change directory)

cd /home/root # 进入指定绝对目录

cd ../ # 返回上一级目录 (最常用,比如从 /home/root 到 /home)

cd ./test # 进入当前目录下的test子目录

cd ~ # 回到当前用户的家目录 (root用户就是/root,普通用户是/home/xxx)

cd - # 快速回到上一次所在的目录 (超级实用)

  • 查看目录内容 (ls=list) 必带参数,记住这3个就够

ls # 查看当前目录下的文件/文件夹(不显示隐藏文件)

ls -l # 以列表形式查看,显示【权限、所有者、大小、修改时间】完整信息,简写 ll

ls -a # 显示所有文件,包含隐藏文件(Linux中.开头的是隐藏文件,比如.profile)

ls -lh # 人性化显示文件大小(KB/MB/GB),代替字节数,强烈推荐!

  • 创建/删除 (重中之重)

mkdir test # 创建文件夹 test

mkdir -p /opt/qt/test # 递归创建多级目录(上级目录不存在则自动创建,必用)

rm 1.txt # 删除文件 1.txt

rm -rf test # 删除文件夹test【递归强制删除】,最常用!r=递归删文件夹,f=强制不弹窗

rm -rf * # 删除当前目录下所有文件(慎用!嵌入式设备删错直接变砖)

  • 复制/移动/重命名 (cp=copy, mv=move)

cp 1.txt /opt/ # 复制文件1.txt到/opt目录下

cp -rf dir1 /opt/ # 复制文件夹dir1到/opt目录(r=递归,f=强制)

mv 1.txt 2.txt # 把文件1.txt 重命名为 2.txt

mv 1.txt /opt/ # 把文件1.txt 移动到/opt目录下

  • 查看文件内容 (开发调试核心,4个高频命令)

cat 1.txt # 一次性查看文件全部内容,适合小文件

more 1.txt # 分页查看大文件,按空格翻页,按q退出

less 1.txt # 比more好用,支持上下翻页+搜索,按q退出,适合日志文件

tail -f log.txt # 【实时查看日志】最最最常用!动态刷新文件末尾内容,看程序运行日志/串口日志必备,按Ctrl+C退出

  • 其他高频文件操作

pwd # 查看【当前所在的绝对路径】,嵌入式设备必用,防止迷路

touch 1.txt # 创建空文件 1.txt

du -lh # 查看当前目录下各文件/文件夹的大小,排查磁盘占用

文件权限

chmod 修改文件权限(如 chmod 755 script.sh
chown 修改文件所有者(chown user:group file
chgrp 修改文件所属组
umask 查看或设置默认权限掩码

系统信息管理

uname -a 显示内核和系统信息
hostname 查看或设置主机名
df -h 查看磁盘空间使用情况(人类可读格式)
du -sh dir 查看目录占用空间大小
free -h 查看内存使用情况
top / htop 实时查看系统进程和资源占用(htop 更友好)
ps aux 查看当前运行的进程
kill / killall 终止进程(如 kill -9 PID 强制终止)
uptime 查看系统运行时间和负载
who / w 查看当前登录用户

网络相关

ping 测试网络连通性
ifconfig / ip a 查看网络接口信息(ip a 是现代推荐方式)
netstat / ss 查看网络连接、端口监听等(ss 更快)
curl / wget 下载文件或测试 HTTP 请求
ssh 远程登录到其他主机
scp 安全复制文件(基于 SSH)
traceroute / mtr 路由跟踪

查找与文本处理

find 按条件查找文件(如 find / -name "*.log"
grep 在文件中搜索文本(如 grep "error" logfile
awk 强大的文本处理工具
sed 流编辑器,用于文本替换、删除等
sort 对文本行排序
uniq 去除重复行(通常配合 sort 使用)
wc 统计行数、字数、字符数(如 wc -l file

压缩与归档

tar -czvf archive.tar.gz dir/ 打包并压缩为 .tar.gz
tar -xzvf archive.tar.gz 解压 .tar.gz 文件
gzip / gunzip 压缩/解压 .gz 文件
zip / unzip 创建或解压 .zip 文件

其他命令

history 查看命令历史
alias 设置命令别名(如 alias ll='ls -l'
man 查看命令手册(如 man ls
which 查找命令所在路径
echo $PATH 查看环境变量 PATH
crontab -e 编辑定时任务

进阶命令

进程与性能分析

strace 跟踪进程的系统调用和信号(如 strace -p PID
lsof 列出打开的文件(包括网络连接、设备等),例如: lsof -i :80 查看占用 80 端口的进程
iotop 实时查看磁盘 I/O 使用情况(类似 top,但针对 I/O)
iostat 报告 CPU 和 I/O 统计信息(来自 sysstat 包)
vmstat 报告虚拟内存、进程、CPU 活动等
sar 收集、报告系统活动历史(需启用 sysstat 服务)
perf Linux 性能分析工具(采样 CPU、缓存、分支预测等)
dmesg 查看内核环形缓冲区日志(常用于硬件/驱动问题排查)

网络诊断

tcpdump 抓包分析网络流量(如 tcpdump -i eth0 port 80
tshark 命令行版 Wireshark,功能强大
nmap 网络扫描与端口探测(如 nmap -sV 192.168.1.1
ss -tulnp 查看监听端口及对应进程(比 netstat 更快)
arp -a 查看 ARP 缓存表
ip route show 查看路由表(替代 route 命令)
ethtool eth0 查询或设置网卡参数(如速率、双工模式)

文本处理(管道+正则)

`grep -E 'pattern1 pattern2'`
awk '{print $1,$3}' file 提取第1、3列;可做条件过滤、计算等
sed -i 's/old/new/g' file 直接修改文件内容(就地替换)
jq 解析和操作 JSON 数据(如 curl api
xargs 将标准输入转为命令参数(常用于批量处理) 例:`find . -name "*.log"
sort -k2 -n file 按第2列数值排序

系统与内核信息

lsblk 列出块设备(磁盘、分区)结构
blkid 查看设备 UUID 和文件系统类型
mount / findmnt 查看挂载点(findmnt 更清晰)
dmidecode 获取硬件信息(BIOS、内存、主板等,需 root)
lscpu 显示 CPU 架构信息
lsmod 列出已加载的内核模块
modinfo module_name 查看内核模块详细信息
journalctl 查看 systemd 日志(如 journalctl -u nginx

用户、权限与安全

sudo -l 查看当前用户可执行的 sudo 命令
visudo 安全编辑 /etc/sudoers 文件
getfacl / setfacl 查看/设置文件的 ACL(访问控制列表)
chattr +i file 设置不可变属性(即使 root 也无法删除/修改)
lsattr file 查看文件特殊属性
last / lastb 查看成功/失败的登录记录
fail2ban-client status 查看 fail2ban 封禁状态(若已安装)

定时任务与自动化

at 一次性定时任务(如 `echo "reboot"
systemctl list-timers 查看 systemd 定时器(现代替代 cron 的方式)
watch -n 2 'df -h' 每2秒执行一次命令(实时监控)

Shell脚本与调试技巧

set -x 在脚本中开启调试,打印每条执行的命令
trap 'cleanup' EXIT 捕获退出信号,执行清理函数
time command 测量命令执行时间
nohup command & 后台运行命令,且忽略挂断信号
disown 从 shell 作业表中移除后台任务
exec 替换当前 shell 进程(常用于重定向或启动新程序)

容器与虚拟化

docker ps -a 查看所有容器
podman 无守护进程的 Docker 替代品
systemd-nspawn 轻量级容器工具(systemd 自带)
virsh list 管理 KVM 虚拟机(需 libvirt
posted on 2026-01-06 09:54  大伊万莱拉  阅读(13)  评论(0)    收藏  举报