|
FreeBSD学习笔记连载
第一次学习FREEBSD,首先了解一下系统的目录结构
目录架构目录层次是理解一个系统的重要基础, 最重要的莫过于它的根目录 “/”,这个目录在启动时就就挂上, 它包含了启动时所需的基本系统。这个根目录同样包含了想要挂接的每一个文件系统。挂接点 (mount point) 是新增的文件系统在接入现有系统时的起点位置。 标准的挂接点包括
/usr、 /var、 /tmp、 /mnt, 以及 /cdrom。 这些目录通常会在 /etc/fstab 文件中提及。 /etc/fstab 是一张包含系统中各个文件系统及挂接点的表。 在 /etc/fstab 中的绝大多数文件系统都会在启动时由 rc(8) 脚本自动挂接, 除非特别指定了 noauto 选项。您可以通过 hier(7) 来了解完整的文件系统层次说明。 现在,让我们先来看一看绝大多数的常见的目录以供参考。目录 介绍 / 文件系统的根目录。 /bin/ 在单个用户和多用户环境下的基本工具目录。 /boot/ 在操作系统在启动加载期间所用的程序和配置。 /boot/defaults/ 默认每步引导启动的配置内容,请查阅loader.conf(5)。 /dev/ 设备接点,请查阅 intro(4)。 /etc/ 系统启动的配置和脚本。 /etc/defaults/ 系统默认的启动配置和脚本,请参考 rc(8) 。 /etc/mail/ 关系到邮件系统运作的配置, 请参考 sendmail(8)。 /etc/namedb/ named 配置文件,请参考 named(8)。 /etc/periodic/ 每天、每星期和每月周期性地运行的脚本, 请通过 cron(8)查阅 periodic(8)。 /etc/ppp/ ppp配置文件,请查阅ppp(8)。 /mnt/ 由管理员习惯使用挂接点的临时空目录。 /proc/ 运行中的文件系统,请参阅 procfs(5) 和 mount_procfs(8)。 /rescue/ 用于紧急恢复的一组静态联编的程序; 参见 rescue(8)。 /root/ root用户的Home(主)目录。 /sbin/ 在单个用户和多用户环境下的存放系统程序和管理所需的基本实用目录。 /stand/ 持久独一无二的程序环境。 /tmp/ 存放临时文件,通常存放一些系统重启后不需要保护的 mfs(8) 基于内存的文件系统。 /usr/ 存放大多数用户的应用软件。 /usr/bin/ 存放实用命令,程序设计工具,和应用软件。 /usr/include/ 存放标准 C include 文件. /usr/lib/ 存放库文件。 /usr/libdata/ 存放各种实用工具的数据文件。 /usr/libexec/ 存放系统实用或后台程序 (从另外的程序启动执行)。 /usr/local/ 存放本地执行文件, 库文件等等, 同时也是 FreeBSD ports 安装的默认安装目录。 /usr/local 在 /usr 总体布置请查阅 man.hier.7;。 man 目录例外, 它们直接放在 /usr/local 而不是 /usr/local/share 下, 而 ports 说明文档在 share/doc/port。 /usr/obj/ 通过联编 /usr/src 得到的目标文件。 /usr/ports 存放 FreeBSD 的 Ports Collection (可选)。 /usr/sbin/ 存放系统后台程序 和 系统工具 (由用户执行)。 /usr/share/ 存放架构独立的文件。 /usr/src/ 存放 BSD 或者本地源码文件。 /usr/X11R6/ 存放 X11R6 可执行文件、 库文件、 配置文件等的目录(可选)。 /var/ 存放多用途记录、临时性、短期的和打印假脱机系统文件. /var/log/ 存放各种的系统记录文件。 /var/mail/ 存放用户mailbox(一种邮件存放格式)文件。 /var/spool/ 各种打印机和邮件系统spooling(回环)的目录。 /var/tmp/ 存放系统重启前受控制的临时文件。 /var/yp NIS 映射。
命令:chflags格式: chflags [-R [-H | -L | -P]] flags file ...文件标志可以通过使用 chflags(1) 工具来修改, 其用户界面很简单。 例如,要在文件 file1 上应用系统禁删标志,应适用下述命令:# chflags sunlink file1要禁用系统禁删标志, 只需在前述命令中的 sunlink 标志前加 “no”。 例如:# chflags nosunlink file1要显示文件上的标志, 应使用 ls(1) 的 -lo 参数:# ls -lo file1删除应类似于:-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1其他的功能请通过联机手册学习使用。
mount 命令这个 mount(8) 命令是挂接文件系统的基本运用。使用最多的基本格式:# mount device mountpoint它的选项非常多,而mount(8) 手册同样提及, 但常用的都在这里:挂接的各种选项-a 挂接/etc/fstab里所有列出的文件系统。 除非标记为 “noauto” 或作了排除在外的 -t 类型标记,或者在这之前已挂上。-d 除了实际上系统调用以外,可以完成任何事情,这个选项是和 -v参数一起连在一块使用,可以决定mount(8)所做的事情。-f 强制去挂接一个未知的文件系统(会有危险),或当把一个文件系统挂接状态由可读写降为只读时,强制撤消可写通道。-r 以只读方式挂接文件系统。 这和在指定了 -o 选项配合 ro (对于 FreeBSD 5.2 之前的版本来说, 则是 rdonly) 参数的效果是一样的。-t fstype 根据给出的文件系统类型挂接文件系统, 假如给于-a选项,仅挂接这个类型的文件系统。“ufs” 是默认的文件系统类型。-u 在文件系统上修改挂接选项。-v 版本模式。-w 以可读写方式挂接文件系统。The -o 选项采用一个逗号分开以下多个选项:nodev 拒绝把文件系统识别为特别的设备。这是一个有用的安全选项。noexec 不允许文件系统上的二进制程序执行。这也是一个有用的安全选项。nosuid 不允许文件系统上的 setuid 或 setgid 标记生效。这也是一个有用的安全选项。
umount 命令umount(8) 命令同样采用一个参数、一个挂接点、一个设备名。 或采用-a选项,又或采用-A选项。所有格式都可采用 -f 去强行卸下, 或采用-v 用那适当的版本。 但警告,采用 -f并不是一个好主意,强行卸下文件系统可能损坏计算机或破坏文件系统上的数据。-a 和 -A 会卸下所有已挂接的文件系, 可能通过-t后面列出的文件系统进行修改, 但无论如何,-A都不会尝试去卸
chsh命令:chsh命令可以用来改变您用的Shell,执行 chsh 将根据您设定的EDITOR 环境变量进入到那个编辑器,假如没有设定,就会进入vi编辑器。请改变“Shell:”这行对应值。您可使用chsh 的-s选项,这样就能设置您的shell却又不用编辑器。假如您想把shell改为bash 可用下面的技巧。% chsh -s /usr/local/bin/bash运行chsh 不加参数只编辑shell也会达到相同的效果。注意: 您使用的shells必须 在/etc/shells 文件里列出。 假如您从 ports里装一个shell, 那就不用做这步了。假如您手工装一个shell,那就要手工添加进去。举个例了子,假如您手工把 bash装到 /usr/local/bin里,您还要进行这一步:# echo "/usr/local/bin/bash" >> /etc/shells然后运行chsh。
计算机教程FreeBSD学习笔记连载(一)来自www.itwen.comIT WEN计算机教程网
man命令:这个命令大家都熟悉,但是在这里还有几个特别的用处:当您不知道命令的名字时可以采用 #man -k mail 关键字先查询相关的命令后再查命令手册。有时您会看到/usr/bin 下有许多命令但不知他们的用途,您只需这样做# cd /usr/bin# man -f *或者这样做
# cd /usr/bin# whatis *
portaudit命令:用来检测系统安装前首先检查是否存在已知的漏洞,并能够自动地检查已经安装的应用程序的漏洞通过portaudit -F -a 这个命令在安装了某个软件包之后作出检查。
如何安装第三方的二进制软件包。1.通过:应用程序包的安装(是一个可以下载的FreeBSD package文件) pkg_add(1):安装软件命令pkg_delete(1):删除软件命令pkg_info(1):安装软件的信息Packages 安装软件:
如安装上面的 portaudit软件:先下载一个名为:portaudit-0.5.9.tbz到本地,执行pkg_add portaudit-0.5.9.tbz 系统将自动的安装好该软件并提示:===> To check your installed ports for known vulnerabilities now, do:/usr/local/sbin/portaudit -Fda或者你没有软件的安装包,可以通过pkg_add -r portaudit 这将迫使程序自动决定目标文件的正确格式和版本,然后自动从一个 FTP 站点寻找和安装 package。
软件包的管理#pkg_info 执行结果:bitstream-vera-1.10 Bitstream Vera TrueType font collectionexpat-1.95.8 XML 1.0 parser written in Cfontconfig-2.2.3,1 An XML-based font configuration API for X Windowsfreetype2-2.1.7_3 A free and portable TrueType font rendering engineimake-6.7.0_2 Imake and other utilities from X.OrglibXft-2.1.6 A client-sided font API for X applicationslinux_base-7.1_7 The base set of packages needed in Linux modeperl-5.8.5 Practical Extraction and Report Languagepkgconfig-0.15.0_1 A utility used to retrieve information about installed librpng-1.2.6 Library for manipulating PNG imagesportaudit-0.5.9 Checks installed ports against a list of security vulnerabixorg-clients-6.7.0_4 X client programs and related files from X.Orgxorg-documents-6.7.0 Documentation of X11 protocol and libraries from X.Orgxorg-fonts-100dpi-6.7.0 X.Org 100dpi bitmap fontsxorg-fonts-75dpi-6.7.0 X.Org 75dpi bitmap fontsxorg-fonts-cyrillic-6.7.0 X.Org Cyrillic bitmap fontsxorg-fonts-encodings-6.7.0 X.Org font encoding filesxorg-fonts-miscbitmaps-6.7.0 X.Org miscellaneous bitmap fontsxorg-fonts-truetype-6.7.0 X.Org TrueType fontsxorg-fonts-type1-6.7.0 X.Org Type1 fontsxorg-fontserver-6.7.0 X font server from X.Orgxorg-libraries-6.7.0_2 X11 libraries and headers from X.Orgxorg-manpages-6.7.0 X.Org library manual pagesxorg-nestserver-6.7.0 Nesting X server from X.Orgxorg-printserver-6.7.0 X Print server from X.Orgxorg-server-6.7.0_9 X.Org X server and related programsxorg-vfbserver-6.7.0 X virtual framebuffer server from X.Orgxterm-196_3 Terminal emulator for the X Window System |
|