一、文件与目录操作核心命令详解
1. ls – 目录内容查看
ls -l # 详细模式(权限/所有者/大小)
ls -a # 显示隐藏文件(包括.和..)
ls -lh # 人性化显示文件大小(KB/MB/GB)
核心选项:
– -l:长格式显示详细信息
– -a:显示所有文件(含隐藏文件)
– -R:递归列出子目录内容
– -t:按修改时间排序(最新优先)[1,4](@ref)
2. cd – 目录切换
cd ~ # 返回用户家目录
cd .. # 返回上级目录
cd /var/log # 绝对路径切换
特殊用法:
– `cd -`:返回上次所在目录
– `cd`:等效于`cd ~`[6,7](@ref)
3. pwd – 显示当前路径
pwd # 输出绝对路径如 /home/user
pwd -P # 显示物理路径(排除符号链接)
4. cp – 文件/目录复制
cp file1 file2 # 基础复制
cp -r dir1 dir2 # 递归复制目录
cp -i *.txt backup # 覆盖前提示确认
关键选项:
– -r:递归复制目录
– -i:覆盖前交互确认
– -p:保留文件属性(时间/权限)[9,10](@ref)
5. mv – 移动/重命名
mv old.txt new.txt # 重命名文件
mv file /tmp/ # 移动文件到指定目录
mv -f data.log logs/ # 强制覆盖不提示
重要选项:
– -f:强制操作不提示
– -u:仅移动较新文件
– -v:显示操作过程[12,14](@ref)
6. rm – 文件/目录删除
rm file # 删除单个文件
rm -rf dir # 强制递归删除目录
rm -i *.tmp # 删除前逐一确认
危险选项:
– -r:递归删除目录
– -f:强制删除不提示(慎用!)
– -v:显示删除详情[15,17](@ref)
7. mkdir – 目录创建
mkdir project # 创建单层目录
mkdir -p app/{src,logs} # 递归创建多级目录
mkdir -m 750 private # 指定目录权限
核心选项:
– -p:自动创建父目录
– -m:设置权限(如750)
– -v:显示创建过程[21,22](@ref)
8. touch – 文件创建/时间修改
touch newfile # 创建空文件
touch -t 202501010000 file # 设置时间戳
touch -r ref.txt target.txt # 同步参考文件时间
常用选项:
– -a:仅修改访问时间
– -m:仅修改修改时间
– -t:自定义时间格式[23,25](@ref)
9. find – 文件搜索
find /var -name "*.log" # 按名称搜索
find . -size +100M # 查找超过100MB的文件
find /tmp -mtime -7 # 查找7天内修改的文件
高级选项:
– -type:按文件类型过滤(f/d/l)
– -exec:对结果执行命令(如删除)
– -maxdepth:限制搜索深度[18,20](@ref)
10. ln – 创建文件链接
ln -s /opt/app/bin app_bin # 创建符号链接
ln file1 file2_hardlink # 创建硬链接
区别说明:
– 硬链接:共享inode,不可跨文件系统
– 软链接:独立inode,可跨文件系统[26,28](@ref)
11. tar – 文件打包压缩
tar czvf backup.tar.gz dir/ # 创建gzip压缩包
tar xzvf backup.tar.gz -C /restore # 解压到指定目录
tar tf archive.tar # 查看包内文件列表
常用参数:
– c:创建压缩包
– x:解压文件
– z:使用gzip压缩
– v:显示操作过程[29,31](@ref)
12. tree – 目录树形展示
tree # 显示当前目录结构
tree -L 2 # 限制显示层级深度
tree -d # 仅显示目录
实用选项:
– -a:显示隐藏文件
– -I:过滤指定模式文件
– -o:输出结果到文件
安全提示:
1. 执行删除命令前先用ls确认路径[17](@ref)
2. 修改系统目录时建议搭配sudo提权[15](@ref)
3. 使用find的-exec参数时需测试命令安全性[20](@ref)
二、Linux系统监控核心命令详解
1. top – 进程实时监控
top -d 5 # 每5秒刷新
top -p PID # 跟踪指定进程
核心功能:
– 实时显示CPU、内存、进程状态[1,2](@ref)
– 支持交互操作(按P/M/T键排序进程)
常用选项:
– -b:批处理模式
– -n:指定刷新次数
– -u:过滤指定用户进程
交互命令:
– Shift+M:按内存占用排序
– k:终止进程
– q:退出界面
2. free – 内存使用分析
free -h # 人性化显示(GB/MB)
free -s 10 # 每10秒自动刷新
数据解读:
– Total:总物理内存
– Used:已用内存(含buff/cache)
– Available:可用内存[6,7](@ref)
重要选项:
– -t:显示内存+交换空间总量
– -l:显示高低内存统计
– –si:使用1000进制计算单位
3. df – 磁盘空间监控
df -hT # 显示文件系统类型
df -i # 查看inode使用
关键参数:
– -a:显示所有文件系统(含虚拟文件系统)
– -x:排除指定文件系统类型
– –output:自定义输出字段(如source,fstype)
典型场景:
– 排查磁盘空间不足问题[9](@ref)
– 检测NFS挂载状态
4. du – 目录空间分析
du -sh /var/log # 统计目录总大小
du -c *.log # 显示多个文件总大小
实用选项:
– –max-depth=1:限制统计层级
– –exclude=”*.tmp”:排除特定文件
– -a:显示所有文件详情
高级技巧:
– 结合sort排序:du -h | sort -hr
5. uptime – 系统运行状态
uptime -p # 易读格式显示运行时间
uptime -s # 显示系统启动时间
输出解读:
– 当前时间、运行时长、登录用户数
– 1/5/15分钟负载平均值[15,17](@ref)
负载警戒值:
– 单核CPU:1.0为满载临界点
– 四核CPU:4.0为满载临界点
6. uname – 系统信息查询
uname -a # 显示全部信息
uname -r # 查看内核版本
核心参数:
– -m:硬件架构(x86_64/arm)
– -o:操作系统名称
– -v:内核构建时间
典型应用:
– 验证系统架构是否支持软件安装
– 检查内核版本是否满足安全要求[18,19](@ref)
7. lscpu – CPU架构解析
lscpu -p # 显示处理器拓扑
lscpu -e=cpu,node # 显示NUMA节点信息
重要信息:
– 物理核心数(Core(s) per socket)
– 逻辑处理器数(CPU(s))
– 缓存层级(L1/L2/L3)
– 支持的指令集(AVX/SSE)[21,22](@ref)
性能分析:
– 超线程状态:Thread(s) per core >1
8. lsblk – 块设备管理
lsblk -f # 显示文件系统信息
lsblk -t # 树形结构展示
核心功能:
– 显示设备挂载点(MOUNTPOINT)
– 识别LVM逻辑卷(TYPE=lvm)
– 查看设备UUID[24,25](@ref)
组合用法:
– lsblk -o NAME,SIZE,RO,TYPE,MOUNTPOINT
专家建议:
1. 使用watch -n 5 free -h
实现动态监控
2. 结合grep
过滤关键信息(如df | grep /dev/sda1)
3. 定期检查/proc/meminfo
获取更详细内存数据
四、网络诊断与连接测试
1. ping – 网络连通性测试
ping -c 4 baidu.com # 发送4个探测包
ping -I eth0 -s 1500 # 指定网卡和包大小
核心选项:
– -c:指定发送次数
– -i:设置发包间隔(默认1秒)
– -w:总执行超时时间
– -s:自定义数据包大小(默认56字节)
– -t:设置TTL生存时间[2,3](@ref)
2. netstat – 网络状态查看
netstat -tulnp # 查看所有监听端口及进程
netstat -s # 显示协议统计信息
常用参数:
– -t:仅显示TCP连接
– -u:显示UDP连接
– -l:列出监听状态
– -p:显示进程信息
– -r:显示路由表[6,8](@ref)
3. ss – 套接字统计(netstat替代)
ss -ta state established # 显示已建立的TCP连接
ss -ltp # 查看监听端口及进程
优势特性:
– 显示TCP内部状态(如syn-recv/time-wait)
– 支持连接状态过滤
– 性能比netstat快10倍[9,11](@ref)
4. curl – 多协议数据传输
curl -o file.zip https://url # 下载文件
curl -X POST -d @data.json API_URL # POST请求
核心功能:
– 支持HTTP/HTTPS/FTP等37种协议
– 可设置请求头(-H)/超时(–max-time)
– 文件上传(-F)和Cookie管理(-b)[12,13](@ref)
5. wget – 非交互式下载
wget -c -P /download URL # 断点续传并指定目录
wget --limit-rate=200k URL # 限速下载
特色功能:
– 递归下载整个网站(-r)
– 后台下载(-b)
– 支持FTP认证(–ftp-user)[15,17](@ref)
6. ssh – 安全远程登录
ssh user@192.168.1.1 -p 2222 # 指定端口连接
ssh -i key.pem ubuntu@ec2-host # 密钥认证登录
高级用法:
– 远程命令执行:ssh host “ls /tmp”
– 端口转发:-L/-R 参数
– 配置文件:~/.ssh/config[20](@ref)
7. ifconfig – 接口配置查看
ifconfig eth0 192.168.1.2 netmask 255.255.255.0 up
ifconfig eth0 promisc # 启用混杂模式
主要功能:
– 查看IP/掩码/MAC地址
– 启用/禁用网卡(up/down)
– 设置MTU值(-mtu)
注意:推荐使用iproute2的ip命令替代[21,22](@ref)
五、用户权限
1. chmod – 文件权限控制
chmod 755 script.sh # 数字模式设置权限
chmod u+x,g-w,o=r file.txt # 符号模式组合调整
核心功能:
– 修改文件/目录的读(r=4)、写(w=2)、执行(x=1)权限
– 支持递归操作(-R参数)和权限继承[4,5](@ref)
特殊权限:
– SUID(4):执行时继承所有者权限(如/usr/bin/passwd)
– SGID(2):目录新建文件继承父目录组
– Sticky Bit(1):仅所有者可删除目录文件(如/tmp)
2. chown – 所有权管理
chown user:group data.log # 修改所有者和所属组
chown -R www:web /var/www # 递归修改目录所有权
关键选项:
– -R:递归操作目录及子文件
– -v:显示详细操作过程
– –reference:参照文件权限批量设置[6,7](@ref)
安全限制:
– 仅root用户或具备sudo权限者可执行
3. sudo – 特权执行
sudo apt update # 临时获取root权限
sudo -u postgres psql # 以指定用户身份执行
配置要点:
– 通过/etc/sudoers定义权限规则(需visudo编辑)
– 支持用户/组别名、命令白名单、免密操作[9,11](@ref)
日志审计:
– 所有sudo操作记录在/var/log/auth.log
4. passwd – 密码管理
passwd # 修改当前用户密码
passwd -l username # 锁定指定账户
重要选项:
– -d:删除用户密码
– -e:强制下次登录修改密码
– -S:查看密码状态(加密算法/过期时间)[12,14](@ref)
安全策略:
– 密码复杂度规则存储在/etc/security/pwquality.conf
5. useradd – 用户创建
useradd -m -s /bin/bash dev # 创建用户并生成家目录
useradd -G docker,admin sysop # 指定附加组
核心参数:
– -u:指定UID
– -g:设置主组(默认创建同名组)
– -e:设置账户过期时间[15,17](@ref)
配置文件:
– /etc/default/useradd 定义默认shell、家目录等
安全操作建议:
1. 使用visudo代替直接编辑/etc/sudoers防止语法错误[9](@ref)
2. 定期执行chkuser检查异常用户账户[17](@ref)
3. 生产环境建议禁用root直接登录,使用sudo提权[11](@ref)
六、文本过滤与搜索
1. grep – 模式匹配搜索
grep "error" app.log # 基础搜索
grep -r --include="*.log" "404" /var # 递归搜索特定文件类型
核心选项:
– -i:忽略大小写[2,5](@ref)
– -v:反向匹配(排除模式)[3](@ref)
– -E:启用扩展正则表达式[4](@ref)
– -A/-B/-C:显示匹配行前后内容[4](@ref)
– -o:仅输出匹配部分[4](@ref)
2. sed – 流式文本编辑
sed 's/foo/bar/g' file.txt # 全局替换
sed '/^#/d' config.conf # 删除注释行
核心功能:
– 替换(s)、删除(d)、追加(a)、插入(i)等操作[9,10](@ref)
– 支持正则表达式和地址范围匹配
– 原地编辑文件(-i参数)[11](@ref)
七、结构化数据处理
3. awk – 字段处理引擎
awk -F: '{print $1,$7}' /etc/passwd # 提取指定字段
awk '$3 > 1000 {sum+=$3} END{print sum}' data.txt # 数值统计
核心特性:
– 自动分割字段(-F指定分隔符)[8](@ref)
– 内置变量(NR/NF/FILENAME)[7](@ref)
– 支持数学运算和数组操作[6](@ref)
4. sort – 数据排序
sort -n -k2 data.txt # 按第二列数值排序
sort -u -t',' -k3,3 users.csv # 去除重复行
关键选项:
– -n:数值排序[22](@ref)
– -r:逆序输出
– -k:指定排序列范围
– -t:自定义分隔符[20](@ref)
八、文件内容查看
5. cat – 文件连接输出
cat -n server.log # 显示行号
cat file1 file2 > merged.txt # 文件合并
实用技巧:
– 与重定向配合创建文件
– 查看二进制文件(-v参数)[12](@ref)
– 显示不可见字符(-A参数)[13](@ref)
6. less – 交互式浏览
less -N +F app.log # 实时跟踪日志更新
less -p "ERROR" debug.log # 跳转到首个匹配项
高级功能:
– 反向搜索(?命令)
– 书签标记(m标记)[17](@ref)
– 多文件切换(:n/:p)[16](@ref)
九、日志处理专用
7. tail – 尾部内容追踪
tail -f -n100 access.log # 实时监控最后100行
tail -c 1G bigfile.log # 查看末尾1GB内容
关键参数:
– -f:持续跟踪文件变化[19](@ref)
– –pid:关联进程监控[18](@ref)
– -s:设置刷新间隔[19](@ref)
8. uniq – 重复行处理
sort file.txt | uniq -c # 统计重复次数
uniq -d -w10 codes.txt # 显示前10字符重复的行
注意事项:
– 需先排序后处理[25](@ref)
– -c:显示出现次数[20](@ref)
– -u:仅显示唯一行[25](@ref)
专家建议:
1. 组合使用命令:grep过滤 → sed清洗 → awk分析 → sort/uniq统计[1](@ref)
2. 处理大文件时优先使用less代替cat防止内存溢出[15](@ref)
3. 日志分析黄金组合:tail -f | grep | awk [19](@ref)
十、Linux进程管理核心命令详解
1. ps – 进程状态查看
ps aux # 显示所有进程详细信息(BSD风格)
ps -ef # 显示完整格式的进程树(UNIX风格)
ps -p 1234 # 查看指定PID的进程信息
核心功能:
– 实时快照显示进程状态(PID/CPU/内存等)
– 支持多种输出格式(树状/线程/自定义字段)
关键选项:
– -e:显示所有进程(包括系统进程)
– -f:显示完整格式(含父进程PPID)
– -u:按用户过滤进程
– –sort:按CPU或内存排序[1,3](@ref)
典型应用:
– 排查高负载进程:ps aux –sort=-%cpu | head
2. kill – 进程终止控制
kill -15 1234 # 正常终止进程(SIGTERM)
kill -9 1234 # 强制终止无响应进程(SIGKILL)
killall nginx # 终止所有同名进程
信号说明:
– 1(SIGHUP):重载配置(如nginx -s reload)
– 2(SIGINT):终端中断(等效Ctrl+C)
– 9(SIGKILL):强制终止(无法被捕获)
– 19(SIGSTOP):暂停进程(配合18继续)[7,8](@ref)
高级技巧:
– 批量终止:ps aux | grep ‘python’ | awk ‘{print $2}’ | xargs kill -9
3. nohup – 守护进程运行
nohup ./start.sh &> output.log & # 后台运行并重定向输出
nohup tail -f access.log & # 持续监控日志
核心特性:
– 忽略SIGHUP信号(终端断开仍运行)
– 默认输出到nohup.out文件
– 需配合&符号后台运行[9,11](@ref)
安全建议:
– 生产环境建议使用systemd管理长期服务
4. bg – 后台作业控制
Ctrl+Z # 暂停前台进程
bg %1 # 将1号作业放入后台运行
bg # 恢复最近暂停的作业
使用场景:
– 暂停耗时操作(如大文件压缩)后继续后台运行
– 结合jobs命令查看作业列表[12,14](@ref)
注意事项:
– 后台作业仍与终端关联(需nohup实现完全脱离)
5. fg – 前台作业恢复
fg %2 # 将2号作业调至前台
fg # 恢复最近后台作业
核心功能:
– 恢复交互式操作(如vim编辑)
– 查看后台任务输出结果
– 支持作业号/进程名匹配[15,16](@ref)
组合用法:
– jobs查看作业列表 → fg %n恢复指定作业
安全操作指南:
1. 生产环境慎用kill -9,优先尝试SIGTERM进行优雅终止[8](@ref)
2. 使用nohup时建议显式指定输出文件(避免污染nohup.out)
3. 批量操作前用ps/pgrep验证目标进程[3,6](@ref)
Linux软件管理核心命令详解
1. apt – Debian系包管理
sudo apt update && sudo apt upgrade # 更新+升级全系统
sudo apt install -y nginx=1.18.0 # 指定版本安装
核心功能:
– 管理.deb软件包(Ubuntu/Debian)
– 自动处理依赖关系[1,2](@ref)
常用选项:
– purge:完全删除软件包及配置
– autoremove:清理无用依赖
– list –installed:查看已安装包
配置文件:
– /etc/apt/sources.list(软件源配置)
2. yum – RHEL系包管理
yum install httpd --setopt=skip_missing_names_on_install=False # 强制依赖检查
yum history undo 15 # 回滚第15次操作
核心特性:
– 基于RPM包管理(CentOS/RHEL)
– 支持事务回滚功能[6,8](@ref)
关键命令:
– check-update:检查可用更新
– provides */vim:查找文件所属包
– localinstall:安装本地rpm包
3. rpm – 包安装器
rpm -ivh --nodeps oracle-instantclient.rpm # 强制安装
rpm -qa | grep python3 # 查询已安装包
核心参数:
– -q:查询操作(结合-a查所有)
– -e –test:模拟卸载
– -V:验证包完整性[9,10](@ref)
特殊用法:
– rpmbuild –rebuild:从源码构建rpm
– –root=/mnt:指定根目录(系统修复)
4. dnf – 新一代YUM
dnf module enable postgresql:12 # 启用模块
dnf repoquery --requires httpd # 查看依赖
改进特性:
– 并行依赖解析(速度提升20%+)
– 模块化软件管理[12,14](@ref)
高级功能:
– group install “开发工具”:安装包组
– copr enable:启用第三方仓库
– history rollback:事务回滚
5. systemctl – 服务管理
systemctl enable --now docker # 启用并立即启动
systemctl mask firewalld # 完全禁用服务
核心功能:
– 管理系统服务生命周期
– 控制开机自启动[15,16](@ref)
常用操作:
– list-dependencies:查看服务依赖
– isolate graphical.target:切换运行级别
– edit nginx.service:修改服务配置
运维经验:
1. 生产环境建议使用apt-mark hold
锁定关键包版本[2](@ref)
2. 通过yum-plugin-versionlock
防止意外升级[6](@ref)
3.systemd-analyze blame
分析启动耗时服务[17](@ref)
归档压缩三剑客详解
1. tar – 多格式归档工具
tar -czvf backup.tar.gz /data # 创建gzip压缩包
tar -xvf archive.tar.xz -C /restore # 解压xz压缩包到指定目录
核心功能:
– 支持打包、压缩、解压一体化操作[1,2](@ref)
– 处理多种压缩格式:.tar/.tar.gz/.tar.xz等[3](@ref)
– 保留文件权限和目录结构[4](@ref)
关键选项:
– -c:创建归档文件
– -x:解压归档文件
– -z:使用gzip压缩/解压
– -J:使用xz压缩/解压
– -v:显示操作过程
– -f:指定归档文件名
– –exclude:排除指定文件[3](@ref)
典型用法:
– 增量备份:tar -czvf backup.tar.gz –listed-incremental=snapshot.file /data[5](@ref)
– 排除日志文件:tar -czvf app.tar.gz –exclude=”*.log” /var/www[3](@ref)
2. zip – 跨平台压缩工具
zip -er secure.zip secret.doc # 创建加密压缩包
zip -r -s 2g split.zip large_dir/ # 拆分压缩大文件
核心特性:
– 生成.zip格式压缩包,兼容Windows系统[6,7](@ref)
– 支持文件加密和拆分压缩[6,7](@ref)
– 保留文件注释和时间戳[8](@ref)
常用参数:
– -r:递归处理目录
– -e:设置压缩密码
– -s:指定分卷大小(如2g=2GB)
– -x:排除指定文件
– -q:静默模式操作[6](@ref)
应用场景:
– 批量压缩图片:zip images.zip *.jpg *.png
– 备份网站文件:zip -r site_backup.zip /var/www/html[7](@ref)
3. unzip – 压缩包解压专家
unzip -l archive.zip # 查看压缩包内容
unzip -o -d /target data.zip # 强制覆盖解压到指定目录
核心能力:
– 支持密码验证解压加密包[9](@ref)
– 选择性解压特定文件[10](@ref)
– 自动处理中文编码[11](@ref)
关键选项:
– -d:指定解压目录
– -o:覆盖已有文件
– -l:列出压缩包内容
– -P:指定解压密码
– -x:排除指定文件[9](@ref)
典型操作:
– 解压部分文件:unzip data.zip “*.csv” -d /reports
– 修复损坏压缩包:unzip -F broken.zip -d recovered[10](@ref)
专家建议:
1. 重要备份使用tar.xz格式(高压缩率),临时传输用zip格式(兼容性好)[3,7](@ref)
2. 解压前务必用tar -tf或unzip -l查看文件结构,防止”tar炸弹”攻击[1,4](@ref)
3. 加密敏感文件时优先使用AES-256加密算法(zip -e采用传统加密存在风险)[7,9](@ref)
十一、Linux磁盘管理双核心命令详解
1. fdisk – 磁盘分区专家
fdisk -l /dev/sda # 查看指定磁盘分区表
fdisk /dev/sdb # 进入交互式分区模式
核心功能[1,3](@ref):
– 创建/删除主分区、扩展分区、逻辑分区
– 修改分区类型(MBR/GPT)
– 支持扇区级别的分区调整
– 查看磁盘布局和分区信息
交互模式命令[2,4](@ref):
– n
:新建分区(支持主/扩展分区)
– d
:删除指定编号的分区
– t
:修改分区类型代码(如82=swap)
– p
:打印当前分区表
– w
:写入磁盘并退出
– q
:放弃更改退出
典型用法:
– 初始化新硬盘:fdisk /dev/sdb → n → p → [回车默认参数] → w
– 创建swap分区:t → 82 → w
– 查看分区类型列表:l
命令
2. lsblk – 块设备侦查兵
lsblk -f -o NAME,FSTYPE,SIZE,MOUNTPOINT # 带文件系统信息
lsblk -d -e 7 # 排除指定设备
核心功能[6,7](@ref):
– 显示树形设备层级关系
– 展示磁盘/分区的物理路径
– 显示文件系统类型和挂载点
– 支持SCSI设备详细信息查询
关键选项[8](@ref):
– -f
:显示文件系统/LABEL/UUID
– -m
:显示设备权限信息
– -p
:显示完整设备路径
– -t
:显示拓扑结构
– -e
:排除指定设备号
典型用法:
– 快速查看所有存储设备:lsblk -a
– 检查外置设备挂载:lsblk -f | grep -v 'loop'
– 获取SCSI设备详情:lsblk -S
操作安全建议[5](@ref):
1. 使用fdisk前务必通过lsblk确认目标设备
2. 分区操作前建议执行partprobe -s
更新内核分区表
3. 大容量磁盘(>2TB)建议使用parted创建GPT分区
十二、日志分析双剑客
1. journalctl – systemd日志分析引擎
journalctl -u nginx --since "09:00" -p err # 查看指定服务错误日志
journalctl -k -b -1 # 检查上次启动的内核日志
核心功能:
– 查看系统/内核/服务日志(支持二进制日志存储)
– 按时间/服务/优先级/用户等多维度过滤
– 支持实时日志跟踪(-f)和分页浏览
关键选项:
– -u:按服务单元过滤(如docker.service)
– -k:显示内核日志
– -b:指定启动编号(-b -1为上次启动)
– -p:按日志级别过滤(0=紧急 7=调试)
– –disk-usage:显示日志占用空间
– –vacuum-size=500M:清理日志保留指定空间
2. tail – 文件尾部追踪专家
tail -f -n100 /var/log/syslog # 实时监控最后100行
tail -c 100M large.log # 查看文件末尾100MB内容
核心特性:
– 实时监控文件追加内容(-f参数)
– 支持按行(-n)/字节(-c)控制显示范围
– 结合管道实现动态日志分析(如tail -f | grep error)
高级技巧:
– 多文件跟踪:tail -f app.log access.log
– 中断重连:用-F替代-f自动重载文件
– 反向查看:tail -r(需安装coreutils扩展)
十三、linux硬件信息
1. lscpu – CPU架构分析器
lscpu -e=CPU,CORE,SOCKET,CACHE # 显示核心拓扑和缓存信息
lscpu -p --extended # 可解析格式输出物理ID
核心参数:
– -e:自定义输出列(支持CPU/CORE/SOCKET等)
– -p:解析友好格式输出
– -y:显示物理ID而非逻辑ID
– -c:仅显示在线CPU核心数
典型输出内容:
– 架构类型(x86_64/ARM)
– 核心/线程/插槽数量
– CPU频率范围(MHz)
– 缓存层级结构(L1/L2/L3)
2. lspci – PCI设备探测器
lspci -vv -s 00:1f.2 # 显示指定插槽设备详情
lspci -k # 显示驱动和内核模块
关键功能:
– 列出所有PCI/PCIe设备(包括USB控制器)
– 显示设备厂商ID/设备ID/硬件版本
– 支持十六进制配置空间查看(-x/-xxx)
实用参数:
– -t:树状拓扑显示
– -nn:显示数字编码的厂商和设备ID
– -d [vendor]:[device]:按ID过滤设备
3. lsblk – 块设备拓扑大师
lsblk -f -o NAME,FSTYPE,MOUNTPOINT # 显示文件系统及挂载点
lsblk -m # 查看设备权限信息
核心特性:
– 树形显示磁盘/分区/LVM/RAID关系
– 支持文件系统类型/UUID/LABEL显示
– 可查看设备物理路径和SCSI信息
常用选项:
– -d:仅显示磁盘不展示分区
– -b:以字节显示精确容量
– -i:禁用ASCII艺术线简化输出
– -S:列出SCSI设备详细信息
专家建议:
1. 日志分析黄金组合:journalctl -f -u service | grep ERROR[1,4](@ref)
2. 硬件排障流程:lspci→lsblk→lscpu 逐步确认硬件识别状态[9,12](@ref)
3. 生产环境日志管理:定期用journalctl –vacuum-time=7d清理日志[3](@ref)