自学内容网 自学内容网

Linux的使用

1. Linux 的不同发行版安装和使用

常见 Linux 发行版
  1. Ubuntu

    • Ubuntu 是最为流行的桌面和服务器发行版之一,基于 Debian,易于使用和上手。
    • 安装方式
      • 下载 ISO 镜像(Ubuntu官网)。
      • 使用工具(如Rufus、balenaEtcher)将镜像写入 USB 启动盘。
      • 通过 BIOS 设置 USB 启动,按照引导进行安装。
      • 图形化安装界面,用户只需按提示选择语言、安装位置、配置网络等,即可完成安装。
  2. CentOS / Rocky Linux / AlmaLinux

    • 这几款系统基于 RHEL (Red Hat Enterprise Linux),主要面向服务器运维和企业应用。
    • 安装方式
      • 下载 ISO 镜像(CentOS官网Rocky LinuxAlmaLinux)。
      • 与 Ubuntu 类似,使用 USB 启动盘或虚拟机进行安装。
      • 主要采用命令行安装,部分支持图形化界面,用户需要自行配置网络、磁盘分区等。
  3. Debian

    • Debian 是一个稳定、自由的社区维护的发行版,适合服务器和桌面使用。
    • 安装方式
      • 下载 ISO 镜像(Debian官网)。
      • Debian 提供不同的安装模式,包括图形化和命令行模式。
  4. Arch Linux

    • Arch Linux 是一个极简、滚动更新的发行版,适合高级用户。
    • 安装方式
      • 下载 ISO 镜像(Arch Linux官网)。
      • 安装时需要大量手动配置,用户需通过命令行完成磁盘分区、文件系统创建、引导加载程序的安装等。

2. Linux 基本语法和示例

Linux 的命令大多数都遵循以下基本结构:

command [选项] [参数]

其中:

  • command 是你执行的命令。
  • [选项] 是改变命令行为的开关,可以有多个选项。
  • [参数] 是命令的目标对象,例如文件、目录、服务等。
文件与目录操作
# 切换目录
cd /home/user      # 进入指定目录
cd ..              # 返回上一级目录

# 显示当前目录内容
ls                 # 列出当前目录中的文件和文件夹
ls -l              # 列出详细信息(如权限、大小、修改时间等)
ls -a              # 列出所有文件,包括隐藏文件(以.开头的文件)

# 创建与删除文件/目录
mkdir my_folder    # 创建一个目录
touch myfile.txt   # 创建一个空文件
rm myfile.txt      # 删除文件
rm -r my_folder    # 递归删除文件夹及其内容
文件权限与所有权
# 修改文件权限
chmod 755 myfile.sh   # 改变文件的权限,rwx 表示读、写、执行权限

# 修改文件所有权
chown user:group file.txt   # 将文件的所有权更改为指定用户和组

# 查看文件权限
ls -l                     # 在详细列表中查看文件权限
文件内容查看与编辑
# 查看文件内容
cat file.txt        # 一次性输出整个文件的内容
less file.txt       # 分页查看文件内容
head -n 10 file.txt # 查看文件前10行
tail -n 10 file.txt # 查看文件后10行

# 编辑文件
nano file.txt       # 使用 nano 编辑文件
vi file.txt         # 使用 vi 编辑文件
压缩与解压
# 打包为 tar.gz 文件
tar -czvf archive.tar.gz /path/to/directory

# 解压 tar.gz 文件
tar -xzvf archive.tar.gz
网络配置与管理
# 查看网络接口信息
ifconfig             # 显示网络接口详细信息
ip addr show         # 另一种方式查看网络接口信息

# 查看当前系统的路由表
route -n

# 配置 IP 地址(临时)
ifconfig eth0 192.168.1.100 netmask 255.255.255.0

# 测试网络连通性
ping google.com      # 测试是否能连接到外部网络
ping 192.168.1.1     # 测试与内网设备的连接

3. 运维常用的命令示例

用户与权限管理
# 添加新用户
useradd newuser           # 添加用户
passwd newuser            # 设置用户密码
usermod -aG sudo newuser  # 将用户添加到 sudoers 列表中

# 删除用户
userdel newuser           # 删除用户

# 查看当前用户
whoami                    # 显示当前用户名
服务管理(systemctl)
# 启动、停止、重启服务
systemctl start nginx         # 启动 Nginx 服务
systemctl stop nginx          # 停止 Nginx 服务
systemctl restart nginx       # 重启 Nginx 服务

# 查看服务状态
systemctl status nginx        # 查看 Nginx 服务状态

# 开机自动启动
systemctl enable nginx        # 设置 Nginx 开机启动
systemctl disable nginx       # 禁用 Nginx 开机启动
进程与系统资源管理
# 查看系统资源使用情况
top                   # 实时查看系统性能(CPU、内存、进程)
htop                  # 更高级的资源监控工具,需要先安装

# 查找并杀掉进程
ps aux                # 显示所有运行中的进程
kill -9 <PID>         # 强制终止进程,<PID>为进程号

# 系统资源统计
df -h                 # 显示磁盘空间使用情况
du -sh /directory     # 计算目录占用的空间大小
free -m               # 显示内存使用情况
系统日志查看
# 查看系统日志
tail -f /var/log/syslog    # 实时查看系统日志
journalctl -xe             # 查看系统服务的详细日志

# 查看某个服务的日志
journalctl -u nginx        # 查看 Nginx 服务日志
软件包管理

不同 Linux 发行版使用不同的软件包管理工具:

  • Ubuntu / Debian(APT)
sudo apt update           # 更新软件包索引
sudo apt upgrade          # 升级已安装的软件包
sudo apt install nginx    # 安装 Nginx 软件
sudo apt remove nginx     # 卸载 Nginx 软件
  • CentOS / RedHat(YUM / DNF)
sudo yum update           # 更新软件包索引
sudo yum install nginx    # 安装 Nginx 软件
sudo yum remove nginx     # 卸载 Nginx 软件

4. 总结

Linux 的安装和使用根据不同的发行版有所不同,但基础操作和命令行语法非常一致。在 Linux 运维中,掌握文件和目录管理、用户权限管理、网络配置、服务管理、进程管理、日志查看和软件包管理等基础命令至关重要。这些命令是日常系统维护和故障排查的关键。

在 PC 虚拟机和服务器上安装 CentOS 7 并进行基础配置包括环境配置、网络设置和防火墙配置,以下是详细步骤。

1. PC 虚拟机上安装 CentOS 7

我们可以使用虚拟化软件如 VMware WorkstationVirtualBoxHyper-V 来创建虚拟机,安装 CentOS 7。

步骤 1:下载 CentOS 7 镜像
  • 下载 CentOS 7 的 ISO 文件:
    • 下载链接CentOS 官网
    • 选择 Minimal ISO 或 DVD ISO 版本。如果只是基础安装,Minimal ISO 足够。
步骤 2:创建虚拟机
  • 打开虚拟机管理软件(例如 VirtualBox、VMware Workstation)。
  • 创建新的虚拟机
    1. 选择“创建新虚拟机”。
    2. 选择操作系统类型:选择 Linux -> CentOS 64-bit。
    3. 分配资源
      • 内存:推荐至少 2GB 内存(2048MB)。
      • 硬盘:建议至少 20GB 的虚拟磁盘空间。
    4. 选择安装介质:选择之前下载的 CentOS 7 ISO 文件作为虚拟机的安装介质。
    5. 完成虚拟机创建并启动。
步骤 3:安装 CentOS 7
  1. 启动虚拟机后,进入 CentOS 7 的安装界面,选择 “Install CentOS 7”。
  2. 选择语言:根据需要选择语言(默认英语)。
  3. 磁盘分区:选择自动分区或手动分区,通常自动分区即可满足需要。
  4. 网络配置:如果需要,打开“网络和主机名”设置界面启用网卡。
  5. 开始安装
    • 设定 root 密码和创建用户。
    • 等待系统安装完成。
步骤 4:安装完成
  • 安装完成后,重启虚拟机并移除 ISO 镜像。

2. 服务器安装 CentOS 7

服务器安装 CentOS 7 的过程与在虚拟机中的步骤类似,唯一的区别在于硬件配置和部署环境。

  1. 下载 CentOS 7 ISO 并创建启动 USB 驱动器。
  2. 插入 USB 启动盘,进入服务器 BIOS,设置从 USB 启动。
  3. 按照与虚拟机安装类似的步骤安装 CentOS 7。

3. 环境配置

更新系统

无论是在虚拟机还是服务器,安装完后第一步是更新系统,确保所有软件包和安全补丁都是最新的。

sudo yum update -y
安装常用软件包

安装常用的工具和软件包:

# 安装 wget 和 net-tools(用于网络配置查看)
sudo yum install wget net-tools -y

# 安装 vim 编辑器
sudo yum install vim -y

# 安装 epel-release 库
sudo yum install epel-release -y
配置网络

CentOS 7 使用 NetworkManager 管理网络,可以通过 nmtui 工具进行简单配置。

  1. 使用 nmtui 配置网络:
nmtui
  • 进入后选择 Edit a connection,然后选择网卡配置。
  • 配置静态 IP 地址、网关、DNS 服务器等网络参数。
  • 保存后重启网络服务:
sudo systemctl restart network
  1. 使用 ifconfigip addr 命令确认网络配置:
ifconfig

ip addr show
手动配置静态 IP 地址

也可以通过编辑网卡配置文件手动配置网络:

sudo vim /etc/sysconfig/network-scripts/ifcfg-<network-interface-name>

例如:

BOOTPROTO=none
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes

保存并重启网络服务:

sudo systemctl restart network

4. 基础配置

设置主机名

更改主机名:

hostnamectl set-hostname <new-hostname>

例如:

hostnamectl set-hostname server1.example.com

重启生效:

reboot
配置防火墙

CentOS 7 使用 firewalld 管理防火墙规则。下面是一些基础的防火墙操作。

  1. 启动防火墙并启用开机自启动
sudo systemctl start firewalld
sudo systemctl enable firewalld
  1. 查看防火墙状态
sudo firewall-cmd --state
  1. 查看当前防火墙规则
sudo firewall-cmd --list-all
  1. 允许特定服务或端口
  • 允许 HTTP(80端口):
sudo firewall-cmd --permanent --add-service=http
  • 允许 HTTPS(443端口):
sudo firewall-cmd --permanent --add-service=https
  • 允许自定义端口(例如 8080):
sudo firewall-cmd --permanent --add-port=8080/tcp
  1. 重载防火墙以应用更改
sudo firewall-cmd --reload
  1. 删除规则
  • 移除 HTTP 服务:
sudo firewall-cmd --permanent --remove-service=http
sudo firewall-cmd --reload
配置 SSH(远程登录)

服务器通常通过 SSH 进行远程管理。CentOS 7 默认安装了 SSH 服务,但可以进行一些基本配置。

  1. 检查 SSH 服务是否正在运行
sudo systemctl status sshd
  1. 启动 SSH 服务并设置开机启动
sudo systemctl start sshd
sudo systemctl enable sshd
  1. 修改 SSH 端口(可选)
    出于安全考虑,可以修改 SSH 服务的默认端口号(22)。
  • 编辑 SSH 配置文件:
sudo vim /etc/ssh/sshd_config
  • 修改以下行:
#Port 22

将端口改为你想使用的端口(例如 2222)。保存文件后,重启 SSH 服务:

sudo systemctl restart sshd
  1. 允许新的 SSH 端口通过防火墙(如果你修改了端口号):
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

5. 总结

  • PC 虚拟机:使用虚拟化软件如 VirtualBox、VMware 在个人电脑上安装 CentOS 7,适用于学习和测试。
  • 服务器安装:服务器上的安装通常通过物理机或云服务器完成,注重资源和安全配置。
  • 环境配置:更新系统、安装常用工具和包。
  • 网络配置:可以通过 nmtui 或手动配置静态 IP 地址,确保服务器能够访问网络。
  • 基础防火墙配置:使用 firewalld 管理开放和限制服务和端口。
  • SSH 配置:确保远程访问可用,考虑修改 SSH 端口来提高安全性。

通过这些配置,你的 CentOS 7 系统将具备基本的运行环境,并能够满足日常的运维需求。

VirtualBox和 Vagrant 是两种常用于虚拟化环境管理的工具,它们可以协同工作,以便用户轻松创建、管理和配置虚拟机。

  • VirtualBox 是一款开源的虚拟化软件,用于在计算机上创建和运行虚拟机,可以模拟多种操作系统。
  • Vagrant 是一个虚拟化环境管理工具,它提供了一个简单的命令行界面来配置和管理虚拟机,主要是与 VirtualBox 一起使用。

下面我会介绍 VirtualBox 和 Vagrant 的安装、配置和基本使用方法。


1. 安装 VirtualBox 和 Vagrant

步骤 1:安装 VirtualBox
  1. 下载 VirtualBox

    • 访问 VirtualBox 官方网站,选择对应操作系统版本(Windows、macOS 或 Linux)的安装包并下载。
  2. 安装 VirtualBox

    • 双击下载的安装文件并按照提示完成安装。安装完成后,你可以通过 VirtualBox 的图形界面来管理虚拟机。
步骤 2:安装 Vagrant
  1. 下载 Vagrant

  2. 安装 Vagrant

    • 与 VirtualBox 类似,运行安装包并按提示安装。
  3. 验证安装

    • 打开终端(Windows 用户可以使用 PowerShell 或命令提示符),运行以下命令以确保 Vagrant 已正确安装:
    vagrant --version
    

2. Vagrant 和 VirtualBox 的基本使用

步骤 1:创建一个 Vagrant 项目
  1. 创建一个新的项目目录:

    mkdir vagrant-test
    cd vagrant-test
    
  2. 初始化一个新的 Vagrant 配置文件:

    vagrant init
    

    这将会在当前目录下创建一个 Vagrantfile,用于定义虚拟机的配置。

步骤 2:编辑 Vagrantfile
  • 打开 Vagrantfile 文件,你会看到一个基本的配置模板,包含了各种配置选项。
  • 修改 Vagrantfile 文件,选择你想要使用的虚拟机镜像(也称为 “box”)。例如,我们可以使用 Ubuntu 20.04 的镜像:
    Vagrant.configure("2") do |config|
      config.vm.box = "ubuntu/focal64"
    end
    

Vagrant 通过远程镜像仓库(如 Vagrant Cloud)下载这些镜像。

步骤 3:启动虚拟机
  • 启动并创建虚拟机:

    vagrant up
    

    Vagrant 将会自动下载你在 Vagrantfile 中定义的 box,并通过 VirtualBox 创建并启动虚拟机。

  • 检查虚拟机的状态:

    vagrant status
    
步骤 4:连接到虚拟机
  • 使用 SSH 连接到启动的虚拟机:
    vagrant ssh
    

你现在已经进入了虚拟机的命令行,能够与虚拟机交互,就像操作物理机一样。

步骤 5:暂停、重启或销毁虚拟机
  • 暂停虚拟机(保存当前状态,稍后可以恢复):

    vagrant suspend
    
  • 重启虚拟机

    vagrant reload
    
  • 销毁虚拟机(删除虚拟机):

    vagrant destroy
    

3. Vagrant 的高级配置

共享文件夹

你可以将主机与虚拟机之间的文件夹同步,使得两者可以轻松共享数据。编辑 Vagrantfile,添加如下配置:

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/focal64"
  config.vm.synced_folder "./data", "/vagrant_data"
end
  • ./data 是主机上的文件夹路径,/vagrant_data 是虚拟机中的路径。
  • 当虚拟机启动时,这两个文件夹将自动同步。
网络配置
  1. 端口转发:将主机的某个端口映射到虚拟机中的端口。例如,将主机的 8080 端口映射到虚拟机的 80 端口:

    Vagrant.configure("2") do |config|
      config.vm.box = "ubuntu/focal64"
      config.vm.network "forwarded_port", guest: 80, host: 8080
    end
    
  2. 私有网络:虚拟机与主机在同一个私有网络中,可以通过 IP 地址直接访问虚拟机。

    Vagrant.configure("2") do |config|
      config.vm.box = "ubuntu/focal64"
      config.vm.network "private_network", ip: "192.168.33.10"
    end
    
  3. 公共网络:虚拟机将使用主机的网络接口,获得与主机相同网络的 IP 地址(可能是 DHCP 分配的)。

    Vagrant.configure("2") do |config|
      config.vm.box = "ubuntu/focal64"
      config.vm.network "public_network"
    end
    
多虚拟机配置

你可以在 Vagrantfile 中定义多个虚拟机。如下配置了两个虚拟机:

Vagrant.configure("2") do |config|
  config.vm.define "web" do |web|
    web.vm.box = "ubuntu/focal64"
    web.vm.network "private_network", ip: "192.168.33.10"
  end

  config.vm.define "db" do |db|
    db.vm.box = "ubuntu/focal64"
    db.vm.network "private_network", ip: "192.168.33.11"
  end
end
  • 启动所有虚拟机:
    vagrant up
    

4. Vagrant 的插件

Vagrant 通过插件扩展功能,你可以安装不同的插件来增强 Vagrant 的功能。例如,安装 Vagrant 的 vbguest 插件来自动更新 VirtualBox 客户端增强功能:

vagrant plugin install vagrant-vbguest

5. 总结

  • VirtualBox 是虚拟化软件,提供了在物理机上创建和运行虚拟机的能力。
  • Vagrant 是一个虚拟机管理工具,主要与 VirtualBox 配合使用,它简化了虚拟机的创建、配置和管理。
  • 通过 Vagrant,你可以快速设置多个虚拟机、共享文件夹、网络配置,甚至可以用代码版本控制虚拟机配置。

Vagrant 对于开发环境的快速构建特别有用,尤其适合团队协作和项目的开发、测试阶段。


原文地址:https://blog.csdn.net/weixin_44719499/article/details/142927670

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!