freebsd_freebsd 协议 - CSDN
精华内容
参与话题
  • 笔记本实体机安装FreeBSD操作系统1.绪论2.安装过程2.1 刻录FreeBSD启动U盘2.2 安装xorg服务以及nvidia显卡驱动程序2.3 安装sddm管理器以及KDE-plasma5桌面环境3.后续过程3.1 安装Konsole终端、Dolphin文件管理器3.2 ...

    1.绪论

    FreeBSD是一种类UNIX操作系统,是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支。FreeBSD 为不同架构的计算机系统提供了不同程度的支持。并且一些原来BSD UNIX的开发者后来转到FreeBSD的开发,使得FreeBSD在内部结构和系统API上和UNIX有很大的兼容性。它可以在多个平台上进行使用,例如amd64(x86_64)、X86(i386)、ARM、AArch64、IA-64、PowerPC、PC-98、SPARC等架构,详细可以参考FreeBSD参考文档。FreeBSD很大程度上是作为服务器系统来使用的,对于个人桌面不是非常支持,当然也有很多BSD类型的另外系统,例如OpenBSD,GhostBSD,NetBSD,OpenBSD等等,在后续的文章中,笔者会进一步讲述BSD家族之间的关系和联系。

    2.安装过程

    2.1 刻录FreeBSD启动U盘

    首先我们到FreeBSD官网下载FreeBSD的镜像文件,这里笔者选择了FreeBSD12.1版本的,由于电脑是64位系统,笔者选择了amd64类型的img镜像文件:FreeBSD-12.1-RELEASE-amd64-memstick.img,详细可以参见官网。由于笔者电脑中已经有了ArchLinux系统,所以我这里我选择Linux自带的dd命令刻录U盘启动。在Linux系统下,将镜像文件刻录到U盘中

    sudo dd if=FreeBSD-12.1-RELEASE-amd64-memstick.img of=/dev/sdX bs=1M
    

    这里的X指的是U盘所在的硬盘。注意确认正确的盘符,使用fidsk -l可以查看硬盘,否则会销毁硬盘的数据。
    U盘刻录好之后,重启电脑进入U盘,可以根据U盘中的提示进行系统的安装,这里就不再过多的解释了,比较简单。只不过与它不同的是,笔者这里没有再添加FreeBSD启动管理器,为方便管理,笔者使用了ArchLinux中的grub2来启动FreeBSD。安装完成之后,笔者在grub2中按照以下的方式修改grub2启动文件。修改文件

    sudo nano /etc/grub.d/40_custom
    

    在文件中添加以下的信息

    menuentry "FreeBSD"{
    	insomd ufs2
    	set root="(hdX,gptN)"
    	chainloader /boot/boot1.efi
    }
    

    然后更新grub

    sudo grub-mkconfig -o /boot/grub/grub.cfg
    

    若是在ubuntu系统中,可以是

    sudo update-grub2
    

    这样在grub.cfg文件中会添加一项FreeBSD启动项文件。然后启动系统进行安装。

    2.2 安装xorg服务以及nvidia显卡驱动程序

    为了使得能够将超级管理员权限和用户级别权限区别开来,所以这里安装sudo。首先使用root登录系统,然后安装以下的文件

    pkg install sudo nano
    

    编辑sudoers文件

    visudo
    

    找到root ALL=(ALL) ALL一行之后,添加以下一行信息

    myhostname ALL=(ALL) ALL
    

    其中myhostname是自己的用户名。wq保存文件之后,退出登录,并使用自己的用户登录系统,也可以使用sshd远程登录系统。
    安装nvidia显卡驱动
    安装nvidia显卡驱动只需要以下的安装命令即可

    sudo pkg install nvidia-driver
    

    这样就可以将nvidia显卡驱动安装到系统中,安装nvidia显卡驱动程序需要开启linux支持,修改文件

    sudo nano /etc/rc.conf
    

    并添加以下的一行的信息

    linux_enable="YES"
    

    此处可以通过重启电脑进一步加载linux支持,当然也可以通过以下的命来加载linux支持

    sudo kldload linux64
    

    可以通过以下的命令查看加载的情况

    sudo kldstat
    

    在启动桌面环境的时候,需要开机自动装载nvidia显卡驱动程序,需要修改以下的文件

    sudo nano /boot/loader.conf
    

    添加下面的一行代码

    nvidia_load="YES"
    

    并编辑

    sudo nano /etc/rc.conf
    

    添加以下的信息

    kld_list="/boot/modules/nvidia.ko /boot/modules/nvidia-modeset.ko"
    

    这一步主要是指明加载的nvidia显卡驱动库的信息,这样就可以启动xorg服务程序。通过以下的命令可以显示是否安装成功nvidia显卡驱动以及nvidia显卡驱动的当前状态信息:

    nvidia-smi
    

    安装xorg服务
    xorg是桌面环境中最底层的服务程序,安装xorg通过以下的命令即可以进行安装

    sudo pkg install xorg xorg-server xorg-drivers
    

    笔者安装xorg服务程序之后,并不能在/etc/X11文件夹中找到xorg.conf配置文件,所以在命令行下生成对应的xorg配置文件

    sudo Xorg -configure :1
    sudo mv /root/xorg.conf.new /etc/X11/xorg.conf
    

    生成的文件一般情况下可以不再进行配置,当然可以再进一步进行文件的配置。重启电脑之后,我们可以测试xorg服务是否可以使用

    startx
    

    如果可以显示X服务的窗口,那么就可以加载xorg服务。当然可以使用lspci显示当前的设备信息,系统中并没有安装lspci,所以安装以下的文件可以进行显示

    sudo pkg install pciutils
    

    出现的问题
    笔者在之前安装的过程中,当启动X服务的时候出现了no screens found,最后发现是并没有找到nvidia显卡驱动程序,并且使用nvidia-smi之后也提示出显卡并不能连接,所以在/etc/rc.conf文件中添加了kld_list选项,使得可以启动nvidia驱动程序。

    2.3 安装sddm管理器以及KDE-plasma5桌面环境

    安装KDE-plasma5桌面环境
    KDE-plasma5桌面环境是一个非常棒的桌面环境,非常接近用户,笔者这里安装了这一个安装环境。在FreeBSD系统中,有一个非常好的配置工具,即bsdconfig。所以安装KDE桌面环境之前,这里在bsdconfig中找到了安装包进行安装:

    sudo pkg install plasma5-plasma-desktop sddm
    

    由于是笔记本,这里安装了触摸板驱动程序

    sudo pkg install xf86-input-synaptics
    

    这里需要修改xorg.conf文件,参考以下的内容

    Section "ServerLayout"
            Identifier     "X.org Configured"
            Screen      0  "Screen0" 0 0
            InputDevice    "Mouse0" "CorePointer"
            InputDevice    "Mouse1" "SendCoreEvents"
            InputDevice    "Keyboard0" "CoreKeyboard"
    EndSection
    #触摸板
    Section "InputDevice"
            Identifier  "Mouse0"
            Driver      "mouse"
            Option      "Protocol" "auto"
            Option      "Device" "/dev/sysmouse"
            Option      "ZAxisMapping" "4 5 6 7"
    EndSection
    #USB鼠标
    Section "InputDevice"
            Identifier  "Mouse1"
            Driver      "mouse"
            Option      "Protocol" "auto"
            Option      "Device" "/dev/psm0"
            Option      "ZAxisMapping" "4 5 6 7"
    EndSection
    

    安装过程进行了比较长的时间。安装完成之后,可以进一步进行桌面环境的配置工作。
    由于KDE桌面依赖于procfs,因而向fstab中写入procfs的挂载项。编辑文件

    sudo nano /etc/fstab
    

    并添加以下的内容

    proc	/proc	procfs	rw	0	0
    

    同样,为了使得KDE支持在普通用户下实现关机、重启功能,需要启动dbus和hald。可以通过bsdconfig这个命令实现启动,也可以手动进行添加。编辑文件

    sudo nano /etc/rc.conf
    

    并添加以下的内容

    dbus_enable="YES"
    hald_enable="YES"
    cuse_enable="YES"
    webcamd_enable="YES"
    

    重启webcamd服务

    sudo service devd restart
    

    然后并将webcamd添加到用户中

    sudo pw groupmod webcamd -m <username>
    

    修改~/.xinitrc文件

    nano ~/.xinitrc
    

    并添加以下的内容,这里KDE-session是基于Xorg服务之上启动的

    exec ck-launch-session startplasma-x11
    

    安装sddm启动管理器
    sddm是用户登录管理器,可以用以下的命令安装sddm启动管理器

    sudo pkg install sddm
    

    如果希望系统启动之后自动进入图形的用户登录界面,安装完成sddm之后,需要将sddm加入到开机启动项中,可以编辑文件

    sudo nano /etc/rc.conf
    

    并添加以下的内容

    sddm_enable="YES"
    

    然后重启系统之后即可以进入到桌面环境中。

    3.后续过程

    3.1 安装Konsole终端、Dolphin文件管理器

    桌面环境安装完成之后,只有一个xterm终端管理器,并不是非常好看和适用,而且并没有文件管理器,包括firefox浏览器等等。所以这里直接可以安装

    sudo pkg install Konsole Dolphin firefox
    

    这样就安装成功了。

    3.2 安装C/C++以及python运行环境

    FreeBSD安装之后并没有gcc编译器、python等环境可以使用以下命令进行安装

    sudo pkg install gcc python3.7
    

    或者是直接到anaconda官网上下载安装conda的集成python环境也可以。

    3.3 安装中文输入法

    如果要在KDE中实现中文输入的功能,则需要安装中文输入法框架和中文输入法,键入并执行以下的命令

    sudo pkg install zh-fcitx zh-fcitx-configtool fcitx-qt5 fcitx-m17n zh-fcitx-libpinyin
    

    然后修改配置文件,由于笔者使用的tcsh,所以创建以下的文件

    sudo nano ~/.cshrc
    

    并且添加以下的内容

    setenv GTK_IM_MODULE fcitx
    setenv GTK3_IM_MODULE fcitx
    setenv XMODIFIERS @im=fcitx
    

    若要使中文输入法随KDE桌面环境一起启动,则可以将其执行文件的链接放入到KDE的自动目录中,在使用KDE桌面用户文件夹下执行以下的命令即可。

    cp /usr/local/share/applications/fcitx.desktop ~/.config/autostart/
    

    若在终端无法显示中文,那么再在文件中添加以下的内容即可

    setenv LANG zh_CN.UTF-8
    setenv MM_CHARSET zh_CN.UTF-8
    

    保存退出之后,运行fcitx-configtool弹出输入法配置对话框,然后进行输入法的配置即可。

    参考

    ·[1] FreeBSD 12.0安装KDE5桌面环境

    展开全文
  • 选择FreeBSD 六个理由

    千次阅读 2016-04-09 20:35:37
    第一个理由:FreeBSD 是一个免费的开源的操作系统  Linux 也是一个免费的开源的操作系统。不过 Linux 是基于 GNU General Public License 的,而 FreeBSD 是基于 BSD License 的。BSD License 比 GNU General ...
    第一个理由:FreeBSD 是一个免费的开源的操作系统

       Linux 也是一个免费的开源的操作系统。不过 Linux 是基于 GNU General Public License 的,而 FreeBSD 是基于 BSD License 的。BSD License 比 GNU General Public License 更加宽松。

       FreeBSD 的系统源码可以通过各种方式免费的得到。系统源码包括内核源代码和基本系统源 代码,如果你在安装系统的时候选择了安装源码,那么它就在 /usr/src 目录底下。如果你经常更新系统源代码,那么 经常看看 /usr/src/UPDATING 是个很好的习惯。同理, 如果安装了 Ports 系统,经常看看 /usr/ports/UPDATING 可以了解很多有用的信息。
       源代码的作用有很多。如果你是一个系统软件或者应用软件开发者,你可以改进源代码为 FreeBSD 作出贡献,或者你参考系统源代码写出很棒的应用软件,或者你通过阅读源代码掌 握了很多知识、取得了经验。如果你是一个普通用户,可以通过从源代码配置编译系统获得 更高的系统性能。总之,开放的源代码不仅给用户提供了很多好处,也为 FreeBSD 系统的 开发者提供了一个可能性,就是不同的人都可以通过源码找出系统中可以改进的地方并及时 反馈给系统开发者。

    第二个理由:FreeBSD 是一个完整的系统
       Linux 这个词指的是内核。当我们提到操作系统的时候,严格的用词应该是 GNU/Linux 或 者某个发行版的名字,比如:SUSE Linux,Debian GNU/Linux,CentOS, Fedora, Ubuntu Linux,Mandriva Linux 等。这些发行版使用的都是相同的 Linux 内核,可能只是内核的 版本有差异而已。各个发行版的系统结构可能都是不同的:比如系统启动的脚本,文件系统 的布局,系统和软件升级的方式方法,默认桌面环境等。

       而 FreeBSD 这个词指的是一个完整的系统,包括内核,系统环境,应用软件,各种文档等。 不严格地说,Ubuntu 和 RedHat 之间的关系就有点像 FreeBSD 和 NetBSD,OpenBSD。但是,后面这些 BSD 系统都是 从 4.4BSD 发展来 的,而 4.4BSD 本身就是一个完整的操作系统,不是一个孤单的内核。
    (FreeBSD被认为是自由操作系统中的不知名的巨人。它不是Unix,但如Unix一样运行,兼容POSIX。作为一个操作系统,FreeBSD被认为相当稳建可靠。)

       FreeBSD 有一个 Core Team 来管理这个项目。这些 Core Team 成员是从为数众多的 Committer 中选举出来。这些 Committer 有权力对 FreeBSD 的内核代码进行维护,改进,升级等。 Core Team 和 Committer 对 FreeBSD 的内核代码质量有严格的把关。FreeBSD 的人经常说: 有问题的代码不能在这里生存。而 Linux 的内核掌握在 Linus Torvalds 手 里。所有有能力的人都可以对 Linux 内核作贡献。也就是 Eric S. Raymond 所说的 市集开发模式。 从管理模式来说,Linux 内核的代码质量相对要低一些。因此,如果是求稳定的话, FreeBSD 肯定是不二的选择。

       FreeBSD 的应用软件要通过 Ports 系 统 来安装管理。所有的软件都经过特殊的设置来配合 FreeBSD 系统。这 些特殊的配置包括编译的参数,安装的路径,文档的存放等。这样可以方便的管理,安装, 卸载应用软件,而不需要太多人工的参与。而 Linux 系统的应用软件管理则比较混乱,各 种发行版都不相同。不过越来越多的 Linux 发行版都在向 Ports 系统学习。典型的比如 Debian/GNU Linux 的 APT。FreeBSD 的 Ports 系统更新是相当快的。随着系统的每次升级,Ports 系统都会有活跃的更新,以便使 各种应用软件跟上系统的升级。

    第三个理由:FreeBSD 有清晰的目录结构
       Linux 下目录结构有一个为人诟病的大缺点,就是文件存放的随意性。各种发行版可能都有 不同的选择。比如系统库,就有可能在 /usr/lib,或者 /lib 里面。比如 X (XFree86 或者 Xorg) 应用软件有可能放到 /usr/lib 里面。当一个 Linux 用户想要从源码编译安装 软件的时候,往往没有明确的标准来确定自己编译的软件到底应该安装在什么地方。他有可 能会作很多 symbolic link 把文件链接来链接去。系统里面经常留下很多失效的链接。而 FreeBSD 的目录结构是相当清晰的,我们可以看看一些目录作用的解释:

    1. /bin/      user utilities fundamental to both single-user and multi-user environments

    2. /boot/     programs and configuration files used during operating system bootstrap

    3.                 defaults/  default bootstrapping configuration files; see loader.conf(5)
    4.                 kernel/    pure kernel executable (the operating system loaded into memory
    5.                            at boot time).
    6.                 modules/   third-party loadable kernel modules; see kldstat(8)

    7. /etc/      system configuration files and scripts

    8.                 defaults/  default system configuration files; see rc(8)
    9.                 mail/      Sendmail control files
    10.                 mtree/     mtree configuration files; see mtree(8)
    11.                 namedb/    named configuration files; see named(8)
    12.                 pam.d/     configuration files for the Pluggable Authentication
    13.                            Modules (PAM) library; see pam(8)
    14.                 periodic/  scripts that are run daily, weekly, and monthly,
    15.                            via cron(8); see periodic(8)
    16.                 ppp/       ppp configuration files; see ppp(8)
    17.                 ssl/       OpenSSL configuration files

    18. /usr/      contains the majority of user utilities and applications

    19.                 compat/   files needed to support binary compatibility with
    20.                           other operating systems, such as Linux (created by
    21.                           sysinstall(8))
    22.                 include/  standard C include files
    23.                 lib/      shared and archive ar(1)-type libraries
    24.                           aout/       a.out archive libraries
    25.                           compat/     shared libraries for compatibility
    26.                                       aout/       a.out backward compatibility
    27.                                                   libraries
    28.                 local/    local executables, libraries, etc.  Also used as the
    29.                           default destination for the FreeBSD ports framework.

       以上是 FreeBSD 系统下命令 # man hier 的输出的节选。 基本上每个目录都有特定的作用,什么东西放到哪里都有明确的规定。系统管理员在管理系 统的时候将从清晰的目录结构中得到很多益处。BSD 学院风格的严谨作风在这里体现得非常明显!

    第四个理由:FreeBSD 可以方便的安装升级
       Linux 各种发行版的用户肯定都有在网上到处寻找 rpm 的经历。而且很多用户都不敢贸然 升级自己的内核。如果要升级整个基本系统,对于很多 Linux 用户来说就是一个浩大而繁 杂的工程了。对于 FreeBSD 来说,升级只是一件很简单的事情。
       从升级基本系统来说,FreeBSD 可以使用各种方式来升级。比如 Anonymous CVS、CVSup 等。或者也可以二 进制升级。比如,如果我要升级我的系统,可能我只需要如下的几个命令就可以轻松的完成:

    1. #cvsup stable-supfile
    2. #cd /usr/src
    3. #make buildworld
    4. #make buildkernel
    5. #make installkernel
    6. #reboot
    7. ... ...
    8. #mergemaster -p
    9. #cd /usr/src
    10. #make installworld
    11. #mergemaster
    12. #reboot
       这些命令做了四件事情:第一是更新你的系统源码、第二是重新编译系统源码,第三是编译 安装新内核、第四是更新你的系统配置文件。这篇 The Cutting Edge 详细的解说了怎么更新你的系统。当然,我省略了内核的配置以及 mergemaster 这个命令的使用方法等。可能显得有点复 杂吧,不过与 Linux 相比,我觉得还是很简单容易上手的。
       要安装升级应用软件,在 FreeBSD 下就更加简单了。如果你在安装系统的时候选择了安装 Ports 系统,那么你 只需要到 Ports 下相应的目录输入几个命令就可以轻松完成。比如,你要安装 Nvidia 的官方显卡驱动,那么你只 要:

    1. #cd /usr/ports/x11/nvidia-driver
    2. #make install clean
       就可以自动完成驱动的安装和配置。当然,还有更加快捷的安装方法,使用命令 pkg_add -r nvidia-driver 可以从网上自动下载已经编 译好的驱动然后自动安装。FreeBSD 的官方文档 Using the Packages System 详细解说了 packages 的使用方法。如果是升级已经安装的驱动程序,则可以:

    1. #cd /usr/ports/x11/nvidia-driver
    2. #make deinstall reinstall clean
       或者你可以使用 portupgrade 来升级已经安装的程序。

    第五个理由:FreeBSD 的文档十分齐全
       到目前为止,Linux 的文档在很多方面还比不上 FreeBSD 的文档。Linux 因为发行版的原因, 各种文档都纷繁复杂,难于寻找。而 FreeBSD 的文档几乎涵盖了系统的各个方面。对于 FreeBSD 的初学者来说,仔细阅读文档应该是必修的功课。国内的 FreeBSD 用户甚至翻译 了一个中文版本,这对 阅读英文有困难的 FreeBSD 中国用户来说是一个福音。
       FreeBSD 的文档不仅包含最重要的 Handbook 和 FAQ,还有 专门给软件开发人员的 Developer's Handbook 和 Porter's Handbook。而且这些文档还只是所有 FreeBSD 文档的一个部分。Unix 系统的传 统 man 文档, GNU 的 Texinfo 文档等在 FreeBSD 中都很完整而详细。另外,FreeBSD 还有很多系统配置的例子 (一般这些例子都在 /usr/share/examples 和 /usr/local/share/examples 目录下)。这些例子对新手 系统管理员和普通用户是很好的帮助。

    第六个理由:FreeBSD 很稳定而且性能优异
       Linux 很稳定而且性能也很优异。在性能方面甚至要超过 FreeBSD ,比如文件系统的性能。 在 FreeBSD 的文件系统默认使用 softupdates 之前, FreeBSD 的磁盘性能一直是低于 Linux 的。虽然如此,Linux 的磁盘高性能是以牺牲系统 的稳定为代价的。在没有使用日志文件系统 之前,Linux 的文件系统使用会使用 async 模式将数据写入磁盘。而 FreeBSD 默认是使用 sync 模 式将数据写入磁盘。什么是 async 模式和 sync 模式?简单地讲, async 模式下系统往往把不太重要的数据写入内存或者 磁盘缓冲,等一段时间之后再把数据真正的写入磁盘。这样做的好处就是磁盘的读写效率比 较高,但是不安全。万一在数据真正写入磁盘之前系统突然掉电,那么那些你以为已经真正 写入磁盘的数据就会丢失。sync 模式是把所有应该写入 磁盘的数据都立即写入磁盘,这样的好处是数据比较安全,但是因为大量的读写操作导致磁 盘性能下降。FreeBSD 在版本 4 之前一直使用 sync 模 式来写入数据,安全是比较安全了,但是在文件系统性能方面就比不上 Linux 了。
       Linux 开始使用日志文件系统之后,文件系统的稳定和安全通过日志系统得到了弥补。而 FreeBSD 没有采用日志文件系统,而是走了另一条道路,也就是 softupdates。softupdates 的原理就是强制 metadata 更新时的依赖检查。所谓 metadata 就是,比如磁盘的 i-node 和 v-node 之类的数据。这些数据描述了文件数据在磁盘上存储状态,不是一般的数据,所以叫 元数据。有了 softupdates 之后,FreeBSD 的磁盘性能有了很大的提高,而且在稳定性方面更加出色。FreeBSD 从版本 5 开始支持后台 fsck,就是后台文件系统检测。后台文件系统 检测可以让你在系统崩溃后重新开机时迅速恢复服务,而不需要像其他不支持这个特性的系 统那样,要等待 fsck 执行完毕之后才能进入到系统。 对于有海量硬盘的系统,这是一个非常吸引人的特性。
       另外,在网络方面。FreeBSD 的性能也是相当优异的。在很重的负载之下,FreeBSD 仍然可 以稳定的运行。这也是很多网络服务器采用 FreeBSD 的原因之一。







    展开全文
  • FreeBSD常用命令大全

    万次阅读 2011-10-11 10:33:28
    FREEBSD是一个unix的分支.他的命令大部分也是从他的里面来的 如果你从unix转到BSD来,那么你一定对他的命令会比较熟悉 1: man 在线查询 man ls 2: ls 查看目录与档案 ls -la 3: ln 建立链接文件 ln -fs /usr/...

     FREEBSD是一个unix的分支.他的命令大部分也是从他的里面来的

    如果你从unix转到BSD来,那么你一定对他的命令会比较熟悉
    1: man 在线查询 man ls
    2: ls 查看目录与档案 ls -la
    3: ln 建立链接文件 ln -fs /usr/local/apache/etc/httpd.conf /etc/httpd.conf
    4: more 分页显示 more 文件名称
    5: cd 切换目录 cd /usr/local/apache
    6: mkdir 建立新的目录 mkdir /usr/temp
    7: rmdir 删除目录 rmdir /usr/temp
    8: rm 删除目录或档案 rm -f 文件名称 (如果要删除目录.需要加 -r )
    9: cp 复制目录或档案 cp 来源档案 目标档案
    10: pwd 显示目前的工作目录
    11: mv 目录或档案更名或搬移 mv 来源档案 目标档案
    12: find 寻找目录或档案 find /etc -name 文件名称
    13 fetch FTP取得档案 fetch ftp://ftp.center.kl.edu.tw/pub/FreeBSD/test.tgz
    14 chmod 变更档案使用权限 chmod -R 755 /usr/local/etc
    15 chown 变更档案所有者 chown -R lin.wheel /usr/local/etc
    16 fsck 修理档案系统 fsck -y
    17 gzip/tar 压缩或解压缩档案或目录 tar -czvf 压缩档名.tar.gz 目录名称
    18 mount 挂上档案系统或是设备 mount /cdrom
    19 umount 卸下档案系统或是设备 umount /cdrom
    20 df 查询系统的可使用档案空间 df
    21 du 显示目录或档案所占的磁盘空间 du -a 檔名 (du -sh 可以获取当前文件夹下的磁盘使用空间)
    22 ps 查询系统process状态 ps -aux|grep apach*
    23 kill 砍除一个process kill pid
    24 su 变换身份 su - root
    25 adduser 新增使用者
    26 rmuser 删除使用者
    27 vipw 编辑使用者账户
    28 passwd 变更密码
    29 ping 侦测计算机之联机状态 ping 210.240.6.9
    30 ifconfig 网络接口的设定与管理 ifconfig -a
    31 route 可以设定routing table 
    32 traceroute 列出所经过的route traceroute 210.240.8.1
    33 netstat 可以查询网络的使用及联机情形
    34 pkg_add 安装package pkg_add bash-2.04.tgz
    35 pkg_delete 移除已安装的package pkg_delete bash-2.04
    36 pkg_info 查询安装纪录
    37 sync 强迫系统将快取数据写回硬盘
    38 reboot重新启动系统
    39 halt 关闭系统
    40 shutdown 通知使用者系统将关闭
    41 init 0 直接关机
    chown chown -R 所有者.群组 档案或目录
    -R:表该目录下之所有档案之所有者与群组跟着便变更

    chmod
    drwxrwxrwx
    lr–rwxr-x
    1 2 3 4
    d:表目录
    r:表read
    w:表write
    x:表可执行
    -:表关闭功能

    l:表链接的档案
    2:该档案或目录所有人之读取权限
    3:该档案或目录所有人之相同群组的读取权限
    4:网络上的人的读取权限
    -R:表该目录下之所有档案之读取权限跟着便变更

    gzip/tar
    tar czvf 压缩档名.tar.gz 目录名称
    z:采用gzip压缩
    c:建立新的压缩档
    v:采用verbose方式,观看压缩过程
    f:强制进行

    tar zxvf 压缩档名.tar.gz
    z:采用gzip解压缩
    x:解压缩
    v:采用verbose方式,观看压缩过程
    f:强制进行

    ifconfig
    查询所有网络接口的情形
    ifconfig -a

    设定网络接口的参数
    ifconfig de0 192.168.1.10 netmask 255.255.255.0

    停止网络接口
    ifconfig de0 down

    启动网络接口
    ifconfig de0 up

    route
    改变 routing path 之gateway
    route change default 192.168.1.254

    netstat
    查询 routing table
    netstat -rn

    查询网络接口流量统计
    netstat -I
    查询 TCP网络联机情形
    netstat -t
    查询所有网络联机情形
    netstat -a

    shutdown 
    通知使用者多久后关机,管理者需下reboot或halt
    shutdown -k 时间 讯息
    通知使用者多久后重新启动系统
    shutdown -r 时间 讯息
    通知使用者多久后关闭系统
    shutdown -h 时间 讯息

    时间:now或+3表三分钟后或yymmddhhmm
    讯息:用双引号括起来或用-号开头

    一些常用的其它组合命令:
    shift+g 同win下的END键,让光标处在文档末尾.
    :/ 功能是在文档内进行文本搜索
    :find 这个是文件的搜索

    FreeBSD常用命令

    在线使用手册
    【执行格式】:man [指令名称]
    【说明】:man是manual的缩写。在FreeBSD系统环境下,对于不了解的指令,只要man一下就可以得到指令使用方法的详细说明。
    【举例】:man ls
    【作用】:获得ls指令用法、语法、参数等相关说明。

    注销FreeBSD系统
    【指令名称】:logout
    【说明】:用于退出FreeBSD系统的登陆。命令exit也可以达到相同的作用。

    改变工作目录位置
    【指令格式】:cd [目录名称]
    【说明】:cd指令和dos环境下改变工作目录位置的cd指令相同,所以只要了解FreeBSD的文件结构,就可以轻松漫游其间。但是注意在UNIX下,英文大小写是有分别的。如果指令cd后面不接任何参数,则会切换到user的根目录,与“cd ~”有相同作用。

    "." 本身目录
    ".."上一层的父目录
    " ~ "user根目录

    显示当前的工作路径
    【执行格式】:pwd
    【说明】:在dos环境下,“c:\”是我们很熟悉的提示符号,代表我们现在位于根目录下,在FreeBSD的环境下,除了从提示符号得知当前的工作路径外,使用指令pwd可知自己当前身在何处,在什么目录下。指令pwd为print working directory的缩写。

    建立新目录
    【指令名称】:mkdir
    【执行格式】:mkdir [新的目录名称]
    【说明】:mkdir就和dos环境下的md建立一个新目录的指令相似,唯一不同的是FreeBSD的环境下因有权限限制,所以要在某一目录下建立一新目录,必须在此目录有(W)写入权。
    参数“-P” 可一次制作多层目录,想偷懒的人一定要学会。
    【举例】:mkdir -p /dir2/dir3/
    【作用】:在所在的目录下建立/dir2和dir2下的dir3目录,也就是一次连续建两个目录以上,加参数“-P”,即可轻松完成。

    删除空目录
    【指令名称】:rmdir
    【执行格式】:rmdir [空目录名称]
    【说明】:rmdir和rd一样只能删除空目录,也就是说要删除的目录其下已没有其他文件和子目录。
    【举例】:rmdir dir1
    【作用】:删除dir1目录

    移动或更改文件、目录名称
    【指令名称】:mv
    【执行格式】:mv [来源目录或文件] [目地目录或文件]
    【说明】:mv指令可以视为是dos下ren和move的组合,可以利用它更改文件或目录的位置和名称。
    【举例】:mv dir1 ../
    【作用】:把dir1这个目录移动到上一层目录


    复制文件
    【指令名称】:cp
    【执行格式】:cp { -参数 } [来源文件或目录] [目的文件或目录]
    【说明】:cp的英文意识就是<copy>,相当于dos环境下的xcopy指令,拷贝文件或整个目录。
    参数“-R” 可做递归(Resusive)的拷贝,将目录和子目录下所有的文件目录一起拷贝。
    参数“-p” 根据user权限(permission)的允许,尽量将文件的原来属性模式拷贝过去。
    参数“-f” 如果复制时,已经有相同的文件、目录名称,不会要求使用者确认而直接覆盖。
    参数“-I” 和上相反,要使用者确认是否真的要拷贝文件。
    【举例】:cp -R dir1 dir2
    【说明】:复制整个目录(包括子目录)。如果dir2目录本来就存在,则dir1目录的整个内容包括目录dir1会存在于dir2目录下(dir2/dir1/),若dir2原本不存在,就等于复制一个名为dir2的dir1。

    删除文件
    【指令名称】:rm
    【执行格式】:rm { -参数 } 文件或目录
    【说明】:rm指令和dos环境下的del相似,但使用rm要更加小心,因在dos环境下,删错文件有undelete指令救回删除的文件,但在FreeBSD环境下并没有类似的指令,所以您可能要学会三思而后行。
    参数“-r” 做出递归(Resusive)的动作,将目录和子目录下所有的文件目录一起删除。
    参数“-I” i有交互(interactive)的意识。当删除文件时,电脑会询问我们是否删除该文件,做再一次确认的工作。
    参数“-f” f有强制(force)的意识。所以当系统内定rm为rm -i时,加上参数-f,电脑就不会询问您是否要删除该文件。
    【举例】:rm -rf dir
    【说明】:将dir目录连同子目录一起强制(force)删除,不会再给一次机会确认,请小心使用,免遭不测。

    列出文件目录名称
    【指令名称】:ls
    【执行格式】:ls { -参数 } [路径目录或文件]
    【说明】:ls的英文意义就是<list>,相当于dos环境下dir指令,用来显示文件、目录。通常用“ls -al”来看文件与目录。
    参数“-a” 列出全部文件,包括以符号“.”开头的隐藏文件等全列出来
    参数“-l” 显示目录、文件的详细数据
    参数“-t” 按照文件最后修改时间的顺序列出文件名
    参数“-F” 列出当前目录下的文件名及其类型,文件后接“/”表示为目录名称,“*”表示执行文件,“@”表示连接文件。
    参数“-R” 显示目录下,以及其所有子目录的文件名
    参数“-C” 这是默认的选项,列出的方式为按字母顺序由上而下。
    【举例】:ls -l
    【说明】:显示文件的详细数据
    假如“ls -al”后,显示结果超过一页,可以通过导管符号“|”来使用more或less指令,将显示结果分页,如“ls -al | more”是将“ls -al”结果,通过导管符号“|”,交予导管右边的分页指令继续处理


    more与less都是分页指令,也都可以直接用来看ASCII文本文件。不过less比较方便,可以用方向键上下左右翻动屏幕,按Enter一行行看,按空格键一页页看,按B可退回一页,按Q可以离开。而more指令就不像less可随意翻动屏幕。

    【指令名称】:less
    【执行格式】:1.less文件名称
    2.通过导管执行如 ls -al &line; less
    【举例】:less /etc/csh.cshrc
    【作用】:查看/etc/csh.cshrc文字文件的内容

    清理屏幕
    【指令名称】:clear
    【执行格式】:clear
    【说明】:用于清除杂乱的显示屏幕,作用同dos下的“cls”指令

    查看目录占用硬盘容量
    【指令名称】:du
    【执行格式】:du { -参数 } 目录名称或文件名称
    参数“-a”列出目录下面全部子目录与文件,分别占用硬盘空间的大小
    参数“-k”将所占的硬盘空间大小单位以Kbyte表示
    【举例】:du -ak /home
    【作用】:显示当前所在目录/home下各个文件目录所占的硬盘空间,和所有文件所占的硬盘空间总和,并以K为单位

    查看硬盘当前所剩的空间
    【指令名称】:df
    【执行格式】:df
    【说明】:df指令可以显示硬盘空间,可以使用参数“-k”,让df指令显示你所习惯的硬盘空间单位K
    【举例】:df -K
    【作用】:显示当前硬盘分区的占用空间

    改变文件属性
    【指令名称】:chmod
    【执行格式】:chmod [权限参数] [文件或目录]
    【使用者】:文件或目录的拥有者,root
    【说明】:文件或目录的属性分为十小格,第一小格记载文件类别,2、3、4小格设置使用者(u)的权限,5、6、7为所属组(g)的权限,8、9、10为其他使用者(o)的权限,而(a)代表all所有的人。基本的权限分别是以(r)表示可读,(w)可写,(x)可执行。使用符号(+)增加权限,(-)删除权限,(=)设置权限
    【举例】:1. chmod u+rwx file1
    2. chmod u-x file1
    3. chmod a+rwx file1
    4. chmod u=rw,g=rw file1
    【作用】:1. 设置只有使用者本身可以对文件file1进行读写执行的工作
    2. 删除使用者本身可执行文件file1的权限
    3. 所有的使用者对文件file1都可读写执行
    4. 同时设置使用者本身与组的使用权限



    连接文件
    【指令名称】:ln
    【执行格式】:ln [来源文件] [目地文件]
    【说明】:如果在不同目录下,希望拥有相同的文件,你不需在每一个目录下复制相同文件。此功能可以使不同文件名经连接设置,指向同一文件。而当你修改这一个文件内容时,所有连接文件都有相同的更改。另外,如果一个文件位于多层目录下,每次执行此文件,可能要做许多变换目录的工作,这时你可以在根目录下设一连接文件,可以达到windows系统下的快捷方式的效果
    【举例】:1. ln file1 file2
    2. ln d1/d2/file1 file2
    3. ln -s file1 file2
    【作用】:1. 不加参数情况下,为强制连接,file1和file2使用同样的数据,file2的文件内容和file1相同。因强制连接是把两个文件设成同一个inode,以及对应于同一数据区块
    2. 当你执行file2就等于在执行d1/d2目录下的file1文件
    3. 加上参数s制造象征连接,象征连接是一个文件系统的指向文件,file2并不和file1共用同一个inode,而另有一个inode,而此inode所对应的数据区块内容参考到file1的路径,因此file2是以间接方式连接取得file1的数据区块内容

    显示或连接数个ASCII文本文件
    【指令名称】:cat
    【执行格式】:cat 文件
    【说明】:cat是concatenate的简写,和dos下的type指令类似,主要用来显示文件内容或是连接文本文件。但cat不具有分页功能,所以在文件内容超过一页的长度时,改用more指令和less指令会比较方便,因more指令可使超过一页的文章暂时停留在屏幕等你按任何键后,才继续显示。而less指令,还可以用方向键往上或往下滚动文章
    【举例】:1. more file1
    2. cat file1 file2
    3. cat file1 file2 > file3
    4. cat file1 >> file2
    【作用】:1. 以分页方式显示file1的文件内容
    2. 可以一次显示多个文件内容
    3. 连接两个文件内容,并将结果输出到file3文件,但是如果file3有内容,会被覆盖
    4. 利用转向符号可将file1的文件内容拷贝增加到file2,所以file2除了原来的内容外,还会有file1的文件内容

    寻找文件
    【指令名称】:whereis
    【执行格式】:whereis [文件名]
    【举例】:whereis ln

    【指令名称】:locate
    【执行格式】:locate [文件名或目录的关键字符串]
    【说明】:locate会将所有文件名及目录名中含有“搜索字符串”的列出
    【举例】:locate ln

    【指令名称】:find
    【执行格式】:find [开始搜索的目录] -name [文件字符串] { -参数 }
    【使用者】:虽然系统上的每位user都可以使用,但是有些目录有权限的限制,会出现“Permission denied”的信息,所以只有root才能做地毯式的搜索,其他的user则会遗漏一些
    【说明】:find指令让你以文件名称或是文件的其他特征,如:文件的尺寸、文件的属性等,来搜索文件,找到文件后,您可以印出文件路径、文件内容或予以删除。find指令的搜索工作是以你所指定的目录开始寻找,并采用递归的方式,一层层的子目录往下搜索
    参数“-print” 显示文件路径
    参数“-ls” 显示文件的详细数据
    参数“-exec cmd” 对搜索到的文件执行指令
    【举例】:1. find /home/mmk -name 'word*' -ls | less
    2. find / -name 'test' -print | xargs rm -f
    【作用】:1. 在/home/mmk目录下寻找以word开头的所有文件,并分页列出详细数据
    2. 从根目录下开始寻找test文件并删除


    新增使用者
    【指令名称】:adduser
    【执行格式】:adduser
    【使用者】:root
    【说明】:FreeBSD系统新增使用者帐号,可以直接“vipw”编辑密码文件,来建立新的使用者帐号,但笔者不鼓励。反倒是使用指令adduser,系统会出现一连串的提示符号,逐渐引导你建立新的使用者帐号,相当的简单容易,而且如果你不知道adduser指令所出现的提示信息,那么直接按 Enter,也不会差太多

    删除使用者
    【指令名称】:rmuser
    【执行格式】:rmuser username
    【使用者】:root
    【举例】:rmuser mmk
    执行命令后,系统会再次询问,是否要将使用者的设置从系统密码文件中删除,是否要删除使用者根目录,反正通通回答“y”,就可以消除干净

    新增或删除组
    【文件】:/etc/group
    【使用者】:root
    【执行格式】:直接编辑/etc/group这个文件
    【说明】:/etc/group部分内容如下:
    组名称:密码:组ID:属于这个组的使用者

    组名称系统管理者可以自定,密码栏位使用“*”即可。因0~99为系统内定值,所以组ID最好大于99,且不和其他组ID相同,大多从10000开始使用。最后标示属于此组的使用者,而各个使用者以逗号分隔

    改变使用者所用的shell
    【执行格式】:chsh
    【说明】:root新增使用者时,即给予使用者一个内定的shell,如以后使用者不满意此内定值,可利用chsh指令来自行更改shell

    改变使用者数据
    【执行格式】:chfn
    【说明】:设定使用者基本数据

    压缩、解压缩工具介绍
    【指令名称】:gzip & gunzip
    【执行格式】:gzip { -参数 } [要压缩的文件名或目录]
    gunzip { -参数 } [要解压缩的文件名或目录]
    【压缩后的文件格式】:.gz
    【说明】:gzip是网络上非常实用的压缩工具,你在网络上常可以看到经gzip压缩过后,以.gz结尾的文件。这时你应马上以gunzip工具来解压缩,参数使用如下:
    -1 表示快速压缩
    -9 表示以最佳状态压缩
    -r 递归的意思,压缩整个目录
    -d 解压缩。gzip -d效果和gunzip相同
    指令zcat可以在文件未解压缩前查看压缩文件
    【用法】:zcat file1.gz
    【举例】:1. gzip -1 file1
    2. gzip -9 -r t1/
    3. gunzip file1.gz
    4. gunzip -r t1/
    【作用】:1. 快速压缩文件file1,file1文件消失,产生压缩文件file1.gz
    2. 压缩t1整个目录
    3. 解压缩文件
    4. 解压缩目录

    【指令名称】:compress & uncompress
    【执行格式】:compress { -参数 } 要压缩的文件名
    uncompress { -参数 } 要解压缩的文件名
    【压缩后的文件格式】:.Z(英文字母大写的Z)
    【举例】:1. compress -v file1
    2. compress -d file1.Z
    3. uncompress -v file1.Z
    4. compress -v dr.tar
    【作用】:1. 压缩文件,加上参数v会显示压缩比例和压缩后文件名
    2. 参数d相对应uncompress解压缩文件
    3. 解压缩文件
    4. 压缩经过tar归为一个文件的目录



    【指令名称】:tar
    【执行格式】:tar cvfz [要压缩的文件、目录]
    【说明】:在系统上,tar所做的是备份工作,仅仅是将一个目录下的所有文件归为一个文件,或是将某一文件备份到另一个.tar文件中,并不做空间的压缩工作,通常与gzip一起使用
    【举例】:1. tar cf book.tar /home/book
    2. gzip book.tar
    3. tar zcvf book.tar.gz /home/book/
    4. tar Zcvf book.tar.Z /home/book/
    5. tar rvf book.tar /home/showfun/chp1
    【作用】:1. 将/home/book/目录下的文件及子目录归到book.tar里
    PS:tar指令的参数不加“-”符号,参数c是产生一个压缩文件的意思,参数f则指定压缩文件名,book.tar是自定的,但最好以.tar结尾
    2. 将例1整理后的文件用gzip进行压缩,压缩后的文件名为book.tar.gz
    3. 将例1、例2合并一个动作完成
    参数“z”当目录归为一个文件时,自动用gzip把文件压缩
    参数“v”把压缩的过程显示在屏幕上
    4. compress也可以和tar工具一起使用,文件名以.tar.Z结尾,但压缩参数要加上大写的“Z”
    5. 加上参数r表示将/home/showfun/chp1这个文件附加到book.tar中

    【解压语法】:tar xvfz [压缩文件(以.tar.gz或.tgz结尾)]
    【说明】:一般来说解压缩后,会解在当前工作目录下
    【举例】:1. tar xvf book.tar
    2. tar zxvf book.tar.gz
    3. tar Zxvf dr.tar.Z
    【作用】:1. 加上参数x还原整理过的文件
    2. 加上参数z配合参数x,还原并解压缩文件
    3. 利用uncompress解压缩和还原tar过的目录,也可以两道手续,先利用uncompress解压缩,产生dr.tar,再用指令tar还原

    变换身份
    【指令名称】:su
    【执行格式】:su [-] username
    【说明】:set uid,重置uid可以转变权限。为了系统安全,系统管理者(root),一般不会以root的身份登入系统,以免有心人士注意root的登入密码,而这时系统管理者,可能故布疑阵,以其他的帐号登入系统,再以指令su,变身为超级使用者,也就是拥有系统管理者的最大权限。

    但读者不能以为一般使用者可以通过指令su变身为超级使用者。因为要变身为root,除了在系统中有帐号外,此使用者还需经系统管理者归属于wheel组才能使用su指令成为root,此外,系统会要求你输入root的密码

    改变文件拥有者
    【指令名称】:chown
    【执行格式】:chown { -R } [拥有者或拥有组] [文件或目录名称]
    【使用者】:root
    【选项】:-R 表示将目录所有的文件、子目录也一起更改
    【说明】:chown这个指令在FreeBSD系统中的使用权限,不像Linux系统属于该文件或目录的拥有者和root,在FreeBSD的环境下,文件或目录的拥

    有者不可自动放弃权利,更改文件或目录的拥有者,只有root才能。chown不仅可改变拥有者,也可一起改变组
    【举例】:chown mmk:adm word
    【作用】:将文件word的拥有者改为mmk,拥有组改为adm

    改变文件的所属组
    【指令名称】:chgrp
    【执行格式】:chgrp { -R } [新的组名称] [文件或目录名称]
    【执行者】:root
    【说明】:这个指令和chown相似,chown改变文件拥有者,chgrp改变文件的所属组,但是chown指令的功能,可以包括chgrp
    【举例】:chgrp -R teacher word 或 chown -R mmk:teacher word
    【作用】:将文件word的所属组由adm改为teacher

    挂上文件系统
    【指令名称】:mount
    【执行格式】:mount { -t } [文件系统格式] { -o } [选项] <mount device> [挂入点]
    【使用者】:root
    文件系统格式:常用的有UFS(FreeBSD自己的文件系统)、MSDOSFS(Dos下的文件系统)、CD9660(光盘的文件系统)、PROCFS(Process文件系统)、NFS(Network File System)等
    【选项】:[rw]可读写
    [ro]只读
    [sync]使用同步模式写入,在写入时,会把必要的信息一并更新,让不正常关机(死机、断电......)的损失降到最低。也因此缺点是I/O频繁,对于大量的文件删写会很慢。这是系统默认值,所以不须指定sync。通常用在重要数据的文件系统,如根目录、/usr等
    [async]使用非同步模式写入,这样文件在写入时,只会写入部分信息,等系统有空时,才会将其他的文件信息写入,所以效率较好,但是比较不保险,不正常关机的损失率较高。如果写入动作频繁的分区,就可考虑使用async
    [nodev]这个文件系统上的device node没有作用
    [noexc]这个文件系统上的文件都不能执行
    [nosuid]这个文件系统上的文件都没有setuid、setgid的效果
    [userquota groupquota]启动QUOTA限制使用者使用硬盘空间
    【举例】:1. mount -t cd9660 /dev/wcd0a /cdrom
    2. mount -t cd9660 /dev/cd0a /cdrom
    3. mount -o async,userquota /dev/wd0slg /home
    【作用】:1. 把wcd0a这个ATAPI CDROM设备的光盘内容mount挂到/cdrom下
    2. 把cd0a这个SCSI CDROM设备里的光盘内容mount挂到/cdrom下
    3. 把/dev/wd0slg mount到/home,并启动async写入模式,userquota限制

    卸下文件系统
    【指令名称】:umount
    【执行格式】:umount [挂入点]
    【使用者】:root
    【说明】:要卸下文件系统,并不须加任何参数。如果当你umount时,看到device busy之类的信息,表示有人或程序正在使用该挂入点里的文件,或是你正在该目录下,只有把user或程序排除,或到挂入点之外,才能顺利卸下文件系统
    【举例】:umount /cdrom
    注意:当你mount你的CDROM设备后,你的光盘是无法取出的,只有正常umount后,才能退出取回

    【指令名称】:sync
    【执行格式】:sync
    【说明】:可以强迫系统将临时内存写回硬盘中

    【指令名称】:reboot
    【执行格式】:reboot
    【说明】:一旦执行reboot后,系统会立刻关机重新启动。虽说reboot也会呼叫sync,但是最好在关机前,再多下几次sync指令
    【举例】:sync;sync;sync;reboot

    【指令名称】:shutdown
    【执行格式】:shutdown { -参数 } [时间] [警告信息]
    【使用者】:root
    【说明】:FreeBSD系统和win95操作系统相同,关机动作要遵守一定的程序,不能随意将电源关闭,因为核心通常会把硬盘输出输入的数据存在主内存的缓冲区中,按正常关机手续,核心会把缓冲区的数据写回硬盘,如突然的重新开机,你的文件可能就会受损。此外系统管理者要在系统关机或者重新启动的同时需通知系统使用者,系统使用者才有充裕的时间,按正常手续离开系统
    【举例】:1. shutdown -h 21:00
    2. shutdown -h now
    3. shutdown -r now
    4. shutdown -h +10
    【作用】:1. 设置在晚上9点关机,但并不会重新启动
    2. 系统即刻关机,但并不会重新启动
    3. 加上参数r表示关机后会再重新开机
    4. 系统在十分钟后关机


    【指令名称】:top
    【执行格式】:top [参数]
    【说明】:显示系统中使用CPU资源的Process排名、CPU当前的使用情况、内存当前的使用情况,而且会持续更新
    【举例】:top 3
    【作用】:显示显示CPU资源最多的前三名Process

    监督进程
    【指令名称】:ps
    【执行格式】:ps { -参数 }
    【说明】:ps指令可以用来监视、查看进程的状态
    【举例】:直接执行ps不加任何参数,只会显示属于自己的进程。虽说出现的信息很少,但重要的是,可显示属于自己所拥有进程的id号码
    执行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:所执行的命令名称和参数

    停止进程
    【执行格式】:kill
    【说明】:将process从系统中删除,或送一个信号给Process,例如重新读取设置文件。但是只有Process的拥有者,才能对其拥有的Process下

    kill命令,你可以使用“ps”,找出要进行处理的Process
    【举例】:1. kill -l
    2. kill -HUP 228
    3. kill -9 928
    【作用】:1. 列出所有的参数
    2. 将Process Id为228的程序重run
    3. 将Process Id为928的程序,从系统中强迫删除

    控制Process
    在FreeBSD系统中,工作控制允许你将process做前景和背景的切换,一般我们需花费较长时间完成的工作,切换到背景执行,此时背景执行的工作,并不接受来自键盘的输入命令,也就是此process静静的执行,不需要作任何交谈。这样我们就可以不受影响的继续和前景工作交谈但在同一时间中,只能有一个job和你当前所使用的键盘和屏幕做沟通
    1. 在指令后面加上&:在背景执行指令
    如:gzip -9 -r test/ & //在背景执行压缩整个test目录的工作
    2. jobs:列出背景Process
    3. %n:参考第n号背景工作
    4. fg:把背景process切换到前景
    如:fg % 1 //将1号工作放置前景
    5. bg:重新开始停止的背景Process
    如:bg % 3 //在背景执行第三个Process
    6. kill:结束Process
    如:kill 132 //结束Process ID为132的Process
    7. [Ctrl+Z]:停止前景process
    注:指令ps可列出PID,指令jobs可看到临时编号的背景Process

    工作安排
    【指令名称】:crontab
    【执行格式】: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

    【指令名称】:ping
    【执行格式】:ping { -参数 } [Hostname | IP-Address]
    【说明】:使用ping可以检测网络上的机器连接情况,可以使用参数“-s”来指定送出Package的信息大小(bytes),使用参数“-c”来指定要连接送出几次
    【举例】:1. ping 140.131.41.10\
    2. ping -c 10 -s 1200 whyno.org

    【指令名称】:traceroute
    【执行格式】:traceroute [Hostname | IP-Address]
    【说明】:使用traceroute可以显示到网络上某台主机所经过的router,以检测发生问题的router路径
    【举例】:traceroute whyno.org

    【指令名称】:ifconfig
    【说明】:使用“ifconfig -a”可以查看所有网络接口的参数

    【指令名称】:netstate
    【说明】:显示网络状态
    【举例】:netstate -r
    【作用】:显示routing table

    【指令名称】:arp
    【说明】:显示Hostname(或IP-Address)与MAC Address的对照表
    【举例】:arp -a

    【指令名称】:fetch
    【执行格式】:fetch { -参数 } [来源文件地址]
    【说明】:使用指令fetch来传送远端文件,比指令ftp要来得便捷许多,你只要知道文件的正确位置,以ftp或http的通讯协议,一个动作就可以获取回你所需要的文件,无需登入匿名FTP站
    【举例】:1. fetch
    2. fetch -o test
    【作用】:1. 复制1225.gif到使用者当前所在目录
    2. 参数o加文件名,远端取回的文件由原有文件名1225.gif变为使用者自定的文件名test

    将man page转成文本文件
    【执行格式】:man manfile | col -b > (testfile name)
    【说明】:由于man page加上了一些彩色控制码,所以使用一般方法直接转成文本文件会有乱码
    【举例】:man fetch | col -b > fetch.txt
    【作用】:将fetch的man page转成正常的文本文件,文件名为fetch.txt

    搜索文件中的字符串
    【指令名称】:grep
    【执行格式】:grep [要寻找的字符串] [要搜索的文件]
    【说明】:搜索文件内容中的字符串
    【举例】:grep whyno.org *
    【作用】:搜索当前目录下,哪些文件含有whyno.org的字符串

    指令合并
    如果想让数个指令合并在一行写完,让他们可以按顺序执行,可以利用“;”将数个指令串连在一起
    例如:command A;command B;command C;......
    【作用】:指令A完成后,接着完成指令B,然后陆续完成C.......

    指令过长
    如果指令与参数超过一行时,可用“\”将命令分为数行,当命令到行末时,输入“\”按Enter跳到下一行,继续输入命令,最后输入完成按Enter执行
    例如:pkg_add ftp://whyno.org/freebsd/packages/net/\
    ncftp-2.4.3.tgz

     

    原帖地址:http://club.topsage.com/thread-456042-1-1.html

    展开全文
  • freeBSD架构中文手册

    2020-07-30 23:30:44
    freeBSD官方的关于架构方面的用户手册 pdf版。200多页
  • FreeBSD与Linux十个本质上的区别

    万次阅读 2015-03-12 11:14:29
    Linux的标志是一只十分可爱的小企鹅,而FreeBSD的标志是一个拿着叉子的小恶魔。你是否经常会听到人们把 Linux及 BSD 系统混为一谈?事实上这两者确实有很多相似之处,但是还是需要掌握这两者之间的区别。

    Linux的标志是一只十分可爱的小企鹅,而FreeBSD的标志是一个拿着叉子的小恶魔。你是否经常会听到人们把 Linux及 BSD 系统混为一谈?是的,我有时会经常听到一些新手,甚至于媒体都这么说。当然,事实上这两者确实有很多相似之处,比如它们都是基于 Unix演变而来,而且基本上这两类系统都是由非盈利组织及团队开发,另外我更想说的是,这两个系统都有一个共同的目标–那就是创建最有用、最可靠的操作系统。

    不过话说回来,这两个系统确实存在着明显的差异,当人们忽略这点的时候,整个 BSD 社区都会感到异常的愤怒,因此我们也可以经常看到 BSD 社区人员或 BSD 用户会对 Linux不屑一顾。因此,我会尽我所能来帮助我的 BSD 的弟兄们,让更多的人了解到 Linux与 BSD 的不同之处在哪里。

    1、许可证

    正如我们所知道的,Linux操作系统是基于 GPL 许可证授权下的。该许可证可防止开源软件被转换为封闭源代码软件及确保源代码的可用性。 GPL 许可证的目的就是防止二进制包成为唯一的软件发行源。

    而 BSD 许可证的限制则要少得多,它甚至允许二进制包成为唯一的发行源。这就是核心差异,可以这样理解:GPL 许可证让您有权拥有任何你想要使用该软件的方法,但你必须确保提供源代码给下一个使用它的人(包括你对它的改变部分)。而 BSD 许可证并不是要求你必须那么做。( 译者注:这里分别是维基百科上对 BSD 及 GPL 许可证的解释)

    2、代码控制

    BSD 的代码不是被控制在任何一个人手里,而 Linux的内核基本上被 Linus Torvalds ( Linux创始人)所控制,BSD 并没有单一的人来说什么可以或什么不可以进入代码。相反,BSD 通过一个核心小组” Core Team”来管理该项目,这个核心小组比非核心小组有更多的发言权来指导 BSD 社区的发展方向,(译者注:而据我所知,FreeBSDD 核心小组的成员会每两年选举一次。)

    3、内核vs 操作系统

    BSD 项目维护的是整个操作系统,而 Linux则只是主要集中在单一的内核上面。这点确实是需要注意的,虽然这两个系统上都运行着许多相同的软件。

    4、UNIX-Like

    这里有一个关于 BSD vs Linux的古老说法:” BSD is what you get when a bunch of UNIX hackers sit down to try to port a UNIX system to the PC. Linux is what you get when a bunch of PC hackers sit down and try to write a UNIX system for the PC “,这里表达了很多。你会发现 BSD 系统更为类似于 UNIX ,而事实上它就是传统 UNIX 的直接衍生品。而 Linux,则是一个松散的基于 UNIX 衍生品( Minix)而新创建的一个 OS 。

    5、基本系统

    这是一个关于 BSD 与 Linux 之间差异的至关重要的理念。 Linux的”基本系统”是并不真正存在的,许多人会说,Linux的基本系统就是内核,但问题是如果没有任何可用的应用程序的话,那么这个内核是完全没有价值的。而另一方面,BSD 则有一个包括众多工具的基本系统,甚至 libc 也是基本系统的一部分。因为这些组件都被作为一个基本系统,所以它们都是被一起开发和打包的,许多事实表明这样更能创建出一个更具凝聚力的整体。

    6、更多来自于源代码

    由于 BSD 的开发方式(使用 Ports 系统)的关系,所以用户们更多的是从源代码来安装程序,而不是预先编译好的二进制包。这是一个优势还是劣势?这取决于不同的用户。如果你更多的想从友好或易用性方面考虑的话,看到这一点后你也许会有放弃的念头,对于新用户更是如此。但一些新的用户也有想要从源代码编译安装,这可能比较累人。但是,从源码安装也有一定的优势,比如库版本控制,通过特殊的包来构建系统等等。

    7、升级

    由于 BSD 的开发方式的原因(见第5项),你可以利用一条指令就可以升级你的基本系统到最新版本( Freebsd 下是用 freebsd-update fetch update 命令)。或者你也可以下载整个源代码树,然后通过编译来升级。而在Linux中,你也可以通过内置的包管理系统来升级系统。前者(BSD)仅更新基本系统,而后者( Linux)则会升级整个系统。不过请记住,BSD 中升级到最新的基本系统并不意味着所有的附加软件包也将会被更新,而Linux升级的时候,所有的软件包都会被升级。这是否意味着 Linux处理得更好吗?在我看未必。我经常会看到Linux在升级时出现严重错误,从而需要重新安装整个系统,但这个现象基本不太可能发生在 BSD 的升级过程中。

    8、前沿技术

    基本上你不太可能会看到 BSD 系统运行着任何非常前沿版本的软件。而在 Linux 这一方面,大量的发行版会分发前沿版本的软件包。如果你是一个”If it isn’t broken, don’t fix it”这样观点的持有者的话,你将会是 BSD 的超级粉丝。但是,如果你很新潮,想要体验一切最新的东西,那么你最好尽快迁移到Linux。

    9、硬件支持

    你会发现,通常情况下 Linux 的硬件支持要比 BSD 更早一些。但这并不是说 BSD 没有像 Linux那样支持足够多的硬件,它只是意味着在某些情况下 Linux 会在 BSD 之前先支持某些硬件。因此,如果你想要最新的、最好的显卡的话,基本上不用考虑 BSD 了。如果你有一个包含了最新无线芯片的新型笔记本的话,建议你选择 Linux,运气好的话也许它会支持。

    10、用户群

    在这里我冒险概括一下计算机用户们,但我想先声明一下每一个事物都有例外。下面我要向你展示我对用户分布方面的概括。

    Mac –> Windows –> Linux–> BSD –> UNIX

    从左边到右边,分别是”使用该 OS 的人里精通电脑的用户群最少”到”使用该 OS 的人里精通电脑的用户群最多”的过渡。我们可以看到,Linux的被放置在了中间,而 BSD 则更接近于右边。许多人会对此有争论,也有些人可能会感觉被冒犯了。但是,个人认为这是一个对”哪些用户使用哪些系统”相当准确的概括。

    展开全文
  • Freebsd查看硬件信息

    2019-06-20 04:08:23
    CPU: cat /var/run/dmesg.boot |grep CPU sysctl hw.model hw.ncpu dmesg | grep "CPU:" 查询CPU核心数: sysctl -a |grep ncpu 或者: cat /var/run/dmesg.boot |grep Dete 再或者 ...Hard...
  • FreeBSD系统 首先登录root权限。 查看CPU信息:sysctl hw.model 查看主板型号信息:less /var/run/dmesg.boot | grep board 查看网卡信息:ifconfig CentOS系统 首先登录root权限 查看CPU信息:lscpu 查看主板型号...
  • 查看服务器型号 #dmidecode|grep “System Information” -A9|egrep “Manufacturer|Product|Serial” 查看cpu sysctl -a | egrep -i ‘hw.machine|hw.model|hw.ncpu’ 查看总的物理内存 sysctl -a | grep hw....
  • BSD 和 SYSV 是世上最正统的 UNIX 操作系统,在 LINUX 出现之前,他们统治了整个 UNIX...现 在,本文只讨论 BSD 流派最活跃的发行版 FreeBSDFreeBSD 作为最重要的一个 BSD 发行版,它保持了 BSD 自由和实用的原则。但
  • 最近工作需要开始了解下FreeBSD,搜索了很多资料进行了总结 参考资料: https://blog.csdn.net/dankes/article/details/2822669 https://blog.csdn.net/charleyhuman/article/details/1316999 ...
  • 国内的中科大dpk源 : mirrors.ustc.edu.cn/freebsd-pkg//${ABI}/quarterly 使用axel下载,这个工具支持多线程下载和断点续传。 安装axel:#cd /usr/ports/ftp/axel #make install clean 安装完axel后,可以修改...
  • FreeBSD设置IP地址、网关、DNS的方法

    万次阅读 2015-10-27 08:17:02
     说明: IP:192.168.21.173 子网掩码:255.255.255.0 网关:192.168.21.2 DNS:8.8.8.8  8.8.4.4 1、设置IP地址、网关 ...ifconfig_em0="inet 192.168.21.173 netmask 255.255.255.0" 
  • 选择其他里面的FreeBSD6.设置虚拟机位置和名称7.其余选项选择默认即可8.编辑虚拟机设置9.按照如图设置选择自己电脑上的下载好的镜像10.开启虚拟机,开始安装11.进入到安装界面12.后面按照顺序如图13.大部分内容直接...
  • FreeBSD开启SSH远程登录

    千次阅读 2017-11-14 14:00:56
    1、安装时选择上SSH,或者源码安装SSH ...3、使用ee编辑器编辑/etc/inetd.conf,去掉ssh前的#,按ctrl+c,再输入exit保存退出 4、编辑/etc/rc.conf,添加一行sshd_enable="YES" 5、编辑/etc/ssh/sshd_config,将 ...
  • 树莓派3如何安装FreeBSD

    千次阅读 2017-07-17 21:46:53
    1. 去官方网站下载FreeBSD 因为树莓派3发布时间比FreeBSD 11发布时间晚,所以FreeBSD 11不支持树莓派3。需要下载FreeBSD 12或更新的aarch64版本,网址:...
  • FreeBSD查看系统日志

    千次阅读 2012-08-13 19:18:51
    FreeBSD view system logOne of the daily operations as FreeBSD administrator is to check system log and system resources usage, also system logs are my favorite friend to debug and solve system problem
  • FreeBSD 配置经验

    千次阅读 2017-08-31 12:45:04
    FreeBSD 配置以及与Linux的异同。
  • FreeBSD 查看进程和端口关联信息

    千次阅读 2016-09-01 15:52:25
    FreeBSD 查看sock连接可以使用 netstat -an 查看链接信息。 也可以使用sockstat 命令查看进程和sock关联信息。如下图
  • FreeBSD中文乱码问题

    千次阅读 2014-03-17 14:18:15
    FreeBSD下中文字符编码格式转换
  • freeBSD pkg 安装问题

    千次阅读 2017-04-26 19:27:45
    freeBSD 装载u盘、cd问题freeBSD: 问题描述 错误过程 正确方案 问题描述 在freeBSD系统中使用pkg安装应用 在vm12虚拟机中安装 客户机安装freebsd-release-11。 系统没有自带pkg安装工具。因此需要先安装pkg过程...
1 2 3 4 5 ... 20
收藏数 70,944
精华内容 28,377
关键字:

freebsd