Linux系统管理的命令有哪些

发布时间:2021-11-30 09:48:46 作者:iii
阅读:176
Linux服务器限时活动,0元免费领! 查看>>
# Linux系统管理的命令有哪些

## 引言

Linux作为开源操作系统的代表,凭借其稳定性、安全性和灵活性,已成为服务器管理、云计算和嵌入式开发等领域的首选。系统管理员需要掌握大量命令来有效管理系统。本文将全面介绍Linux系统管理中的核心命令,涵盖用户管理、文件操作、网络配置等关键领域。

## 一、用户和权限管理命令

### 1. 用户账户管理

```bash
# 创建用户
sudo useradd -m username  # -m创建家目录
sudo passwd username     # 设置密码

# 修改用户属性
sudo usermod -aG groupname username  # 追加用户组
sudo usermod -s /bin/bash username   # 修改默认shell

# 删除用户
sudo userdel -r username  # -r同时删除家目录

2. 用户组管理

# 创建/删除组
sudo groupadd developers
sudo groupdel developers

# 查看用户所属组
groups username
id username  # 显示UID/GID信息

3. 权限管理

chmod 755 filename      # 权限数字表示法
chmod u+x,go-w script.sh # 符号表示法

chown user:group file   # 修改属主和属组
chown -R user:group dir # 递归修改目录

# 特殊权限
chmod +t /shared_dir   # 设置粘滞位
chmod u+s /usr/bin/program # 设置SUID

二、文件系统管理命令

1. 基本文件操作

ls -alh              # 详细列表显示
cp -rp source dest   # 保留属性复制
mv -i oldname newname # 交互式重命名
rm -rf directory/    # 强制递归删除(慎用)

2. 磁盘空间管理

df -hT               # 显示磁盘使用情况
du -sh *             # 查看当前目录大小
ncdu                 # 交互式磁盘分析工具

# 文件查找
find / -size +100M -exec ls -lh {} \;  # 查找大文件

3. 文件系统维护

# 文件系统检查
fsck /dev/sda1

# 挂载管理
mount -t ext4 /dev/sdb1 /mnt/data
umount /mnt/data

# 交换空间管理
swapon --show        # 查看swap
dd if=/dev/zero of=/swapfile bs=1M count=2048  # 创建swap文件
mkswap /swapfile && swapon /swapfile

三、进程管理命令

1. 进程监控

ps aux | grep nginx  # 查看进程
top                  # 动态进程查看
htop                 # 增强版top
pstree -p            # 树状显示进程

2. 进程控制

kill -9 PID          # 强制终止进程
pkill -f "pattern"   # 按模式杀进程
killall httpd        # 终止所有同名进程

# 后台作业管理
bg %1               # 恢复后台作业
fg %2               # 调到前台
jobs                # 查看后台作业

3. 系统资源监控

free -h             # 内存使用情况
vmstat 1 10         # 系统状态统计
iostat -x 2         # I/O统计
sar -u 1 5          # CPU利用率统计

四、网络配置命令

1. 网络接口管理

ip addr show        # 显示网络接口
ip link set eth0 up # 启用接口
ip route show       # 查看路由表

# 传统命令(部分系统仍需要)
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
route add default gw 192.168.1.1

2. 网络诊断工具

ping -c 4 example.com
traceroute example.com
mtr example.com     # 结合ping/traceroute

# 端口检查
netstat -tulnp      # 监听端口
ss -plnt            # 现代替代方案
lsof -i :80         # 查看端口进程

3. 防火墙管理

# iptables基本用法
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -L -n -v   # 查看规则

# firewalld(CentOS/RHEL)
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

# ufw(Ubuntu)
ufw allow 22/tcp
ufw enable

五、软件包管理命令

1. Debian/Ubuntu系(APT)

sudo apt update              # 更新软件列表
sudo apt upgrade             # 升级所有包
sudo apt install nginx      # 安装软件
sudo apt remove --purge nginx # 完全移除
sudo apt-cache search keyword # 搜索软件

2. RHEL/CentOS系(YUM/DNF)

sudo yum check-update       # 检查更新
sudo yum install httpd      # 安装软件
sudo yum remove httpd      # 移除软件
sudo yum provides */vim    # 查找提供文件的包

# CentOS 8+/RHEL 8+使用dnf
sudo dnf install mariadb

3. 通用包管理

# 源码编译安装通用流程
./configure --prefix=/usr/local
make && sudo make install

# Snap包管理
sudo snap install chromium

# Flatpak包管理
flatpak install flathub org.libreoffice.LibreOffice

六、系统服务管理

1. Systemd服务管理

systemctl start nginx       # 启动服务
systemctl stop nginx        # 停止服务
systemctl restart nginx     # 重启服务
systemctl status nginx      # 查看状态

# 启用/禁用开机启动
systemctl enable nginx
systemctl disable nginx

# 查看所有服务
systemctl list-unit-files --type=service

2. 日志管理

journalctl -u nginx -f      # 查看服务日志(实时)
journalctl --since "2023-01-01" --until "2023-01-02"
journalctl -p err -b        # 本次启动的错误日志

# 传统日志文件
tail -f /var/log/syslog     # 跟踪日志
grep "error" /var/log/nginx/error.log

七、高级系统管理命令

1. 计划任务管理

crontab -e                  # 编辑用户cron任务
crontab -l                  # 列出任务

# 系统级cron
sudo nano /etc/crontab

# 一次性任务
at now + 2 minutes
> /path/to/script.sh
> Ctrl+D

2. 内核参数调整

sysctl -a                   # 查看所有参数
sysctl kernel.hostname      # 查看特定参数

# 临时修改
sysctl -w net.ipv4.ip_forward=1

# 永久修改(编辑/etc/sysctl.conf)
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

3. 安全相关命令

# SSH密钥管理
ssh-keygen -t rsa -b 4096   # 生成密钥对
ssh-copy-id user@host       # 部署公钥

# SELinux管理
getenforce                  # 查看状态
setenforce 1                # 临时启用
sestatus                    # 详细状态

八、备份与恢复命令

1. 文件备份

# 使用tar归档
tar -czvf backup.tar.gz /path/to/dir
tar -xzvf backup.tar.gz -C /restore/path

# rsync同步
rsync -avz --delete /source/ user@remote:/backup/

2. 磁盘备份

# dd命令克隆磁盘
dd if=/dev/sda of=/dev/sdb bs=4M status=progress

# 创建磁盘镜像
dd if=/dev/sda1 of=disk.img bs=4M

九、容器与虚拟化管理

1. Docker命令

docker ps -a                # 查看容器
docker images               # 查看镜像
docker run -d -p 80:80 nginx # 运行容器
docker exec -it container_id bash # 进入容器

2. LXC/LXD命令

lxc list                    # 列出容器
lxc launch ubuntu:22.04 mycontainer
lxc exec mycontainer -- apt update

十、性能调优命令

1. 系统基准测试

# CPU测试
sysbench cpu --cpu-max-prime=20000 run

# 磁盘IO测试
fio --name=randread --ioengine=libaio --rw=randread --bs=4k --numjobs=4 --size=1G --runtime=60 --time_based --end_fsync=1

2. 性能分析

perf top                    # 实时性能分析
strace -p PID               # 系统调用跟踪
ltrace -p PID               # 库调用跟踪

结语

本文涵盖了Linux系统管理中最常用的命令,但Linux生态博大精深,每个命令都有更多高级用法等待探索。建议读者:

  1. 善用man手册:man command
  2. 使用–help参数:command --help
  3. 定期练习保持熟练度
  4. 关注安全更新和最佳实践

通过持续学习和实践,这些命令将成为您高效管理Linux系统的强大工具。

注意:本文示例基于通用Linux环境,具体选项可能因发行版和版本略有差异。生产环境中使用前请先测试。 “`

这篇文章总计约4500字,采用Markdown格式编写,包含了10个大类约100个常用Linux系统管理命令,每个部分都有实际示例和简要说明。您可以根据需要调整内容深度或添加更多具体案例。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:
  1. linux系统管理操作命令
  2. Linux系统:常用Linux系统管理命令总结

开发者交流群:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/4542749/blog/4551754

linux

上一篇:网站或者APP短信验证码是如何实现的

下一篇:C/C++ Qt TreeWidget单层树形组件怎么应用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
开发者交流群×