Zhonghui

每个不曾起舞的日子,都是对生命的辜负

User Tools

Site Tools


Action disabled: revisions
软件:freebsd:freebsd

FreeBSD

FreeBSD is an operating system for a variety of platforms which focuses on features, speed, and stability. It is derived from BSD, the version of UNIX® developed at the University of California, Berkeley.

Unix-like OS


设备挂载 (AI)

/dev 所有设备文件所在目录(自动生成)
/mnt 用户挂载设备的临时目录
/media 图形界面自动挂载的目录(如 USB)
设备类型 设备文件示例 说明
硬盘(SATA) /dev/ada0 第一个 SATA 硬盘
硬盘(SCSI/USB)/dev/da0 第一个 USB 或 SCSI 磁盘
NVMe 硬盘 /dev/nvme0 第一个 NVMe 控制器
NVMe 分区 /dev/nvme0ns1 NVMe 的第一个命名空间(分区)
硬盘分区 /dev/ada0p1 ada0 的第一个分区
CD/DVD 驱动器 /dev/cd0 第一个光驱设备
ZFS 卷 /dev/zvol/... ZFS 创建的虚拟块设备
串口终端 /dev/ttyu0 第一个 USB 串口设备
虚拟终端 /dev/ttyv0 第一个系统虚拟终端
控制台设备 /dev/console 系统控制台设备

Shell

FreeBSD默认使用 /bin/csh

# 更换 Shell
 
sparrow[9]% which bash
/usr/local/bin/bash
 
sparrow[10]% /usr/local/bin/bash
[zh-ge@sparrow /usr/bin]$
 
# 切换 Shell 有两种方式
/usr/local/bin/bash # 在原本的 Shell 的基础上启动 Bash,并且会略过某些配置文件
exec /usr/local/bin/bash --login # 读取配置文件,替换当前 Shell 进程

Misc

Vs Linux

  1. Linux:一颗内核 + 多个发行版(Debian、Ubuntu、Fedora等)
  2. FreeBSD:一个完整、统一的类Unix系统,官方发布统一标准的“版本”,不需要额外“发行版”概念

查看系统信息 & 状态

# 查看系统版本
uname -a
# sysctl 是 FreeBSD(以及其他类 Unix 系统,如 Linux、macOS)中的一个工具,它用于查询和修改内核参数
sysctl -a        # 列出所有可用的 sysctl 变量
sysctl hw.model  # 查询单个变量的值
sysctl hw        # 查看某个分类的 sysctl 变量
sysctl net.inet.ip.forwarding=1  # 开启 IP 转发(非永久生效)
 
# 写入配置文件后重新加载,可以长期生效
echo "net.inet.ip.forwarding=1" >> /etc/sysctl.conf
sysctl -f /etc/sysctl.conf
 
# 获得某个参数的描述信息,相当于 help?
sysctl -d net.inet.ip.forwarding
$ net.inet.ip.forwarding: Enable IP forwarding between interfaces
 
# 查看 CPU 信息
sysctl hw.model hw.ncpu
 
# 更多常用参数
sysctl hw.model         # CPU 型号
sysctl hw.ncpu          # CPU 核心数
sysctl hw.physmem       # 物理内存大小(字节)
sysctl hw.usermem       # 用户可用内存
sysctl hw.machine       # 机器架构 (amd64, arm64, i386)
 
sysctl kern.boottime    # 系统启动时间
sysctl kern.ostype      # OS 类型
sysctl kern.osrelease   # 内核版本
sysctl kern.version     # FreeBSD 版本信息
sysctl kern.maxproc     # 最大进程数
sysctl kern.ipc.maxsockbuf  # 最大 socket 缓冲区
 
sysctl kern.maxfiles    # 最大打开文件数
sysctl kern.maxproc     # 最大进程数
sysctl kern.clockrate   # 时钟速率
 
sysctl net.inet.ip.forwarding     # 是否启用 IP 转发(路由功能)
sysctl net.inet.tcp.always_keepalive  # TCP 连接保持活动状态
sysctl net.inet.icmp.icmplim      # 限制 ICMP 响应数量
sysctl net.inet.tcp.msl           # TCP 超时时间
 
# 筛选信息
sysctl -a | grep mem    # 查找内存相关参数
sysctl -a | grep cpu    # 查找 CPU 相关参数
# dmesg(diagnostic message 的缩写)是用来查看 内核消息缓冲区 的命令。
# 它显示的是系统启动时和运行过程中,内核打印的消息。
 
# 如果你发现 dmesg 没有任何输出,可能是 日志已被清除,可以尝试
cat /var/log/dmesg.today | grep CPU
 
# 配合 grep 一起使用,筛选信息
dmesg | grep -i cpu    # 查看 CPU 相关信息
dmesg | grep -i memory # 查看内存相关信息
dmesg | grep -i vga    # 查看显卡驱动
dmesg | grep -i drm    # 查看显卡驱动
top # 实时查看系统负载
 
ps aux # 查看进程
# ps: Process Status
# a: 显示 所有用户 的进程(不仅仅是你自己的)
# u: 以 用户为主视角显示,包括用户名、CPU 和内存占用等
# x: 显示 没有控制终端(TTY)的后台进程,如守护进程(daemon)
 
df -h    # 查看磁盘使用情况
mount    # 查看已挂载的文件系统
/var/www/DokuWikiStick/dokuwiki/data/pages/软件/freebsd/freebsd.txt · Last modified: 2025/04/03 06:22 by zhonghui