Linux系统管理员必备命令大全

news2026/4/7 1:07:49
1. Linux命令概述作为一名Linux系统管理员掌握常用命令是基本功。Linux命令是操作系统与用户交互的主要方式通过命令行可以完成几乎所有系统管理任务。与图形界面相比命令行操作更加高效、灵活特别是在远程管理和自动化脚本方面具有不可替代的优势。Linux命令通常由命令本身、选项和参数三部分组成。命令选项通常以-或--开头用于修改命令的行为参数则是命令操作的对象。例如在ls -l /home命令中ls是命令-l是选项/home是参数。2. 系统信息查询命令2.1 硬件信息查询获取系统硬件信息是排查问题和性能调优的基础。以下命令可以帮助我们快速了解系统硬件配置# 显示CPU架构和内核版本 uname -m # 显示机器硬件架构(x86_64, arm等) uname -r # 显示正在使用的内核版本 # 显示详细的硬件信息 dmidecode -q # 显示硬件系统部件信息(SMBIOS/DMI) lspci -tv # 以树状结构显示所有PCI设备 lsusb -tv # 显示所有USB设备信息注意dmidecode命令需要root权限才能获取完整的硬件信息。2.2 存储设备信息磁盘性能直接影响系统整体表现这些命令可以帮助我们了解存储设备状态# 显示磁盘架构特性 hdparm -i /dev/sda # 显示第一块磁盘的详细信息 # 测试磁盘读取性能 hdparm -tT /dev/sda # 执行缓存读取和直接读取测试 # 查看内存和交换分区信息 cat /proc/meminfo # 显示详细的内存使用情况 cat /proc/swaps # 显示交换分区使用情况 free -h # 以易读格式显示内存和交换分区使用量3. 文件和目录操作3.1 基本目录操作熟练使用目录操作命令是Linux管理的基础cd /home # 进入/home目录 cd .. # 返回上级目录 cd ../.. # 返回上两级目录 cd ~ # 进入当前用户主目录 cd - # 返回上次所在的目录 pwd # 显示当前工作目录完整路径3.2 文件列表查看ls命令是最常用的文件查看命令配合不同选项可以实现多种功能ls # 简单列出当前目录内容 ls -l # 长格式显示包含权限、所有者、大小等信息 ls -a # 显示所有文件包括隐藏文件(以.开头) ls -lh # 以易读格式(KB,MB,GB)显示文件大小 ls -t # 按修改时间排序最新修改的在前 ls -R # 递归显示子目录内容 ls -d */ # 只显示目录3.3 文件操作命令文件创建、删除、移动和复制是日常操作# 创建和删除 touch file1.txt # 创建空文件或更新文件时间戳 mkdir dir1 # 创建目录 mkdir -p dir1/dir2 # 创建多级目录 rm file1.txt # 删除文件 rm -r dir1 # 递归删除目录及其内容 # 移动和复制 cp file1.txt file2.txt # 复制文件 cp -r dir1 dir2 # 递归复制目录 mv file1.txt newname.txt # 重命名文件 mv file1.txt /tmp/ # 移动文件4. 文件权限管理4.1 权限基础Linux文件权限分为三类所有者(u)、所属组(g)和其他用户(o)每种权限又分为读(r)、写(w)和执行(x)三种。使用ls -l可以查看文件权限-rw-r--r-- 1 user group 1024 Jun 12 10:00 file1.txt drwxr-xr-x 2 user group 4096 Jun 12 10:00 dir1第一个字符表示文件类型(-为普通文件d为目录)后面9个字符每3个一组分别表示所有者、所属组和其他用户的权限。4.2 修改权限chmod命令用于修改文件权限有两种表示方法# 数字表示法 chmod 755 file1.txt # rwxr-xr-x chmod 644 file1.txt # rw-r--r-- # 符号表示法 chmod ux file1.txt # 给所有者添加执行权限 chmod g-w file1.txt # 移除所属组的写权限 chmod orx file1.txt # 设置其他用户权限为读和执行 chmod aw file1.txt # 给所有用户添加写权限(a表示all)4.3 特殊权限除了基本权限外Linux还有三种特殊权限# SUID(Set User ID) chmod us /usr/bin/passwd # 执行时以文件所有者权限运行 # SGID(Set Group ID) chmod gs /shared # 在此目录创建的文件继承目录的组 # Sticky Bit chmod ot /tmp # 只有文件所有者才能删除/tmp下的文件5. 文本处理命令5.1 查看文件内容cat file1.txt # 显示整个文件内容 head -n 10 file1 # 显示文件前10行 tail -n 10 file1 # 显示文件最后10行 tail -f /var/log/syslog # 实时监控日志文件变化 less file1.txt # 分页查看文件支持搜索和翻页5.2 文本搜索与处理grep是强大的文本搜索工具grep error /var/log/syslog # 搜索包含error的行 grep -i error file1 # 忽略大小写搜索 grep -r function /etc/ # 递归搜索目录 grep -v debug file1 # 显示不匹配的行 grep -E error|warning file1 # 使用正则表达式5.3 文本处理三剑客# awk - 强大的文本分析工具 awk {print $1} file1.txt # 打印每行第一个字段 awk -F: {print $1} /etc/passwd # 以冒号为分隔符 # sed - 流编辑器 sed s/old/new/g file1.txt # 替换文本 sed /^$/d file1.txt # 删除空行 sed -i.bak s/old/new/ file1 # 直接修改文件并备份 # sort - 排序 sort file1.txt # 按字母顺序排序 sort -n file1.txt # 按数字顺序排序 sort -u file1.txt # 去重排序6. 系统管理命令6.1 进程管理ps aux # 查看所有运行中的进程 top # 动态查看系统进程和资源使用情况 htop # top的增强版(需安装) kill 1234 # 结束PID为1234的进程 kill -9 1234 # 强制结束进程 pkill httpd # 结束所有httpd进程 pgrep bash # 查找bash进程的PID6.2 网络配置ifconfig # 查看网络接口信息(较旧系统) ip addr # 查看IP地址(推荐) ip route # 查看路由表 ping example.com # 测试网络连通性 traceroute example.com # 跟踪网络路径 netstat -tulnp # 查看监听的端口和对应进程 ss -tulnp # netstat的现代替代品6.3 包管理不同Linux发行版使用不同的包管理系统# Debian/Ubuntu (APT) apt update # 更新软件包列表 apt upgrade # 升级所有可升级软件包 apt install package # 安装软件包 apt remove package # 移除软件包 apt search keyword # 搜索软件包 # RHEL/CentOS (YUM/DNF) yum install package # 安装软件包 yum update # 更新所有软件包 yum remove package # 移除软件包 yum search keyword # 搜索软件包 # 通用RPM命令 rpm -ivh package.rpm # 安装RPM包 rpm -e package # 卸载RPM包 rpm -qa # 列出所有已安装的RPM包7. 磁盘和文件系统管理7.1 磁盘空间查看df -h # 查看已挂载文件系统的磁盘使用情况 du -sh /home # 查看/home目录总大小 du -h --max-depth1 / # 查看根目录下各子目录大小 lsblk # 查看块设备信息7.2 文件系统操作# 挂载和卸载 mount /dev/sdb1 /mnt # 挂载分区 umount /mnt # 卸载分区 # 文件系统检查 fsck /dev/sda1 # 检查并修复文件系统错误 # 创建文件系统 mkfs.ext4 /dev/sdb1 # 创建ext4文件系统 mkswap /dev/sdb2 # 创建交换分区8. 系统服务管理现代Linux系统主要使用systemd管理服务systemctl start httpd # 启动服务 systemctl stop httpd # 停止服务 systemctl restart httpd # 重启服务 systemctl status httpd # 查看服务状态 systemctl enable httpd # 设置开机启动 systemctl disable httpd # 禁止开机启动 systemctl list-units --typeservice # 列出所有服务 journalctl -u httpd # 查看服务日志9. 用户和组管理9.1 用户管理useradd username # 创建新用户 userdel -r username # 删除用户及其主目录 usermod -aG groupname username # 将用户添加到附加组 passwd username # 设置用户密码 id username # 查看用户信息9.2 组管理groupadd groupname # 创建新组 groupdel groupname # 删除组 groups username # 查看用户所属组 gpasswd -a username groupname # 将用户添加到组 gpasswd -d username groupname # 将用户从组中移除10. 压缩和归档10.1 常用压缩工具# gzip gzip file1 # 压缩文件(生成file1.gz) gunzip file1.gz # 解压文件 # bzip2 bzip2 file1 # 压缩文件(生成file1.bz2) bunzip2 file1.bz2 # 解压文件 # xz xz file1 # 压缩文件(生成file1.xz) unxz file1.xz # 解压文件10.2 归档工具# tar基础用法 tar -cvf archive.tar dir1/ # 创建归档文件 tar -xvf archive.tar # 解压归档文件 tar -tvf archive.tar # 查看归档内容 # 压缩归档 tar -czvf archive.tar.gz dir1/ # 创建gzip压缩的归档 tar -xzvf archive.tar.gz # 解压gzip压缩的归档 tar -cjvf archive.tar.bz2 dir1/ # 创建bzip2压缩的归档 tar -xjvf archive.tar.bz2 # 解压bzip2压缩的归档11. 性能监控和调优11.1 系统资源监控top # 实时监控系统资源使用情况 vmstat 1 # 每秒显示系统资源统计 iostat -x 1 # 监控磁盘I/O sar -u 1 3 # 监控CPU使用率(需安装sysstat) free -h # 查看内存使用情况 df -h # 查看磁盘空间使用情况11.2 网络监控iftop # 实时监控网络流量(需安装) nload # 监控网络带宽使用(需安装) netstat -s # 显示网络统计信息 ss -s # 显示套接字统计信息 tcpdump -i eth0 # 抓取网络数据包(需root权限)12. 安全相关命令12.1 防火墙管理# iptables(传统) iptables -L # 列出防火墙规则 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许SSH连接 # firewalld(较新系统) firewall-cmd --list-all # 列出所有规则 firewall-cmd --add-port80/tcp --permanent # 永久开放80端口 firewall-cmd --reload # 重新加载防火墙规则12.2 SSH相关ssh userhostname # 连接到远程主机 scp file1 userhostname:/path/ # 复制文件到远程主机 ssh-keygen # 生成SSH密钥对 ssh-copy-id userhostname # 复制公钥到远程主机13. 实用技巧和小工具13.1 命令行技巧# 历史命令操作 history # 查看命令历史 !n # 执行历史记录中第n条命令 !! # 执行上一条命令 !string # 执行最近以string开头的命令 # 其他实用技巧 ctrlr # 反向搜索命令历史 ctrla # 移动光标到行首 ctrle # 移动光标到行尾 ctrlu # 删除光标前所有内容 ctrlk # 删除光标后所有内容13.2 实用小工具# 计算器 bc # 启动计算器 echo 55 | bc # 直接计算 # 时间日期 date # 显示当前日期时间 date %s # 显示Unix时间戳 cal # 显示当月日历 # 其他 watch -n 1 df -h # 每秒刷新显示磁盘使用情况 screen # 终端多路复用器 tmux # 更强大的终端复用器14. 脚本编程基础14.1 Shell脚本基础Shell脚本是自动化任务的强大工具。一个基本的脚本如下#!/bin/bash # 这是一个简单的脚本示例 echo 当前用户: $(whoami) echo 系统负载: $(uptime) echo 磁盘使用情况: df -h14.2 常用脚本技巧# 变量使用 nameLinux echo Hello $name # 条件判断 if [ -f /etc/passwd ]; then echo 文件存在 else echo 文件不存在 fi # 循环 for i in {1..5}; do echo 数字: $i done # 函数 myfunc() { echo 参数1: $1 echo 参数2: $2 } myfunc hello world15. 日志分析15.1 常见日志文件/var/log/messages # 通用系统消息 /var/log/syslog # 系统日志(Ubuntu) /var/log/auth.log # 认证日志 /var/log/kern.log # 内核日志 /var/log/dmesg # 内核环形缓冲区消息 /var/log/nginx/* # Nginx日志 /var/log/mysql/* # MySQL日志15.2 日志分析命令# 查看最新日志 tail -f /var/log/syslog # 查找错误 grep -i error /var/log/syslog # 统计HTTP状态码 awk {print $9} access.log | sort | uniq -c | sort -rn # 查看访问量最高的IP awk {print $1} access.log | sort | uniq -c | sort -rn | head -1016. 环境变量和Shell配置16.1 环境变量管理echo $PATH # 查看PATH环境变量 export PATH$PATH:/new/path # 临时添加PATH env # 显示所有环境变量 set # 显示所有变量和函数 unset VARIABLE # 删除环境变量16.2 Shell配置文件~/.bashrc # 用户bash配置(非登录shell) ~/.bash_profile # 用户bash配置(登录shell) /etc/profile # 系统全局配置 /etc/bashrc # 系统bash配置 source ~/.bashrc # 重新加载配置17. 定时任务17.1 crontab使用crontab -e # 编辑当前用户的cron任务 crontab -l # 列出当前用户的cron任务 crontab -r # 删除当前用户的cron任务 # cron表达式格式 * * * * * command # 分 时 日 月 周 命令17.2 systemd定时器systemctl list-timers # 列出所有定时器 systemctl status mytimer.timer # 查看定时器状态18. 系统备份与恢复18.1 文件备份# 使用tar备份 tar -cvpzf backup.tar.gz --exclude/backup.tar.gz --exclude/proc --exclude/lostfound --exclude/sys --exclude/mnt --exclude/media --exclude/run / # 使用rsync同步 rsync -avz --delete /source/ /destination/18.2 磁盘备份# 使用dd命令备份磁盘 dd if/dev/sda of/dev/sdb bs64K convnoerror,sync # 创建磁盘镜像 dd if/dev/sda ofdisk.img bs1M19. 性能调优19.1 内核参数调优# 查看当前内核参数 sysctl -a # 临时修改参数 sysctl -w vm.swappiness10 # 永久修改(编辑/etc/sysctl.conf) echo vm.swappiness10 /etc/sysctl.conf sysctl -p19.2 I/O调度器# 查看当前调度器 cat /sys/block/sda/queue/scheduler # 临时修改调度器 echo deadline /sys/block/sda/queue/scheduler # 永久修改(GRUB配置) GRUB_CMDLINE_LINUX_DEFAULTelevatordeadline20. 故障排查20.1 系统启动问题# 查看启动日志 journalctl -b # 本次启动日志 journalctl -b -1 # 上次启动日志 # 进入救援模式 在GRUB菜单选择恢复模式或添加init/bin/bash20.2 性能问题# 快速检查清单 uptime # 负载情况 dmesg | tail # 内核消息 vmstat 1 # 系统资源统计 mpstat -P ALL 1 # CPU使用率 iostat -xz 1 # 磁盘I/O free -m # 内存使用 sar -n DEV 1 # 网络流量掌握这些Linux命令将大大提高系统管理效率。实际工作中建议根据具体需求组合使用这些命令并通过man手册深入学习每个命令的详细用法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2490898.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…