logo

Linux使用手册:从入门到进阶的完整指南

作者:carzy2025.09.12 11:00浏览量:1

简介:本文为Linux系统用户提供一份系统化的使用手册,涵盖基础操作、系统管理、网络配置及开发环境搭建等核心内容,帮助读者快速掌握Linux的实用技能。

一、Linux基础操作入门

1.1 终端与Shell基础

Linux的核心交互方式是通过终端(Terminal)和Shell命令行。常见的Shell类型包括Bash(默认)、Zsh、Fish等,用户可通过echo $SHELL查看当前Shell类型。

  • 基本命令ls(列出文件)、cd(切换目录)、pwd(显示当前路径)、mkdir(创建目录)、rm(删除文件/目录,慎用rm -rf)。
  • 通配符*匹配任意字符,?匹配单个字符。例如,rm *.log删除所有.log文件。
  • 管道与重定向|将前一个命令的输出作为后一个命令的输入(如cat file.txt | grep "error");>覆盖写入文件,>>追加写入文件。

1.2 文件与目录管理

Linux文件系统采用树状结构,根目录为/。关键目录包括:

  • /home:用户家目录。
  • /etc:系统配置文件。
  • /var:可变数据(如日志)。
  • /usr:应用程序安装目录。

操作示例

  1. # 创建多级目录
  2. mkdir -p ~/projects/linux_manual
  3. # 复制文件并保留权限
  4. cp -a source.txt ~/projects/
  5. # 查找文件
  6. find / -name "*.conf" 2>/dev/null

二、系统管理与维护

2.1 用户与权限管理

  • 用户管理useradd创建用户,passwd设置密码,usermod修改属性。
  • 权限控制:通过chmod(修改权限)、chown(修改所有者)和chgrp(修改所属组)管理文件权限。权限分为读(r)、写(w)、执行(x),用数字表示为4、2、1。
    1. # 赋予所有者读写执行权限,组和其他用户读权限
    2. chmod 744 script.sh
    3. # 修改文件所有者为user1
    4. chown user1:group1 file.txt

2.2 包管理工具

Linux包管理分为两种体系:

  • Debian系(Ubuntu、Debian):使用aptapt-get
    1. # 安装软件包
    2. sudo apt install nginx
    3. # 更新软件列表
    4. sudo apt update
    5. # 升级所有软件
    6. sudo apt upgrade
  • RedHat系(CentOS、RHEL):使用yumdnf
    1. # 安装软件包
    2. sudo yum install httpd
    3. # 搜索软件包
    4. sudo yum search "web server"

2.3 系统监控与日志

  • 资源监控top(实时进程监控)、htop(增强版top)、free -h(内存使用)、df -h(磁盘空间)。
  • 日志管理:系统日志存储/var/log/下,常用日志包括syslogauth.logdmesg(内核日志)。使用journalctl(Systemd日志工具)查看服务日志:
    1. # 查看nginx服务日志
    2. journalctl -u nginx --no-pager -n 50

三、网络配置与安全

3.1 网络基础配置

  • IP地址设置:临时配置IP可使用ifconfig(需安装net-tools)或ip命令:
    1. # 临时设置IP(重启失效)
    2. sudo ip addr add 192.168.1.100/24 dev eth0
    3. # 永久配置需修改/etc/netplan/(Ubuntu)或/etc/sysconfig/network-scripts/(CentOS)
  • 防火墙管理:使用ufw(Ubuntu)或firewalld(CentOS):
    1. # Ubuntu开启防火墙并允许SSH
    2. sudo ufw enable
    3. sudo ufw allow 22/tcp
    4. # CentOS查看防火墙规则
    5. sudo firewall-cmd --list-all

3.2 SSH安全配置

SSH是远程管理Linux的主要方式,需注意以下安全实践:

  • 禁用root登录:修改/etc/ssh/sshd_config中的PermitRootLogin no
  • 使用密钥认证:生成密钥对(ssh-keygen),将公钥上传至服务器(~/.ssh/authorized_keys)。
  • 修改默认端口:编辑sshd_config中的Port 2222,重启服务(systemctl restart sshd)。

四、开发环境搭建

4.1 编程语言环境

  • Python:通过aptyum安装后,使用virtualenv创建虚拟环境:
    1. sudo apt install python3-pip
    2. python3 -m venv myenv
    3. source myenv/bin/activate
  • Java:安装OpenJDK或Oracle JDK,配置JAVA_HOME环境变量:
    1. sudo apt install openjdk-11-jdk
    2. echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' >> ~/.bashrc
    3. source ~/.bashrc

4.2 数据库配置

  • MySQL:安装后运行安全脚本(mysql_secure_installation),设置root密码并移除匿名用户:
    1. sudo apt install mysql-server
    2. sudo mysql_secure_installation
  • PostgreSQL:安装后修改pg_hba.conf/etc/postgresql/XX/main/)允许本地密码认证:
    1. local all all md5

五、高级技巧与故障排查

5.1 定时任务与自动化

使用cron设置定时任务:

  1. # 编辑当前用户的crontab
  2. crontab -e
  3. # 每天凌晨3点备份/home目录
  4. 0 3 * * * tar -czf /backup/home_$(date +\%Y\%m\%d).tar.gz /home

5.2 常见故障排查

  • 服务无法启动:检查日志(journalctl -u service_name)和配置文件语法。
  • 磁盘空间不足:使用du -sh * | sort -h查找大文件,清理无用日志(/var/log/)。
  • 网络不通:测试连通性(pingtraceroute),检查防火墙规则。

六、总结与建议

Linux的强大在于其灵活性和可定制性。初学者建议从命令行基础入手,逐步掌握系统管理和网络配置;开发者需熟悉开发工具链和数据库部署;系统管理员应重点学习安全加固和自动化运维。推荐资源包括《鸟哥的Linux私房菜》、Linux Foundation官方文档及Stack Overflow社区。通过持续实践,用户可高效利用Linux完成从个人开发到企业级部署的各类任务。

相关文章推荐

发表评论