Linux常用命令大全(完整版)

一、YUM仓库管理

yum repolist all查看所有仓库状态
yum-config-manager --enable <仓库ID>启用指定仓库
yum-config-manager --disable <仓库ID>禁用指定仓库
yum clean all清理缓存
yum makecache重建缓存
yum install yum-plugin-priorities安装仓库优先级插件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo下载阿里云YUM源(CentOS7)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base.repo下载网易163YUM源(CentOS7)
echo "priority=1" >> /etc/yum.repos.d/<仓库名>.repo给特定仓库设置最高优先级
mount /dev/sr0 /mnt挂载ISO镜像到/mnt目录(配置本地仓库)
echo "[local] name=Local Repository baseurl=file:///mnt enabled=1 gpgcheck=0" > /etc/yum.repos.d/local.repo配置本地YUM仓库
yum install <包名> --disablerepo=* --enablerepo=<仓库ID>指定仓库安装软件包

二、用户密码管理

passwd -l <用户名>锁定用户账户(禁止登录)
passwd -u <用户名>解锁已锁定的账户
passwd -d <用户名>删除用户密码(使其无密码登录)
passwd -S <用户名>显示用户密码状态(是否锁定、有效期等)
vipw -s专用于编辑/etc/shadow文件(安全方式)
sudo cp /etc/shadow /etc/shadow.bak备份/etc/shadow文件(手动编辑前必备)
sudo nano /etc/shadow手动编辑/etc/shadow文件(高风险)

三、目录文件管理

mkdir <目录名>创建单个目录
mkdir -m 700 <目录名>创建目录并设置700权限(仅所有者可读写执行)
mkdir -p 目录1/目录2/目录3递归创建多级目录
mkdir 目录1 目录2 目录3在同一目录下创建多个平行目录
for i in {1..5}; do mkdir "folder$i"; done批量创建5个文件夹(folder1~folder5)
mkdir -v <目录名>创建目录并显示执行过程详细信息
mkdir -z <目录名>创建目录并设置安全上下文

四、网络相关命令

netstat -a显示所有连接(包括监听和非监听)
netstat -t仅显示TCP连接
netstat -u仅显示UDP连接
netstat -l仅显示监听(LISTEN)状态的端口
netstat -n禁用域名解析,直接显示IP和端口号(提升速度)
netstat -p显示进程PID和程序名称(需root权限)
netstat -r显示路由表(等效于route -n)
netstat -s按协议统计网络流量(TCP/UDP/ICMP等)
netstat -i显示网络接口统计信息(类似ifconfig的简要版)
netstat -c持续刷新输出(每秒一次)
ss -tulnp高效查看端口状态(替代netstat,直接从内核获取数据)
ifconfig显示网络设备信息
ifconfig -a查看所有网卡信息(包括未启用的)
ifconfig eth0查看单个网卡(eth0)信息
ifconfig eth0 172.18.238.9 netmask 255.255.255.0临时设定网卡IP和子网掩码(重启失效)
ifconfig eth0:1 172.18.238.10 netmask 255.255.255.0同一张网卡绑定多个IP(临时生效)
ifconfig eth0 down / ifup eth0关闭/启动指定网卡
curl -I http://localhost测试本地HTTP服务是否正常

五、系统监控命令

top实时监控系统CPU、内存、进程状态(按1展开多核)
top -p 监控指定PID的进程
top -P按CPU使用率排序进程
top -M按内存使用率排序进程
ps -ef显示所有进程的完整信息,查看进程父子关系(PPID)
ps aux显示所有进程的资源占用详情(%CPU、%MEM等)
ps -e显示所有进程(包括系统进程)
ps -f全格式输出进程信息(含UID、PPID、启动时间等)
ps -l长格式显示进程信息(含优先级、内存地址等)
ps a显示终端关联的所有进程(含其他用户)
ps u面向用户的格式(显示%CPU、%MEM等资源占用)
ps x包含无控制终端的进程(如守护进程)
ps j显示任务信息(含PGID、SID)
free显示系统物理内存和交换内存使用情况(默认KB)
free -b以字节为单位显示内存使用情况
free -k以千字节(KB)为单位显示(默认)
free -m以兆字节(MB)为单位显示
free -g以吉字节(GB)为单位显示
free -h以人类可读的格式显示(自动选择合适单位)
free -s 5每隔5秒刷新一次内存显示
free -c 3显示3次后停止刷新
free -t显示内存总和(物理+交换)
free -w以宽输出格式显示(区分buffer和cache)
df查看文件系统磁盘空间使用情况
df -a显示所有文件系统,包括大小为0的文件系统
df -H使用1000为单位(1K=1000字节)显示
df -i显示inode信息而不是块使用情况
df -l只显示本地文件系统
df -m以MB为单位显示
df -T显示文件系统类型
df -t ext4只显示ext4类型的文件系统
df -x tmpfs排除tmpfs类型的文件系统
lsblk列出所有可用块设备信息(硬盘、分区、逻辑卷等,树状结构)
lsblk -a显示所有设备(包括空设备)
lsblk -b以字节为单位显示大小
lsblk -d不显示从属设备(如分区)
lsblk -f显示文件系统信息
lsblk -i使用ASCII字符绘制树状结构
lsblk -m显示权限信息
lsblk -n不显示标题行
lsblk -o NAME,SIZE,TYPE自定义输出列(名称、大小、类型)
lsblk -p显示完整设备路径
lsblk -r使用原始输出格式
lsblk -t显示拓扑信息

六、系统信息查询

uname -a查看内核版本、系统架构、主机名等完整信息
cat /etc/os-release查看发行版信息(适用于大多数Linux发行版)
lsb_release -aDebian/Ubuntu系统查看发行版详细信息
cat /etc/redhat-releaseRedHat/CentOS系统查看发行版信息
cat /etc/arch-releaseArch Linux系统查看发行版信息
nproc --all显示CPU逻辑核心数(含超线程)
sudo dmidecode -t memory | grep "Size:"查看物理内存详情(权威方法)
sudo lshw -short -C memory查看内存硬件信息

七、Nginx相关命令

sudo systemctl status nginx查看Nginx服务运行状态
ps aux | grep nginx查看Nginx进程(主进程master+工作进程worker)
sudo netstat -tulnp | grep nginx查看Nginx监听的端口
httpd -VCentOS系统查看httpd(Apache)版本信息(对比Nginx)
cat /proc//status查看指定PID进程的状态(如Threads线程数)
返回首页