Linux系统安装与远程连接实战指南
2026/8/1 13:55:30 网站建设 项目流程

1. Linux系统安装实战指南

对于初次接触Linux的用户而言,系统安装往往是第一个需要跨越的门槛。与Windows系统不同,Linux提供了更多定制化选项,同时也意味着需要掌握一些基础概念。我们以CentOS 7.9为例,详细解析安装过程中的关键步骤。

1.1 安装介质准备

首先需要获取系统镜像文件。推荐从CentOS官方镜像站点或国内镜像源下载:

# 国内常用镜像源 https://mirrors.aliyun.com/centos/ https://mirrors.tuna.tsinghua.edu.cn/centos/

下载完成后,建议使用Rufus(Windows)或dd命令(Linux/Mac)制作启动U盘:

# Mac/Linux下使用dd命令 diskutil list # 确认U盘设备标识 sudo dd if=CentOS-7-x86_64-DVD-2009.iso of=/dev/disk2 bs=1m

重要提示:操作前务必确认目标设备(/dev/disk2),错误的设备选择会导致数据丢失

1.2 安装过程详解

启动安装程序后,需要重点关注以下几个配置环节:

  1. 分区方案:建议新手选择"自动分区",有经验的用户可采用以下手动方案:

    • /boot:500MB (标准分区)
    • swap:内存大小的1-2倍 (标准分区)
    • /:剩余所有空间 (LVM分区)
  2. 软件选择:根据用途选择:

    • 最小安装:仅命令行环境
    • 带GUI的服务器:图形界面+基础服务
    • 开发工作站:包含开发工具链
  3. 网络配置:建议安装时即启用网络连接,方便后续软件安装

1.3 首次启动配置

安装完成后首次启动时:

# 查看IP地址 ip addr # 测试网络连通性 ping www.baidu.com # 更新系统 sudo yum update -y

常见安装问题排查:

  1. 若出现"dracut-initqueue timeout"错误,通常是因为找不到安装介质,检查U盘质量或重新制作启动盘
  2. 安装过程中卡死,尝试在启动时加入"nomodeset"参数
  3. 图形安装界面异常,可改用文本安装模式

2. 远程连接方案全解析

2.1 SSH基础配置

Linux系统默认已安装SSH服务,但需要确认服务状态:

# 检查服务状态 systemctl status sshd # 启用并启动服务 sudo systemctl enable sshd sudo systemctl start sshd # 检查监听端口 ss -tnlp | grep ssh

安全加固建议:

  1. 修改默认端口:编辑/etc/ssh/sshd_config,修改Port为1024-65535之间的值
  2. 禁用root登录:PermitRootLogin no
  3. 启用密钥认证:PubkeyAuthentication yes

2.2 客户端连接方法

Windows平台:
  1. PuTTY:最经典的SSH客户端

    • 保存会话:输入IP和端口后,在Saved Sessions中输入名称点击Save
    • 密钥认证:需使用PuTTYgen转换OpenSSH密钥为PPK格式
  2. Windows Terminal:现代终端解决方案

    // 配置文件示例 { "commandline": "ssh user@192.168.1.100 -p 22", "name": "阿里云服务器", "icon": "ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png" }
macOS/Linux平台:

直接使用终端即可:

ssh username@server_ip -p port_number
高级技巧:
  1. 使用~/.ssh/config文件管理多台服务器:
    Host aliyun HostName 123.45.67.89 User root Port 2222 IdentityFile ~/.ssh/aliyun_key
  2. SSH隧道示例(本地端口转发):
    ssh -L 3306:localhost:3306 user@remote_host

2.3 VSCode远程开发

  1. 安装Remote-SSH扩展
  2. 按F1选择"Remote-SSH: Connect to Host"
  3. 输入连接信息:user@host:port
  4. 首次连接需在弹出窗口中确认指纹

实用技巧:在VSCode的settings.json中添加配置可优化远程体验:

"remote.SSH.showLoginTerminal": true, "remote.SSH.enableDynamicForwarding": true

3. 命令行操作精要

3.1 基础命令速查

命令类别常用命令功能说明
文件操作ls -alh详细列出文件(含隐藏文件)
cp -r递归复制目录
rm -i交互式删除
文本处理grep -n "pattern" file显示匹配行号
awk '{print $1}'提取第一列
sed 's/old/new/g'全局替换文本
系统监控top -o %CPU按CPU排序进程
df -h人性化显示磁盘空间
free -m以MB显示内存

3.2 实用技巧合集

  1. 历史命令优化

    # 显示时间戳 export HISTTIMEFORMAT="%F %T " # 忽略重复命令 export HISTCONTROL=ignoredups # 搜索历史 Ctrl+R 反向搜索
  2. 目录快速跳转

    # 安装autojump后 j project # 快速跳转到含project的目录
  3. 进程管理

    # 查找并杀死进程 pgrep -f "python script.py" | xargs kill # 后台运行并记录PID nohup command & echo $! > pidfile

3.3 Shell脚本入门

基础脚本示例:

#!/bin/bash # 注释:这是一个备份脚本 BACKUP_DIR="/backups" LOG_FILE="/var/log/backup.log" # 检查目录是否存在 if [ ! -d "$BACKUP_DIR" ]; then mkdir -p "$BACKUP_DIR" fi # 带时间戳的备份 tar -czf "${BACKUP_DIR}/backup_$(date +%Y%m%d).tar.gz" /path/to/data 2>> "$LOG_FILE" # 检查执行结果 if [ $? -eq 0 ]; then echo "[$(date)] 备份成功" >> "$LOG_FILE" else echo "[$(date)] 备份失败" >> "$LOG_FILE" exit 1 fi

调试技巧:

# 显示执行命令 set -x # 严格模式 set -euo pipefail # 函数调试 declare -f function_name

4. 常见问题解决方案

4.1 连接问题排查

  1. 连接超时

    • 检查防火墙:sudo systemctl status firewalld
    • 查看端口开放:sudo firewall-cmd --list-ports
    • 临时添加端口:sudo firewall-cmd --add-port=2222/tcp
  2. 认证失败

    # 查看认证日志 tail -f /var/log/secure # 检查SELinux状态 getenforce
  3. 中文乱码

    # 临时解决 export LANG=en_US.UTF-8 # 永久配置 localectl set-locale LANG=en_US.UTF-8

4.2 性能优化指南

  1. 内存不足

    # 查看内存大户 ps aux --sort=-%mem | head # 创建swap文件 sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
  2. 磁盘空间

    # 查找大文件 find / -type f -size +100M -exec ls -lh {} \; # 清理yum缓存 sudo yum clean all
  3. 网络优化

    # ~/.ssh/config配置 Host * Compression yes ServerAliveInterval 60 TCPKeepAlive yes

4.3 进阶学习路径

  1. 系统管理

    • 用户权限管理
    • 定时任务(crontab)
    • 系统服务管理(systemd)
  2. 网络服务

    • Nginx/Apache配置
    • FTP/Samba共享
    • iptables/firewalld
  3. 开发环境

    # 安装开发工具链 sudo yum groupinstall "Development Tools" # Python环境 sudo yum install python3-pip pip3 install virtualenv

个人经验分享:在实际运维中,建议将常用命令和配置整理成cheatsheet。例如,我维护了一个包含50+常用命令的Markdown文件,通过alfred快速查询。另外,对于长期管理的服务器,使用ansible等自动化工具比手动操作更可靠。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询