Linux系统安装与远程连接实战指南

发布时间:2026/7/16 11:26:43

Linux系统安装与远程连接实战指南 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 ifCentOS-7-x86_64-DVD-2009.iso of/dev/disk2 bs1m重要提示操作前务必确认目标设备(/dev/disk2)错误的设备选择会导致数据丢失1.2 安装过程详解启动安装程序后需要重点关注以下几个配置环节分区方案建议新手选择自动分区有经验的用户可采用以下手动方案/boot500MB (标准分区)swap内存大小的1-2倍 (标准分区)/剩余所有空间 (LVM分区)软件选择根据用途选择最小安装仅命令行环境带GUI的服务器图形界面基础服务开发工作站包含开发工具链网络配置建议安装时即启用网络连接方便后续软件安装1.3 首次启动配置安装完成后首次启动时# 查看IP地址 ip addr # 测试网络连通性 ping www.baidu.com # 更新系统 sudo yum update -y常见安装问题排查若出现dracut-initqueue timeout错误通常是因为找不到安装介质检查U盘质量或重新制作启动盘安装过程中卡死尝试在启动时加入nomodeset参数图形安装界面异常可改用文本安装模式2. 远程连接方案全解析2.1 SSH基础配置Linux系统默认已安装SSH服务但需要确认服务状态# 检查服务状态 systemctl status sshd # 启用并启动服务 sudo systemctl enable sshd sudo systemctl start sshd # 检查监听端口 ss -tnlp | grep ssh安全加固建议修改默认端口编辑/etc/ssh/sshd_config修改Port为1024-65535之间的值禁用root登录PermitRootLogin no启用密钥认证PubkeyAuthentication yes2.2 客户端连接方法Windows平台PuTTY最经典的SSH客户端保存会话输入IP和端口后在Saved Sessions中输入名称点击Save密钥认证需使用PuTTYgen转换OpenSSH密钥为PPK格式Windows Terminal现代终端解决方案// 配置文件示例 { commandline: ssh user192.168.1.100 -p 22, name: 阿里云服务器, icon: ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png }macOS/Linux平台直接使用终端即可ssh usernameserver_ip -p port_number高级技巧使用~/.ssh/config文件管理多台服务器Host aliyun HostName 123.45.67.89 User root Port 2222 IdentityFile ~/.ssh/aliyun_keySSH隧道示例本地端口转发ssh -L 3306:localhost:3306 userremote_host2.3 VSCode远程开发安装Remote-SSH扩展按F1选择Remote-SSH: Connect to Host输入连接信息userhost:port首次连接需在弹出窗口中确认指纹实用技巧在VSCode的settings.json中添加配置可优化远程体验remote.SSH.showLoginTerminal: true, remote.SSH.enableDynamicForwarding: true3. 命令行操作精要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 实用技巧合集历史命令优化# 显示时间戳 export HISTTIMEFORMAT%F %T # 忽略重复命令 export HISTCONTROLignoredups # 搜索历史 CtrlR 反向搜索目录快速跳转# 安装autojump后 j project # 快速跳转到含project的目录进程管理# 查找并杀死进程 pgrep -f python script.py | xargs kill # 后台运行并记录PID nohup command echo $! pidfile3.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_name4. 常见问题解决方案4.1 连接问题排查连接超时检查防火墙sudo systemctl status firewalld查看端口开放sudo firewall-cmd --list-ports临时添加端口sudo firewall-cmd --add-port2222/tcp认证失败# 查看认证日志 tail -f /var/log/secure # 检查SELinux状态 getenforce中文乱码# 临时解决 export LANGen_US.UTF-8 # 永久配置 localectl set-locale LANGen_US.UTF-84.2 性能优化指南内存不足# 查看内存大户 ps aux --sort-%mem | head # 创建swap文件 sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile磁盘空间# 查找大文件 find / -type f -size 100M -exec ls -lh {} \; # 清理yum缓存 sudo yum clean all网络优化# ~/.ssh/config配置 Host * Compression yes ServerAliveInterval 60 TCPKeepAlive yes4.3 进阶学习路径系统管理用户权限管理定时任务(crontab)系统服务管理(systemd)网络服务Nginx/Apache配置FTP/Samba共享iptables/firewalld开发环境# 安装开发工具链 sudo yum groupinstall Development Tools # Python环境 sudo yum install python3-pip pip3 install virtualenv个人经验分享在实际运维中建议将常用命令和配置整理成cheatsheet。例如我维护了一个包含50常用命令的Markdown文件通过alfred快速查询。另外对于长期管理的服务器使用ansible等自动化工具比手动操作更可靠。

相关新闻