Linux系统常用命令
本文整理Linux系统管理中常用的技巧,包括链接的使用、blkid命令、DNS配置、IP配置等内容。
一、Linux链接:软链接与硬链接
1.1 什么是链接
链接是指向文件的引用,分为软链接(符号链接)和硬链接两种。
1.2 创建链接
基本语法:
bash
ln [选项] 源文件 目标文件
常用选项:
| 选项 | 说明 |
|---|---|
-s |
创建软链接 |
-f |
强制创建,覆盖已存在的文件 |
-i |
覆盖前询问 |
-v |
显示执行过程 |
创建软链接:
bash
ln -s /path/to/source /path/to/link
创建硬链接:
bash
ln /path/to/source /path/to/link
1.3 软链接 vs 硬链接
| 特性 | 软链接 | 硬链接 |
|---|---|---|
| 跨文件系统 | ✅ 支持 | ❌ 不支持 |
| 链接目录 | ✅ 支持 | ❌ 不支持 |
| 链接不存在的文件 | ✅ 支持 | ❌ 不支持 |
| 删除源文件 | 链接失效 | 文件仍存在 |
| inode | 与源文件不同 | 与源文件相同 |
1.4 删除链接
bash
rm -rf link_name
注意 :不要加斜杠 link_name/,否则会删除源目录内容。
二、blkid命令:查看块设备信息
2.1 简介
blkid用于查看块设备的UUID、Label、挂载、文件系统类型等信息。
需要先安装 e2fsprogs 软件包:
bash
yum install e2fsprogs # CentOS
apt install e2fsprogs # Ubuntu
2.2 基本使用
查看所有已挂载分区信息:
bash
blkid
输出示例:
/dev/sda1: UUID="xxx-xxx-xxx" TYPE="ext4" PARTUUID="xxx"
/dev/sda2: UUID="yyy-yyy-yyy" TYPE="swap"
查看特定分区:
bash
blkid /dev/sda1
2.3 输出字段说明
| 字段 | 说明 |
|---|---|
| UUID | 设备的唯一标识符 |
| TYPE | 文件系统类型(ext2/ext3/ext4/xfs等) |
| LABEL | 文件系统标签 |
| PARTUUID | 分区UUID |
三、Ubuntu 20 DNS配置
3.1 DNS管理机制
Ubuntu 20使用 systemd-resolved 管理DNS:
/etc/resolv.conf中的DNS是127.0.0.53(systemd-resolved服务地址)- 修改
/etc/resolv.conf重启后会失效 - 修改
/etc/systemd/resolved.conf可以持久化配置
3.2 常用命令
为接口配置DNS(临时):
bash
resolvectl dns eth0 192.168.1.1
清除接口DNS配置(临时):
bash
resolvectl revert eth0
查看DNS配置:
bash
systemd-resolve --status
# 或
resolvectl status
3.3 持久化配置
编辑 /etc/systemd/resolved.conf:
ini
[Resolve]
DNS=8.8.8.8 114.114.114.114
FallbackDNS=1.1.1.1
重启服务:
bash
systemctl restart systemd-resolved
四、Linux IP配置
4.1 netplan配置(Ubuntu 18+)
配置文件:/etc/netplan/*.yaml
示例配置:
yaml
network:
version: 2
renderer: NetworkManager # 或 networkd
ethernets:
enp2s0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
eno1:
dhcp4: yes
renderer说明:
NetworkManager:桌面版使用,图形化管理networkd:服务器版使用,轻量级
4.2 查看网络管理器
bash
systemctl status NetworkManager
systemctl status systemd-networkd
active 表示正在使用。
4.3 常见问题
问题1:没有连网线时配置IP
- NetworkManager:配置IP不会生效
- systemd-networkd:配置IP生效
问题2:判断网口是否连网线
bash
ethtool eth0
查看 Link detected 字段:
yes→ 网线已连接no→ 网线未接/对端未开机/插错端口
或者使用:
bash
nmcli device status
五、常用命令速查
链接操作
bash
# 创建软链接
ln -s source link
# 创建硬链接
ln source link
# 删除链接
rm -rf link
磁盘信息
bash
# 查看所有块设备信息
blkid
# 查看特定分区
blkid /dev/sda1
# 查看磁盘使用
df -h
DNS配置
bash
# 配置接口DNS
resolvectl dns eth0 192.168.1.1
# 查看DNS状态
resolvectl status
# 测试DNS
nslookup example.com
dig example.com
网络配置
bash
# 查看IP
ip addr
ifconfig
# 查看网口状态
ethtool eth0
nmcli device status
# 应用netplan配置
netplan apply