Linux操作系统入门到精通
Linux操作系统入门到精通
对于许多刚刚接触Linux的初学者来说,黑底白字的命令行界面可能显得有些"朴素",但一旦你熟悉了它的逻辑,就会发现其强大的功能让人上头。前期学习可能像爬山一样有些吃力,但跨过门槛后,你将体验到如滑翔般顺畅的掌控感。
本文从零开始,系统性地带你完成Linux的学习之旅:从系统安装与环境配置,到必备命令详解,再到磁盘管理实战和软件安装配置,涵盖Linux运维与开发中最核心的知识体系。无论你是为了未来的服务器部署、云计算、大数据开发,还是为了理解操作系统的底层运转,这都将是你打开通向高级工程师大门的完整指南。
一、Linux系统安装与环境配置
1.1 Linux系统概述
Linux系统简介
Linux是一套免费使用和自由传播的类UNIX操作系统。它基于POSIX和UNIX标准,是一个支持多用户、多任务、多线程和多CPU的强大操作系统。POSIX标准的引入,意在获得源代码级别的软件可移植性。
如今,Linux的应用范围极其广泛。全球Top500超级计算机100%运行Linux,超过七成的服务器、几乎所有云平台和超级计算中心也都基于Linux。此外,它在Web网站平台、大数据、虚拟化、Android(以Linux内核为核心衍生)、物联网以及人工智能等领域也扮演着不可或缺的角色。
Linux系统发行版本
Linux拥有众多的发行版本,初学者在选择时可能会眼花缭乱。以下是几个主流版本的特点:
- Red Hat Linux:商业版,稳定性极高,广泛应用于企业级服务器,但需要付费订阅。
- CentOS:基于Red Hat源码重新编译的免费版本,是企业服务器的主流选择(注:传统CentOS已停止维护,现多推荐使用Rocky Linux等替代)。
- Ubuntu:基于Debian,拥有庞大的社区支持,图形界面友好,非常适合桌面端和初学者入门。
- SUSE Linux:在欧洲市场占有较高份额,以高稳定性和优秀的企业级管理工具著称。
- Fedora Linux:Red Hat的社区测试版,包含最新的技术和软件包,适合开发者尝鲜。
1.2 虚拟机安装
虚拟化实施
虚拟化技术允许我们在单个物理服务器上运行多个虚拟机(VM)。对于学习Linux而言,VMware虚拟机就像是一个"虚拟PC"软件,它可以在你的Windows系统上模拟出一台独立的计算机,让你在不影响主机的情况下安全地练习。
虚拟化软件安装
- 前往VMware官方网站下载VMware Workstation安装包。
- 运行安装程序,按照向导提示完成安装。
- 安装完成后,启动VMware并根据需要输入许可证密钥(或使用免费个人版)。
1.3 Linux系统安装
创建虚拟机
- 打开VMware,点击"创建新的虚拟机"。
- 选择"典型(推荐)"配置。
- 选择"稍后安装操作系统",以便我们先自定义硬件配置。
- 客户机操作系统选择"Linux",版本选择对应的CentOS或Ubuntu。
- 为虚拟机命名并指定存储位置。
- 指定磁盘容量(建议初学者分配40GB以上,并选择"将虚拟磁盘拆分为多个文件")。
Linux系统安装
- 在虚拟机设置中,装载下载好的Linux ISO镜像文件。
- 启动虚拟机,进入安装界面,选择安装语言。
- 磁盘分区(关键步骤):
/boot分区:用于存放引导文件,建议分配 500MB - 1GB。swap分区:交换分区,建议与物理内存大小相当或为其1.5倍。/根分区:将剩余所有空间分配给根目录。
- 选择正确的时区(如 Asia/Shanghai)。
- 软件选择中,建议选择"最小安装(Minimal Install)"以保持系统纯净。
- 设置Root用户密码,等待安装完成并重启。
网络配置
虚拟机网络主要有桥接和NAT两种组网方式。桥接模式让虚拟机直接接入物理网络,拥有独立IP;NAT模式则通过宿主机进行网络地址转换,配置更简单。以下是NAT网络配置步骤:
- NAT路由器配置:在VMware的"虚拟网络编辑器"中配置NAT网关和子网掩码。
- 配置宿主机IP:确保Windows宿主机的VMnet8网卡IP与NAT网段一致。
- 关闭防火墙:为避免网络拦截,可临时关闭宿主机和Linux的防火墙。
- 配置Linux网卡参数:编辑网卡配置文件,设置静态IP、网关和DNS。
- 重启网卡:使配置生效。
systemctl restart network
# 或者在较新的系统中使用
nmcli connection reload && nmcli connection up <网卡名称>
- 检查网络:使用 ping 命令测试连通性。
ping www.baidu.com
- 网络时间同步:安装并启动chrony或ntpd服务,确保系统时间准确。
- 修改主机名:使用
hostnamectl set-hostname <新主机名>进行永久修改。
1.4 远程管理工具安装
虽然可以直接在VMware中操作,但使用专业的远程管理工具体验会更好。
PowerShell
Windows 10/11自带的PowerShell已内置OpenSSH客户端。你可以直接在终端中使用以下命令连接Linux:
ssh root@<Linux虚拟机IP地址>
MobaXterm
MobaXterm是一款功能强大的全能型远程管理工具。它不仅支持SSH、Telnet,还内置了SFTP、RDP和VNC等协议,并自带X11转发和SFTP文件传输面板,是Linux运维和开发的利器。
1.5 资源库优化
CentOS默认的官方源在国内访问较慢,建议更换为国内镜像源(如阿里云、清华大学等)。
- 备份并下载新的repo文件:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo <国内镜像源URL>/CentOS-Base.repo
- 生成缓存:
yum makecache
- 安装常用基础软件:
yum install -y wget vim
二、必备命令详解
2.1 目录与文件操作命令
cd:目录切换
cd命令用于切换当前工作目录,支持绝对路径和相对路径。
# 使用绝对路径
cd /home/user/documents
# 使用相对路径
cd ../projects
# 返回上一次所在目录
cd -
pwd:显示当前目录路径
pwd
# 输出示例:/home/user/documents
ls:浏览目录文件
ls是最常用的目录查看命令,常用参数如下:
ls -a # 显示所有文件(包括隐藏文件)
ls -l # 长格式显示详细信息
ls -la # 结合以上两个参数
ls -l 输出字段详解:
| 字段 | 说明 |
|---|---|
-rwxr-xr-- |
文件类型与权限(第1位为类型,后9位为权限) |
1 |
硬链接数 |
user |
文件属主 |
group |
文件属组 |
4096 |
文件大小(字节) |
Jun 10 14:30 |
最后修改时间 |
script.sh |
文件名 |
mkdir:创建目录
mkdir mydir # 创建单个目录
mkdir -p a/b/c # 递归创建多级目录
mkdir -v newdir # 显示创建过程信息
rm:删除文件
rm file.txt # 删除文件
rm -f file.txt # 强制删除,不提示
rm -r mydir # 递归删除目录及其内容
rm -rf mydir # 强制递归删除(谨慎使用!)
touch:创建文件或修改时间戳
touch newfile.txt # 创建空文件
touch existing.txt # 更新已有文件的访问和修改时间
cp:复制文件
cp src.txt dst.txt # 复制文件
cp -r srcdir dstdir # 递归复制目录
cp -a srcdir dstdir # 归档复制(保留权限、时间戳、链接等)
cp -p src.txt dst.txt # 保留文件属性
mv:移动或重命名文件
mv oldname.txt newname.txt # 重命名
mv file.txt /target/dir/ # 移动文件
echo:打印或回显内容
echo "Hello Linux" # 输出字符串
echo "Line1" > file.txt # 覆盖写入文件
echo "Line2" >> file.txt # 追加写入文件
cat:连接并打印文件内容
cat file.txt # 显示全部内容
cat -n file.txt # 显示行号(包括空白行)
cat -b file.txt # 显示行号(空白行不编号)
more / less:分页浏览
more file.txt # 按空格翻页,q退出
less file.txt # 支持上下翻页、搜索(/pattern)
head / tail:查看文件首尾
head -n 20 file.txt # 查看前20行
tail -n 20 file.txt # 查看后20行
tail -f app.log # 实时追踪日志输出
find:查找文件
find /home -name "*.txt" # 按名称查找
find /var -type f -size +100M # 查找大于100M的文件
find /tmp -mtime -7 -user root # 查找7天内修改过的root文件
ln:创建链接
ln -s /path/to/target linkname # 创建软链接(类似快捷方式)
ln /path/to/target hardlink # 创建硬链接(共享inode)
软链接 vs 硬链接: 软链接是一个独立文件,指向目标路径,目标删除后链接失效;硬链接与原文件共享同一inode,删除任一不影响另一个,但不能跨文件系统。
zip / unzip:压缩与解压缩
zip -r archive.zip dir/ # 压缩目录
unzip archive.zip # 解压缩
2.2 重定向与管道命令
标准重定向
echo "data" > file.txt # 覆盖写入
echo "more" >> file.txt # 追加写入
sort < input.txt # 从文件读取输入
特殊重定向
command 2> error.log # 仅重定向标准错误
command > out.log 2>&1 # 标准输出和错误合并到同一文件
管道命令
管道 | 将前一个命令的输出作为后一个命令的输入:
cat access.log | grep "ERROR" | wc -l # 统计ERROR行数
ps aux | grep nginx # 查找nginx进程
2.3 Linux命令四剑客
find:文件查找
find /etc -name "nginx.conf" -type f
find /home -size +50M -mtime -3
sed:流编辑器
sed 's/old/new/g' file.txt # 替换(不修改原文件)
sed -i 's/old/new/g' file.txt # 直接修改原文件
sed -n '5,10p' file.txt # 打印第5到10行
sed '/pattern/d' file.txt # 删除匹配行
sed '2a\New Line' file.txt # 在第2行后追加
sed '2i\New Line' file.txt # 在第2行前插入
awk:文本处理利器
awk '{print $1, $3}' file.txt # 打印第1和第3列
awk -F':' '{print $1}' /etc/passwd # 以冒号分隔,打印用户名
awk 'NR==5' file.txt # 打印第5行
awk '{sum+=$2} END {print sum}' data.txt # 求第2列总和
awk '{gsub(/old/, "new"); print}' file.txt # 替换并输出
awk常用内置变量:
FS:字段分隔符NR:当前行号NF:当前行字段数$0:整行内容$1~$n:第1到第n个字段
grep:文本搜索
grep "error" app.log # 搜索包含error的行
grep -i "error" app.log # 忽略大小写
grep -c "error" app.log # 统计匹配行数
grep -n "error" app.log # 显示行号
grep -v "debug" app.log # 反向匹配(排除debug)
grep -r "TODO" ./src/ # 递归搜索目录
2.4 用户操作命令
用户组管理
groupadd devteam # 创建用户组
groupmod -n newname oldname # 修改组名
groupdel devteam # 删除用户组
用户管理
useradd -m -s /bin/bash newuser # 创建用户并指定shell
usermod -aG devteam newuser # 将用户追加到devteam组
userdel -r olduser # 删除用户及其家目录
/etc/passwd 文件9列详解:
username:x:UID:GID:comment:home_directory:shell
| 列 | 说明 |
|---|---|
| 1 | 用户名 |
| 2 | 密码占位符(x表示密码存储在/etc/shadow) |
| 3 | 用户ID(UID) |
| 4 | 主组ID(GID) |
| 5 | 用户描述信息 |
| 6 | 家目录路径 |
| 7 | 登录Shell |
passwd:密码管理
passwd username # 修改指定用户密码
passwd -d username # 删除密码(设为空)
passwd -l username # 锁定账户
id:查看用户信息
id username
# 输出示例:uid=1001(username) gid=1001(username) groups=1001(username),27(sudo)
gpasswd:管理组成员
gpasswd -a username groupname # 将用户添加到组
gpasswd -d username groupname # 将用户从组中移除
su / sudo:权限切换
su - username # 完全切换到目标用户环境
sudo command # 以root权限执行命令
提示: 使用 sudo 的用户需加入 wheel 组(CentOS/RHEL)或 sudo 组(Ubuntu/Debian)。
2.5 文件访问权限命令
chown:修改文件属主
chown user:group file.txt # 同时修改属主和属组
chown -R user:group dir/ # 递归修改目录
chgrp:修改文件属组
chgrp devteam file.txt
chmod:修改权限
权限数字表示法:r=4, w=2, x=1
chmod 755 script.sh # rwxr-xr-x(属主全权限,其他读+执行)
chmod 644 config.txt # rw-r--r--(属主读写,其他只读)
chmod 770 private/ # rwxrwx---(属主和属组全权限,其他无权限)
chmod -R 600 .ssh/ # 递归设置SSH目录权限
2.6 进程管理命令
ps:查看进程
ps -ef # 全格式显示所有进程
ps aux # BSD风格详细进程列表
ps aux | grep java # 查找Java进程
pgrep:按名称查找进程
pgrep nginx # 返回nginx进程的PID
pgrep -u username # 查找指定用户的进程
后台运行与持久化
./script.sh & # 后台执行
nohup ./script.sh & # 关闭终端后仍持续运行,输出写入nohup.out
kill:终止进程
kill PID # 发送SIGTERM优雅终止
kill -9 PID # 发送SIGKILL强制终止
2.7 网络管理命令
ping:测试连通性
ping -c 4 8.8.8.8 # 发送4个ICMP包测试网络
ifconfig:查看网卡信息
ifconfig # 显示所有网络接口状态
ifconfig eth0 # 查看指定网卡信息
注意: 新版Linux推荐使用
ip addr替代 ifconfig。
ssh:远程登录
ssh user@192.168.1.100 # 默认22端口登录
ssh -p 2222 user@192.168.1.100 # 指定端口登录
scp:远程复制
scp file.txt user@host:/path/ # 上传文件
scp user@host:/path/file.txt ./ # 下载文件
scp -r dir/ user@host:/path/ # 递归复制目录
netstat:网络状态查看
netstat -ntlp # 显示TCP监听端口及对应进程
netstat -an # 显示所有连接和监听状态
提示: 新版Linux推荐使用
ss -ntlp替代 netstat,性能更优。
三、磁盘管理实战
3.1 磁盘分区
3.1.1 为什么要分区
新买的硬盘并不能直接拿来存文件,它必须经过三个步骤才能投入使用:
- 低级格式化:划分磁道和扇区(通常由厂商完成)。
- 分区:将物理硬盘划分为多个逻辑区域。
- 高级格式化:创建文件系统,让操作系统能够识别和管理文件。
在Linux中,我们通常将物理硬盘称为物理盘,例如 /dev/sda、/dev/sdb、/dev/sdc 等。而分区则被称为逻辑盘,命名规则是在物理盘名称后加上数字,例如 /dev/sda1、/dev/sda2、/dev/sdb1 等。
3.1.2 分区类型
Linux下的分区类型主要分为以下几种:
- 主分区(Primary):必须存在的分区,可以直接用来安装操作系统。
- 扩展分区(Extended):除主分区外,利用剩余空间建立的分区。一个硬盘最多只能有一个扩展分区,且它不能直接使用,必须进一步划分。
- 逻辑分区(Logical):从扩展分区中划分出来的子分区,通常用于存储数据。
此外,Linux还有两个特殊分区:
/boot分区:存放引导加载程序(如GRUB)和内核镜像,是系统启动的关键。Swap分区:虚拟内存空间,通常建议设置为物理内存的2倍,用于在物理内存不足时提供缓冲。
3.1.3 lsblk 命令
lsblk是查看磁盘和分区信息的利器,它以树状图显示设备的层次结构。
# 查看磁盘和分区的层次结构
lsblk
# 列出文件系统信息(包括UUID、FSTYPE等)
lsblk -f
3.1.4 df 命令
df命令用于查看文件系统的磁盘使用情况。
# 以人类可读的格式(如GB、MB)显示
df -h
# 指定以GB为单位显示
df -BG
3.1.5 fdisk 命令
fdisk是Linux下最常用的交互式分区工具。
主要操作参数:
m:显示帮助菜单p:查看当前分区表n:新建分区(p=主分区,e=扩展分区,l=逻辑分区)d:删除分区t:改变分区类型g:创建GPT分区表w:保存并退出q:不保存退出
实操示例:将200G的 /dev/sdc 进行分区
需求:主分区 sdc1(20G)、扩展分区 sdc2(176G)、逻辑分区 sdc5(100G)、sdc6(76G)、交换分区 sdc3(4G)。
fdisk /dev/sdc
进入交互模式后,依次执行:
# 新建主分区 sdc1 (20G)
n -> p -> 1 -> 回车(默认起始) -> +20G
# 新建扩展分区 sdc2 (176G,使用剩余空间)
n -> e -> 2 -> 回车(默认起始) -> 回车(默认结束)
# 新建逻辑分区 sdc5 (100G)
n -> l -> 回车(默认起始) -> +100G
# 新建逻辑分区 sdc6 (76G)
n -> l -> 回车(默认起始) -> +76G
# 新建交换分区 sdc3 (4G)
n -> p -> 3 -> 回车(默认起始) -> +4G
# 将sdc3类型改为Linux swap
t -> 3 -> 82
# 保存退出
w
3.2 磁盘格式化
3.2.1 文件系统
文件系统的作用是合理规划硬盘空间,管理文件分配表(FAT)。不同操作系统使用不同的文件系统:
- Windows:FAT16、FAT32、NTFS
- Linux:Ext2、Ext3、Ext4、XFS
XFS文件系统特点:全64-bit架构,支持上百万TB的分区大小,对大文件和大分区支持极佳,读写速度快,是现代Linux服务器的主流选择。
3.2.2 mkfs 命令
使用 mkfs 对分区进行格式化,创建文件系统。
# 将 sdc1 格式化为 XFS 文件系统
mkfs.xfs /dev/sdc1
3.2.3 mkswap 命令
设置交换分区并激活。
# 格式化交换分区
mkswap /dev/sdc3
# 激活交换分区
swapon /dev/sdc3
3.2.4 blkid 命令
查询块设备的文件系统类型、卷标、UUID等关键信息,在配置永久挂载时非常有用。
blkid /dev/sdc1
3.3 磁盘挂载
3.3.1 磁盘挂载简介
挂载(Mounting)是将存储设备上的文件系统与Linux目录树关联的过程。与Windows自动分配盘符(如C:、D:)不同,Linux需要将设备挂载到一个已有的目录(挂载点)上,用户才能访问其中的文件。
3.3.2 mount 命令
mount用于临时挂载文件系统。
# 基本语法
mount [选项] 设备名 目录
# 只读挂载
mount -o ro /dev/sdc1 /mnt/data
# 可读写挂载
mount -o rw /dev/sdc1 /mnt/data
# 挂载 /etc/fstab 中定义的所有设备
mount -a
3.3.3 umount 命令
卸除已挂载的文件系统。
# 通过挂载点卸载
umount /mnt/cdrom
# 通过设备名卸载
umount /dev/sdc1
3.3.4 永久挂载
临时挂载在重启后会失效,要实现开机自动挂载,有两种方式:
方式一:/etc/rc.local
在文件末尾添加挂载语句,简单但不推荐用于生产环境。
方式二:/etc/fstab(推荐)
编辑 /etc/fstab 文件,格式如下:
# 设备名 挂载点 文件系统类型 挂载选项 dump fsck
/dev/sdc1 /mnt/data xfs defaults 0 0
UUID=xxxx-xxxx /mnt/backup ext4 rw,noatime 0 2
提示: 建议使用UUID而非设备名,因为设备名可能在重启后发生变化。使用 blkid 命令可获取UUID。
四、软件安装与配置
4.1 系统安装软件默认目录
Linux遵循"一切皆文件"的理念,软件的各个组成部分(如可执行文件、配置文件、库文件等)通常会被分散存放在不同的目录中。了解这些目录是管理Linux软件的第一步。
4.1.1 用户软件安装目录
/opt目录:opt是optional的缩写。这个目录主要用于给主机额外安装大型软件,比如商业软件、第三方大型应用等,通常解压后直接放在该目录下。
4.1.2 系统软件安装目录
/usr目录:全称为unix shared resources,是系统级的核心目录,类似于Windows的Program Files。它包含以下重要子目录:/usr/src:系统源码存放目录。/usr/local:用户级程序目录,通常用于存放用户自己编译安装的软件。/usr/bin:存放普通用户可执行的命令。/usr/sbin:存放需要root权限的系统管理命令。/usr/lib:存放软件运行所需的函数库。/usr/share/doc:存放软件的说明文档。/usr/share/man:存放帮助手册文件。
4.1.3 配置文件安装目录
/etc目录:这是Linux系统的配置中心。绝大多数软件的配置文件都会存放在这里,常见的包括 passwd(用户信息)、group(用户组)、hosts(主机名解析)、resolv.conf(DNS配置)等。
4.1.4 which 命令
which命令用于查找并显示给定命令的绝对路径,非常适合用来确认当前使用的是哪个版本的命令:
which python
4.1.5 whereis 命令
whereis命令可以查找命令的二进制文件、源码文件和手册信息,比which更全面:
# 查找命令的所有相关信息
whereis nginx
# 只查找二进制文件
whereis -b nginx
# 只查找说明文档
whereis -m nginx
4.2 软件下载工具
在Linux中,我们经常需要从网络上下载源码包或安装包,以下两个工具必不可少。
4.2.1 wget 命令
wget是一个强大的命令行下载工具,支持从URL下载文件:
# 基础下载
wget http://example.com/file.tar.gz
# -O 指定下载后的文件名
wget -O my_file.tar.gz http://example.com/file.tar.gz
# -P 指定下载保存的目录
wget -P /opt/downloads http://example.com/file.tar.gz
# -c 断点续传
wget -c http://example.com/large_file.iso
# -b 后台下载
wget -b http://example.com/file.tar.gz
4.2.2 curl 命令
curl是一个支持多种协议(HTTP/HTTPS/FTP等)的文件传输工具:
# -O 使用远程文件的原始文件名保存
curl -O http://example.com/file.tar.gz
# -o 自定义本地保存的文件名
curl -o my_file.tar.gz http://example.com/file.tar.gz
4.3 软件安装工具yum
对于CentOS/RHEL等基于RPM的系统,yum是最常用的包管理工具。它基于RPM包构建,最大的优势是能够自动解决软件之间的依赖关系。
4.3.1 yum 源
yum的软件仓库配置文件位于 /etc/yum.repos.d/ 目录下,扩展名为 *.repo。常见的源分为两类:
- 网络仓库(如 CentOS-Base.repo):从互联网下载软件,速度快且版本新。
- 本地仓库(如 CentOS-Media.repo):从本地光盘或镜像安装,适用于无网络环境。
4.3.2 yum 源优化
默认的网络源在国内访问较慢,通常建议替换为阿里源或清华源。优化步骤如下:
# 1. 备份原配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 2. 下载新的阿里源配置文件(以CentOS 7为例)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 3. 清除旧缓存并生成新缓存
yum clean all
yum makecache
此外,如果默认源中找不到需要的软件,可以安装 EPEL(Extra Packages for Enterprise Linux)扩展源,它提供了大量高质量的第三方软件包。
4.3.3 yum 常用命令
# 显示所有可用包或单个包
yum list [package_name]
# 显示包的详细信息
yum info [package_name]
# 模糊查找软件包
yum search [keyword]
# 精确查找提供某个命令或文件的包
yum provides [command_or_file]
# 安装软件包
yum install [package_name]
# 卸载软件包
yum remove [package_name]
# 升级软件包
yum update [package_name]
# 包组管理:列出和安装包组
yum grouplist
yum groupinstall "Development Tools"
# 查看yum操作历史
yum history
4.4 其它安装工具
除了yum,Linux还提供了更底层的安装工具,适用于特定场景。
4.4.1 rpm 安装工具
rpm是预先编译好的安装包格式,安装快捷,但缺点是不会自动解决依赖关系。常用选项如下:
# 安装软件包 (-i: 安装, -v: 可视化, -h: 显示进度)
rpm -ivh package_name.rpm
# 升级软件包
rpm -Uvh package_name.rpm
# 卸载软件包
rpm -e package_name
# 查询已安装的包
rpm -q package_name
# 列出软件包安装的所有文件
rpm -ql package_name
# 查询软件包的依赖关系
rpm -R package_name
4.4.2 tar 安装工具
tar是Linux下最常用的打包压缩工具,很多开源软件以源码包形式发布。常用参数如下:
# 解压 .tar.gz 文件 (-x: 解开, -z: gzip格式, -v: 显示过程, -f: 指定文件名)
tar -zxvf archive.tar.gz
# 解压到指定目录 (-C: 指定目标路径)
tar -zxvf archive.tar.gz -C /opt/
# 创建压缩包 (-c: 创建)
tar -zcvf archive.tar.gz /path/to/dir
# 列出压缩包内容 (-t: 列出)
tar -ztvf archive.tar.gz
提示: 通过 tar 解压安装的软件,如果不需要了,直接使用
rm -rf删除对应目录即可。
4.5 常用软件安装:Java虚拟机配置
Java环境是Linux服务器上的常客。以下是手动安装配置JDK的标准流程:
- 下载JDK安装包:从Oracle官网或镜像站下载对应版本的JDK压缩包。
- 解压到/opt目录:
tar -zxvf jdk-8u301-linux-x64.tar.gz -C /opt/
- 重命名目录(方便后续管理):
mv /opt/jdk1.8.0_301 /opt/java
- 配置环境变量:编辑
/etc/profile文件,在末尾添加以下内容:
export JAVA_HOME=/opt/java
export PATH=$JAVA_HOME/bin:$PATH
- 使配置立即生效:
source /etc/profile
- 验证安装:
java -version
总结
恭喜你完成了《Linux操作系统入门到精通》全部内容的学习!本文系统地涵盖了Linux学习的四大核心模块:
-
Linux系统安装与环境配置:从Linux概述与发行版选择,到VMware虚拟机安装、CentOS系统部署、NAT网络配置,再到远程管理工具和yum源优化,帮你搭建起完整的Linux学习环境。
-
必备命令详解:涵盖文件操作命令(cd/ls/mkdir/rm/cp/mv/touch/cat/head/tail/find/ln/zip/unzip)、重定向与管道、四剑客(sed/awk/grep)、用户管理、权限控制、进程管理与网络管理,构成了Linux日常运维的命令体系基础。
-
磁盘管理实战:从磁盘分区原理与类型(主分区、扩展分区、逻辑分区),到fdisk分区实操、文件系统格式化(mkfs/mkswap/blkid),再到磁盘挂载与永久挂载配置,掌握了存储管理的完整流程。
-
软件安装与配置:梳理了Linux系统目录结构规范,掌握了wget/curl下载工具、yum包管理器及其优化配置、rpm和tar安装工具,并通过实战完成了Java环境的配置。
Linux的世界博大精深,命令只是起点。建议大家在虚拟机或云服务器上多加练习,将本文中的命令逐一敲一遍,养成优先使用命令行的习惯。保持好奇,持续实践,你终将精通Linux!如果觉得本文对你有帮助,欢迎点赞、收藏、转发,有任何问题欢迎在评论区留言讨论。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)