linux设置命令大全
linux设置命令大全详细介绍
以下是 Linux 系统中常用的设置命令分类整理,涵盖系统配置、用户管理、网络设置、服务管理等核心领域,适用于大多数 Linux 发行版(如 Ubuntu、CentOS、Debian 等):
一、系统基础设置
| 功能 | 命令 / 操作 | 说明 |
|---|---|---|
| 查看系统信息 | uname -a |
显示内核版本、主机名、架构等信息 |
| 设置主机名 | hostnamectl set-hostname <新主机名>(永久)hostname <临时主机名> |
systemd 环境下永久修改主机名;临时修改仅当前会话有效 |
| 查看 / 设置时间 | date(查看)date -s "YYYY-MM-DD HH:MM:SS"(设置) |
需 root 权限 |
| 时区设置 | timedatectl list-timezones(查看所有时区)timedatectl set-timezone 时区 |
例如:Asia/Shanghai(中国时区) |
| 系统更新 | Debian/Ubuntu 系:apt update && apt upgradeRedHat/CentOS 系: yum update |
升级系统软件包 |
二、用户与权限管理
1. 用户管理
| 功能 | 命令 | 说明 |
|---|---|---|
| 添加用户 | useradd -m -s /bin/bash <用户名> |
-m创建用户目录;-s指定默认 Shell |
| 修改用户信息 | usermod -l <新用户名> <原用户名>(修改用户名)usermod -d <新目录> <用户> |
更改用户主目录或用户名 |
| 删除用户 | userdel -r <用户名> |
-r同时删除用户目录和文件 |
| 设置密码 | passwd <用户名>(root 修改任意用户密码)passwd(用户自改密码) |
|
| 查看用户组 | groups <用户名> |
显示用户所属组 |
2. 组管理
| 功能 | 命令 | 说明 |
|---|---|---|
| 添加组 | groupadd <组名> |
|
| 删除组 | groupdel <组名> |
|
| 将用户加入组 | usermod -aG <组名> <用户名> |
-aG追加组(不覆盖原有组);-g设置主组 |
3. 权限设置
| 功能 | 命令 | 说明 |
|---|---|---|
| 修改文件权限 | chmod [u/g/o/a][+/-/=][r/w/x] 文件名chmod 755 文件名(数字模式) |
u用户,g组,o其他用户;数字对应权限(r=4, w=2, x=1) |
| 修改文件所有者 / 组 | chown 用户名:组名 文件名chown -R 用户名 目录 |
-R递归修改目录下所有文件 |
| 默认权限设置 | umask(查看)umask 022(临时设置) |
新文件 / 目录默认权限(掩码值,如 022 表示禁止组和其他用户写入) |
三、网络配置
1. 网络接口设置
| 功能 | 命令 | 说明 |
|---|---|---|
| 查看网络接口 | ifconfig(旧工具)ip addr(新工具) |
ip更推荐,支持 IPv6 |
| 启用 / 禁用接口 | ip link set dev 接口 up/downifconfig 接口 up/down |
例如:eth0、wlan0 |
| 设置 IP 地址 | ip addr add IP/子网掩码 dev 接口dhclient 接口(DHCP 获取) |
临时配置,重启后失效;永久配置需修改配置文件(如/etc/network/interfaces或/etc/sysconfig/network-scripts/ifcfg-接口) |
| 查看路由表 | route -nip route show |
|
| 设置默认网关 | ip route add default via 网关IP |
2. 网络诊断与状态
| 功能 | 命令 | 说明 |
|---|---|---|
| 测试网络连通性 | ping 目标IP |
-c 4指定 ping 次数 |
| 查看开放端口 | netstat -tunlp(旧工具)ss -tunlp(新工具,更高效) |
-tTCP,-uUDP,-n数字形式,-l监听状态,-p显示进程 |
| 域名解析 | nslookup 域名dig 域名 |
检查 DNS 解析是否正常 |
| 查看网络统计 | netstat -siftop(实时流量监控,需安装) |
3. 域名与 DNS 设置
| 功能 | 命令 / 文件 | 说明 |
|---|---|---|
| 配置 DNS 服务器 | 修改/etc/resolv.conf,添加nameserver DNS_IP(如 8.8.8.8) |
部分发行版由 DHCP 自动生成,需通过netplan或nmcli永久修改 |
四、服务与进程管理
1. 服务管理(systemd)
| 功能 | 命令 | 说明 |
|---|---|---|
| 查看服务状态 | systemctl status 服务名 |
例如:systemctl status sshd |
| 启动 / 停止 / 重启服务 | systemctl start/stop/restart 服务名 |
|
| 设置开机启动 | systemctl enable/disable 服务名 |
|
| 查看所有服务 | systemctl list-unit-files --type=service |
显示所有服务的启用状态 |
2. 传统服务管理(SysVinit,如 CentOS 6)
| 功能 | 命令 | 说明 |
|---|---|---|
| 管理服务 | service 服务名 start/stop/restartchkconfig 服务名 on/off |
例如:service httpd start |
3. 进程管理
| 功能 | 命令 | 说明 |
|---|---|---|
| 查看进程 | ps aux(静态)top(动态实时监控)htop(交互式,需安装) |
aux显示所有用户进程;top按M排序内存,P排序 CPU |
| 终止进程 | kill -9 进程PIDkillall 进程名 |
-9强制终止 |
| 后台运行进程 | nohup 命令 & |
忽略挂断信号,进程持续运行 |
五、文件系统与存储
1. 磁盘与分区
| 功能 | 命令 | 说明 |
|---|---|---|
| 查看磁盘空间 | df -h(查看分区使用情况)du -sh 目录(查看目录大小) |
-h以人类可读格式显示 |
| 分区工具 | fdisk /dev/sda(交互式分区)parted /dev/sda(支持 GPT) |
需重启或使用partprobe生效 |
| 格式化分区 | mkfs.ext4 /dev/sda1(EXT4 文件系统)mkfs.xfs /dev/sda1(XFS) |
2. 挂载与卸载
| 功能 | 命令 | 说明 |
|---|---|---|
| 挂载分区 | mount /dev/sda1 /mnt(临时挂载)echo "/dev/sda1 /mnt ext4 defaults 0 0" >> /etc/fstab(永久挂载) |
永久挂载需修改/etc/fstab,重启生效 |
| 卸载分区 | umount /mnt |
若提示忙,使用fuser -km /mnt终止占用进程后再卸载 |
3. 文件操作补充
| 功能 | 命令 | 说明 |
|---|---|---|
| 查找文件 | find /目录 -name "文件名"locate 文件名(需先更新数据库updatedb) |
find支持复杂条件;locate更快但依赖数据库 |
| 压缩 / 解压 | tar -czvf 压缩包.tar.gz 目录(压缩)tar -xzvf 压缩包.tar.gz(解压) |
-c创建,-x解压,-zgzip,-v显示过程,-f指定文件 |
六、环境变量与配置文件
| 功能 | 命令 / 文件 | 说明 |
|---|---|---|
| 查看环境变量 | echo $变量名env(所有变量) |
例如:$PATH、$HOME |
| 临时设置变量 | export 变量名=值 |
仅当前会话有效 |
| 永久设置变量 | 修改~/.bashrc(用户级)或/etc/profile(系统级),添加export 变量名=值 |
生效:source ~/.bashrc |
| 查看系统配置文件 | cat /etc/sysctl.conf(内核参数)sysctl -p(加载修改) |
例如:sysctl -w net.ipv4.ip_forward=1开启 IP 转发 |
七、防火墙设置
1. iptables(通用)
| 功能 | 命令 | 说明 |
|---|---|---|
| 允许 HTTP 访问 | iptables -A INPUT -p tcp --dport 80 -j ACCEPT |
|
| 禁止 PING | iptables -A INPUT -p icmp --icmp-type echo-request -j DROP |
|
| 保存规则 | iptables-save > /etc/iptables.rules(CentOS)iptables-persistent(Ubuntu) |
永久生效需配置启动脚本或工具 |
2. firewalld(CentOS 7+)
| 功能 | 命令 | 说明 |
|---|---|---|
| 允许端口 | firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --reload |
--permanent永久生效,需重载配置 |
| 查看状态 | firewall-cmd --state |
八、软件包管理
| 功能 | Debian/Ubuntu 系(.deb) | RedHat/CentOS 系(.rpm) |
|---|---|---|
| 安装软件 | apt install 包名 |
yum install 包名dnf install 包名(Fedora 22+) |
| 卸载软件 | apt remove 包名apt purge 包名(删除配置文件) |
yum remove 包名 |
| 查看已安装包 | dpkg -lapt list --installed |
rpm -qayum list installed |
| 编译安装 | ./configure && make && make install |
通用源码安装步骤,需先安装build-essential(Debian)或gcc(CentOS) |
九、其他实用命令
| 功能 | 命令 | 说明 |
|---|---|---|
| 计划任务 | crontab -e |
编辑用户级定时任务,格式:* * * * * 命令(分 时 日 月 周) |
| 日志查看 | cat /var/log/syslog(通用日志)journalctl(systemd 日志) |
journalctl -u 服务名过滤特定服务日志 |
| 系统日志轮转 | 配置/etc/logrotate.conf |
自动切割和压缩旧日志 |
| 安全加固 | sudo visudo(编辑 sudo 权限) |
添加用户名 ALL=(ALL) NOPASSWD: ALL免密码 sudo |
总结
- 新手建议:从基础命令(如
ls、cd、mkdir)入手,逐步学习权限、用户、网络等核心模块。 - 发行版差异:注意 Debian 系(apt)与 RedHat 系(yum/dnf)的包管理命令区别,systemd 与 SysVinit 的服务管理差异。
- 手册查询:使用
man 命令或命令 --help获取详细用法(如man chmod)。
如果需要某个具体命令的深度解析或特殊场景配置,可以进一步提问!