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
/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 | 系统控制台设备 |
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 进程
# 查看系统版本 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 # 查看已挂载的文件系统