FreeBSD下的小技巧

  • 格式:doc
  • 大小:72.50 KB
  • 文档页数:26

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