Linux系统常用命令

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

六、参考资源

相关推荐
orion5715 小时前
Missing Semester Class1:course overview and introduction of shell
linux
SkyWalking中文站19 小时前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
用户1204872216121 小时前
Linux驱动编译与加载
linux·嵌入式
火车叼位1 天前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
小猿姐1 天前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
七歌杜金房2 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
SkyWalking中文站2 天前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维
tntxia3 天前
linux curl命令详解_curl详解
linux