空语者 發表於 2008-9-8 18:48:25

FreeBSD的一些简单使用技巧

<p>1、在 unix-like 中档案结构是蛮重要的,那么要如何去看相关档案目录结构的说明呢?<br /><br />难道是 cd 到每个目录下吗?其实有更好的方法..<br /><br />那就是用好男人 man 来看:<br /><br /># man hier<br /><br /><br /><br />2、在 console 下操作时,由于屏幕显示有限,有时需看前面显示的资料,这时你可:<br /><br />. 按一下 Pause or Scroll Lock键后,则可利用 PageUp PageDown Up Down<br />Home End 等键来看前后显示的资料<br /><br />. 再按一下 Pause or Scroll Lock则可回复等待输入画面.<br /><br />3、 使用 pw 来管理你的帐号<br /><br />在 FreeBSD 下使用 adduser 来新增帐号,有些时会满烦的,可用以下方式:<br /><br />pw useradd -n -g -m -s /bin/csh<br /><br />=&gt; -m 代表建立使用者目录<br /><br />●同时设密码<br /><br />echo | pw useradd -n -g -m -s /bin/csh -h 0<br /><br />● 删除帐号<br /><br />pw userdel -n -r<br /><br />=&gt; -r 代表同时删除其 home 目录等相关资料<br /><br />● 修改帐号<br /><br />pw usermod -g -s /bin/csh<br /><br />PS:无法修改帐号名称<br /><br />● lock 及 unlock 使用者帐号<br /><br /><br />pw lock<br />pw unlock<br /><br />4、 激活你的 screensa ver<br /><br />由于 FreeBSD 大多当为主机使用,都是常期不关机的,因此可将屏幕关掉,或使<br />用 ScreenSa ver 功能..<br /><br />使用 ScreenSa ver 请在 /etc/rc.conf 这个档加入以下两行:<br /><br />blanktime=&quot;900&quot;<br /><br />=&gt; 以秒数为单位,如以上为 15 分钟<br /><br />sa ver=&quot;logo&quot;<br /><br />=&gt; logo 是 FreeBSD 的吉祥物(图型接口),另也可使用 &quot;daemon&quot;,这是文字型式<br /><br />5、 检查你的某一个 ports 版本及更新<br /><br />如果要更新所有的 port 只需在 /etc/ports/ 下执行以下指令:<br /><br /># make update<br /><br />有时我们可能要检查某一个 ports 的版本,在每个 ports 中的 Makefile 都有这一行<br /><br />PORTVERSION= x.x.x<br /><br />如此就可看到这个 ports 的版本了,另外也可使用以下方式(用 grep),比如我<br />们想看 mod_php4 的版本<br /><br /># grep PORTVERSION= /usr/ports/www/mod_php4/Makefile<br />PORTVERSION=   1.4.1 -&gt; 版本讯息<br /><br />如果版本太旧了,则可利用以下方法来更新单一 ports<br /><br />a. 使用 portupgrade 或 portinstall,请用 man 查看用法<br /><br />b. 到 FreeBSD 网站查询最新的 ports 信息,并抓 ports 回来更新<br /><br />网址:http://freebsd.org/cgi/cvsweb.cgi/ports/<br /><br />抓回来后在相关目录更新,例如我们抓回的是 mod_php4.tar.gz,存在 /usr/tmp/ 目录下,则解压缩的方式如下:<br /><br /># cd /usr/ports/www/mod_php4<br /># tar xzvf /usr/tmp/mod_php4.tar.gz<br /><br />如此就 ok 了..<br /><br />6、 加速你的按键速度..<br /><br />相信使用 FreeBSD 的人很多都是在 console 下操作吧,有些时,要重复某一按键速度实在很慢..<br /><br />另一个问题就是 cusror 的位置有些时不太明显..<br /><br />可用以下方法来改善:<br /><br />在 /etc/rc.conf 中加入以下资料..<br /><br />keyrate=&quot;fast&quot;<br />cursor=&quot;blink&quot; 或 &quot;destructive&quot;<br /><br />7、 设定开机画面<br /><br />使用 windows 的人,都知道所谓的开机画面,在 FreeBSD 下是否也有此功能呢?答案是肯定的,而且设定更为简便,请照以下 steps:<br /><br />一. 首先制作一个图型文件,档案格式为 logo.pcx 或 logo.bmp,需注意的是<br />.bmp 的档案存盘时不用压缩,分辨率需为 640 X 480 以内(含),色阶为 256<br />色..<br /><br />二. 将此档案 copy 到 /boot/ 这个目录下<br /><br />三. 设定 /boot/loader.conf,加入以下资料<br /><br />splash_bmp_load=&quot;YES&quot; -&gt; 如果使用 .bmp 格式,此项需设为 YES<br />splash_pcx_load=&quot;YES&quot; -&gt; 使用 .pcx,请将此项设为 YES<br />vera_load=&quot;YES&quot;<br />bitmap_load=&quot;YES&quot;<br />bitmap_name=&quot;/boot/logo.pcx&quot; -&gt; 请依你的档案格式更改<br />bitmap_type=&quot;splash_image_data&quot;<br /><br />四. 重新激活<br />ps: 请检查你的 kernel 中是否有设定以下资料,一般在 4.x 中都是内定值..,至于 3.x 版,没用过..^.^<br /><br />preudo-device splash<br /><br />如果没有,则需将此行加入并重新编绎核心.<br /><br /><br />8、 一些 console 下使用的快速键..<br /><br />相信大多使用 unix-like 的使用者,还是在 console 下执行你的日常维护工作吧,那有那些按键组合可帮我们提高效率呢..<br /><br />以下按键皆适用于 tcsh 及 bash..<br /><br />1. 快速移动光标<br /><br />ctrl+a -&gt; 到最前面<br />ctrl+e -&gt; 到最后面<br /><br />2. 编辑方面<br /><br />ctrl+d -&gt; 删除光标所在字符<br />ctrl+w -&gt; 删除光标所在字前面的字符<br />ctrl+u -&gt; bash:将光标前所有的字及字符删掉,tcsh:删除所有字<br />ctrl+k -&gt; 将光标后所有字符删掉<br />ctrl+b -&gt; 下个字符<br />ctrl+f -&gt; 前一个字符<br />ctrl+m -&gt; 和按下 enter 的结果一样<br />ctrl+h -&gt; 和按下 del 或 backspace 键一样<br />del 或 backspace -&gt; 删除前一个字符<br /><br />如果对按键有研究兴趣者,不彷参考 /usr/share/syscons/keymaps/ 这个目录,其中 us.iso.kbd 是一般我们使用的按键..<br /><br />9、 快速切换目录<br /><br />在 FreeBSD 中常常需要切换目录,有时目录名称较长、或是有大小写、或是只记得前面几个字,怎么办..<br /><br />其实只要输入部份字再加上 * 这个符号就可以了..<br /><br />如我们要切换到 /usr/local/ 这个目录,只需输入 cd /usr/lo* 就可以了..<br /><br />如果输入 cd /usr/l* 会如何呢?则会进到 /usr/lib/ 这个目录,这是因为 shell 找到第一个符合的条件便停止了..<br /><br />10、 有关时间及时区的比较<br /><br />使用 FreeBSD 大多是拿来当做主机使用,那时间及时区的正确与否就非常重要<br />了,以下介绍如何校整时间及时区<br /><br />● 时间校正<br />1. 使用 date 指令<br /><br />格式 date HHMM<br />说明:<br />yy 年数,如 02 代表 2002 年<br />mm 月份 01-12<br />dd 日数 01-31<br />HH 时数 01-59<br />MM 分钟 01-59<br /><br />2. 使用对时主机<br /><br /># ntpdate clock.stdtime.gov.tw<br /><br />这项需能连上网络,其中 clock.stdtime.gov.tw 是一标准时间的主机<br /><br />● 时区的设定<br /><br />1. 使用 tzsetup<br /><br />2. 在 /etc/ 下有个档案 localtime,这个就是本机的时区设定档案,因此我们可用个取巧方式(不经由 tzsetup),如以下:<br /><br /># cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime<br /><br />这样是不是比较快呢..<br /><br />11、 如何清空档案内容..<br /><br />有时我们需将一个档案内容清空,但需保留这个档案..<br /><br />一般常见的用法是用文字编辑器,如 vi 将这个档案叫出来,再将其内容全部删掉,再存盘..<br /><br />这样是不是有些烦呢?<br /><br />有一个更好的方法,使用 true 指令..<br /><br />如我们要将 /var/log/httpd-access.log 清空,则下以下指令..<br /><br /># cd /var/log/<br /># true &gt; httpd-access.log<br /><br />12、 显示目录及档案 =&gt; tree<br /><br />有时需显示某个目录下所有的目录及档案,虽使用 ls 可达到部份功能,但并不是很方便..<br /><br />在 dos 中,有个 tree 指令,是不是满好用的..<br /><br />其实在 FreeBSD 中也有类似的指令 =&gt; tree..<br /><br />以下我们就透过 ports 来安装 tree<br /><br /># cd /usr/ports/sysutils ; make install<br /><br />如此会将 tree 这个指令安装在 /usr/local/bin/ 这个目录下..<br /><br />使用例子:<br /><br />1. 显示 /usr/ 下的目录及档案<br /><br /># tree /usr<br /><br />2. 只显示 /usr 下的目录<br /><br /># tree -d /usr<br /><br />详细用法请参考 man tree<br /><br />PS:可透过管道 | 及 more 来显示<br /><br />如 tree /usr | more..<br /><br />13、 如何检视档案类型<br /><br />由于 FreeBSD 并没有像 dos 或 windows 般有扩展名的观念,因此要如何检查一个档案的类型呢?<br /><br />用 file 吧..<br /><br />语法: file<br /><br />详细用法请参考 man file<br /><br />14、 重复使用先前使用过的指令<br /><br />你可以使用以下的方法来重复使用先前使用过的指令:<br /><br />例如,我们先用 history 显示先前输入的指令:<br /><br /># history<br />.<br />..<br />...<br />10 clear<br />11 cd /usr/local<br />12 ls<br />13 ls etc<br />14 cd ~<br />15 clear<br /><br />1. 用 up down 可用上下一个指令,或是 ctrl+p ctrl+n 亦然<br /><br />2. 配合 ! 的用法,例如以下(ps: 在&lt;...&gt;内代表要输入的东东)<br /><br />!!<br /># !! =&gt; 重复执行上个一个指令<br /><br />!&lt;编号&gt;<br /># !11 =&gt; 执行 cd /usr/local<br /><br />!&lt;指令&gt; 可输入部份字,但前面部份需符合<br /># !cl<br />执行 15 clear 指令<br /><br />! 输入部份字符,部份吻合<br /># !?etc?<br />执行 13 ls etc<br /><br />以上指令在 tcsh 及 bash 下皆可使用,如此是不是可帮你省下许多时间..<br /><br /><br />15、 如何将 man 的档案印出来..<br /><br />man 是大家学习 FreeBSD 的最佳资料参考来源,但在显示器上看到底不是很方便,有没有方法转成一般的文件档案呢?<br /><br />使用 col 这个指令吧..<br /><br />例我们要将 ssh2 转成 ssh2.txt,则使用以下语法:<br /><br /># man ssh2 | col -b &gt; ssh2.txt<br /><br /><br />16、 为何查不到正确的 ports 资料..<br /><br />在 /usr/ports/ 下有着几千个 ports 的安装资料,有时我们可使用以下方式来查相关的 ports..<br /><br />以下都是在 /usr/ports/ 这个目录下执行..<br /><br />1. 先将 ports 资料转换成一个文字文件,如 index.txt<br /><br /># make print-index &gt; index.txt<br /><br />2. 使用 make search key=&quot;....&quot; 来查<br /><br />3. 将 ports 内容转换成 README.html<br /><br />用以上方法,可很容易的查到相关的 ports 资料,但很奇怪的是,为何我更新<br />一个 ports 的资料后(或 ports tree),为何会查不到,<br />查到的仍然是旧的资料..<br /><br />原来,在 /usr/ports/ 中有一个 INDEX文件,以上的查询方式都是在这个<br />INDEX 档中查询,当你更新 ports 资料时,这个 INDEX 档并不会随之更新..<br /><br />所以为了查询方便,我们需以手动的方式来做..<br /><br /># make index<br /><br />做完后,再更新 index.txt 及 README.html..<br /><br />不过更新 INDEX 档需要一些时间,大约 12-30 分钟..(视计算机等级而定).<br /><br /><br />17、 用 dig 及 host 来取代 nslookup<br /><br />一般我们用来检查网络是否有问题,大多是用以下三个指令..<br /><br />nslookup<br />ping<br />traceroute<br /><br />其中 nsllokup 是用来检查 dns 的相关设定, ping 用来检查自己和对方网络是<br />否通顺,而 traceroute 则是用来检查从自己的计算机到对方的计算机所经过的<br />线路状况..<br /><br />不过以 nslookup 而言,个人觉得不是很实用,有时我们只是想单纯的查一下某<br />台主机或是 MX 记录,那使用 nslookup 就有点噜嗦了..<br /><br />在此介绍二个好用的指令 host 及 dig,这二个指令很类似,不过效率较 nslookup 高<br /><br /># host -a &lt;主机名称&gt; 或<br /><br />=&gt; 输入主机名称显示 dns 正向解析的部份,输入 ip 则是显示反向(ptr)<br /><br /># dig &lt;主机名称或ip&gt;<br /><br />如要显示 MX 记录<br /><br /># dig 主机名称 mx<br /><br />个人是觉得比 nslookup 方便多了,你觉得呢.. ^.^<br /><br />当然功能不只这些,详情请 man dig 或 host..<br /><br /><br />18、 加快你的开机速度..<br /><br />严格说起来,FreeBSD 的开机速度算满快的,不过中间会有个 10 秒的延迟时间<br />(以便让你进入 boot 的 command prompt mode),如果你嫌这10秒还是太慢了,<br />那你可将时间?#123;短一些..<br /><br />FreeBSD 激活时会先去参考 /boot/defaults/loader.conf 档的设定,然后再参<br />考 /boot/loader.conf,一般我们都不去?#123;整<br />/boot/defaults/loader.conf 这个档,而直接?#123;整 /boot/loader.conf..<br /><br />只要在 /boot/loader.conf 中加上以下这一行即可<br /><br />autoboot_delay=&quot;秒数&quot; 即可,如<br /><br />autoboot_delay=&quot;7&quot; 代表7秒<br /><br />这样开机是不是更快了..<br /><br />另外建议,有时间可参考一下 /boot/defaults/loader.conf 这个档案的设定,<br />其中有许多实用的设定哦<br /><br /><br />19、 忘了 root 密码<br /><br />如果你忘了 root 的密码怎么办,这在 FreeBSD 中满好解决的,请照以下 steps 来处理..<br /><br />1. 进入单人模式<br /><br />开机后,当出现<br /><br />Hit to boot immediately, or any other key for command prompt.<br />Booting in 10 seconds...<br /><br />按 space(或除了 enter 以外的键) 键则会进入 command prompt mode,同时出现一个 ok ..<br /><br />这时请输入 boot -s 以进入单人模式<br /><br />2. 选择 sh<br /><br />进入单人模式后,系统会询问你要使用那个 sh,内定是 /bin/sh ,就使用这个吧,直接按 enter 跳过<br /><br />3. 将所有的硬盘分割架起来<br /><br /># mount -a<br /><br />4. 更改密码<br /><br /># passwd<br /><br />长度要在 6 个以上,输入二次<br /><br />5. 重新激活<br /><br /># reboot<br /><br /><br />20、 有关 kernel 的激活..<br /><br />kernel 对 unix-like 系统来说,是非常重要的一环,如果 kernel 损坏或编译出了问题,可能会导致严重的后果..<br /><br />FreeBSD 一向以安全著称,在这方面有什么防护的措施呢?<br /><br />FreeBSD 的 kernel 是放在 / 目录下,一般会有二个<br /><br />kernel<br />kernel.GENERIC<br /><br />如果你有编译过核心(kernel)的话,则原先的 kernel 会转换成 kernel.old,新<br />的核心会变成 kernel,也就是在 / 下的 kernel 档案如下:<br /><br />kernel =&gt; 新编译过的核心<br />kernel.GENERIC<br />kernel.old =&gt; 原先的核心<br /><br />那 kernel.GENERIC 是什么呢,这个是系统安装时所装好的,一般都不会变动,<br />即使编译过核心亦然,这个档案可说是救命核心,最好不要乱动,理由如下所<br />言..<br /><br />FreeBSD 激活时,会使用 kernel 这个核心,如果这个档案不存在,则会抓 kernel.old 这个档案..<br /><br />如果这二个档案不幸都不在,那怎么办..这时则会进入 command prompt mode,你必需自行输入 kernel 的名称,如<br /><br />boot 如<br /><br />boot kernel.GENERIC<br /><br />了解以上之后,在编译核心无常执行时,相信各位知道如何处理了..<br /><br /><br />21、 FreeBSD 在那激活程序..<br /><br />一般 FreeBSD 激活后会依序执行以下位置的程序..<br /><br />1. /etc/rc.conf 这个档案内的程序,如 sendmail、sshd .. 都是在此执行,另<br />外要注意的是,在执行这个档案之前,会先参考 /etc/defaults/rc.conf 的设定<br /><br />2. /usr/local/etc/rc.d 下的一些 .sh 文件,这些档案的权限都是被设定成 x ,如 apache samba .. 都是在此设定<br /><br />3. /etc/rc.local 这里也可设定,如我要把 postfix 设定在此,只需在这个档案内加一行,如下<br /><br />/use/local/sbin/postfix start &amp;<br /><br />加上 &amp; ,就不会显示出讯息<br /><br />4. 由 cron 所控制的一些档案,当时间到了,便会自动执行..<br /><br />那心细的人可能会问, /etc/inetd.conf 内设定的呢?这些在第 1 项就执行了..<br /><br />了解以上并时时注意是否有不明的程序在执行(可能是被人植入木马程序),也是<br />日常检视系统的重要工作..<br /><br />22、 加快你的主机名称查询速度..<br /><br />unix-like 系统,初期都是使用 hosts 这个设定文件来做主机的查询,因此有些<br />程序在查主机名称时,都会参照这个设定档,像 sendmail 就是一个很好的例<br />子..<br /><br />系统内定第一个是会查 /etc/hosts 这个档案,因此如果里面设定有问题,则会影响到某些程序的执行..<br /><br />典型的 hosts 档设定如下..以我本身的主机来说<br /><br />127.0.0.1 localhost.cmlab.idv.tw localhost<br />61.219.230.5 cmlab.idv.tw cmlab<br />61.219.230.5 cmlab.idv.tw.<br /><br />其中第一及第二行最后一个项目是 aliases 名称(主机别名),比如我们在主机<br /><br />ping cmlab.idv.tw<br /><br />和<br /><br />ping cmlab<br /><br />是同样的结果..<br /><br />你可把一些常用的主机加到这个项目内,如有一台 mail.cmlab.idv.tw ,假设 IP 为 61.219.230.8<br /><br />则在这个 hosts 中加入以下<br /><br />61.219.230.8 mail.cmlab.idv.tw mail<br />61.219.230.8 mail.cmlab.idv.tw.<br /><br />这样就行了..<br /><br />另外如果有自行架设 dns server,请注意在 /etc/host.conf 这个档案,典型的档案如下:<br /><br /># $FreeBSD: src/etc/host.conf,v 1.6 1999/08/27 23:23:41 peter Exp $<br /># First try the /etc/hosts file<br />hosts<br /># Now try the nameserver next.<br />bind<br /># If you ha ve YP/NIS configured, uncomment the next line<br /># nis<br /><br />由以上可以看得出来,在查询主机名称时的顺序,是先查 hosts 再查 bind 也就是 dns,你可视你的需要修改其顺序..<br /><br />另外要注意的就是 /etc/resolv.conf 文件,这个是有关 dns 主机 search 的顺序,如以我的设定如下:<br /><br />domain cmlab.idv.tw<br />nameserver 61.219.230.5<br />nameserver 168.95.1.1<br />nameserver 168.95.192.1<br /><br />其中第一行是设定我的网域名称,第 2-4 行则是 dns 主机的设定,建议至少设二个以上,以免一个挂了,还有个备用的..<br /><br />第2行是我的 dns 主机,3-4 行是 hinet 的 dns 主机..<br /><br />了解以上并有正确的设定,是有助于主机的查询的及速度的提升..<br /><br />23、 我要如何分割硬盘..<br /><br />档案目录对于 FreeBSD (或者是所有 unix-like 系统),都是相当重要的,如开<br />始时,分割的不是很恰当,日后就会遇到一些麻烦,如空间不够..等问题..<br /><br />那么,我们要如何分割比较恰当呢..<br /><br />这就有关于你的用途及 FreeBSD 的目录架构了..<br /><br />一般个人是建议你如此分割:<br /><br />1. / 根目录,一般在 250 ~ 500 MB 绝对够用,以我的根目录来说,使用一年多<br />了,也才用了 66 MB 多。因为这个目录只是一些 kernel modules sbin bin<br />etc .. 等目录<br /><br />2. swap 档,一般人都不知道如何设较恰档,这也没一个标准,最主要是要看你<br />的 ram 及硬盘而言,一般设成 1-2.5 倍(相对于你的 ram)。如你的 ram 在<br />256 mb 以上(含),设成一倍;如在 64 - 128 mb,则建议设成 2 倍<br /><br />如要检查你的 swap 使用状况,可用以下指令来看..<br /><br /># pstat -T<br />44/4044 files<br />0M/127M swap space<br /><br />由以上可看出目前使用的 swap 为 0 ,设定的大小为 128 M<br /><br /><br />3. /var 目录 及 /usr 目录<br /><br />这二个目录一般都会占比较大的空间,/var 的变动较小,以我个人来说,一年前设为 8 GB ,在目前只使用了不到 2GB。<br /><br />但要注意的是一般的 mail 软件,都是将信件存在 /var/mail/ 中,如果你的信件很多或很大,这个部份不妨加大一些..<br /><br />而 /usr 这个目录能大就给它大一点的空间,因为所安装的程序,或是 hone 都是在这个目录下(如果你没将 home 目录设成一个分割) ..<br /><br />那这两个要如何分配呢,我的建议是 usr 和 var 的比例为 3:1,或是 2:1<br /><br />4. 有些主机使用者较多,如学校单位。如果你没将 home 设成一个 partition,<br />则 FreeBSD 会将 home 安装在 /usr 目录下,如果为了管理及安全问题,则不妨<br />将 home 分割为单一目录..<br /><br />至于大小,我想应该 3-5 GB 左右,就绝对够用了<br /><br />我们来举个实际例子,假设你有一颗 40 GB 的硬盘,使用内存为 128 MB RAM,那我建议你的硬盘如此分割..<br /><br />1. / =&gt; 250 MB<br />2. swap =&gt; 取 2 倍,即 256 MB<br />3. /home 如要出来,给它 3-5 GB<br />4. 剩下来的以 3:1 或 2:1 的比例设给 /usr 及 /var<br /><br /><br />以上只是一般建议,最重要的是必需了解各目录的性质及实际使用情况而予以适<br />当的分配,有关这方面的信息,不妨参考 man hier ..<br /><br />&nbsp;</p>
<p>
                                                <div class="cupage"><a href='#'>上一页</a><strong>1</strong><a href='https://www.jb51.net/os/Unix/1474_2.html'>2</a> <a href='https://www.jb51.net/os/Unix/1474_2.html'>下一页</a> <a href='https://www.jb51.net/os/Unix/1474_all.html'>阅读全文</a></div>
頁: [1]
查看完整版本: FreeBSD的一些简单使用技巧