Linux基础与实战笔记

Linux基础与实战笔记
Skyforever第一部分:配置环境与文件共享
1. 虚拟机与主机网络配置
VMware网络模式
- 桥接模式: 虚拟机获取独立的、与宿主机处于同一局域网的IP地址,像一台真实的物理机。配置时需在“虚拟网络编辑器”中正确选择桥接的物理网卡(如:无线WiFi或有线以太网)。
- NAT模式: 虚拟机通过宿主机共享其IP地址访问外部网络。VMware会创建一个虚拟NAT网络(如VMnet8),为宿主机和虚拟机分配此子网内的IP,使它们可以互相通信。
- 仅主机模式: 虚拟机只能与宿主机通信,无法访问外部网络,适用于构建隔离的测试环境。
Ubuntu网络接口配置
查看接口: 使用
ifconfig
或ip addr
查看当前网络接口的名称(如ens33
,eth0
)和状态。启停接口:
1
2sudo ifconfig ens33 up # 启用ens33网卡
sudo ifconfig ens33 down # 停用ens33网卡配置方法 (新版Ubuntu Netplan):
新版Ubuntu (17.10+) 采用Netplan统一管理网络,配置文件位于
/etc/netplan/
目录下,格式为YAML。动态IP (DHCP,通过dhcp服务器获取ip):
1
2
3
4
5
6
7# /etc/netplan/01-network-manager-all.yaml
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
dhcp4: yes
配置静态IP的步骤
vmware桥接模式让ubuntu虚拟机跟windows宿主机使用相同IP网段,让局域网其它电脑可以访问虚拟机。
VMware虚拟机默认使用NAT网络模式,NAT模式会使虚拟机的IP与Windows宿主机的IP网段不同。例如,Windows宿主机的IP是 192.168.0.106
,而使用NAT模式下虚拟机Ubuntu 18.04或Ubuntu 20.04的IP可能是 192.168.10.101
,这样局域网内的其他电脑无法访问虚拟机。
(Windows宿主机IP)
(使用NAT模式的Ubuntu虚拟机IP)
那么如何让局域网的其他电脑可以访问到虚拟机呢?解决办法是配置虚拟机使用桥接网络,让Ubuntu虚拟机的IP网段与Windows宿主机处于同一IP网段,这样局域网内的其他电脑就可以访问虚拟机Ubuntu了。
第1步 配置VMware虚拟网络编辑器,设置VMnet0为桥接模式
在“桥接至”选项中,不要选择“自动”,而是选择电脑中实际用于上网的网卡。例如,如果你的电脑通过无线网卡连接WiFi,则选择无线网卡;如果使用有线网卡上网,则选择对应的有线网卡。
第2步 编辑虚拟机设置,配置Ubuntu虚拟机为桥接模式
第3步 修改Ubuntu虚拟机的网络配置
适用于Ubuntu 18.04及Ubuntu 20.04环境。
编辑网络配置文件
使用以下命令编辑/etc/netplan/01-network-manager-all.yaml
文件:1
sudo gedit /etc/netplan/01-network-manager-all.yaml
修改配置文件内容
将文件内容修改为以下格式:1
2
3
4
5
6
7
8
9
10
11
12network:
version: 2
renderer: NetworkManager
ethernets:
ens33: # 网卡名,以Ubuntu操作系统的实际网卡名称为准
dhcp4: no # IPv4关闭DHCP,使用静态模式
dhcp6: no # IPv6关闭DHCP
addresses:
- 192.168.0.161/24 # 本机IP地址(需与宿主机同一网段)
gateway4: 192.168.0.1 # 路由器IP,即宿主机的默认网关
nameservers: # DNS服务器
addresses: [114.114.114.114, 8.8.8.8, 1.1.1.1]注意事项:
- 此配置文件为层级结构,分为5级,上级与下级文本需右缩进,至少一个空格,不允许使用Tab键。
- 缩进的空格数不固定,但相同层级的元素需左对齐。
- 大小写敏感,冒号与后面的值之间需有一个空格,否则会报错。
应用网络配置
执行以下命令编译并应用网络配置:1
sudo netplan apply
验证网络连接
重启网络服务后,使用ping
命令验证网络是否通畅:1
ping www.baidu.com
配置方法 (旧版Ubuntu):
网络诊断
ping
: 测试到目标主机的网络连通性。1
ping www.baidu.com # Ctrl+C 停止
host
: 查询域名的IP地址,用于诊断DNS解析问题。1
host www.baidu.com
route
: 查看和手动配置网关。1
2route -n # 查看路由表
sudo route add default gw 192.168.1.1 # 临时添加默认网关
一招解决虚拟机无法连接网络的问题
教程来自:CSDN
第一步:先关闭虚拟机的ubuntu系统,然后虚拟机—>设置---->网络适配器,选择NAT模式。
第二步:编辑—>虚拟网络编辑器-----选择更改设置,允许配置。
第三步:还原默认设置
打开虚拟机,大功告成!!
2. 跨平台文件共享
Samba (Linux与Windows文件共享)
概念: 使Linux系统能作为Windows网络中的文件/打印服务器,实现无缝文件共享。
安装:
1
sudo apt install samba
配置:
编辑
sudo vi /etc/samba/smb.conf
,在文件末尾添加共享节:1
2
3
4
5
6[share]
comment = Ubuntu Share Folder
path = /home/gec/share_dir # 指定要共享的Ubuntu目录路径
browseable = yes
writable = yes
public = yes # 或者 guest ok = yes,允许匿名访问创建共享目录并赋予相应权限:
1
2mkdir ~/share_dir
sudo chmod 777 ~/share_dir
重启服务:
1
sudo service smbd restart
访问: 在Windows文件资源管理器的地址栏输入
\\<ubuntu_ip_address>\
即可访问。
FTP (vsftpd服务器)
概念:
File Transfer Protocol
,一种标准的文件传输协议。vsftpd
是Linux上一款非常安全和高效的FTP服务器软件。安装:
1
sudo apt install vsftpd
配置:
编辑
sudo vi /etc/vsftpd.conf
,确保写入权限已开启:1
2# 取消此行的注释
write_enable=YES
重启服务:
1
sudo service vsftpd restart
访问: 使用任何FTP客户端(如FileZilla, FlashFXP)连接,主机为Ubuntu的IP,用户名为Ubuntu的系统用户及其密码。
SCP (安全远程复制)
概念:
secure copy
,基于SSH协议,提供加密的文件传输,是命令行下最常用的远程复制工具。用法:
1
2
3
4
5
6
7
8# 从本地复制到远程
scp /path/to/local_file user@remote_host:/remote/path/
# 从远程复制到本地
scp user@remote_host:/remote/path/remote_file .
# 递归复制整个目录
scp -r local_dir/ user@remote_host:/remote/path/
3. 嵌入式开发连接
串口调试
- 概念: 嵌入式开发最基础的调试和监控手段,用于查看系统启动信息、内核日志,并进行命令行交互。
- 硬件: 串口线、USB转串口转换器(如使用CH340, PL2303芯片,需在Windows上安装相应驱动)。
- 软件: 串口终端软件 (如SecureCRT, MobaXterm, PuTTY)。
- 关键配置参数:
- 端口号 (Port): 在PC的设备管理器中确认 (如
COM3
)。 - 波特率 (Baud rate): 必须与开发板设置完全一致 (如
115200
,1500000
)。 - 数据位 (Data bits): 通常为
8
。 - 停止位 (Stop bits): 通常为
1
。 - 校验 (Parity): 通常为
None
。 - 流控 (Flow control): 通常为
None
(或关闭)。
- 端口号 (Port): 在PC的设备管理器中确认 (如
TFTP (轻量级文件传输)
- 概念:
Trivial File Transfer Protocol
,一种简单的、无认证的文件传输协议,广泛用于在PC和嵌入式开发板之间传输内核镜像、文件系统等。 - 工作流程:
PC端 (服务器): 运行TFTP服务器软件(如
tftpd32
/tftpd64
),设置好共享的文件目录和服务器监听的网卡IP。开发板端 (客户端): 使用
tftp
命令进行下载或上传。1
2
3
4
5
6
7# 从PC下载文件 (get/receive)
# 格式: tftp [server_ip] -gr [filename]
[root@board:~]# tftp 192.168.1.10 -gr my_app
# 上传文件到PC (put/send)
# 格式: tftp [server_ip] -pr [filename]
[root@board:~]# tftp 192.168.1.10 -pr log_data.txt
交叉编译工具链
- 概念: 在一种CPU架构(如PC的x86)上,编译生成能在另一种不同CPU架构(如开发板的ARM)上运行的程序的工具集(编译器、链接器等)。
- 配置步骤:
将工具链压缩包解压到合适位置 (如
/opt/toolchains/
)。将工具链的可执行文件目录 (
bin
目录) 添加到系统的PATH
环境变量中,以便全局调用。1
2# 编辑 ~/.bashrc 文件,在末尾添加
export PATH=/opt/toolchains/arm-gcc-10.3/bin:$PATH使配置立即生效:
1
source ~/.bashrc
验证配置是否成功:
1
2arm-linux-gnueabihf-gcc -v
# 如果能正确显示编译器版本信息,则表示配置成功。
第二部分:Linux命令行基础
4. 系统导航与交互
ls
释义:
list
,列出目录内容。常见用法:
1
2
3
4
5
6ls # 列出当前目录的文件名
ls -l # 列出文件详情 (long format),包含权限、所有者、大小、修改时间等
ls -a # 列出所有文件,包括以'.'开头的隐藏文件 (all)
ls -h # 配合-l使用,以人类可读的格式显示文件大小 (human-readable, e.g., KB, MB)
ls -la # 组合使用,列出所有文件的详情
ls /etc # 列出指定目录 /etc 的内容
cd
释义:
change directory
,切换当前工作目录。常见用法:
1
2
3
4cd /etc # 切换到 /etc 目录
cd # 切换到当前用户的家目录 (等同于 cd ~)
cd - # 切换到上一次所在的目录
cd .. # 切换到上一级目录
pwd
- 释义:
print working directory
,显示当前所在的完整路径。
clear
- 释义: 清理终端屏幕 (快捷键:
Ctrl + L
)。
echo
释义: 在终端回显文本或变量值。
常见用法:
1
2echo "Hello, World" # 输出字符串 "Hello, World"
echo $PATH # 输出环境变量PATH的值
alias
释义: 为命令创建别名。
常见用法:
1
alias ll='ls -lh'
注意: 等号两边不能有空格。此设置为临时生效,永久生效需将此行写入
~/.bashrc
或~/.zshrc
。
5. 获取帮助与信息
man
释义:
manual
,查阅命令或系统函数的帮助手册。常见用法:
1
2
3man ls # 查阅 ls 命令的帮助手册 (按 'q' 退出)
man -f read # 列出所有与 "read" 相关的帮助手册章节
man 2 read # 查阅第2册(系统调用)中关于 read 的手册注意: man手册共9册,Ubuntu默认可能未完全安装。可执行
sudo apt install manpages-dev manpages-posix-dev
安装更完整的手册。
which
释义: 查找并显示命令的可执行文件所在路径。
常见用法:
1
2which ls # 输出: /usr/bin/ls
which -a qmake # 列出 $PATH 中所有匹配的qmake命令路径
date
- 释义: 查看或设置系统日期与时间。
file
- 释义: 检测并显示文件类型。
6. Shell核心:管道与文本处理
管道 |
概念: 将前一个命令的标准输出连接到后一个命令的标准输入,形成数据流处理链。
示例:
1
2# 统计当前目录下的文件和目录总数
ls -1 | wc -l
sort
释义: 对输入行进行排序。
常见用法:
1
2
3sort file.txt # 按字典序升序
sort -r file.txt # -r: 降序 (reverse)
sort -n file.txt # -n: 按数值 (numeric) 升序
uniq
释义:
unique
,从输入中删除相邻的重复行。常见用法:
注意:
uniq
只能处理相邻的重复行,因此通常与sort
配合使用来实现全局去重。1
sort file.txt | uniq
wc
释义:
word count
,统计行数、单词数和字符数。常见用法:
1
2wc file.txt # 输出: 行数 单词数 字符数 文件名
wc -l file.txt # -l: 只统计行数 (lines)
xargs
概念: 从标准输入读取数据,并将其作为参数传递给后续命令。
示例:
1
2# 查找所有.tmp文件,并使用rm命令删除它们
find . -name "*.tmp" | xargs rm
第三部分:文件系统管理
7. 文件与目录操作
创建
touch
: 创建空文件或更新文件时间戳。mkdir
: 创建目录。1
mkdir -p project/src/include # -p: 递归创建嵌套目录
复制与移动
cp
: 复制文件或目录。1
2cp source.txt destination.txt # 复制文件
cp -r source_dir/ dest_dir/ # -r: 递归复制目录mv
: 移动文件/目录,或用于重命名。
删除
rm
: 删除文件或目录。此操作不可逆,请谨慎!1
2
3rm file.txt
rm -r dir_to_delete/ # -r: 递归删除目录及其内容
rm -rf important_dir/ # -f: 强制删除,不提示,极度危险!rmdir
: 删除空目录。
比较
diff
: 比较两个文件或目录的差异。1
2diff file1.txt file2.txt # 比较文件
diff -urN dir1/ dir2/ # 比较目录的常用选项组合
8. 文件内容查看与搜索
内容查看
cat
: 一次性显示文件全部内容。less
/more
: 分页查看长文件,less
功能更强。head
/tail
: 查看文件头部/尾部内容。1
tail -f /var/log/syslog # -f: 实时跟踪文件更新 (follow),常用于查看日志
od
: 以不同进制格式查看二进制文件。
内容搜索
find
: 在文件系统中按条件搜索文件。1
2find /usr/include -name "stdio.h" # 按名称查找
find . -type f -mtime -7 # 查找当前目录及子目录下,7天内修改过的普通文件grep
: 在文件内容中搜索匹配指定模式的行。1
2grep "error" app.log # 在app.log中查找包含"error"的行
grep -rn "my_function" ./src/ # 在src目录中递归(-r)搜索"my_function"并显示行号(-n)
9. 归档与压缩
tar
释义: Linux下最核心的归档工具,常与压缩算法结合。
核心参数:
c
: 创建 (create) |x
: 提取 (extract) |t
: 查看 (list)v
: 显示过程 (verbose) |f
: 指定文件名 (file)z
: 使用gzip (.gz
) |j
: 使用bzip2 (.bz2
) |J
: 使用xz (.xz
)
常见用法:
1
2
3
4
5
6
7
8
9# 压缩
tar -czvf archive.tar.gz ./my_directory # 打包并用gzip压缩
# 查看
tar -tf archive.tar.gz # 查看压缩包内容,不解压
# 解压
tar -xzvf archive.tar.gz # 解压.tar.gz
tar -xzvf archive.tar.gz -C /tmp # -C: 解压到指定目录
zip / unzip
释义: 跨平台兼容性好的压缩格式。
常见用法:
1
2zip -r archive.zip ./my_directory # -r: 递归压缩目录
unzip archive.zip
第四部分:系统管理
10. 用户与权限
用户和组管理
whoami
/id
: 查看当前用户信息。adduser
/deluser
: 添加/删除用户(交互式)。addgroup
/delgroup
: 添加/删除用户组。usermod
: 修改用户属性。1
2
3sudo adduser jack # 添加新用户jack
sudo usermod -aG sudo jack # 将用户jack追加(-a)到sudo组(-G)中
sudo deluser --remove-home jack # 删除用户并移除其家目录信息存储: 用户信息在
/etc/passwd
,密码哈希在/etc/shadow
,组信息在/etc/group
。
权限管理
chmod
: 修改文件/目录权限。chown
: 修改文件/目录所有者。chgrp
: 修改文件/目录所属组。权限解读 (
ls -l
):drwxr-xr--
d
: 类型(d:目录, -:文件, l:链接)rwx
: 所有者权限 (读、写、执行)r-x
: 所属组权限 (读、执行)r--
: 其他人权限 (读)
数字模式 (
chmod
):r=4
,w=2
,x=1
。1
2
3chmod 755 my_script.sh # rwx r-x r-x
chmod 644 config.conf # rw- r-- r--
sudo chown jack:developers file.txt # 修改所有者为jack,所属组为developers
11. 软件包管理 (Ubuntu)
apt
释义:
Advanced Package Tool
,高级包管理工具,自动处理依赖。常见用法:
1
2
3
4
5
6sudo apt update # 更新可用软件包列表
sudo apt upgrade # 升级所有已安装的包
sudo apt install vim # 安装vim
sudo apt remove vim # 卸载vim
sudo apt autoremove # 移除不再需要的依赖包
apt search htop # 搜索htop包
dpkg
释义:
Debian Package
,底层包管理工具,用于手动安装.deb
文件。常见用法:
1
sudo dpkg -i package_name.deb # -i: 安装 (install)
注意:
dpkg
不处理依赖。如果安装后提示依赖问题,可执行sudo apt -f install
来尝试自动修复。
12. 进程与系统资源管理
进程查看
ps
释义:
process state
,获取进程在某个时间点的快照信息。常见用法:
1
2
3
4
5
6
7
8# 以BSD风格显示所有进程的详细信息
ps aux
# 以System V风格显示所有进程的详细信息,并以完整格式显示
ps -ef
# 常用组合:配合grep查找特定进程
ps aux | grep "nginx"
top
释义: 动态、实时地显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
常见用法:
1
2
3
4
5# 启动top,默认按CPU使用率排序
top
# 监视指定PID的进程
top -p <PID>交互操作:
P
: 按CPU使用率排序 (默认)。M
: 按内存使用率排序。T
: 按累计运行时间排序。k
: 输入PID后回车,向进程发送信号 (kill)。q
: 退出。
进程控制
kill
释义: 向指定的进程发送一个信号,以实现进程间通信或控制。
常见用法:
1
2
3
4
5
6
7
8
9
10# 查看系统支持的所有信号列表
kill -l
# 默认发送SIGTERM (15),请求进程正常终止
kill <PID>
# 发送SIGKILL (9),强制立即终止进程(最后的手段)
kill -9 <PID>
# 或者使用信号名
kill -s SIGKILL <PID>
13. 磁盘与分区管理
查看磁盘使用情况
df
释义:
disk free
,查看已挂载文件系统的磁盘空间使用情况。常见用法:
1
2# 以人类可读的格式 (KB, MB, GB) 显示所有已挂载分区的空间信息
df -h1
2
3
4文件系统 大小 已用 可用 使用% 挂载点
/dev/vda1 50G 6.8G 40G 15% /
tmpfs 937M 48K 936M 1% /dev/shm
...
du
释义:
disk usage
,估算文件或目录占用的磁盘空间大小。常见用法:
1
2
3
4
5
6
7
8# 查看当前目录下每个子目录和文件的空间占用
du
# 以人类可读格式,显示当前目录的总大小 (-s: summary)
du -sh
# 查看指定目录的总大小
du -sh /var/log
分区操作
fdisk
释义: 一个功能强大的、用于磁盘分区的命令行工具。
常见用法:
1
2# 列出系统中所有可识别的磁盘及其分区表信息(即使未挂载)
sudo fdisk -l提醒:
df
只能查看已挂载的分区,而fdisk -l
可以查看所有已识别的分区,包括未挂载的。这在挂载新硬盘或U盘时非常有用,可以先用fdisk -l
找到设备名(如/dev/sdb1
)。
mount / umount
释义: 挂载/卸载文件系统。在Linux中,外部设备(如U盘、硬盘分区)必须被“挂载”到一个已存在的目录上,才能被访问。
常见用法:
1
2
3
4
5
6
7
8# 挂载分区: 将/dev/sdb1分区挂载到/mnt/usb目录
# 首先确保挂载点目录存在
sudo mkdir -p /mnt/usb
sudo mount /dev/sdb1 /mnt/usb
# 卸载分区 (两种等价方式)
sudo umount /dev/sdb1 # 按设备名卸载
sudo umount /mnt/usb # 按挂载点卸载注意: 卸载前,请确保没有任何进程正在使用该挂载点下的文件,否则会提示"device is busy"。
14. 案例实战:磁盘分区与持久化挂载
问题提出
- 目标: 在GEC6818开发板上,将一个闲置的大分区格式化,并挂载到
/root
目录,以扩展根目录的使用空间。 - 计划操作:
mkfs.ext2 /dev/mmcblk0p7
: 将分区格式化为ext2文件系统。mount /dev/mmcblk0p7 /root
: 将格式化后的分区挂载到/root
目录。
信息侦察与可行性分析
在执行任何破坏性操作(如格式化)之前,必须进行充分的信息收集和分析。
1. 查看已挂载分区 (
df -h
)1
2
3
4[root@GEC6818 /]# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 492.1M 395.5M 96.7M 80% /
...- 分析: 根分区
/dev/root
总大小约492MB,已使用80%,空间紧张。确实有扩展空间的必要。
- 分析: 根分区
2. 查看所有可识别的分区 (
fdisk -l
)1
2
3
4
5
6
7
8[root@GEC6818 /]# fdisk -l
Disk /dev/mmcblk0: 7818 MB, 7818182656 bytes
...
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 9 65536 83 Linux
...
/dev/mmcblk0p7 164 951 6324224 83 Linux- 分析:
- 系统中存在一个名为
/dev/mmcblk0p7
的分区。 - 其大小为
6324224
Blocks (约6.3GB),是一个相当大的分区。 - 在
df -h
的输出中并未看到此分区,证明它当前未被挂载。 - 结论:
/dev/mmcblk0p7
是一个存在的、未挂载的大分区,硬件上可用于我们的目标。
- 系统中存在一个名为
- 分析:
风险评估与操作建议
可以执行吗? 可以,但必须极其谨慎。
风险点:
- 数据丢失:
mkfs
(格式化) 是一个不可逆的操作,会清除/dev/mmcblk0p7
分区上的所有数据。必须100%确认该分区上没有重要数据。 - 挂载点覆盖: 将一个分区挂载到非空目录(如
/root
)上,会导致该目录原有的内容被临时隐藏。在挂载期间,访问/root
将直接访问新分区的内容,原有的文件将不可见,直到分区被卸载。 - 文件系统选择:
ext2
: 无日志功能,写入性能稍高,适合资源有限的嵌入式设备。但断电时数据丢失或文件系统损坏的风险更高。ext3
/ext4
: 有日志功能,能更好地保证数据一致性,更耐受意外断电。推荐在支持的设备上使用ext4
。
- 数据丢失:
最佳实践建议:
使用新的空目录作为挂载点: 这是最安全、最推荐的做法,可以避免覆盖系统重要目录。
1
2# 创建一个新的、专门的挂载点
mkdir /mnt/data执行格式化:
1
2
3
4
5# 格式化为ext2 (按原计划)
mkfs.ext2 /dev/mmcblk0p7
# (推荐) 格式化为更可靠的ext4
mkfs.ext4 /dev/mmcblk0p7执行挂载:
1
2
3
4
5# 挂载到推荐的新挂载点
mount /dev/mmcblk0p7 /mnt/data
# (按原计划,但有风险) 挂载到/root
mount /dev/mmcblk0p7 /root验证: 挂载后,使用
df -h
确认分区是否已成功挂载。1
2df -h
# 此时应能看到 /dev/mmcblk0p7 挂载到了 /mnt/data (或 /root)
持久化挂载配置 (/etc/fstab
)
mount
命令执行的挂载是临时的,系统重启后会失效。要实现开机自动挂载,必须将挂载信息写入 /etc/fstab
(file systems table) 文件。
1. 编辑fstab文件:
1
vi /etc/fstab
2. 添加挂载条目: 在文件末尾添加新的一行,格式如下:
<device> <mount_point> <filesystem_type> <options> <dump> <pass>
1
2# 示例: 将/dev/mmcblk0p7以ext2格式挂载到/root
/dev/mmcblk0p7 /root ext2 defaults 0 2- 字段解释:
/dev/mmcblk0p7
: 要挂载的设备。/root
: 挂载点目录。ext2
: 文件系统类型(必须与格式化时所用的一致)。defaults
: 使用默认的挂载选项 (通常是rw,suid,dev,exec,auto,nouser,async
)。0
:dump
工具的标志位,0
表示不备份。2
:fsck
文件系统检查的顺序。根分区为1
,其他分区为2
,0
表示不检查。
- 字段解释:
3. 测试配置 (非常重要):
在重启之前,执行mount -a
命令。此命令会读取/etc/fstab
并尝试挂载所有未挂载的条目。1
mount -a
- 如果此命令没有任何报错,说明
fstab
文件语法正确。 - 如果报错,必须根据错误信息修正
fstab
文件,否则系统可能无法正常启动!
- 如果此命令没有任何报错,说明
4. 验证与重启:
df -h
再次确认挂载成功。reboot
重启系统,检查开机后分区是否被自动挂载。
核心忠告: 操作
/etc/fstab
文件前,请确保你理解每个字段的含义。一个错误的配置可能导致系统启动失败,需要进入救援模式才能修复。
第五部分:网络管理
14. 网络接口与主机名
hostname
释义: 查看或临时设置系统的主机名。
常见用法:
1
2# 查看当前主机名
hostname
ifconfig
释义:
interface configuration
,用于查看和配置网络接口(在较新的系统中,推荐使用ip
命令)。常见用法:
1
2
3
4
5
6
7
8# 查看当前所有已激活的网络接口信息
ifconfig
# 查看所有网络接口,包括未激活的
ifconfig -a
# 临时设置IP地址 (重启后失效)
sudo ifconfig ens33 192.168.1.100 netmask 255.255.255.0提醒: 要实现永久IP地址配置,应修改系统的网络配置文件(如
/etc/network/interfaces
或Netplan的YAML文件)。
ifup / ifdown
释义: 基于
/etc/network/interfaces
配置文件来启用/禁用指定的网络接口。常见用法:
1
2sudo ifdown ens33 # 禁用网络接口卡ens33
sudo ifup ens33 # 启用网络接口卡ens33注意: 这组命令在采用Netplan的现代Ubuntu系统中不可用。