这是一份收集Unix/Linux/BSD命令和任务的文档,它有助于高级用户或IT工作。它是一份简明扼要的实用指南,当然读者应该知道他/她在干什么。

Unix Toolbox 版本:12
你可以到
http://cb.vu/unixtoolbox.xhtml 找到本文档的最新版。PDF版本可以替换链接中的.xhtml为 .pdf ,小册子版本可以替换成 .book.pdf 。 用双面打印机可将小册子打印成册。这份XHTML页面可以通过CSS3相兼容的应用程序转换成一份漂亮的PDF文档(看 脚本例子).
错误报告和评论是最欢迎的 -
c@cb.vu Colin Barschel.
你可以到
http://code.google.com/p/unixtoolboxcn/ 找到中文最新版。
也可到我的主页获取
http://silenceisdefeat.org/~greco/unixtoolbox_zh_CN.xhtml
关于中文版的任何错误和修正请发送E-Mail到 ]]>
正在运行的内核和系统信息
# uname -a                           # 获取内核版本(和BSD版本)# lsb_release -a                     # 显示任何 LSB 发行版版本信息# cat /etc/SuSE-release              # 获取 SuSE 版本# cat /etc/debian_version            # 获取 Debian 版本
使用 /etc/DISTR-release 其中DISTR(发行代号)= lsb (Ubuntu), redhat, gentoo, mandrake, sun (Solaris), 等等。
# uptime                             # 显示系统开机运行到现在经过的时间# hostname                           # 显示系统主机名# hostname -i                        # 显示主机的 IP 地址# man hier                           # 描述文件系统目录结构# last reboot                        # 显示系统最后重启的历史记录

硬件信息

内核检测到的硬件信息
# dmesg                              # 检测到的硬件和启动的消息# lsdev                              # 关于已安装硬件的信息译注:许多 Linux 发行版需要自行安装,如:apt-get install procinfo# dd if=/dev/mem bs=1k skip=768 count=256 2>/dev/null | strings -n 8 # 读取 BIOS 信息

Linux

# cat /proc/cpuinfo                  # CPU 讯息# cat /proc/meminfo                  # 内存信息# grep MemTotal /proc/meminfo        # 显示物理内存大小# watch -n1 'cat /proc/interrupts'   # 监控内核处理的所有中断# free -m                            # 显示已用和空闲的内存信息 (-m 为 MB)译注:包括 SWAP 分区# cat /proc/devices                  # 显示当前核心配置的设备# lspci -tv                          # 显示 PCI 设备# lsusb -tv                          # 显示 USB 设备# lshal                              # 显示所有设备属性列表# dmidecode                          # 显示从 BIOS 中获取的硬件信息

FreeBSD

# sysctl hw.model                    # CPU 讯息# sysctl hw                          # 得到很多硬件信息# sysctl vm                          # 虚拟内存使用情况# dmesg | grep "real mem"            # 物理内存# sysctl -a | grep mem               # 内核内存的设置和信息# sysctl dev                         # 显示当前核心配置的设备# pciconf -l -cv                     # 显示 PCI 设备# usbdevs -v                         # 显示 USB 设备# atacontrol list                    # 显示 ATA 设备

显示状态信息

以下的命令有助于找出正在系统中运行着的程序。
# top                                # 显示和更新使用 cpu 最多的进程# mpstat 1                           # 显示进程相关的信息# vmstat 2                           # 显示虚拟内存的状态信息# iostat 2                           # 显示 I/O 状态信息(2 秒 间隙)# systat -vmstat 1                   # 显示 BSD 系统状态信息(1 秒 间隙)# systat -tcp 1                      # 显示 BSD TCP 连接信息(也可以试试 -ip)# systat -netstat 1                  # 显示 BSD 当前网络连接信息# systat -ifstat 1                   # 显示 BSD 当前网卡带宽信息# systat -iostat 1                   # 显示 BSD CPU 和磁盘使用情况# tail -n 500 /var/log/messages      # 显示最新500条内核/系统日志的信息# tail /var/log/warn                 # 显示系统警告信息(看syslog.conf)

用户

# id                                 # 显示当前用户和用户组的 ID# last                               # 列出目前与过去登入系统的用户相关信息译注:单独执行 last 指令,它会读取位于 /var/log 目录下,名称为 wtmp 的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。# who                                # 显示目前登入系统的用户信息# groupadd admin                     # 建立新组"admin"和添加新用户 colin 并加入 admin 用户组(Linux/Solaris)# useradd -c "Colin Barschel" -g admin -m colin# userdel colin                      # 删除用户 colin(Linux/Solaris)# adduser joe                        # FreeBSD 添加用户 joe(交互式)# rmuser joe                         # FreeBSD 删除用户 joe(交互式)# pw groupadd admin                  # 在 FreeBSD 上使用 pw# pw groupmod admin -m newmember     # 添加新用户到一个组# pw useradd colin -c "Colin Barschel" -g admin -m -s /bin/tcsh # pw userdel colin; pw groupdel admin
加密过的密码存储在 /etc/shadow (Linux and Solaris) 或 /etc/master.passwd (FreeBSD) 中. 如果手动修改了 master.passwd,需要运行 # pwd_mkdb -p master.passwd 来重建数据库。

使用 nologin 来临时阻止所有用户登录(root除外)。用户登录时将会显示 nologin 中的信息。
# echo "Sorry no login now" > /etc/nologin       # (Linux)# echo "Sorry no login now" > /var/run/nologin   # (FreeBSD)