FreeBSD常用命令集


    1.一般我们用来检查网络是否有问题,大多是用以下三个指令
    nslookup
    ping
    traceroute
            其中 nslookup 是用来检查 dns 的相关设定, ping 用来检查自己和对方网络是否通畅,而 traceroute 则是用用来检查从自己电脑到对方的电脑所经过的路由路径情况..
            不过以 nslookup 而言,个人觉得不是很好用,有时我们只是想单纯的查一下某台主机或是MX 記錄,那使用 nslookup 就有点罗嗦了..
            在此介绍二个好用的指令 host 及 dig,這二个指令很相似,不过效率较之 nslookup 高
    # host -a <主机名称> 或 <ip>
    => 输入主机名称显示 dns 正向解析的部份,输入 ip 则是显示反向(ptr)
    # dig <主机名称或ip> <any a mx soa txt.. 任选一项>
    如要显示 MX 记录
    # dig 主机名称 mx
    2. 忘了 root 密碼
    如果你忘了 root 的密码怎么办,请参照以下steps 进行..
    (1). 进入单人模式
    开机后,当出现
    Hit [Enter] to boot immediately, or any other key for command prompt.
    Booting [kernel] in 10 seconds...
    按space键(或除了enter 以外的键) 则会进入 command prompt mode,同时出现一个ok ..
    这时请输入 boot -s 以进入单人模式
    (2). 选择sh
    进入单人模式后,系统会询问你要使用哪个sh,內定是 /bin/sh ,就使用这个吧,直接按enter 跳过
    (3). 将所有的硬碟分割架起
    # mount -a
    (4). 更改密碼
    # passwd
    长度要在6位以上,输入二次
    (5). 重新启动
    # reboot
      3. 软件的启动 (1)如一些 *.conf 档,象修正了 apache sendmail .. 等
    通常在 /etc/local/rc.d/ 这个目录中会有相关的 .sh 檔,直接执行就可以了,注意的是一般要加上参数,一般的参数有以下(视软件而定会有不同)..
    start  启动
    stop  停止
    reload或restart  重新启动
    (2)第二种方法就是直接使用 killall,如我们要重新启动inetd,可用以下方法:
    # killall -1 inetd
    或是
    # killall -HUP inetd
    这样就可以重新启动这个daemon 了
      4.软体的安装 关于下载的.tar.gz源码包的安装方式:如安装samba-3.0.13.tar.gz 首先#tar -zxvf samba-3.0.13.tar.gz解压开包;然后进入/samba-3.0.13/source目录,#./configure  配置一下;配置完毕后,#make  编译一下;编译完成后,#make install clean 安装并清空垃圾文件现在所有工作完毕。(该安装方式是为了保证需稳定可靠运行的软件成功安装的一种重要安装方式) (1). 安装系统时所安装的软件
    执行档通常装在 /bin、/sbin、/usr/bin、/usr/sbin、/usr/libexec 下
    设定档通常装在 /etc 下
    man file 通常在 /usr/man 或 /usr/share/man 下
    doc 文件通常在 /usr/share/doc 下
    (2). 经由 package 或 port 安装的软件
    执行档通常装在 /usr/local/bin、/usr/local/sbin、/usr/local/libexec 下
    设定档通常装在 /use/local/etc 下
    man file 通常在 /usr/local/man  下
    doc 文件通常在 /usr/share/doc 下。
    注意以上并不是绝对的,因为有些特殊情況需视软件而定..
      5.如何在 FreeBSD 同一片网络卡上再加一个ip 地址
    有的时候,需要在同一片网络卡上加多个 ip 以达到一些特殊的要求..
    在 FreeBSD 这是非常简单的,假设原先网络卡的 ip 是 211.211.211.211,想加一个 211.211.211.212,使用的是 rl0 这片网络卡,则做法如下..
    (1) 在 /etc/rc.conf 加上这一行
    ifconfig_rl0_alias0="inet 211.211.211.212 netmask 255.255.255.255"
    其中的 alias0 就是加装的第一个 ip,如要設定多个可在此修正,如 alias1、alias2.. aliasN
    (2). 重新启动网络卡,执行 /etc/netstart
    # /etc/netstart df
    查询系统的可使用档案空间
    df -h 另外,我们还可以使用参数 -i 来查看目前档案系统 inode 的使用情形: df -ih
    du
    显示目录或档案所占的磁盘空间
    du -a 檔名
    systat 查看目前硬盘是否忙碌中,以了解硬盘的使用效率 systat -vm 1
      dmesg 查看,得到有用硬件信息
    ps
    查询系统process状态
    ps -aux|grep apach*
    adduser
    新增使用者
      rmuser
    删除使用者
    vipw
    编辑使用者账户
    passwd
    变更密码
      ifconfig
    查询所有网络接口的情形
    ifconfig -a 设定网络接口的参数
    ifconfig de0 192.168.1.10 netmask 255.255.255.0 停止网络接口
    ifconfig de0 down 启动网络接口
    ifconfig de0 up
    route
    可以设定routing table 改变 routing path 之gateway
    route change default 192.168.1.254
    netstat
    查询 routing table
    netstat -rn 查询网络接口流量统计
    netstat -I 查询 TCP网络联机情形
    netstat -t 查询所有网络联机情形
    netstat -a
    切换终端机 ALT+F*(*表示要切换的终端号,如F1是终端1,F2是终端2)
    $sed -e '/^#/' GENERIC>tmp
    $mv tmp GEERNIC
    在内核配置文件中去掉所有#开始的行
    top [参数]
    显示系统中使用CPU资源的Process排名、CPU当前的使用情况、内存当前的使用情况,而且会持续更新
      ps [-参数] ps指令可以用来监视、查看进程的状态执行ps -aux则会显示所有进程的详细数据
          [-u]:将进程的相关数据以较详细的方式显示出来
          [-a]:除了显示自己的进程,将其他人在tty所执行的进程也列出来
          [-x]:将不在tty中启动的进程也列出来,即显示tty为??的进程
    ps -aux栏位说明
    USER:进程的拥有者
    PID:进程的代码
    %CPU:进程占用CPU时间的百分比
    %MEM:进程使用实际内存的百分比
    VSZ:进程的虚拟大小(单位KB)
    RSS:进程常驻内存的空间大小(单位KB)
    TT:进程在编号为几的控制客户机上执行
    STAT:进程当前的状态 R=可执行 D=在驱动器中等待置换 I=睡眠中(<20秒) S=睡眠中(>20秒) T=停止 Z=结束
               常见的附加标志 +=属于控制客户机的前景程序 E=进程尝试离开 L=有页面被锁住 s=进程是此控制客户机的主人 W=进程被置换出去
    STARTED:进程开始的时间
    TIME:进程已耗用的CPU时间
    COMMAND:所执行的命令名称和参数
      定时任务 crontab [-参数] crontab文件列出在某一个时间要采取的动作【举例】:1. crontab -e
                   2. crontab -d
                   3. crontab -l
    【作用】:1. 编辑crontab文件
                   2. 删除crontab文件中定义的工作
                   3. 列出crontab文件定义的工作 crontab编写格式
    分 时 日 月 星期 由谁来做 所要执行的工作例:1 0 * * * root /home/word.sh  //每天凌晨1点,由root执行/home/word.sh