﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-努力创造未来！-随笔分类-linux/unix应用</title><link>http://www.blogjava.net/pdw2009/category/15262.html</link><description>本站不再更新，欢迎光临 
&lt;a href="http://php.11519.net/5jblog"&gt;java开发技术网&lt;/a&gt;</description><language>zh-cn</language><lastBuildDate>Thu, 19 Aug 2010 05:54:18 GMT</lastBuildDate><pubDate>Thu, 19 Aug 2010 05:54:18 GMT</pubDate><ttl>60</ttl><item><title>aix常用命令</title><link>http://www.blogjava.net/pdw2009/archive/2008/09/16/229208.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Tue, 16 Sep 2008 09:09:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2008/09/16/229208.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/229208.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2008/09/16/229208.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/229208.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/229208.html</trackback:ping><description><![CDATA[1、给逻辑券加空间<br />
chfs -a size=+100M /oracle <br />
2、查看物理内存<br />
<p><span style="font-size: 10pt">lsattr -El mem0 </span></p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt">lsattr -El sys0 -a realmem</span></p>
3、查看系统所有的信息<br />
<p><span style="font-size: 10pt">svmon -G </span></p>
 <img src ="http://www.blogjava.net/pdw2009/aggbug/229208.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2008-09-16 17:09 <a href="http://www.blogjava.net/pdw2009/archive/2008/09/16/229208.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu安装配置MySQL</title><link>http://www.blogjava.net/pdw2009/archive/2008/06/21/209680.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Sat, 21 Jun 2008 06:24:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2008/06/21/209680.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/209680.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2008/06/21/209680.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/209680.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/209680.html</trackback:ping><description><![CDATA[<font id="zoom" class="zw_txt">
<p>　　为了在最新的Ubuntu8.04上搭建java web的开发环境，安装了myeclipse,eclipse这两个软件的具体安装方法我就不再赘述了，因为网上有很多。eclipse,myeclipse推荐手动下载安装，mysql直接用</p>
<p>　　sudo apt-get install mysql-server mysql-client</p>
<p>　　安装，安装的时候要记住自己输入root密码，mysql服务可以用</p>
<p>　　sudo netstat -tap | grep mysql</p>
<p>　　查看是否开启，显示：</p>
<p>　　tcp 0 0 localhost.localdomain:mysql *:* LISTEN -</p>
<p>　　如果服务没有运行，可以用</p>
<p>　　sudo /etc/init.d/mysql restart </p>
<p>　　开启。</p>
<p>　　配置密码：</p>
<p>　　sudo mysqladmin -u root password newpassword</p>
<p>　　现在需要装administrator了，这个gui工具可以可视化操作mysql，它在unix,windows,mac os,linux平台上都有相应的版本，安装：</p>
<p>　　sudo apt-get install mysql-admin</p>
<p>　　安装之后需要建立连接，stored connection:第一次使用，首先需要选择save this connection，然后填写连接的名字，例如:connection.</p>
<p>　　server hostname:如果是一台本地计算机，填写localhost.username和password填写自己设置的就可以。最后点"connection"连接成功！ </p>
</font>
<img src ="http://www.blogjava.net/pdw2009/aggbug/209680.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2008-06-21 14:24 <a href="http://www.blogjava.net/pdw2009/archive/2008/06/21/209680.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VMware中用NAT方式实现FreeBsd/Linux上网</title><link>http://www.blogjava.net/pdw2009/archive/2008/03/09/184817.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Sun, 09 Mar 2008 04:04:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2008/03/09/184817.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/184817.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2008/03/09/184817.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/184817.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/184817.html</trackback:ping><description><![CDATA[<p>我用的是VMware版本是 5.5.3，host机器运行的是windows Xp professional 。</p>
<p>1、安装VMware workstation</p>
<p>2、安装guest系统，这里我安装的Red Hat Linux9，安装过程中确保网络连接选择的是NAT方式，当然可以在安装完后进行修改。</p>
<p>3、到windows XP 中，查看所有的网络连接，你应该发现除了原有的网卡之外，又多了Vmnet1和Vmnet8。vmnet1是hostonly的接口，而Vmnet8是就是我们要使用的NAT的网络接口。 </p>
<p>4、在win主机上用ipconfig查看VMnet8的IP地址，<br />
一般是192.168.X.1/255.255.255.0,<br />
此时VMnet8的设置应该是自动获取IP，现在改成静态IP，并把此IP直接填入VMnet8里，不设网关。 </p>
<p>5、同时在VM网络设置里的NAT项中查看VMnet8，一般是192.168.X.2/255.255.255.0<br />
这个地址就是VMnet8，NAT的网关 </p>
<p>6、现在在LINUX下把网卡IP设置成和VMnet8一个网段的IP（192.168.X.Z/255.255.255.0)</p>
<p>7、网关设置成刚才查看的那个IP192.168.X.2即可</p>
<p>8、DNS和你host主机的一样就可以。</p>
<p>9、设置完成后，重新启动linux的网络服务。</p>
<p>10、测试一下,<br />
ping 网关：ping 192.168.X.2<br />
ping DNS：ping 你的DNS。</p>
<p>如果能ping通就ok了</p>
<img src ="http://www.blogjava.net/pdw2009/aggbug/184817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2008-03-09 12:04 <a href="http://www.blogjava.net/pdw2009/archive/2008/03/09/184817.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FreeBSD管理小技巧</title><link>http://www.blogjava.net/pdw2009/archive/2007/10/18/153905.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Thu, 18 Oct 2007 07:17:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2007/10/18/153905.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/153905.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2007/10/18/153905.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/153905.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/153905.html</trackback:ping><description><![CDATA[<p>1.问：如何让FreeBSD像RedHat那样在ls时显示多种颜色的目录？ <br />
答：在/etc/csh.cshrc里面加入： <br />
代码: <br />
setenv LSCOLORS ExGxFxdxCxegedabagExEx <br />
setenv CLICOLOR yes </p>
<p><br />
然后，执行： <br />
代码: <br />
sed -i.bak -E s/set prompt/#set prompt/g /root/.cshrc </p>
<p><br />
并重新登录。 </p>
<p>2.问：如何让FreeBSD的csh像bash那样按tab列出列出无法补齐的候选文件？ <br />
答：标准的方法是按Ctrl+D。但如果一定要用tab的话，在/etc/csh.cshrc中加入： <br />
代码: <br />
set autolist </p>
<p><br />
3.问：如何让FreeBSD的csh显示类似[delphij<br />
spirit] ~这样的提示符？ <br />
答：在/etc/csh.cshrc中加入： <br />
代码: <br />
set prompt = ''[%B%n<br />
%m%b] %B%~%b%# '' </p>
<p>然后，执行： <br />
代码: <br />
sed -i.bak -E s/set prompt/#set prompt/g /root/.cshrc </p>
<p><br />
4.问：如何让普通用户也拥有类似root用户那样的命令行编辑能力？ <br />
答：在/etc/csh.cshrc中加入： <br />
代码: <br />
bindkey "^W" backward-delete-word <br />
bindkey -k up history-search-backward <br />
bindkey -k down history-search-forward </p>
<p>5.让ctr+del+alt 失效<br />
Look&nbsp; into your keymap&nbsp;&nbsp;&nbsp; file (taken from /usr/share/syscons/keymaps)&nbsp; and <br />
search for boot in it. If it has&nbsp; not the "boot" string&nbsp; in it, replace the <br />
lines #083 and #103 by these <br />
&nbsp;<br />
&nbsp; 083&nbsp;&nbsp; del&nbsp;&nbsp;&nbsp; ''.''&nbsp;&nbsp;&nbsp; ''.''&nbsp;&nbsp;&nbsp; ''.''&nbsp;&nbsp;&nbsp; ''.''&nbsp;&nbsp;&nbsp; ''.''&nbsp;&nbsp;&nbsp; boot&nbsp;&nbsp; boot&nbsp;&nbsp;&nbsp; N <br />
&nbsp; 103&nbsp;&nbsp; fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot&nbsp;&nbsp; fkey61&nbsp; O <br />
&nbsp;<br />
There was talk&nbsp; to enable/disable it&nbsp; via a sysctl(3)&nbsp; parameter but no one <br />
ever got around to do it... </p>
<p>6. 环境变量:文件/etc/profile,<br />
BLOCKSIZE=K; export BLOCKSIZE(通用)<br />
文件~.cshrc BLOCKSIZE K <br />
setenv <br />
my cshrc <br />
代理服务器的使用<br />
HTTP 的代理：　#setenv HTTP_PROXY <a href="http://proxyip:port/">http://proxyip:port</a> <br />
FTP 的代理： #setenv FTP_PROXY <a href="http://proxyip:port/">http://proxyip:port</a></p>
<p>7、 设定开机画面 </p>
<p>使用 windows 的人，都知道所谓的开机画面，在 FreeBSD 下是否也有此功能呢？答案是肯定的，而且设定更为简便，请照以下 steps： </p>
<p>一. 首先制作一个图型文件，档案格式为 logo.pcx 或 logo.bmp，需注意的是 .bmp 的档案存盘时不用压缩，分辨率需为 640 X 480 以内(含)，色阶为 256 色.. </p>
<p>二. 将此档案 copy 到 /boot/ 这个目录下 </p>
<p>三. 设定 /boot/loader.conf，加入以下资料 </p>
<p>splash_bmp_load="YES" -&gt; 如果使用 .bmp 格式，此项需设为 YES <br />
splash_pcx_load="YES" -&gt; 使用 .pcx，请将此项设为 YES <br />
vera_load="YES" <br />
bitmap_load="YES" <br />
bitmap_name="/boot/logo.pcx" -&gt; 请依你的档案格式更改 <br />
bitmap_type="splash_image_data" </p>
<p>8.激活你的 screensaver </p>
<p>由于 FreeBSD 大多当为主机使用，都是常期不关机的，因此可将屏幕关掉，或使用 ScreenSaver 功能.. </p>
<p>使用 ScreenSaver 请在 /etc/rc.conf 这个档加入以下两行： </p>
<p>blanktime="900" </p>
<p>=&gt; 以秒数为单位，如以上为 15 分钟 </p>
<p>saver="logo" </p>
<p>=&gt; logo 是 FreeBSD 的吉祥物(图型接口)，另也可使用 "daemon"，这是文字型式 </p>
<p>9. 重复使用先前使用过的指令 </p>
<p>你可以使用以下的方法来重复使用先前使用过的指令: </p>
<p>例如，我们先用 history 显示先前输入的指令: </p>
<p># 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 />
1. 用 up down 可用上下一个指令，或是 ctrl+p ctrl+n 亦然 </p>
<p>2. 配合 ! 的用法，例如以下(ps: 在&lt;...&gt;内代表要输入的东东) </p>
<p>!! <br />
# !! =&gt; 重复执行上个一个指令 </p>
<p>!&lt;编号&gt; <br />
# !11 =&gt; 执行 cd /usr/local </p>
<p>!&lt;指令&gt; 可输入部份字，但前面部份需符合 <br />
# !cl <br />
执行 15 clear 指令 </p>
<p>!&lt;?指令?&gt; 输入部份字符，部份吻合 <br />
# !?etc? <br />
执行 13 ls etc </p>
<p>以上指令在 tcsh 及 bash 下皆可使用，如此是不是可帮你省下许多时间.. </p>
<p>10.用 dig 及 host 来取代 nslookup </p>
<p>一般我们用来检查网络是否有问题，大多是用以下三个指令.. </p>
<p>nslookup <br />
ping <br />
traceroute </p>
<p>其中 nsllokup 是用来检查 dns 的相关设定， ping 用来检查自己和对方网络是否通顺，而 traceroute 则是用来检查从自己的计算机到对方的计算机所经过的线路状况.. </p>
<p>不过以 nslookup 而言，个人觉得不是很实用，有时我们只是想单纯的查一下某台主机或是 MX 记录，那使用 nslookup 就有点噜嗦了.. </p>
<p>在此介绍二个好用的指令 host 及 dig，这二个指令很类似，不过效率较 nslookup 高 </p>
<p># host -a &lt;主机名称&gt; 或 &lt;ip&gt; </p>
<p>=&gt; 输入主机名称显示 dns 正向解析的部份，输入 ip 则是显示反向(ptr) </p>
<p># dig &lt;主机名称或ip&gt; &lt;any a mx soa txt.. 任选一项&gt; </p>
<p>如要显示 MX 记录 </p>
<p># dig 主机名称 mx </p>
<p>个人是觉得比 nslookup 方便多了，你觉得呢.. ^.^ </p>
<p>当然功能不只这些，详情请 man dig 或 host.. <br />
11.加快你的开机速度.. </p>
<p>严格说起来，FreeBSD 的开机速度算满快的，不过中间会有个 10 秒的延迟时间(以便让你进入 boot 的 command prompt mode)，如果你嫌这10秒还是太慢了，那你可将时间?#123;短一些.. </p>
<p>FreeBSD 激活时会先去参考 /boot/defaults/loader.conf 档的设定，然后再参考 /boot/loader.conf，一般我们都不去?#123;整 /boot/defaults/loader.conf 这个档，而直接?#123;整 /boot/loader.conf.. </p>
<p>只要在 /boot/loader.conf 中加上以下这一行即可 </p>
<p>autoboot_delay="秒数" 即可，如 </p>
<p>autoboot_delay="7" 代表7秒 </p>
<p>这样开机是不是更快了.. </p>
<p>另外建议，有时间可参考一下 /boot/defaults/loader.conf 这个档案的设定，其中有许多实用的设定哦.. </p>
<p>12.忘了 root 密码 </p>
<p>如果你忘了 root 的密码怎么办，这在 FreeBSD 中满好解决的，请照以下 steps 来处理.. </p>
<p>1. 进入单人模式 </p>
<p>开机后，当出现 </p>
<p>Hit [Enter] to boot immediately, or any other key for command prompt. <br />
Booting [kernel] in 10 seconds... </p>
<p>按 space(或除了 enter 以外的键) 键则会进入 command prompt mode，同时出现一个 ok .. </p>
<p>这时请输入 boot -s 以进入单人模式 </p>
<p>2. 选择 sh </p>
<p>进入单人模式后，系统会询问你要使用那个 sh，内定是 /bin/sh ，就使用这个吧，直接按 enter 跳过 </p>
<p>3. 将所有的硬盘分割架起来 </p>
<p># mount -a </p>
<p>4. 更改密码 </p>
<p># passwd </p>
<p>长度要在 6 个以上，输入二次 </p>
<p>5. 重新激活 </p>
<p># reboot </p>
<p>13.介绍一些一些有用的参数(注意大小写).. </p>
<p>%B 代表高亮度 <br />
%n 代表用者名称 <br />
%m 主机名称 <br />
%/ 目前的目录 </p>
<p>一般我们可能比较在意以上几点，如我要管理好几台 FreeBSD 主机，那么以上几个参数就很重要了.. </p>
<p>举个实例来说，如我想把我的 prompt 改成这样，而且要高亮度显示： </p>
<p>使用者名称<br />
主机名称[目录名称]&gt; </p>
<p>则 prompt 的设定应该是这样的.. </p>
<p>set prompt = "%B%n<br />
%m[%/]&gt; " </p>
<p>注意 = 左右都要有一个空白，否则会出错，导致无法登入，另外如果要统一所有使用者的 prompt 的话，除了更改 /home/使用者/.cshrc 外，最好也在 /etc/csh.cshrc 中设定这一行，另外如要新增新用者也用这种提示，则请在 /usr/share/skel/dot.cshrc 中也加上(或改成)这一行，这是因为： </p>
<p>tcsh 在使用时会先参考 /etc/csh.cshrc 这个档案，再依 user 去抓其 home 目录下的 .cshrc，而设定 /usr/share/skel/dot.cshrc 是让你新使用者时，自动将其 prompt 设定成 set prompt = "%B%n<br />
%m[%/]&gt; " </p>
<p>这种设法，当你在管理多台主机及切换目录时，就不易搞错而发生一些惨剧</p>
<p>14.在提示列秀出 [使用者]目前工作目录 (可以少打很多次pwd) </p>
<p># cd /root <br />
编辑 .cshrc </p>
<p># set prompt="''hostname -s''# " ### 找到这一行并 mark 起来 <br />
set prompt = "[%n]%/# " ### 新增此行并存盘离开 </p>
<p># logout </p>
<p>login: root ....重新登入 </p>
<p>ps.其它user id 是否可照办? 我还没试过哩..刚装freebsd而已 </p>
<p>15.如何防止别人登录到你的计算机 </p>
<p>有时，我们并不想让别人直接登入到我们的主机或是只想限定某些人可使用，如 telnet、ssh.. </p>
<p>或者是开放了些服务，如 ftp、smtpd ..等，由于这些都必需在主机端建有帐号，因此防止不相干的人登入到你的主机是非常重要的，也是一个安全上的考量.. </p>
<p>但一般限定的方式都是使用 ip 或是 domain 的方式，那么有无方法可解决这个问题呢？ </p>
<p>答案是可从 /etc/login.access 来着手，这个档案就是限定 login 的.. </p>
<p>一个典型的设定如下，例如我们想限定只有 root 及 使用者 john 可登入到主机(含local 及 remote): </p>
<p>-:ALL EXCEPT root john:ALL </p>
<p>可分为三个项目，每个项目间以 : 分隔，说明如下: </p>
<p>1. + 或 - 代表允许或禁止 <br />
2. 设定的使用者或群组，可用 ALL EXCEPT 来强化限定的范围 </p>
<p>3. 限定的来源，如 ALL 代表全部、61.219.230. 、LOCAL、console、.bad.com ..等 </p>
<p>适当的设定，可让你的系统更加的安全.. </p>
<p>详细用法可 man login.access.. </p>
<p><br />
15. 一个 ./ 的技巧 </p>
<p>众所周知，在 nix-like 中执行目前目录中的可执行文件时，必需加上 ./ 这二个符号，很多 unix-like 的初学者都会感觉较不习惯，因为在 dos 或 windows 的 dos 窗口中并不是如此.. </p>
<p>其实在 unix-like 中如此设定是有其安全考量的，在使用指令或执行文件时，一般是建议使用完整的目录，例如要使用 ls，则如下: </p>
<p># /bin/ls </p>
<p>当然，你直接输入 ls 亦可正确的执行，这是因为你所使用的 shell 中环境变量 $PATH 的因素.. </p>
<p>你可键入 echo $PATH，来看目前 $PATH 的设定，当我们执行一个指令时，系统会依照这个环境变量来搜寻这个执行档并加以执行.. </p>
<p>内定 shell 不会将目前目录 . 加到 $PATH 中，因此如果你想在目前目录执行这个目录下的执行文件而不想加上 ./ 时，可在你的 shell 中将 . 加入.. </p>
<p>如一般在 FreeBSD 都是使用 tcsh，你可编辑个人 home 目录下的 .cshrc 檔 set path = ( ........ ，在此加入 . 即可.. </p>
<p>记得重新退出 shell 再登录，以便让你的新设定生效. </p>
<p>16.谈谈软件的安装路径.. </p>
<p>FreeBSD 对于档案目录的观念非常重，什么样的档案要放在那个目录都有规定，这也是有别于其它 unix-like 系统.. </p>
<p>一般我们将软件安装分成二个部份，在这里来探讨一下软件到底都安装到那去了.. </p>
<p>在安装软件时，通常会安装诸如 执行档、设定档、man file、doc 文件.. </p>
<p>1. 安装系统时所安装的软件 </p>
<p>执行档通常装在 /bin、/sbin、/usr/bin、/usr/sbin、/usr/libexec 下 <br />
设定文件通在在 /etc 目录下 <br />
man file 通常在 /usr/man 或 /usr/share/man <br />
doc 文件通常在 /usr/share/doc 下 </p>
<p>2. 经由 package 或 port 安装的软件 </p>
<p>执行档通常装在 /usr/local/bin、/usr/local/sbin、/usr/local/libexec 下 <br />
设定文件通在在 /use/local/etc 目录下 <br />
man file 通常在 /usr/local/man .. <br />
doc 文件通常在 /usr/share/doc 下 </p>
<p>以上并不是绝对的(所以我用通常..^.^)，因为有些特殊情况需视软件而定.. </p>
<p>如此有时可能会造成些许困扰，因为如 ssh 、 bind .. 大多是在系统安统时就安装的，那如果升级新版时怎么办.. </p>
<p>由于 FreeBSD 找寻执行档时会依照 $PATH 这个环境变量找寻，因为 /bin、/sbin、/usr/bin、/usr/sbin 比 /usr/local/bin 或 /usr/local/sbin 先，所以会先执行..也就是先抓到旧版的执行档.. </p>
<p>因此在更新时要注意这种情况，以免更新了还是执行旧的程序.. </p>
<p>那么如何看安时程序时的相关档案的安装路径呢？通常有以下方法 </p>
<p>1. 看 port 的 pkg-plist 檔 <br />
2. 有时用 man [执行档名称] 可看到一些重要档案的位置 <br />
3. 看说明文件，通常在 /usr/local/share/doc 目录下 </p>
<p>17、 如何在 FreeBSD 同一片网硌卡加一个 ip 地址 </p>
<p>有的时候，需要在同一片网络卡上加 ip 以达到一些特殊的要求.. </p>
<p>在 FreeBSD 这是非常简单的，假设原先网络卡的 ip 是 211.211.211.211，想加一个 211.211.211.212，使用的是 rl0 这片网络卡，则做法如下.. </p>
<p>1. 在 /etc/rc.conf 加上这一行 </p>
<p>ifconfig_rl0_alias0="inet 211.211.211.212 netmask 255.255.255.255" </p>
<p>其中的 alias0 就是加装的第一个 ip，如要设定多个可在此修正，如 alias1、alias2.. aliasN </p>
<p>2. 重新激活网络卡，执行 /etc/netstart </p>
<p># /etc/netstart </p>
<p><br />
18.保护你的档案 <br />
在系统中，有许多档案或一些设定档是非常重要的，加上 FreeBSD (或是一般 unix-like)系统都没有类似 ms 的垃圾回收桶的功能，万一不幸删掉(或修改)某个重要的档案，可能会造成不小的困扰.. </p>
<p>虽然，FreeBSD 对于档案的权限设定的非常严密，但有些时候，我们以 root 身份工作，仍会有此风险.. </p>
<p>那要如何避免这种情形发生或是保护某些重要的档案呢？ </p>
<p>我们可以用 chflags 来达成这个目的，顾名思义， chflags 是由二个字所组成，即 change 和 flags(档案的旗标).. </p>
<p>例如我们要保护 /etc/inetd.conf 这个档案，以免误删或被修改，则指令如下: </p>
<p># chflags schg /etc/inetd.conf </p>
<p>这样就可以保护这些档案，如要显示这些档案的旗标(flag)，可用 ls 来看.. </p>
<p># ls -lo /etc/inetd.conf =&gt; l 是小写的 L </p>
<p>-rw------- 1 root wheel schg 47 Mar 28 21:29 inetd.conf </p>
<p>要解除旗标设定，可用 unschg，也就是在 schg 前加 un ，如: </p>
<p># chflags unschg /etc/inetd.conf </p>
<p>大部份我们进入主机都是以 root 身份执行，因此稍不小心，可能就..因此建议将一些重要的档案及设定档设定为 schg flags，以保护档案.. </p>
<p>如 /bin、 /sbin、 /etc/.conf、 /usr/lcaol/etc/*.conf .. 这些档案最好都是定成 schg 旗标.. </p>
<p>chflags 详细用法请参考 man chflags.. </p>
<p>19.有关系统的一些激活问题.. </p>
<p>有时，会修改 FreeBSD 的一些设定，如一些网络参数、软件的 .conf 设定，或是 /etc/r.conf 檔，那么如何让设定值生效，是否一定要重新开机呢？ </p>
<p>这可分为三方面来说.. </p>
<p>1. 网络相关设定，如网络适配卡、hostname .. 等，只要执行以下指令就可以重新加载你的网络设定.. </p>
<p># sh /etc/netstart </p>
<p>netstart 是一个 script 档案，执行时会去参考 /etc/rc.network。因此只要执行这个指令就能够重新激活网络设定.. </p>
<p>有兴趣者可参考一下 netstart 及 rc.network 这二个档的内容，研究看看到底做了些什么东东.. </p>
<p>2. 修改了 rc.conf 中其它的设定 <br />
可参考以下三个 step 来做.. </p>
<p>. 进入单人模式 <br />
# shutdown now </p>
<p>. 选择 sh，造内定值即可，即 /bin/sh </p>
<p>. 离开单人模式 <br />
# exit </p>
<p>这样就会重新激活系统了.. </p>
<p>&nbsp;</p>
<p>3. 软件的设定，如一些 *.conf 檔，像是修正了 apache sendmail .. 等 </p>
<p>通常在 /etc/local/rc.d/ 这个目录中会有相关的 .sh 檔，直接执行就可以了，注意的是一般要加上参数，一般的参数有以下(视软件而定会有不同).. </p>
<p>start 激活 <br />
stop 停止 <br />
reload 或 restart 重新激活 </p>
<p>第二种方法就是直接使用 killall，如我们要重新激活 inetd，可用以下方法: </p>
<p># killall -1 inetd </p>
<p>或是 </p>
<p># killall -HUP inetd </p>
<p>这样就可以重新激活这个 daemon 了 </p>
<p>20. <br />
我要如何分割硬盘.. </p>
<p>档案目录对于 FreeBSD (或者是所有 unix-like 系统)，都是相当重要的，如开始时，分割的不是很恰当，日后就会遇到一些麻烦，如空间不够..等问题.. </p>
<p>那么，我们要如何分割比较恰当呢.. </p>
<p>这就有关于你的用途及 FreeBSD 的目录架构了.. </p>
<p>一般个人是建议你如此分割: </p>
<p>1. / 根目录，一般在 250 ~ 500 MB 绝对够用，以我的根目录来说，使用一年多了，也才用了 66 MB 多。因为这个目录只是一些 kernel modules sbin bin etc .. 等目录 </p>
<p>2. swap 档，一般人都不知道如何设较恰档，这也没一个标准，最主要是要看你的 ram 及硬盘而言，一般设成 1-2.5 倍(相对于你的 ram)。如你的 ram 在 256 mb 以上(含)，设成一倍；如在 64 - 128 mb，则建议设成 2 倍 </p>
<p>如要检查你的 swap 使用状况，可用以下指令来看.. </p>
<p># pstat -T <br />
44/4044 files <br />
0M/127M swap space </p>
<p>由以上可看出目前使用的 swap 为 0 ，设定的大小为 128 M </p>
<p>/var 目录 及 /usr 目录 </p>
<p>这二个目录一般都会占比较大的空间，/var 的变动较小，以我个人来说，一年前设为 8 GB ，在目前只使用了不到 2GB。 </p>
<p>但要注意的是一般的 mail 软件，都是将信件存在 /var/mail/ 中，如果你的信件很多或很大，这个部份不妨加大一些.. </p>
<p>而 /usr 这个目录能大就给它大一点的空间，因为所安装的程序，或是 hone 都是在这个目录下(如果你没将 home 目录设成一个分割) .. </p>
<p>那这两个要如何分配呢，我的建议是 usr 和 var 的比例为 3:1，或是 2:1 </p>
<p>4. 有些主机使用者较多，如学校单位。如果你没将 home 设成一个 partition，则 FreeBSD 会将 home 安装在 /usr 目录下，如果为了管理及安全问题，则不妨将 home 分割为单一目录.. </p>
<p>至于大小，我想应该 3-5 GB 左右，就绝对够用了 </p>
<p>我们来举个实际例子，假设你有一颗 40 GB 的硬盘，使用内存为 128 MB RAM，那我建议你的硬盘如此分割.. </p>
<p>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 </p>
<p>21.FreeBSD 在那激活程序.. </p>
<p>一般 FreeBSD 激活后会依序执行以下位置的程序.. </p>
<p>1. /etc/rc.conf 这个档案内的程序，如 sendmail、sshd .. 都是在此执行，另外要注意的是，在执行这个档案之前，会先参考 /etc/defaults/rc.conf 的设定 </p>
<p>2. /usr/local/etc/rc.d 下的一些 .sh 檔，这些档案的权限都是被设定成 x ，如 apache samba .. 都是在此设定 </p>
<p>3. /etc/rc.local 这里也可设定，如我要把 postfix 设定在此，只需在这个档案内加一行，如下 </p>
<p>/use/local/sbin/postfix start &amp; </p>
<p>加上 &amp; ，就不会显示出讯息 </p>
<p>4. 由 cron 所控制的一些档案，当时间到了，便会自动执行.. </p>
<p>那心细的人可能会问， /etc/inetd.conf 内设定的呢？这些在第 1 项就执行了.. </p>
<p>了解以上并时时注意是否有不明的程序在执行(可能是被人植入木马程序)，也是日常检视系统的重要工作.. </p>
<p>21.有关 kernel 的激活.. </p>
<p>kernel 对 unix-like 系统来说，是非常重要的一环，如果 kernel 损坏或编译出了问题，可能会导致严重的后果.. </p>
<p>FreeBSD 一向以安全著称，在这方面有什么防护的措施呢？ </p>
<p>FreeBSD 的 kernel 是放在 / 目录下，一般会有二个 </p>
<p>kernel <br />
kernel.GENERIC </p>
<p>如果你有编译过核心(kernel)的话，则原先的 kernel 会转换成 kernel.old，新的核心会变成 kernel，也就是在 / 下的 kernel 档案如下: </p>
<p>kernel =&gt; 新编译过的核心 <br />
kernel.GENERIC <br />
kernel.old =&gt; 原先的核心 </p>
<p>那 kernel.GENERIC 是什么呢，这个是系统安装时所装好的，一般都不会变动，即使编译过核心亦然，这个档案可说是救命核心，最好不要乱动，理由如下所言.. </p>
<p>FreeBSD 激活时，会使用 kernel 这个核心，如果这个档案不存在，则会抓 kernel.old 这个档案.. </p>
<p>如果这二个档案不幸都不在，那怎么办..这时则会进入 command prompt mode，你必需自行输入 kernel 的名称，如 </p>
<p>boot &lt;kernel 名称&gt; 如 </p>
<p>boot kernel.GENERIC </p>
<p>了解以上之后，在编译核心无法正常执行时，相信各位知道如何处理了.. <br />
22.加速你的按键速度.. </p>
<p>相信使用 FreeBSD 的人很多都是在 console 下操作吧，有些时，要重复某一按键速度实在很慢.. </p>
<p>另一个问题就是 cusror 的位置有些时不太明显.. </p>
<p>可用以下方法来改善： </p>
<p>在 /etc/rc.conf 中加入以下资料.. </p>
<p>keyrate="fast" <br />
cursor="blink" 或 "destructive" </p>
<p>23.显示目录及档案 =&gt; tree </p>
<p>有时需显示某个目录下所有的目录及档案，虽使用 ls 可达到部份功能，但并不是很方便.. </p>
<p>在 dos 中，有个 tree 指令，是不是满好用的.. </p>
<p>其实在 FreeBSD 中也有类似的指令 =&gt; tree.. </p>
<p>以下我们就透过 ports 来安装 tree </p>
<p># cd /usr/ports/sysutils ; make install </p>
<p>如此会将 tree 这个指令安装在 /usr/local/bin/ 这个目录下.. </p>
<p>使用例子: </p>
<p>1. 显示 /usr/ 下的目录及档案 </p>
<p># tree /usr </p>
<p>2. 只显示 /usr 下的目录 </p>
<p># tree -d /usr </p>
<p>详细用法请参考 man tree </p>
<p>PS:可透过管道 | 及 more 来显示 </p>
<p>如 tree /usr | more.. </p>
<p>24.mount nfts <br />
但是在mount的时候和5.2.1等以前的5.x有点不同。 <br />
5.2.1等以前的5.x可以用 <br />
#mount_ntfs -C zh_CN.eucCN /dev/* /*来mount相应的ntfs分区。<br />
但是在5.3中需要这样来才行。 <br />
#mount_ntfs -C eucCN /dev/* /* <br />
需要去掉zh_CN.才可以正常mount,编辑fstab,加入 <br />
/dev/ad0s2 /ntfs1 ntfs ro,noauto,-C=eucCN 0 0 <br />
注意NTFS格式只读 <br />
mount iso: <br />
在FreeBSD4.x下的方法： <br />
%vnconfig /dev/vn0c ./IMAGE.ISO <br />
%mount -t cd9660 /dev/vn0c MOUNT_DIR <br />
%umount MOUNT_DIR <br />
%vnconfig -u /dev/vn0c <br />
在5.x以下则完全不同了： <br />
%mdconfig -a -t vnode -f abc.iso -u 1 <br />
%mount -t cd9660 /dev/md1 MOUNT_DIR <br />
%umount MOUNT_DIR </p>
<p>25.<br />
如果控制台处于非安全状态，那么进入单用户状态就需要口令认证了。</p>
<p>提示：更改/etc/ttys中有关console的设置为insecure来保护单用户状态。<br />
tty0改为insecure时，root用户没法在console下直接登陆</p>
<p>26.freebsd下默认安装的戏在命令是fetch，linux下是wget<br />
uname -R 操作系统版本，free显示内存，swap的使用情况</p>
<p>27. vim代码颜色显示<br />
修改$HOME中的.vimrc<br />
syntax on(彩色)<br />
syntax off(单色)<br />
没有这个文件，建立一个就是了</p>
<p>28.<br />
FreeBSD系统提供内核的源代码，在安装系统时是否安装内核代码与使用的不同安装选项有关。安装后的源代码位于/usr/src/sys目录中，如果这个目录不存在或者为空目录，则说明源代码没有安装。此时就必须重新安装内核源代码。</p>
<p>　　仍然可以使用/stand/sysinstall程序，选择Distribution选项来安装源代码；也可以运行安装介质中src目录下的install.sh来安装。安装FreeBSD内核源代码之后，习惯上还创建了一个符号连接/sys，指向/usr/src/sys目录，以方便使用。</p>
<p>29.&nbsp; n&gt;&amp;m<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使文件描述符n指向文件描述符m相同的文件</p>
<p>30.<br />
你已经修改了motd并从中删除了内核版本信息，默认情况下FreeBSD仍然会在启动之后把这些东西加入 /etc/motd 。因此需要修改 /etc/rc.conf 并加入下面的设置：<br />
　　update_motd="NO" </p>
<p>31.<br />
修改登录提示，编辑 /etc/gettytab. 找到 default:\\ 小节，它以下面的文字开头：<br />
　　:cb:ce:ck:lc</p>
<p>%s --&gt;OS<br />
%m --&gt;Architecture<br />
%h --&gt;Hostname<br />
%t --&gt;tty name</p>
<p>　　小心地修改 <a href="file://r//n//">\\r\\n\\</a> <a href="file://r//n//r//nr//n">\\r\\n\\r\\nr\\n</a>: 之间的文字来适应自己的需要。请仔细检查 <a href="file://r/">\\r</a> 和 <a href="file://n/">\\n</a> 的数量，并保存修改。例如，我的登录提示是这样的：<br />
　　I''m a node in cyberspace. Who are you?<br />
　　login:</p>
<p>　　可以在其他终端上尝试登录，以确认正确性。</p>
<p>32.<br />
(1)启动日志 <br />
　　修改/etc/rc.conf文件。<br />
　　#记录SSH连接记录 <br />
　　security.*;auth.info /var/log/security #记录连接到SSH的日志信息 <br />
　　auth.* /var/log/authlog </p>
<p>33.<br />
用下面的命令可以查看哪些服务正在试图监听连接你的系统：<br />
　　sockstat -4</p>
<p>34.<br />
你可能需要，也可能不需要打开这个端口，这取决于使用什么样的邮件程序来收发邮件。对于运行 FreeBSD 4.6-RELEASE 或更高版本的系统，在/etc/rc.conf中增加下面的行：<br />
　　sendmail_enable="NO"</p>
<p>　　将告诉 sendmail 只监听 localhost，这允许所有的邮件客户程序发送邮件。如果你知道你的邮件客户程序带有内置的SMTP代理，或者喜欢冒险，那么可以尝试一下：<br />
　　sendmail_enable="NONE"</p>
<p>　　这将彻底关闭25端口。检查一下这是否让你无法发送邮件是很重要的，确保已经关掉了所有应用程序，随后，以超级用户身份执行：<br />
　　shutdown now</p>
<p>　　收到提示后按回车、exit。重新登录后给自己发一封邮件，如果收不到，那么把NONE改回NO。</p>
<p>　　如果你的"sockstat"显示端口111打开，那么把下面几行加到 /etc/rc.conf (或者，如果已经有这些行，把 YES 改为 NO):<br />
　　nfs_server_enable="NO"<br />
　　nfs_clIEnt_enable="NO"<br />
　　portmap_enable="NO"</p>
<p>&nbsp;</p>
<p>35.</p>
<p>syslog (端口 514) 也可能出现在你的输出结果中。我们可能并不希望完全关掉 syslog ，因为它提供的消息记录是我们需要的。但我们并不需要为此打开端口。在 /etc/rc.conf 文件中增加下面的选项:<br />
　　syslogd_enable="YES"<br />
　　syslogd_flags="-ss"</p>
<p>　　标志中的ss (确认用了两个s，而不是一个) 将禁止来自远程主机的记录并关闭端口，但仍然允许 localhost 进行日志记录。</p>
<p>36.<br />
你可能希望禁止一切远程登录（这意味着你必须物理地坐在机器前面），删除下面这一行前面的#号：<br />
　　#-:wheel:ALL EXCEPT LOCAL .win.tue.nl</p>
<p>　　把 .win.tue.nl 去掉，于是它看起来将像这样：<br />
　　-:wheel:ALL EXCEPT LOCAL </p>
<p>　　如果你需要从远程登录，那么把.win.tue.nl 替换为相应的IP或域名。如果有多个地址，用空格分开。</p>
<p>　　如果只有一两个用户的话，那么可以拒绝其他人登录：<br />
　　-:ALL EXCEPT user1 user2:ttyv0 ttyv1 ttyv2 ttyv3 ttyv4</p>
<p>　　用具体的用户名替换掉 user1 user2 。如果需要的话，增加相应的tty。</p>
<p>　　另外，也可以把用户组方在这里。首先，编辑 /etc/group 并增加下面的行：<br />
　　mygroup:*:100:genisis,dlavigne6,biko</p>
<p>　　当增加组时，需要保证GID的唯一性。</p>
<p>　　随后，修改 /etc/login.access ：<br />
　　-:ALL EXCEPT mygroup:ttyv0 ttyv1 ttyv2 ttyv3 ttyv4 ttyv5</p>
<p>　　测试它非常重要，一定要留一个终端。测试每一个终端上的登录，确认其效果。</p>
<p>37.</p>
<p>拒绝直接以root身份登录： </p>
<p>　　在/etc/ttys文件中，将"secure"标记改为"insecure"标记，使系统在进入单用户模式时会要求root密码。但是这样以来也为恢复root密码制造了障碍——安全和易用再次形成了矛盾的两个对立面。 </p>
<p>38.<br />
#找出你所有的可写入目录， <br />
　　#find / -perm -0777 -type d -ls </p>
<p>39.<br />
配置SSH </p>
<p><br />
　　修改/etc/ssh/ssh_config文件 </p>
<p>　　(1)使用protocol 2代替protocol 1，SSH2更加安全，可以防止攻击者通过修改携带的版本banner来劫持（hijacking）启动会话进程并降低到protocol 1。注释掉protocol 2,1 改用下面语句代替： </p>
<p>　　protocol 2 </p>
<p>　　(2)合理设置最大连接数量， 防止DOS攻击 </p>
<p>　　MaxStartups 5:50:10 </p>
<p>　　(3)禁止远程root和空密码登录，建议关闭X11forwording </p>
<p>　　X11Forwarding no </p>
<p>　　(4)强烈建议不使用静态密码，而使用DSA 或RSA KEY，修改如下内容可以关闭使用密码认证： </p>
<p>　　PasswordAuthentication no </p>
<p>　　(5)可以限制组或光是单个用户访问shell </p>
<p>　　AllowGroups wheel <br />
　　AllowUsers xundi </p>
<p>　　(6)使用TCP wrappers来限制一些访问，修改/etc/hosts.allow文件，注释掉"ALL : ALL : allow"，增加如下内容： </p>
<p>　　sshd:localhost:allow <br />
　　sshd:friendlcomputer:allow <br />
　　sshd:all : deny </p>
<p>　　#相关命令： <br />
　　#chsh -s /sbin/nologin user <br />
40.<br />
FreeBSD下面 <br />
$ md5 4.1-install.iso <br />
MD5 (4.1-install.iso) = 782d53b69c9e9ae89678c925ba6b6647 </p>
<p>Linux下面 <br />
$ md5sum 4.1-install.iso <br />
782d53b69c9e9ae89678c925ba6b6647 4.1-install.iso </p>
<p>41.<br />
升级源码树 <br />
安装cvsup <br />
进入：/usr/ports/net/cvsup <br />
make clean <br />
make deinstall <br />
make install <br />
make clean <br />
即可 </p>
<p>升级系统源码树及ports <br />
更新/usr/share/examples/cvsup目录下stand-cvsup和ports-cvsup文件，并执行cvsup &#8211;g &#8211;L2 standard-supfile和cvsup &#8211;g &#8211;L2 ports-cvsup两个文件，升级ports树﹔ </p>
<p>42.<br />
如何让FreeBSD的csh像bash那样按tab列出列出无法补齐的候选文件？ <br />
答：标准的方法是按Ctrl+D。但如果一定要用tab的话，在/etc/csh.cshrc中加入： <br />
代码: <br />
set autolist </p>
<p>43.<br />
FREEBSD-6.0更新到稳定版 </p>
<p>首先安装FreeBSD的系统源代码和Ports </p>
<p># mount -t cd9660 /dev/acd0 /mnt/ <br />
# cd /mnt/6.0-RELEASE/ports <br />
# ./install.sh </p>
<p># cd /mnt/6.0-RELEASE/src <br />
# ./install.sh all </p>
<p>更新FreeBSD的系统源代码以及Ports </p>
<p># cd /usr/share/examples/cvsup <br />
# vi standard-supfile <br />
*default host=cvsup4.FreeBSDChina.org <br />
*default release=cvs tag=RELENG_6 </p>
<p># cvsup -g -L 2 /usr/share/examples/cvsup/standard-supfile <br />
# cvsup -g -L 2 /usr/share/examples/cvsup/ports-supfile </p>
<p>编译生成新的系统二进制文件 </p>
<p># cd /usr/src <br />
# make buildworld <br />
# make installworld <br />
# reboot </p>
<p>&nbsp;&nbsp;&nbsp; 现在，你的系统已经是最新的了。注意新的系统升级完成之后一些原先安装的软件最好重新安装，否则很容易引发一些意想不到的问题。 </p>
<p>44.<br />
问：tcsh（csh兼用） 提示符的变量常用的都有哪些？ </p>
<p>答： </p>
<p>! 和%h一样 <br />
%B 开始粗体模式 <br />
%b 结束粗体模式 <br />
%c 当前工作目录名称的最后部分 <br />
%c2,%c3等等 当前工作目录名称的最后两个、三个（等等）组成部分 <br />
%C 跟%c类似，但是使用长形式的目录名称 <br />
%d 本周的当天 <br />
%D 今天是当月中的第几天 <br />
%h 当前命令的历史记录编号 <br />
%l shell的当前控制终端 <br />
%L 清除从提示符末尾到下一行的所有内容 <br />
%m 机器的主机名称 <br />
%M 机器的完全符合规范的域名 <br />
%n 用户名 <br />
%p 用精确格式（包括秒）显示的12小时制时间 <br />
%P 用精确格式（包括秒）显示的24小时制时间 <br />
%S 开始标准输出格式 <br />
%s 结束标准输出格式 <br />
%t 以12小时制格式显示时间 <br />
%T 以24小时制格式显示时间 <br />
%U 开始下划线模式 <br />
%u 结束下划线模式 <br />
%w 当前月的名称 <br />
%W 当前月的序数 <br />
%y 以2位格式表示的年 <br />
%Y 以4位格式表示的年 <br />
%% %字符 <br />
%! 跟%h相同 <br />
%<br />
&nbsp;跟%t相同 <br />
$# 扩展到&gt;供常规使用，如果用户正以root身份运行的话，就扩展到# <br />
%/ 当前工作目录的完整名称 <br />
%- 以短格式表示的当前工作目录 <br />
^C 跟C匹配的控制字符：例如^G代表Ctrl+G <br />
<a href="file://a/">\\a</a> 使tcsh在任何时候显示提示符时嘟嘟响 <br />
<a href="file://e/">\\e</a> 终止的escape符0x1B <br />
<a href="file://f/">\\f</a> 终止的换页符 <br />
<a href="file://n/">\\n</a> 在这个位置开始一个新行 <br />
<a href="file://r/">\\r</a> 回车符 <br />
<a href="file://t/">\\t</a> Tab制表符 <br />
<a href="file://v/">\\v</a> 垂直制表符 <br />
<a href="file://nnn/">\\nnn</a> 由八进制数字nnn所指定的字符</p>
<p>45.<br />
在 console 下操作时，由于屏幕显示有限，有时需看前面显示的资料，这时你可： </p>
<p>. 按一下 Pause or Scroll Lock键后，则可利用 PageUp PageDown Up Down Home End 等键来看前后显示的资料 </p>
<p>. 再按一下 Pause or Scroll Lock则可回复等待输入画面. </p>
<p>46.<br />
加快你的开机速度.. </p>
<p>严格说起来，FreeBSD 的开机速度算满快的，不过中间会有个 10 秒的延迟时间(以便让你进入 boot 的 command prompt mode)，如果你嫌这10秒还是太慢了，那你可将时间?#123;短一些.. </p>
<p>FreeBSD 激活时会先去参考 /boot/defaults/loader.conf 档的设定，然后再参考 /boot/loader.conf，一般我们都不去?#123;整 /boot/defaults/loader.conf 这个档，而直接?#123;整 /boot/loader.conf.. </p>
<p>只要在 /boot/loader.conf 中加上以下这一行即可 </p>
<p>autoboot_delay="秒数" 即可，如 </p>
<p>autoboot_delay="7" 代表7秒 </p>
<p>这样开机是不是更快了.. </p>
<p>另外建议，有时间可参考一下 /boot/defaults/loader.conf 这个档案的设定，其中有许多实用的设定哦.. </p>
<p>47.<br />
$lock -p <br />
当你使用终端登陆时想暂时离开而又不想logout,那么可以用lock -p. <br />
当你返回时输入密码就可以.&nbsp;</p>
<img src ="http://www.blogjava.net/pdw2009/aggbug/153905.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2007-10-18 15:17 <a href="http://www.blogjava.net/pdw2009/archive/2007/10/18/153905.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>apach+tomcat集群（转）</title><link>http://www.blogjava.net/pdw2009/archive/2007/08/02/134111.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Thu, 02 Aug 2007 13:54:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2007/08/02/134111.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/134111.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2007/08/02/134111.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/134111.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/134111.html</trackback:ping><description><![CDATA[<div><strong><font size=5><span>1<span style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; LINE-HEIGHT: normal; FONT-STYLE: normal" new="" times="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>环境说明</font></strong></div>
<div><span><font size=3>1.</font><span new="" times="">&nbsp;&nbsp;&nbsp; </span></span><font size=3>服务器有<span>4台，一台内核的linux2.6.9安装apache，三台安装Tomcat。</span></font></div>
<div><span><font size=3>2.</font><span new="" times="">&nbsp;&nbsp;&nbsp; </span></span><font size=3>apache2.2.4</font><font size=3>、<span>apache-tomcat-5.5.17、jdk-6u1-linux-i586-rpm.bin或者</span></font><font size=3>jdk1.5.6<br>ip配置,一台安装apache的ip为180.200.1.189,三台安装tomcat的服务器ip分别为180.200.1.111/136/42。当然需要修改成你自己的IP地址。</font></div>
<div><span><font size=3>3.</font><span new="" times="">&nbsp;&nbsp;&nbsp; </span></span><font size=3>下载地址为<span></span></font></div>
<div><font size=3>下载<span>tomcat and apache</span></font></div>
<div><a href="http://apache.org/"><font color=#0000ff size=3><u>http://apache.org</u></font></a></div>
<div><font size=3>下载<span>jdk</span></font></div>
<div><a href="http://java.sun.com/"><font color=#0000ff size=3><u>http://java.sun.com</u></font></a><font size=3><span>&nbsp;&nbsp;&nbsp; </span></font></div>
<div><strong><font size=5><span>2<span style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; LINE-HEIGHT: normal; FONT-STYLE: normal" new="" times="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Tomcat安装</font></strong></div>
<div><span><font size=3>1.</font><span new="" times="">&nbsp;&nbsp;&nbsp; </span></span><font size=3>在三台要安装<span>tomcat的服务器上先安装jdk</span></font></div>
<div><span><font size=3>2.</font><span new="" times="">&nbsp;&nbsp;&nbsp; </span></span><font size=3>配置<span>jdk的安装路径,在环境变量path中加入jdk的bin路径,新建环境变量JAVA_HOME指向jdk的安装路径</span></font></div>
<div><span><font size=3>3.</font><span new="" times="">&nbsp;&nbsp;&nbsp; </span></span><font size=3>在三台要安装<span>tomcat的服务器上分别安装tomcat,调试三个tomcat到能够正常启动</span></font></div>
<div><span><font size=3>4.</font><span new="" times="">&nbsp;&nbsp;&nbsp; </span></span><font size=3>分别测试每个<span>tomcat的启动是否正常</span></font><br><a href="http://180.200.0.42:8080/"><font color=#0000ff size=3><u>http://180.200.0.42:8080</u></font></a></div>
<div><a href="http://180.200.0.136:8080/"><font color=#0000ff size=3><u>http://180.200.0.136:8080</u></font></a></div>
<div><a href="http://180.200.0.111:8080/"><font color=#0000ff size=3><u>http://180.200.0.111:8080</u></font></a></div>
<div><font size=3>&nbsp;</font></div>
<div><strong><font size=5><span>3<span style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; LINE-HEIGHT: normal; FONT-STYLE: normal" new="" times="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Apache安装</font></strong></div>
<div><font size=3>解压</font><font size=3><span>httpd-2.2.4.tar.gz<br>在那台要安装apache的服务器上安装apache2.2.4。在home下建立apache目录，把httpd-2.2.4.tar.gz上传到该目录下</span></font></div>
<div><font size=3>[root@localhost apache]# tar xvzf httpd-2.2.4.tar.gz</font></div>
<div><font size=3>[root@localhost apache]# cd httpd-2.2.4<br>配置<span>APACHE安装文件</span></font></div>
<div><font size=3>这里需要注意编译前一定要将<span>proxy proxy_http proxy_ftp proxy_connect headers这些参数加进去，以便编译出下面的so文件</span></font></div>
<div><br><font size=3>mod_proxy.so<br>mod_proxy_connect.so<br>mod_proxy_http.so<br>mod_proxy_ftp.so<br>mod_proxy_ajp.so<br>mod_proxy_balancer.so</font></div>
<div><font size=3>&nbsp;</font></div>
<div><font size=3>配置编译参数<span></span></font></div>
<div><font size=3>[root@localhost apache]#./configure --prefix=/usr/local/apache224&nbsp;--enable-so --enable-mods-shared="proxy proxy_http proxy_ftp proxy_connect headers"</font></div>
<div><font size=3>&nbsp;</font></div>
<div><font size=3>编译</font><span><br><font size=3>[root@localhost apache]# make</font></span></div>
<div><font size=3>检查编译后的是否有编译出<span>so文件</span></font></div>
<div><font size=3>[root@localhost apache]# cd /usr/local/apache224/modules</font></div>
<div><font size=3>[root@localhost modules]#]# ls</font></div>
<div><font size=3>httpd.exp<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mod_proxy_ajp.so&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mod_proxy_connect.so&nbsp;mod_proxy_http.so</span></font></div>
<div><font size=3>mod_headers.so&nbsp;mod_proxy_balancer.so&nbsp;mod_proxy_ftp.so<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mod_proxy.so</span></font></div>
<div><font size=3>&nbsp;</font></div>
<div><font size=3>如果存在以上文件则说明编译成功<span></span></font></div>
<div><font size=3>安装<span></span></font></div>
<div><font size=3>[root@localhost apache]# make install</font></div>
<div><font size=3>&nbsp;</font></div>
<div><font size=3>启动</font><span><font size=3>APACHE<br>[root@localhost apache]# /usr/local/apache224/bin/httpd -k start</font></span></div>
<div><font size=3>测试<span></span></font></div>
<div><a href="http://180.200.1.189/"><font color=#0000ff size=3><u>http://180.200.1.189/</u></font></a></div>
<div><font size=3>如果输出<span>IT works那么就ok了</span></font></div>
<div><font size=3>&nbsp;</font></div>
<div><font size=3>&nbsp;</font></div>
<div><strong><font size=5><span>4<span style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; LINE-HEIGHT: normal; FONT-STYLE: normal" new="" times="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>配置负载均衡</font></strong></div>
<div><strong><font size=4><span><font size=5>4.1.</font><span new="" times="">&nbsp;&nbsp;&nbsp; </span></span><font size=5>Tomcat配置</font></font></strong></div>
<div><font size=3>分别修改三个<span>tomcat的配置文件conf/server.xml以便测试</span></font></div>
<div><font size=3>修改内容如下：</font><span><br><font size=3>修改前</font><br><font size=3>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- An Engine represents the entry point (within Catalina) that processes&lt;br /&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; every request.&nbsp;&nbsp;The Engine implementation for Tomcat stand alone&lt;br /&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; analyzes the HTTP headers included with the request, and passes them&lt;br /&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on to the appropriate Host (virtual host). --&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- You should set jvmRoute to support load-balancing via AJP ie :&lt;br /&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br /&gt; &nbsp;&nbsp;&nbsp;&nbsp;--&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- Define the top level container in our container hierarchy --&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br></font><font size=3>修改后</font><br><font size=3>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- An Engine represents the entry point (within Catalina) that processes&lt;br /&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; every request.&nbsp;&nbsp;The Engine implementation for Tomcat stand alone&lt;br /&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; analyzes the HTTP headers included with the request, and passes them&lt;br /&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; on to the appropriate Host (virtual host). --&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- You should set jvmRoute to support load-balancing via AJP ie :--&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- Define the top level container in our container hierarchy &lt;br /&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;Engine name="Catalina" defaultHost="localhost"&gt;&lt;br /&gt; &nbsp;&nbsp;&nbsp;&nbsp;--&gt;<br></font><font size=3>将其中的jvmRoute="jvm1"分别修改为jvmRoute="worker1"和jvmRoute=" worker2"和</font><font size=3>jvmRoute=" worker3"<br><br>然后重启三个tomcat，调试是否能够正常启动。</font></span></div>
<div><a href="http://180.200.0.42:8080/"><font color=#0000ff size=3><u>http://180.200.0.42:8080</u></font></a></div>
<div><a href="http://180.200.0.136:8080/"><font color=#0000ff size=3><u>http://180.200.0.136:8080</u></font></a></div>
<div><a href="http://180.200.0.111:8080/"><font color=#0000ff size=3><u>http://180.200.0.111:8080</u></font></a></div>
<div><u><br><br><font color=#0000ff></font></u></div>
<div><strong><font size=4><span><font size=5>4.2.</font><span new="" times="">&nbsp;&nbsp;&nbsp; </span></span><font size=5>Apache配置</font></font></strong></div>
<div><strong><font size=3><span><font size=5>4.2.1.</font><span new="" times="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><font size=5>启用代理<span></span></font></font></strong></div>
<div><font size=3>&nbsp;</font></div>
<div><strong><span><font size=3>1.</font><span new="" times="">&nbsp;&nbsp; </span></span></strong><strong><font size=3>配置代理模块<span></span></font></strong></div>
<div><strong><font size=3>&nbsp;</font></strong></div>
<div><font size=3>[root@localhost ~]#vi /usr/local/apache224/conf/httpd.conf</font></div>
<div><font size=3>查找代理是否打开<span></span></font></div>
<div><font size=3>/LoadModule proxy_module</font></div>
<div><font size=3>LoadModule proxy_module modules/mod_proxy.so</font></div>
<div><font size=3>LoadModule proxy_ajp_module modules/mod_proxy_ajp.so</font></div>
<div><font size=3>LoadModule proxy_balancer_module modules/mod_proxy_balancer.so</font></div>
<div><font size=3>如果被注释则需要打开注释，如果不存在则需要添加进去<span></span></font></div>
<div><font size=3>查找<span>httpd-vhosts.conf</span></font></div>
<div><font size=3>/httpd-vhosts.conf</font></div>
<div><font size=3># Include conf/extra/httpd-vhosts.conf</font></div>
<div><font size=3>打开注释<span></span></font></div>
<div><font size=3>保存退出<span></span></font></div>
<div><font size=3>:wq</font></div>
<div><strong><font size=3><span><font size=5>4.2.2.</font><span new="" times="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><font size=5>配置代理主机<span></span></font></font></strong></div>
<div><font size=3>&nbsp;[root@localhost ~]#vi /usr/local/apache224/conf/extra/httpd-vhosts.conf</font></div>
<div><font size=3>#注释掉以下所有行</font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp; ServerAdmin webmaster@dummy-host.www.serviceapache.com</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp; DocumentRoot /www/docs/dummy-host.www.serviceapache.com</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp; ServerName dummy-host.www.serviceapache.com</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp; ServerAlias www.dummy-host.www.serviceapache.com</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp; ErrorLog logs/dummy-host.www.serviceapache.com-error_log</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp; CustomLog logs/dummy-host.www.serviceapache.com-access_log common</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp; ServerAdmin webmaster@dummy-host2.www.serviceapache.com</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp; DocumentRoot /www/docs/dummy-host2.www.serviceapache.com</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp; ServerName dummy-host2.www.serviceapache.com</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp; ErrorLog logs/dummy-host2.www.serviceapache.com-error_log</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp; CustomLog logs/dummy-host2.www.serviceapache.com-access_log common</span></font></div>
<div><font size=3>#添加以下信息</font></div>
<div><font size=3><span>&nbsp;&nbsp; ServerName localhost</span></font></div>
<div><font size=3><span>&nbsp;&nbsp; CustomLog logs/dmim_log combined</span></font></div>
<div><font size=3><span>&nbsp;&nbsp; </span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BalancerMember ajp://180.200.1.111:9109</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BalancerMember ajp://180.200.0.42:8009</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BalancerMember ajp://180.200.0.136:9309</span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BalancerMember ajp://180.200.1.189:8009</span></font></div>
<div><font size=3><span>&nbsp;&nbsp; </span></font></div>
<div><font size=3><span>&nbsp;&nbsp; </span></font></div>
<div><font size=3><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ProxyPass balancer://localhost/</span></font></div>
<div><font size=3><span>&nbsp;&nbsp; </span></font></div>
<div><font size=3>#保存退出</font></div>
<div><font size=3>:wq</font></div>
<div><font size=3>&nbsp;</font></div>
<div><strong><font size=5><span>5<span style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; LINE-HEIGHT: normal; FONT-STYLE: normal" new="" times="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>部署</font></strong></div>
<div><strong><font size=3><span><font size=5>5.1.</font><span new="" times="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><font size=5>编写测试代码<span></span></font></font></strong></div>
<div><font size=3>在三个<span>tomcat的安装目录中的webapps建立相同的应用,我和应用目录名为apa,在三个应用目录中建立相同 WEB-INF目录和页面index.jsp,index.jsp的页面内容如下</span></font><br><font size=3>&lt;!--page contentType="text/html; charset=GBK"--&gt;<br>&lt;!--page import="java.util.*"--&gt;</font></div>
<img src ="http://www.blogjava.net/pdw2009/aggbug/134111.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2007-08-02 21:54 <a href="http://www.blogjava.net/pdw2009/archive/2007/08/02/134111.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu输入法安装</title><link>http://www.blogjava.net/pdw2009/archive/2007/04/07/109044.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Fri, 06 Apr 2007 16:05:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2007/04/07/109044.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/109044.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2007/04/07/109044.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/109044.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/109044.html</trackback:ping><description><![CDATA[<p>这里的方法同样适用于Debian下的Scim输入法的安装。<br />
&nbsp;&nbsp;&nbsp; 根据SCIM的文档说明，装SCIM最好用UTF-8的locale。（你也可以使用GB2312以及GBK的locale，使用scim都一样的）<br />
对于一个新装好的没有安装SCIM的Ubuntu系统（新的Ubuntu安装器选择中文安装后，一边都已经装好了scim），只要</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; apt-get install scim（当然前提是你要设置好源，具体见<a href="http://wiki.ubuntu.org.cn/%E5%BF%AB%E9%80%9F%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97">http://wiki.ubuntu.org.cn/%E5%BF%AB%E9%80%9F%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97</a>, 有些高校自己内部也有源的，好好找找)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 就已经安装好SCIM了！当然还不能用。因为SCIM只是一个输入法平台，还要在上面安装输入法（或者码表）。例如，</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; apt-get install scim-chinese</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 就可以使用智能拼音输入法了！当然在使用之前还要先配置一下，配置方法很简单，在/etc/X11/Xsession.d/里新建一个名叫95xinput的文件，文件内容如下</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/bin/scim -d<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XMODIFIERS="@im=SCIM"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; export XMODIFIERS<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; export GTK_IM_MODULE=scim</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 保存文件，确认内容无误后，退出X（建议退出X后运行exit命令重新login一次），再进入X的时候就可以用Ctrl+Space调出SCIM了！<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 就我的试验情况，这样已经可以在qterm里使用SCIM了。</p>
<p>&nbsp;&nbsp;&nbsp; 如果你需要其它中文输入法，可以这样</p>
<p>&nbsp;&nbsp;&nbsp; apt-get install scim-tables-zh</p>
<p>&nbsp;&nbsp;&nbsp; 这包括了简体中文的五笔、二笔、广东拼音、自然码，和繁体中文的行列、 }頡五代、大易、注音等输入法了。<br />
&nbsp;&nbsp;&nbsp; 我现在使用五笔输入法，能输入简繁汉字，词汇也丰富，很好用。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 但是现在还不能在基于GTK的软件中调出SCIM，例如我就不能在leafpad里使用SCIM。解决办法很简单，只要安装scim-gtk2-immodule就可以了。 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; apt-get install scim-gtk2-immodule</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装后无须重启X，只要重新打开基于GTK的软件就可以了，比如我新开一个leafpad，马上就可以使用SCIM了！</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个命令会根据依赖关系自动安装 scim-server-socket, scim-frontend-socket, scim-config-socket，如果没有安装scim，也会自动安装。<br />
<br />
<br />
</p>

<br />
如果本blog对你有用，麻烦你帮我单击一下广告，谢谢
<br />
<script type="text/javascript"><!--
branchr_client_id = 'i5x9suaaicn0eb41ts2q2823gn';
branchr_ad_width = 468;
branchr_ad_height = 60;
branchr_ad_format = 11;
//--></script>
<script type="text/javascript" src="http://static.branchr.com/serve.js?1248290004"></script>
<br /><img src ="http://www.blogjava.net/pdw2009/aggbug/109044.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2007-04-07 00:05 <a href="http://www.blogjava.net/pdw2009/archive/2007/04/07/109044.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FreeBSD技巧</title><link>http://www.blogjava.net/pdw2009/archive/2006/12/31/91230.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Sun, 31 Dec 2006 14:28:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/12/31/91230.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/91230.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/12/31/91230.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/91230.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/91230.html</trackback:ping><description><![CDATA[
		<div class="SECT1">
				<h1 class="SECT1">
						<a id="BSD.APP.SHLIGHT" name="BSD.APP.SHLIGHT">2.4 shlight -- 访问windows共享文件夹</a>
				</h1>
				<p>shlight对中文支持也很好, 我在FreeBSD 5.2上测试过</p>
				<pre class="PROGRAMLISTING"># cd /usr/ports/net/sharity-light/
# make all install clean
# mkdir /music
# echo "10.0.0.1 winhost" &gt;&gt; /etc/hosts
# shlight //winhost/music /music -U user -P password
# unshlight /music
   
在freebsd中安装vmware虚拟机工具包，方法如下：<br /><br /> 在虚拟机的VM菜单下选择安装Tools,<br /><br /><br /><br /><br /><br /><p> </p><p>1.mount /cdrom</p><p>2.cd /cdrom 有一个文件vmware-linux*.tar.gz</p><p>3.cp vmware-linux*.tar.gz /tmp</p><p>4.cd /tmp</p><p>5.tar zxvf vmware-linux*.tar.gz</p><p>6.进入解压目录 cd vmware-tools-distrib</p><p>7.进入解压后的目录运行安装命令./vmware-install.pl 就ok了<br /><br /><br /><br /><br />解压tar文件就用<br />tar jxvf  xx.tar  &lt;目标路径&gt;<br /><br /><br /><strong><font color="#ff1493">fcitx 安装</font></strong><br /><strong>2、源码包的安装；<br /><br /></strong></p><div class="codeblock"><code>[root@localhost beinan]# tar jxvf fcitx-3.2-050827.tar.bz2<br />[root@localhost beinan]# cd fcitx<br />[root@localhost fcitx-3.1.1]# ./configure<br />[root@localhost fcitx-3.1.1]# make<br />[root@localhost fcitx-3.1.1]# make install<br /><strong><font size="4">三、Fcitx 3.x的配置；<br /></font></strong><p>让fcitx 进入桌面自动运行；方法有二；<br /><font size="3"><b><br />方法一：<br /></b></font></p><p>请在 /etc/X11/xinit/xinput.d/ 目录中查看文件zh_CN ，如果没有就建一个；把里面的内容改为如下的；</p><p></p><div class="codeblock"><code>XIM=fcitx<br />XIM_PROGRAM=fcitx<br />GTK_IM_MODULE=fcitx<br />gnome-im-settings-daemon &gt;/dev/null<br /><strong>方法二：<br /><br /></strong>在$HOME/.xinput.d/里建立文件zh_CN，包含下面内容, 就可以了；<br /><div class="codeblock"><code>XIM=fcitx<br />XIM_PROGRAM=fcitx<br />GTK_IM_MODULE=fcitx<br />XMODIFIERS="@im=fcitx"<br />gnome-im-settings-daemon &gt;/dev/null</code></div><br />如果当前用户目录下没有 .xinput.d目录，就建一个。然后再建一个zh_CN的文件，内容就是上面的那段。 <p></p><p></p><div class="codeblock"><code>[root@localhost beinan]# mkdir ~/.xinput.d</code></div><p></p><p><font color="blue">这样就差不多能用起来了。直接运行一下命令；</font><br /></p><div class="codeblock"><code>[root@localhost beinan]# fcitx</code></div><p></p><p><font color="blue"><br />如果不能使用fcitx ，可能得设置设置一下变量；<br /></font></p><p>还得设置一下当前用户的环境变量，也就是在你想用的那个用户的家目录下的 .bashrc 文件。</p><p>.bashrc这个文件是隐藏的，你可以用 vi 或者gedit编辑都行。看你习惯吧。</p><p>在里面加两行，如下：<br /></p><div class="codeblock"><code>export LC_CTYPE="zh_CN"<br />export XMODIFIERS="@im=fcitx"</code></div><br />注意保存一下，否则不起做用； <p></p><p>我是刚安装好的系统，一切都是新的，看一下我的beinan这个用户下的 .bashrc的配置吧。</p><p></p><div class="codeblock"><code># .bashrc<br /># User specific aliases and functions<br />export LC_CTYPE="zh_CN"<br />export XMODIFIERS="@im=fcitx"<br /># Source global definitions<br />if [ -f /etc/bashrc ]; then<br />. /etc/bashrc<br />fi</code></div><p></p><p><font size="4"><b><br />存在的问题；<br /></b></font></p><p>如果您用中文桌面环境，能启动fcitx ，但不能输入，大多是控制台的locale和桌面的locale不一致所引起的。</p><p>请在用户家目录下的.bashrc 中加入一行；</p><p></p><div class="codeblock"><code>export LANG="zh_CN.UTF-8"</code></div><p></p><p>另外还在建一个 .i18n的文件；内容如下：</p><p></p><div class="codeblock"><code>LANG="zh_CN.UTF-8"</code></div><p></p><p>重启X就好了，按CTRL+ALT+BACKSPACE；就重新启动系统；<br /><br /><br /><br /><br /><br /><br /><a href="http://www.linuxsir.org/main/?q=node/51">http://www.linuxsir.org/main/?q=node/51</a>    从源代码安装参考的例子<br /><br /><br /><br /><strong><font color="#ff1493"> 修改shell进不去系统的解决办法</font></strong><br />如果您把root的shell改成了bash（很多人因为bash的强大功能而选择了它，或者是从linux转到BSD上的，习惯了bash），而导致进不去系统了，可以通过以下几种方式解决： <br />一：系统启动时，选择“4”，进入“单用户”模式，输入“boot -s”进入单用户的提示符“＃”，依次键入如下命令： <br /></p><pre> 
<br />fsck -p
<br />mount -u /
<br />mount -a -t ufs
<br />swapon -a
<br />chsh -s /bin/csh
<br /><br /><br /><br /><br /><strong><font color="#ff1493"> 在FreeBSD中安装JDK<br /></font></strong>　下载编绎好的JDK1.5，解压至/usr/local/jdk1.5.0 <br />　　#ln -s /usr/local/jdk1.5.0 java <br />　　#ln -s /usr/local/jdk1.5.0  /usr/local/java <br />　　#ln -s /usr/local/java/bin/java  /usr/local/bin/java <br />　　#ln -s /usr/local/java/bin/javac  /usr/local/bin/javac <br />　　#ln -s /usr/local/java/bin/jar  /usr/local/bin/jar <br />　　编辑/etc/profile，添加JAVA_HOME=/usr/local/java <br />　　重新登录系统，执行 java -version，如果看到JDK版本号，则说明安装成功 <br />已编译好的FreeBSD版本的JDK在<br /><a href="http://download.chinaunix.net/download/0013000/12304.shtml">http://download.chinaunix.net/download/0013000/12304.shtml</a><br />可以下载，这是用unix原始的安装方式，没用用到freebsd 的pkg,ports来安装所以你要下载tar.bz2打包的版本，<br />这都是已经编译好的。不需要再编译，只需要按上面的脚本配置环境即可。<br /><a href="http://sunfly.bokee.com/5412914.html">http://sunfly.bokee.com/5412914.html</a>  常用的目录及文件命令<br /><br /><br /><br /><strong><font color="#ff1493">在FreeBSD中两种不同的Shell环境变量设置<br /></font></strong><br />  上次安装tomcat老运行不起来的原因就在于此了，当时只是设置了/etc/profile里的环境变量，说<br />实话，我现在还弄不懂那些Shell用读取这个文件 <br /><br /><br /><br />  在.cshrc中的格式:<br /><div style="MARGIN: 5px 20px 20px 0px"><div class="smallfont" style="MARGIN-BOTTOM: 2px">代码:</div><hr /><code dir="ltr" style="MARGIN: 0px; TEXT-ALIGN: left"># path<br />set path = (/usr/local/share/mydir/j2sdk1.4.2_07/bin /sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin)<br /><br /># Java home<br />setenv JAVA_HOME /usr/local/share/mydir/j2sdk1.4.2_07<br />setenv CLASSPATH .:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/jre<br />setenv CALSSPATH /usr/local/jdk1.4.2/lib/tools.jar:/usr/local/share/java/classes</code><hr /></div><br /><br />在.bashrc中的格式:<br /><div style="MARGIN: 5px 20px 20px 0px"><div class="smallfont" style="MARGIN-BOTTOM: 2px">代码:</div><hr /><code dir="ltr" style="MARGIN: 0px; TEXT-ALIGN: left">JAVA_HOME=/usr/local/share/mydir/j2sdk1.4.2_07<br />CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/jre<br />PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin<br />export JAVA_HOME PATH CLASSPATH<br /><br /><br /><br /><a href="http://tom.yesky.com/biz/cbfwq/407/2696907.shtml">http://tom.yesky.com/biz/cbfwq/407/2696907.shtml</a>  这是一篇介绍FreeBSD Shell的好文章<br /><strong><font color="#ff1493">查看到当前系统所开启的服务端口<br /></font></strong>netstat -an<br /><br /><br /><br /><br /><br /><br /><br /><br /></code></div></pre></code></div></code></div></pre>
		</div>
<img src ="http://www.blogjava.net/pdw2009/aggbug/91230.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-12-31 22:28 <a href="http://www.blogjava.net/pdw2009/archive/2006/12/31/91230.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FreeBSD 5.2常用操作的改变 </title><link>http://www.blogjava.net/pdw2009/archive/2006/12/30/91019.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Sat, 30 Dec 2006 06:59:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/12/30/91019.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/91019.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/12/30/91019.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/91019.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/91019.html</trackback:ping><description><![CDATA[<p>概要：这是我使用FreeBSD 5.2 CURRENT 以来 的一些经验，特别突出了最新5 CURRENT 与以往操作不同的地方。希望能对正在使用最新5 CURRENT 或将要使用5 CURRENT的朋友有所帮助。<br />
</p>
<p class="subhead">1、中文locale</p>
目前FreeBSD 5.2所支持的简体中文locale有以下几个：<br />
zh_CN.GB18030<br />
zh_CN.GBK<br />
zh_CN.EUC<br />
zh_CN.eucCN<br />
以前zh_CN.EUC都是alias至zh_CN.eucCN的，因此zh_CN.EUC与zh_CN.eucCN都可作我们的简体中文locale，但这一情况在最近发生了改变。FreeBSD取消了对zh_CN.EUC locale的支持。zh_CN.GBK与zh_CN.GB18030是前不久才正式加入5 CURRENT，但目前XFree86及一部分应程序并不能很好地运行在GB18030 locale下。<br />
建议大家都采用zh_CN.eucCN或zh_CN.GBK的locale 。<br />
<p class="subhead">2、设定/etc/profile</p>
2.1、安装自已熟悉的shell (以bash为例)
<div class="code">cd /usr/ports/shells/bash2 &amp;&amp; make install clean</div>
chsh -s /usr/local/bin/bash<br />
2.2、设定中文locale：
<div class="code">在/etc/profle中加入：<br />
#file:/etc/profile<br />
export LANG="zh_CN.eucCN"<br />
export LC_CTYPE="zh_CN.eucCN"</div>
2.2、安装输入法fcitx：<br />
由zh_CN.EUC改为zh_CN.eucCN在ports中会引发出一些新的问题。如fcitx能启动，但控制面板上却不能显示汉字。解决的办法是打开 /usr/ports/chinese/fcitx/Makefile，把所有字串zh_CN.EUC改为zh_CN.eucCN即可。<br />
当然你依然可以设置成zh_CN.EUC，不过你需要ln一个zh_CN.EUC的locale:
<div class="code">cd /usr/share/locale &amp;&amp; ln -s zh_CN.eucCN zh_CN.EUC</div>
再加入fcitx启动参数：
<div class="code">#file:/etc/profile<br />
export XMODIFIERS="@im=fcitx"</div>
2.3、加上我们熟悉的提示符：<br />
在/etc/profile中插入：
<div class="code">if [ "$BASH" ]; then<br />
PS1='\u@&amp;amp;amp;amp;#92;h:\w\$ '<br />
else<br />
if [ "`id -u`" -eq 0 ]; then<br />
PS1='# '<br />
else<br />
PS1='$ '<br />
fi<br />
fi</div>
2.4、让gnome2下的gnome-terminal source /etc/profle：<br />
启动gnome2 (startx /usr/X11R6/bin/gnome-session) 后再启动gnome-terminal，打开菜单并点击：
<p>编辑-&gt;当前配置文件(U)...，打开&#8220;标题和命令"选项卡，选中&#8221;以shell方式运行命令&#8221;后关闭即可。</p>
<p class="subhead">3、fat32、ntfs、cd9660分区中文文件名的问题。</p>
3.1、以前中文目录有gbfs port支持，现在无需安装gbfs即可实现fat32分区中文文件名的显示。方法是在执行mount_msdosfs时加载-L zh_CN.eucCN的参数，如：
<div class="code">mount_msdosfs -L zh_CN.eucCN /dev/ad0s1 /mnt/disk<br />
对于ntfs及cd9660格式，则用另一个参数-C gbk，如：<br />
mount_cd9660 -C gbk /dev/acd0 /cdrom<br />
mount_ntfs -C gbk /dev/ad0s1 /mnt/win</div>
3.2、显示中文文件命的命令。<br />
以前显示中文文件名需要安装gnuls，现在不必了。我们给ls加上-w参数就行。另外-G是显示彩色方式显式的参数。你可以在/etc/profle中插入：
<div class="code">alias ls='ls -Gw'</div>
<p class="subhead">4、gnome2中xmms及gimp中文乱码的问题。</p>
这两个程序都基于较老的gtk+1.2，乱码的问题可在用户目录下建立.gtkrc.mine文件：
<div class="code">cat /usr/X11R6/share/themes/Default/gtk/gtkrc.zh_CN &gt; $HOME/.gtkrc.mine</div>
<p class="subhead">5、让编辑器vi增加更多的功能：</p>
首先确定你的vim是否安装了。
<div class="code">cd /usr/ports/editors/vim &amp;&amp; make all install clean</div>
拷入/etc/vimrc：
<div class="code">/usr/local/share/vim/vim62/vimrc_example.vim /etc/vimrc</div>
<p class="subhead">6、mozilla等浏览器的插件(flash,acrobat)：</p>
首先请安装linuxpluginwrapper的port:
<div class="code">cd /usr/ports/www/linuxpluginwrapper &amp;&amp; make all install clean</div>
然后再在/etc下加入文件libmap.conf其内容如下：
<div class="code"># /etc/libmap.conf for FreeBSD 5.x<br />
# $Id: libmap.conf-FreeBSD5.x,v 1.1 2003/11/09 07:39:33 nork Exp $<br />
<br />
<br />
# Flash6 with Opera is not avilable.<br />
<br />
# Flash6 with Konqueror (temporary setting)<br />
[/opt/mozilla/plugins/libflashplayer.so]<br />
libpthread.so.0 liblthread.so.3<br />
libdl.so.2 pluginwrapper/flash6.so<br />
libz.so.1 libz.so.2<br />
libstdc++-libc6.2-2.so.3 liblstdc++.so.4<br />
libm.so.6 libm.so.2<br />
libc.so.6 pluginwrapper/flash6.so<br />
<br />
# Flash6 with Mozilla/Firebird/Galeon/Epiphany<br />
[/usr/local/lib/linux-flashplugin6/libflashplayer.so]<br />
libpthread.so.0 liblthread.so.3<br />
libdl.so.2 pluginwrapper/flash6.so<br />
libz.so.1 libz.so.2<br />
libstdc++-libc6.2-2.so.3 liblstdc++.so.4<br />
libm.so.6 libm.so.2<br />
libc.so.6 pluginwrapper/flash6.so<br />
<br />
<br />
# Acrobat with Opera<br />
#[/usr/X11R6/lib/browser_plugins/nppdf.so]<br />
#libc.so.6 pluginwrapper/acrobat.so<br />
<br />
# Acrobat with Konqueror (temporary setting)<br />
#[/opt/mozilla/plugins/nppdf.so]<br />
#libc.so.6 pluginwrapper/acrobat.so<br />
<br />
# Acrobat with Mozilla/Firebird/Galeon/Epiphany<br />
#[/usr/local/Acrobat5/Browsers/intellinux/nppdf.so]<br />
#libc.so.6 pluginwrapper/acrobat.so</div>
<p class="subhead">7、nvidia官方驱动。</p>
先安装nvidia的port:<br />
<div class="code">cd /usr/ports/x11/nvidia-driver/ &amp;&amp; make all install clean</div>
然后修改/etc/X11/XF86Config，找到Section "Device"这节，设参数：
<div class="code">Driver "nvidia"</div>
并注释ChipSet 选项(否则XFree86不能运行起来。) <br />
<br />
开启freebsd的ftp<br />
<br />
要用ftp，freebsd下只要用vi edit　/etc/inetd.conf<br />
将ftp行的&#8220;#&#8221;去掉，再运行killall -HUP inetd，你就可以到host 下用ftp上传文件了。<br />
<br />
　Index:
<p taggedby="hylanda">　　简介</p>
<p taggedby="hylanda">　　本文目标</p>
<p taggedby="hylanda">　　Step 1使用SSH远程管理FreeBSD</p>
<p taggedby="hylanda">　　Step 2 FreeBSD中停用Sendmail服务</p>
<p taggedby="hylanda">　　Step 3修改用户Shell，使用Shell更加方便</p>
<p taggedby="hylanda">　　Step 4设置FreeBSD的字符下的屏幕保护</p>
<p taggedby="hylanda">　　Step 5更改网络设置(IP地址，DNS，网关)</p>
<p taggedby="hylanda">　　Step 6忘记root用户密码的解决方法</p>
<p taggedby="hylanda">　　Step 7FreeBSD的时间调整与时间同步</p>
<p taggedby="hylanda">　　F.A.Q.</p>
<p taggedby="hylanda">　　Links to other sources</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　简介. </p>
<p taggedby="hylanda">　　<strong taggedby="hylanda"></strong></p>
<p taggedby="hylanda">　　系统安装完成后，还需要进行一系列的配置。</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　本文目标. </p>
<p taggedby="hylanda">　　<strong taggedby="hylanda"></strong></p>
<p taggedby="hylanda">　　通过对本文的学习，您可以使用SSH远程管理服务器，停止Sendmail,修改用户shell，设置屏幕保护。</p>
<p taggedby="hylanda">　　&#183; 使用SSH远程管理FreeBSD。</p>
<p taggedby="hylanda">　　&#183; FreeBSD中停用Sendmail服务。</p>
<p taggedby="hylanda">　　&#183; 修改用户Shell，使用Shell更加方便。</p>
<p taggedby="hylanda">　　&#183; 设置FreeBSD的字符下的屏幕保护</p>
<p taggedby="hylanda">　　&#183; 更改网络设置(IP地址，DNS，网关)</p>
<p taggedby="hylanda">　　&#183; 忘记root用户密码的解决方法</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　Step 1 SSH远程管理FreeBSD. </p>
<p taggedby="hylanda">　　<strong taggedby="hylanda"></strong></p>
<p taggedby="hylanda">　　&#183; PuTTY介绍，下载。</p>
<p taggedby="hylanda">　　&#183; PuTTY的使用。</p>
<p taggedby="hylanda">　　&#183; PuTTY的使用证书验证。</p>
<p taggedby="hylanda">　　跟随下面步骤进行远程管理FreeBSD.SSH是英文Secure Shell的简写形式。通过使用SSH，你可以把所有传输的数据进行加密，这样"中间人"这种攻击方式就不可能实现了，而且也能够防止DNS欺骗和IP欺骗。使用SSH，还有一个额外的好处就是传输的数据是经过压缩的，所以可以加快传输的速度。SSH有很多功能，它既可以代替Telnet，又可以为FTP、Pop、甚至为PPP提供一个安全的"通道"。</p>
<p taggedby="hylanda">　　PuTTY介绍，下载</p>
<p taggedby="hylanda">　　一般常见的SSH远程工具</p>
<p taggedby="hylanda">　　Windows下有很多SSH的远程管理工具，比如Putty.exe；PuTTY是免费的SSH连接工具。可以到PuTTY的官方网站下载。下载后无需安装，直接双击即可运行。</p>
<p taggedby="hylanda">　　PuTTY的使用</p>
<p taggedby="hylanda">　　打开Putty，输入主机IP192.168.0.9连接</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　输入系统安装时，添加的wheel组内的用户名mongolia和密码</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　成功登陆后，你可以在远程对FreeBSD的服务器，进行管理和维护了。</p>
<p taggedby="hylanda">　　这是登录成功的界面</p>
<p taggedby="hylanda">　　PuTTY的使用证书验证</p>
<p taggedby="hylanda">　　1、下载Putty</p>
<p taggedby="hylanda">　　Putty.exe作用是连接运行服务器</p>
<p taggedby="hylanda">　　下载后不需要安装，绿色软件直接运行即可</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　2、下载Puttygen.exe</p>
<p taggedby="hylanda">　　Puttygen.exe作用是用来生成密钥</p>
<p taggedby="hylanda">　　PuttYgen 是密钥生成器，用来生成一对公钥和私钥供PuTTY、PSCP、Plink、Pagent 来使用。</p>
<p taggedby="hylanda">　　3、运行Puttygen.exe生成密钥</p>
<p taggedby="hylanda">　　运行Puttygen.exe----&gt;Parameters选项选择-----&gt;SSH-2 RSA------&gt; 点击Generate 按钮开始生成密钥(可以在程序Key下方的空白处移动鼠标，直到生成密钥结束)----&gt;点下面的Save private key把私钥保存起来，扩展名是.ppk 的文件。<strong taggedby="hylanda">此时不要关闭程序</strong>。</p>
<p taggedby="hylanda">　　运行Puttygen.exe</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　生成密钥</p>
<p taggedby="hylanda">　　存储私钥</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　4、连接远程服务器，上传密钥</p>
<p taggedby="hylanda">　　使用Putty登陆远程服务器，在用户目录下，创建~/.ssh/authorized_keys</p>
<p taggedby="hylanda">　　例如：</p>
<p taggedby="hylanda">　　mongolia@WOW[/home/mongolia]%mkdir ~/.ssh</p>
<p taggedby="hylanda">　　mongolia@WOW[/home/mongolia]%cd ~/.ssh</p>
<p taggedby="hylanda">　　mongolia@WOW[/home/mongolia/.ssh]%vi authorized_keys</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　mkdir ~/.ssh</p>
<p taggedby="hylanda">　　cd ~/.ssh</p>
<p taggedby="hylanda">　　vi authorized_keys</p>
<p taggedby="hylanda">　　复制Puttygen.exe程序Public key for pasting into Open SSH authorized_keys file:下面的内容到服务器上的authorized_keys文件中粘贴并保存退出。</p>
<p taggedby="hylanda">　　5、使用Putty密钥方式验证自动登陆</p>
<p taggedby="hylanda">　　打开Putty.exe------&gt;Session------&gt;Host name(or IP address)输入远程服务器IP地址-----&gt;Connection------&gt;data------&gt;Auto-login username输入用于登陆的用户名--------&gt;SSH----&gt;Auth------&gt;Private key file for authentication:-----&gt;点击Browser选择到你保存私钥(.pkk)的文件。----&gt;Open自动登陆到服务器上了。</p>
<p taggedby="hylanda">　　打开Putty.exe------&gt;Session------&gt;Host name(or IP address)输入远程服务器IP地址</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　Connection------&gt;data------&gt;Auto-login username输入用于登陆的用户名</p>
<p taggedby="hylanda">　　SSH----&gt;Auth------&gt;Private key file for authentication:-----&gt;点击Browser选择到你保存私钥(.pkk)</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　Open自动登陆到服务器上了</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　su - root</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　Step 2 FreeBSD中停用Sendmail服务. </p>
<p taggedby="hylanda">　　<strong taggedby="hylanda"></strong></p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">FreeBSD</strong><strong taggedby="hylanda">中停用</strong><strong taggedby="hylanda">Sendmail</strong><strong taggedby="hylanda">服务</strong><strong taggedby="hylanda">:</strong></p>
<p taggedby="hylanda">　　停止Sendmail</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">停止</strong><strong taggedby="hylanda">Sendmail</strong><strong taggedby="hylanda">，解决系统在</strong><strong taggedby="hylanda">Sendmail</strong><strong taggedby="hylanda">处，无响应的问题</strong></p>
<p taggedby="hylanda">　　使用远程管理用户，登陆系统后需要切换到root管理员权限</p>
<p taggedby="hylanda">　　monglia@Wow[/]su &#8211; root</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　su - root</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　编辑/etc/rc.conf</p>
<p taggedby="hylanda">　　root@Wow[/root]ee /etc/rc.conf</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　vi /etc/rc.conf</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　增加以下内容（用来停止sendmail）</p>
<p taggedby="hylanda">　　sendmail_enable="NO"</p>
<p taggedby="hylanda">　　sendmail_submit_enable="NO"</p>
<p taggedby="hylanda">　　sendmail_outbound_enable="NO"</p>
<p taggedby="hylanda">　　sendmail_msp_queue_enable="NO"</p>
<p taggedby="hylanda">　　Editor:</p>
<p taggedby="hylanda">　　#Sendmail</p>
<p taggedby="hylanda">　　sendmail_enable="NO"</p>
<p taggedby="hylanda">　　sendmail_submit_enable="NO"</p>
<p taggedby="hylanda">　　sendmail_outbound_enable="NO"</p>
<p taggedby="hylanda">　　sendmail_msp_queue_enable="NO"</p>
<p taggedby="hylanda">　　保存并退出。</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　Step 3 修改用户Shell. </p>
<p taggedby="hylanda">　　<strong taggedby="hylanda"></strong></p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">修改用户</strong><strong taggedby="hylanda">Shell</strong><strong taggedby="hylanda">，使其更加方便</strong><strong taggedby="hylanda">:</strong> 修改root用户Shell的设置</p>
<p taggedby="hylanda">　　FreeBSD中，使用普通用户登录后默认的shell，显示简单的%或$符号，并且没有高亮显示。</p>
<p taggedby="hylanda">　　为使用方便，可以修改shell，支持高亮和自定义命令。</p>
<p taggedby="hylanda">　　默认shell的简单显示</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　显示用户主目录的所有文件，在%后面输入命令ls &#8211;a</p>
<p taggedby="hylanda">　　%ls -a</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　ls -a</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">说明</strong>%<strong taggedby="hylanda">表示系统自动显示出来的，</strong>ls &#8211;a<strong taggedby="hylanda">才是输入的命令</strong></p>
<p taggedby="hylanda">　　编辑.cshrc配置文件,</p>
<p taggedby="hylanda">　　%ee .cshrc</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　ee .cshrc</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　在.cshrc中增加1行alias ls ls -G支持高亮显示</p>
<p taggedby="hylanda">　　Editor:</p>
<p taggedby="hylanda">　　alias h history 25</p>
<p taggedby="hylanda">　　alias j jobs -l</p>
<p taggedby="hylanda">　　alias la ls -a</p>
<p taggedby="hylanda">　　alias lf ls -FA</p>
<p taggedby="hylanda">　　alias ll ls -lA</p>
<p taggedby="hylanda">　　alias ls ls -G</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　在.cshrc中增加1行set prompt = &#8220;%B%n@%m[%/]&#8221;支持高亮显示用户当前所在的目录</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">%B</strong><strong taggedby="hylanda">表示高亮显示</strong><strong taggedby="hylanda">%n</strong><strong taggedby="hylanda">表示用户名</strong><strong taggedby="hylanda">@%m</strong><strong taggedby="hylanda">表示计算机名</strong><strong taggedby="hylanda">[%/]</strong><strong taggedby="hylanda">表示用户当前所在的目录</strong></p>
<p taggedby="hylanda">　　Editor:</p>
<p taggedby="hylanda">　　if ($?prompt) then</p>
<p taggedby="hylanda">　　# An interactive shell -- set some stuff up</p>
<p taggedby="hylanda">　　set prompt = "%B%n@%m[%/]%"</p>
<p taggedby="hylanda">　　set filec</p>
<p taggedby="hylanda">　　set history = 100</p>
<p taggedby="hylanda">　　set savehist = 100</p>
<p taggedby="hylanda">　　set mail = (/var/mail/$USER)</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda"></strong></p>
<p taggedby="hylanda">　　修改setenv BLOCKSIZE为M</p>
<p taggedby="hylanda">　　Editor:</p>
<p taggedby="hylanda">　　setenv EDITOR vi</p>
<p taggedby="hylanda">　　setenv PAGER more</p>
<p taggedby="hylanda">　　setenv BLOCKSIZE M</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　修改前：</p>
<p taggedby="hylanda">　　setenv EDITOR vi</p>
<p taggedby="hylanda">　　setenv PAGER more</p>
<p taggedby="hylanda">　　setenv BLOCKSIZE K</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　修改后：</p>
<p taggedby="hylanda">　　setenv EDITOR vi</p>
<p taggedby="hylanda">　　setenv PAGER more</p>
<p taggedby="hylanda">　　setenv BLOCKSIZE M</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　设置PACKAGESITE这个环境变量，在setenv BLOCKSIZE M下面添加以下内容。</p>
<p taggedby="hylanda">　　#setenv PACKAGESITE ftp://ftp2.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/</p>
<p taggedby="hylanda">　　[setenv BLOCKSIZE M]下面加入这3行；作用是加快安装程序时的下载速度。找各大FTP 同步站台选择相同目录找一个离你最近的</p>
<p taggedby="hylanda">　　可用[例: ping http://ftp.twaren.net 看回应值越小对你主机速度越快]边里是选FreeBSD中国镜像服务器,大家依各自需求选择即可，[后面2个是备选网址]</p>
<p taggedby="hylanda">　　Editor:</p>
<p taggedby="hylanda">　　setenv EDITOR vi</p>
<p taggedby="hylanda">　　setenv PAGER more</p>
<p taggedby="hylanda">　　setenv BLOCKSIZE M</p>
<p taggedby="hylanda">　　setenv PACKAGESITE ftp://ftp.cn.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/</p>
<p taggedby="hylanda">　　#setenv PACKAGESITE ftp://ftp.tw.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/</p>
<p taggedby="hylanda">　　#setenv PACKAGESITE ftp://ftp2.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　if ($?prompt) then</p>
<p taggedby="hylanda">　　# An interactive shell -- set some stuff up</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　-------------------------------------</p>
<p taggedby="hylanda">　　编辑完成后，按键盘上的Esc键，跳出下面的菜单</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　选择a) leave editor询问是否保存选择a)save changes然后按回车键，退出编辑器。</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">(</strong><strong taggedby="hylanda">为了使</strong><strong taggedby="hylanda">shell</strong><strong taggedby="hylanda">设置生效</strong><strong taggedby="hylanda">)</strong>输入指令source ~/.cshrc使配置立即生效</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　source ~/.cshrc</p>
<p taggedby="hylanda">　　shell界面发生变化。</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　输入lls命令后，现在已经可以高亮显示</p>
<p taggedby="hylanda">　　monglia@FreeBSD[/]ls</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　ls</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　Step 4 FreeBSD字符下的屏幕保护. </p>
<p taggedby="hylanda">　　<strong taggedby="hylanda"></strong></p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">FreeBSD</strong><strong taggedby="hylanda">字符下设置屏幕保护</strong><strong taggedby="hylanda">:</strong></p>
<p taggedby="hylanda">　　方法1、编辑/etc/rc.conf文件</p>
<p taggedby="hylanda">　　使用远程管理用户，登陆系统后需要切换到root管理员权限</p>
<p taggedby="hylanda">　　monglia@Wow[/]su - root</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　su - root</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　使用root用户编辑/etc/rc.conf文件</p>
<p taggedby="hylanda">　　root@Wow[/root]ee /etc/rc.conf</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　ee /etc/rc.conf</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　添加</p>
<p taggedby="hylanda">　　blanktime=&#8221;60&#8221;(<strong taggedby="hylanda">设定屏保时间为</strong><strong taggedby="hylanda">60</strong><strong taggedby="hylanda">秒</strong>)</p>
<p taggedby="hylanda">　　saver=&#8221;daemon&#8221; (<strong taggedby="hylanda">屏保内容为</strong><strong taggedby="hylanda">FreeBSD</strong><strong taggedby="hylanda">吉祥物</strong>)</p>
<p taggedby="hylanda">　　Editor:</p>
<p taggedby="hylanda">　　#Saver</p>
<p taggedby="hylanda">　　blanktime="60"</p>
<p taggedby="hylanda">　　saver="daemon"</p>
<p taggedby="hylanda">　　保存并退出。</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　方法2、使用sysinstall图形界面进行设置</p>
<p taggedby="hylanda">　　root用户运行sysinstall</p>
<p taggedby="hylanda">　　root@Wow[/root]sysinstall</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　sysinstall</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　选择Configure------Console------Saver-----Timeout(设置屏保时间60秒)Daemon(字符格式的守护精灵图案)</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　屏保效果，够Cool吧^_^</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　Step 5 FreeBSD网络相关设置. </p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">FreeBSD</strong><strong taggedby="hylanda">网络相关设置</strong><strong taggedby="hylanda">:</strong></p>
<p taggedby="hylanda">　　更改IP地址(需要root权限)</p>
<p taggedby="hylanda">　　方法1、在命令行输入ifconfig(命令) de0(网卡) 192.168.0.8(IP地址)</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　ifconfig de0 192.168.100.8</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">root@WOW[/root]#</strong>ifconfig</p>
<p taggedby="hylanda">　　de0: flags=8843 mtu 1500</p>
<p taggedby="hylanda">　　inet 192.168.100.8netmask 0xffffff00 broadcast 192.168.100.255</p>
<p taggedby="hylanda">　　ether 00:03:ff:41:7c:43</p>
<p taggedby="hylanda">　　media: Ethernet autoselect (100baseTX)</p>
<p taggedby="hylanda">　　status: active</p>
<p taggedby="hylanda">　　plip0: flags=108810 mtu 1500</p>
<p taggedby="hylanda">　　lo0: flags=8049 mtu 16384</p>
<p taggedby="hylanda">　　inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3</p>
<p taggedby="hylanda">　　inet6 ::1 prefixlen 128</p>
<p taggedby="hylanda">　　inet 127.0.0.1 netmask 0xff000000</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　方法2、修改/etc/rc.conf文件，</p>
<p taggedby="hylanda">　　IP地址为inet 192.168.0.88 主机名为WOW.sunny.com 网关地址为192.168.100.254</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　vi /etc/rc.conf</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda"></strong></p>
<p taggedby="hylanda">　　Editor:</p>
<p taggedby="hylanda">　　# -- sysinstall generated deltas -- # Tue Apr 17 17:37:54 2007</p>
<p taggedby="hylanda">　　# Created: Tue Apr 17 17:37:53 2007</p>
<p taggedby="hylanda">　　# Enable network daemons for user convenience.</p>
<p taggedby="hylanda">　　# Please make all changes to this file, not to /etc/defaults/rc.conf.</p>
<p taggedby="hylanda">　　# This file now contains just the overrides from /etc/defaults/rc.conf.</p>
<p taggedby="hylanda">　　defaultrouter="192.168.100.254"</p>
<p taggedby="hylanda">　　hostname="WOW.sunny.com"</p>
<p taggedby="hylanda">　　ifconfig_de0="inet 192.168.100.88 netmask 255.255.255.0"</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　方法3、root用户运行sysinstall进行图形介面配置</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">注：要是单网卡想帮定多个</strong><strong taggedby="hylanda">IP</strong><strong taggedby="hylanda">，可以这样设置</strong></p>
<p taggedby="hylanda">　　ifconfig_de0_alias0="inet 192.168.100.8 netmask 255.255.255.0"</p>
<p taggedby="hylanda">　　ifconfig_de0_alias1="inet 192.168.100.119 netmask 255.255.255.0"</p>
<p taggedby="hylanda">　　Editor:</p>
<p taggedby="hylanda">　　# -- sysinstall generated deltas -- # Tue Apr 17 17:37:54 2007</p>
<p taggedby="hylanda">　　# Created: Tue Apr 17 17:37:53 2007</p>
<p taggedby="hylanda">　　# Enable network daemons for user convenience.</p>
<p taggedby="hylanda">　　# Please make all changes to this file, not to /etc/defaults/rc.conf.</p>
<p taggedby="hylanda">　　# This file now contains just the overrides from /etc/defaults/rc.conf.</p>
<p taggedby="hylanda">　　defaultrouter="192.168.100.254"</p>
<p taggedby="hylanda">　　hostname="WOW.sunny.com"</p>
<p taggedby="hylanda">　　ifconfig_de0="inet 192.168.100.88 netmask 255.255.255.0"</p>
<p taggedby="hylanda">　　ifconfig_de0_alias0="inet 192.168.100.8 netmask 255.255.255.0"</p>
<p taggedby="hylanda">　　ifconfig_de0_alias1="inet 192.168.100.119 netmask 255.255.255.0"</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">alias0(</strong><strong taggedby="hylanda">表示别名，用</strong><strong taggedby="hylanda">1</strong><strong taggedby="hylanda">块网卡通过别名虚拟，多出来</strong><strong taggedby="hylanda">1</strong><strong taggedby="hylanda">个</strong><strong taggedby="hylanda">IP</strong><strong taggedby="hylanda">地址</strong><strong taggedby="hylanda">)</strong></p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">此时这台</strong><strong taggedby="hylanda">FreeBSD</strong><strong taggedby="hylanda">服务器拥有了</strong><strong taggedby="hylanda">3</strong><strong taggedby="hylanda">个</strong><strong taggedby="hylanda">IP</strong><strong taggedby="hylanda">地址。</strong></p>
<p taggedby="hylanda">　　<strong taggedby="hylanda"></strong></p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">修改</strong><strong taggedby="hylanda">MAC</strong><strong taggedby="hylanda">地址</strong></p>
<p taggedby="hylanda">　　方法1、直接使用命令改</p>
<p taggedby="hylanda">　　ifconfig(命令) de0(网卡名) ether(改MAC) 00:02:A5:BC:21:3A(新MAC地址)</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　ifconfig de0 ether 00:02:A5:BC:21:3A</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">缺点是重启后设置自动消失</strong></p>
<p taggedby="hylanda">　　<strong taggedby="hylanda"></strong></p>
<p taggedby="hylanda">　　方法2、修改/etc/rc.conf文件使用别名方式</p>
<p taggedby="hylanda">　　ifconfig_de0_alias0="ether 00:02:A5:BC:21:<ST1:CHMETCNV tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="a" w:st="on">3A"</ST1:CHMETCNV></p>
<p taggedby="hylanda">　　Editor:</p>
<p taggedby="hylanda">　　# -- sysinstall generated deltas -- # Tue Apr 17 17:37:54 2007</p>
<p taggedby="hylanda">　　# Created: Tue Apr 17 17:37:53 2007</p>
<p taggedby="hylanda">　　# Enable network daemons for user convenience.</p>
<p taggedby="hylanda">　　# Please make all changes to this file, not to /etc/defaults/rc.conf.</p>
<p taggedby="hylanda">　　# This file now contains just the overrides from /etc/defaults/rc.conf.</p>
<p taggedby="hylanda">　　defaultrouter="192.168.100.254"</p>
<p taggedby="hylanda">　　hostname="WOW.sunny.com"</p>
<p taggedby="hylanda">　　ifconfig_de0="inet 192.168.100.88 netmask 255.255.255.0"</p>
<p taggedby="hylanda">　　ifconfig_de0_alias0="ether 00:02:A5:BC:21:<ST1:CHMETCNV tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="a" w:st="on">3A"</ST1:CHMETCNV></p>
<p taggedby="hylanda">　　<strong taggedby="hylanda"></strong></p>
<p taggedby="hylanda">　　修改DNS设置</p>
<p taggedby="hylanda">　　FreeBSD的DNS配置文件，是/etc/resolv.conf</p>
<p taggedby="hylanda">　　查看现在DNS配置</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　root@WOW[/root]#cat /etc/resolv.conf</p>
<p taggedby="hylanda">　　domain sunny.com</p>
<p taggedby="hylanda">　　nameserver 202.106.196.115</p>
<p taggedby="hylanda">　　添加新DNS服务器202.106.0.20到/etc/resolv.conf</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　echo nameserver 202.106.0.20 &gt;&gt;/etc/resolv.conf</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　查看现在DNS服务器配置</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　root@WOW[/root]#cat /etc/resolv.conf</p>
<p taggedby="hylanda">　　domain sunny.com</p>
<p taggedby="hylanda">　　nameserver 202.106.196.115</p>
<p taggedby="hylanda">　　nameserver 202.106.0.20</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　Step 6忘记root的密码怎么办. </p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">FreeBSD</strong><strong taggedby="hylanda">下忘记</strong><strong taggedby="hylanda">root</strong><strong taggedby="hylanda">的密码怎么办</strong><strong taggedby="hylanda">:</strong></p>
<p taggedby="hylanda">　　重置root用户密码</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　重新启动FreeBSD服务器，出现模式选择时，选择单用户模式</p>
<p taggedby="hylanda">　　选择4 Boot FreeBSD in single user Mode</p>
<p taggedby="hylanda">　　系统出现shell提示，按回车键确认</p>
<p taggedby="hylanda">　　非正常启动后，检查系统文件。输入fsck -y(参数y表示自动修复)</p>
<p taggedby="hylanda">　　#fsck -y</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　fsck -y</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　磁盘检查完成后，挂载所以系统分区。输入mount -a</p>
<p taggedby="hylanda">　　#mount -a</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　mount -a</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　重置root用户密码。输入passwd回车</p>
<p taggedby="hylanda">　　#passwd</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　passwd</p>
<p taggedby="hylanda">　　确认密码后，千万不要傻傻的reboot重启呀。按下Ctrl+D系统就会继续启动，密码重设完成。</p>
<p taggedby="hylanda">　　系统重新启动后，输入用户名和密码，即可以登入。</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　Step 7 FreeBSD调整时间与同步. </p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">FreeBSD</strong><strong taggedby="hylanda">下时间调整与同步</strong><strong taggedby="hylanda">:</strong></p>
<p taggedby="hylanda">　　调整系统时间</p>
<p taggedby="hylanda">　　需要root权限，date命令+年年月月日时时分分，例如调整系统时间为2007-11-2311:18</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　date 0711231118</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　查看系统时间</p>
<p taggedby="hylanda">　　查看系统时间，可以使用date+%Y/%m/%d/%H:%M命令</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　date +%Y/%m/%d/%H:%M</p>
<p taggedby="hylanda">　　2007/11/23/11:19</p>
<p taggedby="hylanda">　　</p>
<p taggedby="hylanda">　　同步系统时间</p>
<p taggedby="hylanda">　　使用ntpdate +时间服务器，命令。</p>
<p taggedby="hylanda">　　中国时间服务器cn.pool.ntp.org</p>
<p taggedby="hylanda">　　Shell:</p>
<p taggedby="hylanda">　　/usr/sbin/ntpdate cn.pool.ntp.org</p>
<p taggedby="hylanda">　　23 Nov 10:44:59 ntpdate[1929]: step time server 218.21.130.42 offset -2327.466568 sec</p>
<p taggedby="hylanda">　　date +%Y/%m/%d/%H:%M</p>
<p taggedby="hylanda">　　2007/11/23/10:46</p>
<p taggedby="hylanda">　　<strong taggedby="hylanda"></strong></p>
<p taggedby="hylanda">　　<strong taggedby="hylanda">设定某个时间，要求系统自动与时钟服务器同步进行调整时间</strong></p>
<p taggedby="hylanda">　　FreeBSD等(类似)Unix系统的设定</p>
<p taggedby="hylanda">　　1) 确保计算机的123端口没有被防火墙阻挡；</p>
<p taggedby="hylanda">　　2) 用root登录；</p>
<p taggedby="hylanda">　　3) 修改/etc/crontab文件，加入以下一行命令：</p>
<p taggedby="hylanda">　　0 23 * * * root /usr/sbin/ntpdate cn.pool.ntp.org&gt;/dev/null</p>
<p taggedby="hylanda">　　以上命令设置好后存盘。您的机器将在每天的23:00根据中国时间服务器的NTP服务器时间自动校准时间。</p>
<img src ="http://www.blogjava.net/pdw2009/aggbug/91019.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-12-30 14:59 <a href="http://www.blogjava.net/pdw2009/archive/2006/12/30/91019.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用hp-ux   Shell</title><link>http://www.blogjava.net/pdw2009/archive/2006/10/18/75861.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Wed, 18 Oct 2006 04:46:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/10/18/75861.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/75861.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/10/18/75861.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/75861.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/75861.html</trackback:ping><description><![CDATA[
		<p>1   确定登录 Shell<br />命令 echo $SHELL 回显用户登录时输入的 shell 文件名<br />$ echo $SHELL<br />/usr/bin/sh.<br />echo 命令可以显示 SHELL 变量的内容或值SHELL 变量包含运行的 shell 程序的<br />文件名在本示例中文件名为 /usr/bin/sh 该文件包含了 POSIX Shell 代码<br />下表列出了每个 shell 的文件名和缺省的系统提示符每个 shell 的超级用户<br />提示符为 #<br />表3-2 Shell 文件名和缺省的提示符<br />Shell 文件名提示符<br />POSIX /usr/bin/sh $<br />C /usr/bin/csh %<br />Bourne 已过时/usr/old/bin/sh $<br />Korn 已由 POSIX shell 取代/usr/bin/ksh 链接到 /usr/bin/sh $<br /><br />2  暂时更改 Shell<br />除非处于受限的 shell 中否则可以使用以下命令暂时更改 shell<br />shell_name<br />其中shell_name 是 shell 的名称例如sh 或 csh 暂时更改 shell 允许用<br />户在其他 shell 中进行试验通过键入要运行的 shell 名可以调用输入该<br />shell 并显示正确的提示符要返回原始的 shell 请键入 exit 或按 CTRL-D<br />以下示例从 POSIX Shell 中开始然后进入 C Shell 并返回到 POSIX Shell<br />csh(1)<br />$ csh 进入 C Shell<br />% ps 执行 ps 命令<br />PID TTY TIME COMMAND<br />6009 tty01 0:00 csh 注意 C 和 POSIX Shell 进程正在运行<br />5784 tty01 0:00 sh<br />6010 tty01 0:00 ps<br />% exit 退出 C Shell<br />$ 返回到 POSIX Shell<br /><br />3  永久更改 Shell<br />要永久更改登录 shell 登录时缺省的 shell 请使用以下 chsh (change shell)<br />命令<br />chsh(1) $ chsh username full_shell_name<br />其中username 是用户名full_shell_name 是要更改为缺省 shell 的完整路<br />径名如 /usr/bin/sh 确定登录 Shell 包含每个 shell 的完整路径名使用<br />chsh 命令后必须注销并再次登录以使更改生效例如如果使用 terry<br />将缺省的登录 shell 更改为 C Shell chsh 命令的语法如下<br />$ chsh terry /usr/bin/csh<br /><br /><br />4  编辑命令行<br /><br />在 POSIX shell 中使用行编辑命令或编辑键可以在输入之前更正命令行中<br />的错误还可以回调以前的命令并加以编辑请参阅本章下文的回调以<br />前的命令<br />使用 vi 行编辑命令<br />第 4 章使用 vi 编辑器说明了如何使用 vi 屏幕编辑器处理文本文件vi<br />编辑器还可用于编辑命令行<br />要在位于 POSIX shell 中时进入 vi 行编辑器模式请按 ESC 键从常用的<br />键入模式更改为编辑模式使用编辑命令移动光标或删除字符输入<br />vi 命令 i 或 a 返回到键入模式插入或添加文本<br />下表列出了一些 vi 编辑命令<br />所需操作 vi 命令<br />向前移动一个字符 h<br />向后移动一个字符 l<br />向前移动一个单词 b<br />向后移动一个单词 w<br />移动到一行的开头 ^<br />移动到一行的结尾 $<br />删除光标所在位置的字符 x<br />使用 EDITOR 变量设置管理编辑器命令集可以使用 vi 或 emacs 对 EDITOR<br />变量的设置还取决于定义的 VISUAL 变量<br />要暂时使用 vi 编辑器请键入 set -o vi 要关闭 vi 编辑模式请键入 set<br />+o vi 要在每次登录时自动设置 EDITOR 变量请参阅设置登录环境<br />vi 命令集附带的行编辑示例<br />激活 vi 命令集如果尚未使用登录脚本在登录时进行设置<br />$ set -o vi<br />请键入以下内容但不要按 Enter 键<br />$ ll /dve | grep '^d' | more<br />使用 Shell<br />编辑命令行<br />第 3 章85<br />第 2 个元素应该是 /dev 使用以下步骤更正错误<br />1. 按 ESC 键光标向前移动一个字符位于 more 中的 e 处行编辑器目<br />前处于命令模式下<br />ll /dve | grep '^d' | more<br />2. 重复按 H 将光标移动到 /dve 中 v 处<br />ll /dve | grep '^d' | more<br />3. 按 X 字符 v 消失该行剩余部分均向左移动一个字符以填补空缺光标<br />当前位于 /de 中 e 处<br />ll /de | grep '^d' | more<br />4. 按 A 光标向右移动一个字符行编辑器当前已准备就绪可以将文本<br />添加到该行中<br />ll /de_ | grep '^d' | more<br />5. 按 V 在 /de 后插入字符 v 更正完毕<br />ll /dev | grep '^d' | more<br />6. 按 Enter 键执行该命令行<br /><br /><br />5 回调以前的命令<br />POSIX shell 将所执行的命令存储在命令记录中可以检索修改和重新执行<br />这些命令有关 C Shell 命令记录实现的详细信息请参阅Shells: User's<br />Guide<br />例如通过键入 /usr/bin/sh 确定已进入 POSIX Shell<br />请尝试执行某些命令然后重新执行以前的命令<br />1. 确保已将 vi 设置为命令编辑器在登录会话的命令行中键入 set -o vi<br />或在 .profile 文件中设置适当的项并输出 EDITOR 变量<br />2. 按 ESC 键<br />3. 然后重复按 K 向上滚动到所需的以前的命令<br />4. 或者在命令记录列表中按 J 向上滚动<br />5. 找到所需的命令时可以对其进行编辑如同编辑当前命令<br />6. 然后可以通过按 Enter 键执行命令行中的命令<br />POSIX Shell 可以记住最近键入的 128 条命令并显示全部或部分命令<br />例如键入以下命令<br />$ date<br />1994 年 9 月 8 日 星期四15:01:51<br />$ pwd<br />/home/terry<br />$ hostname<br />hpabc<br />现在键入以下命令<br />$ history -3<br />121 date<br />122 pwd<br />123 hostname<br />124 history -3<br />注意POSIX Shell 会显示最后执行的 3 条命令 (date pwd 和 hostname) 和<br />history -3 命令通过在 history 后使用较大的负数可以增加命令记录的显<br />示数目例如如果记录中有 100 条命令以下命令将显示最后 100 条命令<br />$ history -100 | more<br />如果记录中的命令不足 100 条将显示全部记录将记录的输入结果传输到<br />more 命令中这样可以逐屏查看记录命令<br /><br />7  设置登录环境<br />登录时shell 为用户自动定义唯一的工作环境并对该环境进行维护直至用<br />户注销该环境将定义如身份工作场所和正在运行的进程等特性这些特性<br />由指定的环境变量值定义<br />shell 环境与办公环境相似在办公室中每个人所处环境的物理特性如灯<br />光和温度相似但在办公环境中又有许多因素是个人特有的如日常工作和<br />个人工作空间因此您的工作环境就有别于其他同事的工作环境正如 shell<br />环境不同于其他环境<br />登录程序<br />登录时HP-UX 运行名为 login 的程序此程序使用存储在 /etc/passwd 文件<br />中的数据启动会话此文件为每个系统用户生成一行信息其中包括用户名<br />口令以加密形式主目录和登录时运行的 shell 如果 /etc/passwd 未指<br />定 shell 则选择 POSIX Shell (/usr/bin/sh)<br />login 程序的功能如下<br />• 显示 Password: 提示符如有口令<br />• 验证用户名和口令是否位于 /etc/passwd 文件中<br />• 将缺省值或用户定义的值指定给 shell 环境<br />• 开始执行 shell 进程<br />环境变量<br />shell 环境定义了 HP-UX 与用户进行交互的方式环境特性由包含名称和值的<br />环境变量定义例如每个会话的起始目录为主目录其环境变量是名为 HOME<br />的变量并在登录过程中指定其值在整个会话过程中HOME 的值等同于<br />/home/terry<br />以下是一些在登录过程中设置的环境变量注意大部分变量都已在缺省的<br />.profile 文件中设置<br />HOME • 定义用户的主目录cd 命令的缺省目录例如 /home/terry<br />• 登录期间指定的缺省值<br />使用 Shell<br />设置登录环境<br />第 3 章89<br />LOGNAME • 包含用户名例如 terry<br />• 缺省值为 username<br />MAIL • 确定系统查找邮件的位置基于用户名设置例如 /var/mail/terry<br />• 典型的缺省值为 /var/mail/username<br />PATH • 设置系统用于查找并执行命令的目录<br />• 典型的缺省值包括以下路径<br />/usr/bin:/usr/bin:/usr/contrib/bin:/usr/local/bin:/usr/lib<br />SHELL • 决定运行的 shell 设置用于用户登录的 /etc/passwd 文件项的最后一个<br />字段如果未定义此字段将使用缺省值<br />• 典型的缺省值为 /usr/bin/sh<br />TERM • 指定准备输出的终端类型<br />• 典型的缺省值为 hp<br />TZ • 提供当前时区及其与格林威治标准时间的差值缺省设置为山地标准时间<br />如果处于其他时区系统管理员应更改此值请使用脚本 /etc/profile<br />进行设置<br />• 典型的缺省值为 MST7MDT<br />EDITOR • 确定缺省的编辑器<br />• 典型的缺省值为 vi<br />DISPLAY • 指定窗口显示主机请在远程系统上使用以便在本地显示窗口<br />• 典型的缺省值为 DISPLAY=:0</p>
		<p> </p>
		<p>8  登录脚本总结<br />下表总结了每个 shell 的登录脚本第一次登录后所有脚本都将运行有关<br />POSIX C Key 和 Bourne Shell 的详细信息请参阅Shells: User's Guide<br />表3-3 各种 Shell 及其登录脚本<br />Shell            系统登录脚本本地登录脚本<br />POSIX         /etc/profile $HOME/.profile<br />C                 /etc/csh.login $HOME/.cshrc<br />                 $HOME/.login<br />Bourne       已过时/etc/profile $HOME/.profile<br />使用 Shell<br />设置和引用变量<br />92 第 3 章<br />设置和引用变量<br />shell 使用环境变量和 shell 变量定义环境登录 shell 使用环境变量并将这些<br />变量传递到所有进程和创建的 subshell 仅用户当前的 shell 可以识别 Shell 变<br />量但这些变量不会被传递到 subshell<br />$ POSIX shell 使用赋值语句和可选的 export 命令设置变量在所有 shell 中<br />通过在变量名前加一个货币符号 ($) 来引用变量值<br />为变量赋值<br />在 POSIX shell 中可以为变量赋值或对变量进行设置如有必要还可<br />以创建变量使用赋值语句可以完成这两项任务<br />name=value<br />name 表示变量名value 表示为变量赋的值name 和 = 之间或 = 和 value 之<br />间不允许有空格<br />在以下示例中将 shell 提示符 (PS1) 重新设置为<br />Ready ==&gt;<br />如果 PS1 是 shell 变量则 subshell 通过键入 sh 创建不会识别新值如果<br />导出 PS1 PS1 的值将传递到 subshell<br />$ PS1="Ready ==&gt; " 设置 shell 变量 PS1<br />Ready ==&gt; sh 键入 subshell 名<br />$ exit Subshell 当前有缺省提示符退出到原始 shell<br />Ready ==&gt; export PS1 使用 export 设置环境变量<br />Ready ==&gt; sh 进入 subshell<br />Ready ==&gt; Subshell 识别新的 PS1 值<br />Ready ==&gt; exit 退出 subshell<br />Ready ==&gt; PS1="$ " 使用 export 设置环境变量<br />$ 返回到正常的工作环境<br />使用 Shell<br />设置和引用变量<br />第 3 章93<br />引用变量的值参数替换<br />三种 shell 都使用参数替换引用变量值参数替换表示用变量值替换变量名<br />如果在变量名前加一个货币符号 ($) 即发生参数替换<br />例如在上文我们已了解到如何使用命令 echo $SHELL 确定登录 shell<br />$ echo SHELL 由于省略 $ 将回显单词 SHELL<br />SHELL<br />$ echo $SHELL 如果加上 $ 将回显 SHELL 的值<br />/usr/bin/sh<br />echo $SHELL 命令使用参数替换由于变量名前有货币符号 ($) 所以 shell 将<br />名为 SHELL 的环境变量值回显在 echo 命令下<br />更多信息<br />有关参数替换的详细信息请参考 sh sh-posix keysh 或 csh 联机帮助页<br /><br /><br />9   使用搜索路径查找命令<br />PATH 键入命令后HP-UX 必须能够找到包含命令的目录才能运行该命令查找命令<br />时PATH 环境变量包含用户希望 HP-UX 搜索的命令目录列表PATH 应包含所<br />有必要的目录以定位用户使用的所有命令<br />PATH 变量格式<br />从 .profile 或 /etc/profile 登录脚本读取 PATH 变量此变量包含待搜索的<br />目录列表中间用冒号分隔冒号前后不应有空格还可以按如下方式使用<br />echo 命令确定 PATH 的当前值<br />$ echo $PATH<br />/usr/bin/sh:/usr/bin:/usr/local/bin<br />此行内容表示键入命令后shell 首先在 /usr/bin/sh 目录/usr/bin 目录<br />和 /usr/local/bin 目录下搜索该命令如果这些目录下都没有该命令shell<br />将显示以下消息<br />command_name: 未找到<br />更改 PATH<br />如果 shell 无法找到确实存在的命令则有两种选择<br />1. 键入该命令的完整路径名例如如果希望执行位于 /home/sue/bin 目录<br />下的名为 prog 的命令请键入以下内容<br />$ /home/sue/bin/prog<br />2. 或者更改 PATH 变量的值以添加命令路径如果经常使用此命令这将<br />是长久之计<br />下表列出了最常用的目录的路径名<br />目录 内容<br />/usr/bin 常用的 HP-UX 命令<br />/usr/sbin 系统管理员使用的命令<br />/usr/bin/sh POSIX Shell<br />/usr/contrib/bin Hewlett-Packard 不支持第三方提供的程序<br />/usr/local/bin 在本地编写的程序和命令<br />$HOME/bin 可以为自己的 shell 脚本和程序创建的目录<br />使用 Shell<br />使用搜索路径查找命令<br />第 3 章95<br />注意考虑到潜在危险请勿将当前目录通常表示为 . 设置为 PATH 的第一个元<br />素请将当前目录置于 PATH 之外或仅将其作为最后一个元素予以保留<br />切记按显示从左到右顺序搜索 PATH 中的目录通常将最常用的目录设<br />置为路径的第一个元素 除非搜索路径下有两个同名的命令例如<br />/usr/bin/rm 和 $HOME/bin/rm 在本示例中如果想让 shell 首先查找 rm 版<br />本请在 PATH 中将 $HOME/bin 置于 /usr/bin 之前<br />以下示例说明如何更改 PATH 以将 $HOME/bin 放在其他目录前并将当前目<br />录作为搜索路径中的最后一个目录此示例假设用户使用的是 POSIX shell<br />$ echo $PATH<br />/usr/bin/sh:/usr/bin:/usr/bin:<br />/usr/contrib/bin:/usr/local/bin<br />$ PATH=$HOME/bin:$PATH:. 包含作为最后一个元素的. 使当前目录成为<br />$ echo $PATH 最后一个搜索目录<br />/home/terry/bin:/usr/bin/sh:/usr/bin:<br />/usr/bin:/usr/contrib/bin:/usr/local/bin:.<br />将 PATH 设置为环境变量<br />通常将 PATH 设置为环境变量以便在登录时为其赋予适当的值在 Bourne 和<br />POSIX shell 中可以更改 .profile 脚本中的 PATH 并导出有关这些脚本的详<br />细信息请参阅Shells: User's Guide<br /><br /><br /><br /><br /><br /></p>
<img src ="http://www.blogjava.net/pdw2009/aggbug/75861.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-10-18 12:46 <a href="http://www.blogjava.net/pdw2009/archive/2006/10/18/75861.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hp-ux基本系统命令</title><link>http://www.blogjava.net/pdw2009/archive/2006/10/18/75837.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Wed, 18 Oct 2006 02:39:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/10/18/75837.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/75837.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/10/18/75837.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/75837.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/75837.html</trackback:ping><description><![CDATA[
		<strong>一、 基本系统管理</strong>
		<p>    <strong>1、常用命令</strong></p>
		<p>    1. # ioscan -fn 
</p>
		<p>    列出各I/O卡及设备的所有相关信息：如逻辑单元号，硬件地址及设备文件名等。 
</p>
		<p>    2. # ps -ef 
</p>
		<p>    列出正在运行的所有进程的各种信息：如进程号及进程名等。 
</p>
		<p>    3. # netstat -rn 
</p>
		<p>    列出网卡状态及路由信息等。 
</p>
		<p>    4. # lanscan 
</p>
		<p>    列出网卡状态及网络配置信息。 
</p>
		<p>    5. # bdf 
</p>
		<p>    列出已加载的逻辑卷及其大小信息。 
</p>
		<p>    6. # mount 
</p>
		<p>    列出已加载的逻辑卷及其加载位置。 
</p>
		<p>    7. # uname -a 
</p>
		<p>    列出系统ID 号，OS版本及用户权限等信息。 
</p>
		<p>    8. # hostname 
</p>
		<p>    列出系统网络名称。 
</p>
		<p>    9. # pvdisplay -v /dev/dsk/c*t*d* 
</p>
		<p>    显示磁盘各种信息，如磁盘大小，包含的逻辑卷，设备名称等。 
</p>
		<p>    10. # vgdisplay -v /dev/vg00 
</p>
		<p>    显示逻辑卷组信息，如包含哪些物理盘及逻辑卷等。 
</p>
		<p>    11. # lvdisplay -v /dev/vg00/lvol1 
</p>
		<p>    显示逻辑卷各种信息，如包含哪些盘，是否有镜像等。 
</p>
		<p>    <strong>2、网络故障诊断</strong></p>
		<p>    1. 如需修改网络地址、主机名等，一定要用set_parms 命令 
</p>
		<p>    # set_parms hostname <br />    # set_parms ip_address 
</p>
		<p>    2. 查看网卡状态： lanscan 
</p>
		<p>    Hardware Station Crd Hardware Net-Interface<br />    Path Address In# state nameunit state<br />    8/20/5/1 0x0800097843FB 0 up lan0 up 
</p>
		<p>    3. 确认网络地址： 
</p>
		<p>    # ifconfig lan0 
</p>
		<p>    4. 启动网卡： 
</p>
		<p>    # ifconfig lan0 up 
</p>
		<p>    5. 网络不通的诊断过程： 
</p>
		<p>    lanscan 查看网卡是否启动(up) 
</p>
		<p>    ping 自己网卡地址(ip 地址) 
</p>
		<p>    ping其它机器地址，如不通，在其机器上用lanscan 命令得知station address，然后linkloop station_address 来确认网线及集成器是否有问题。 
</p>
		<p>    在同一网中， subnetmask 应一致。 
</p>
		<p>    6. 配置网关 
</p>
		<p>    手动加网关： 
</p>
		<p>    /usr/sbin/route add default 20.08.28.98 1 
</p>
		<p>    把网关自动加入系统中 
</p>
		<p>    vi /etc/rc.config.d / netconf<br />    ： <br />    ROUTE_DESTINATION [0]=default <br />    ROUTE_GATEWAY [0]=20.08.28.98 <br />    ROUTE_COUNT [0]=1 <br />    : <br />    /sbin/init.d/net 将执行：<br />    /usr/sbin/route add default 20.08.28.98 1 
</p>
		<p>    命令netstat -rn 查看路由表 
</p>
		<p>    另外也可用set_parms addl_netwrk 来设缺省路由。 
</p>
		<p>    <strong>二、安全安装HP-UX</strong></p>
		<p>    1、 建议在安装配置过程中，不要连接到任何不信任的网络中。 
</p>
		<p>    2、 尽可能选择最小安装 
</p>
		<p>    3、 尽可能不要安装NFS, X window, SNMP等组件（视具体需求而定） 
</p>
		<p>    4、 安装完毕，则使用系统命令查看状态。 
</p>
		<p>    # uname ?Ca （版本信息） 
</p>
		<p>    # bdf （逻辑卷状态） 
</p>
		<p>    # ps ?Cef （进程状态） 
</p>
		<p>    # netstat -anf inet （端口状态） 
</p>
		<p>    5、 安装各种驱动等 
</p>
		<p>    6、 安装最新的补丁。 
</p>
		<p>    http://us.itrc.hp.com 
</p>
		<p>    安装补丁时要注意HP的补丁与硬件类型和系统版本都相关，检查并安装所有需要的补丁。确认需要swlist -l fileset. 
</p>
		<p>    <strong>三、系统基本配置</strong></p>
		<p>    操作系统安装并打上补丁后，需要做一些措施来对系统进行一些配置。 
</p>
		<p>    删除保存的补丁（可选） 
</p>
		<p>    缺省情况下，补丁安装完会在/var/adm/sw/save/下备份所有的补丁。可以选择删除这些补丁文件，但一旦删除就没法使用swremove卸载补丁了。 
</p>
		<p>    # swmodify -x patch_commit=true '*.*' 
</p>
		<p>    转换为一个可信系统： 
</p>
		<p>    # /usr/lbin/tsconvert <br />    Creating secure password database... <br />    Directories created. <br />    Making default files. <br />    System default file created... <br />    Terminal default file created... <br />    Device assignment file created... <br />    Moving passwords... <br />    secure password database installed. <br />    Converting at and crontab jobs... <br />    At and crontab files converted. 
</p>
		<p>    改变全局特权 
</p>
		<p>    HP-UX 有一个特权组，可以分配给一个组特权(参见privgrp(4)). 缺省情况下，CHOWN是分配给所有组的一个全局特权： 
</p>
		<p>    $ getprivgrp <br />    global privileges: CHOWN 
</p>
		<p>    /sbin/init.d/set_prvgrp在系统启动时执行/usr/sbin/setprivgrp -f /etc /privgroup. 可以创建一个配置文件，删除所有的全局特权 (see setprivgrp(1m)): 
</p>
		<p>    # getprivgrp <br />    global privileges: CHOWN <br />    # echo -n &gt;/etc/privgroup <br />    # chmod 400 /etc/privgroup <br />    # /sbin/init.d/set_prvgrp start <br />    # getprivgrp <br />    global privileges: 
</p>
		<p>    设置默认umask. 
</p>
		<p>    转换到可信系统后，默认umask已经改为07077 
</p>
		<p>    限制root远程登录，只能由console登录 
</p>
		<p>    # echo console &gt; /etc/securetty <br />    # chmod 400 /etc/securetty 
</p>
		<p>    打开inetd日志功能 
</p>
		<p>    在/etc/rc.config.d/netdaemons中的 INETD_ARGS 环境变量中增加－l参数: 
</p>
		<p>    export INETD_ARGS=-l 
</p>
		<p>    删除不需要的系统伪帐户 
</p>
		<p>    # groupdel lp <br />    # groupdel nuucp <br />    # groupdel daemon <br />    # userdel uucp <br />    # userdel lp <br />    # userdel nuucp <br />    # userdel hpdb <br />    # userdel www <br />    # userdel daemon 
</p>
		<p>    对于一些保留的系统伪帐户如：bin, sys，adm等, 应当将需要禁止帐户的**用NP代替，并不提供登录shell 
</p>
		<p>    Example: bin:NP:60002:60002:No Access User:/:/sbin/noshell 
</p>
		<p>    将root主目录从/改为/root. 
</p>
		<p>    编辑/etc/passwd: 
</p>
		<p>    root:*:0:3::/root:/sbin/sh 
</p>
		<p>    创建目录并修改权限: 
</p>
		<p>    # mkdir /root <br />    # chmod 700 /root <br />    # mv /.profile /root <br />    # pwconv 
</p>
		<p>    <strong>四、禁止网络服务</strong></p>
		<p>    1、禁止inetd 服务 
</p>
		<p>    由internet服务器过程inetd启动的网络服务是由两个配置文件/etc/inet/services和/etc/inet/inetd.conf来配置的。/etc/inet/services文件指定每个服务的端口号和端口类型，该配置文件的部分示例如下： 
</p>
		<p>    … <br />    ftp 21/tcp <br />    telnet 23/tcp <br />    smtp 25/tcp mail <br />    … 
</p>
		<p>    /etc/inet/inetd.conf文件指定服务对应的系统服务程序，该配置文件部分示例如下： 
</p>
		<p>    … <br />    ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd <br />    telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd <br />    … 
</p>
		<p>    当要停止某个服务，如ftp、telnet等时，只要注释掉文件/etc/inet/services和/etc/inet/inetd.conf中的相应条目，也就是在那一行的开头加上＃字符，然后让inetd重新读配置文件，过程示例如下： 
</p>
		<p>    # ps -ef |grep inetd <br />    root 149 1 0 Jan 18 ? 0:00 /usr/sbin/inetd -s <br />    root 24621 24605 0 15:53:01 pts/1 0:00 grep inetd <br />    # kill ?CHUP 149 
</p>
		<p>    以上第一条命令是为了获得inetd的进程号，示例中输出的第二列内容就是进程号(149)，然后将该进程号填入第二条命令的相应位置。 
</p>
		<p>    可以使用lsof ?Ci来查看监听进程和端口信息: 
</p>
		<p>    # lsof -i <br />    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME <br />    syslogd 261 root 5u inet 0x10191e868 0t0 UDP *:syslog (Idle) <br />    rpcbind 345 root 4u inet 72,0x73 0t0 UDP *:portmap (Idle) <br />    rpcbind 345 root 6u inet 72,0x73 0t0 UDP *:49158 (Idle) <br />    rpcbind 345 root 7u inet 72,0x72 0t0 TCP *:portmap (LISTEN) <br />    sendmail: 397 root 5u inet 0x10222b668 0t0 TCP *:smtp (LISTEN) <br />    snmpdm 402 root 3u inet 0x10221a268 0t0 TCP *:7161 (LISTEN) <br />    snmpdm 402 root 5u inet 0x10222a268 0t0 UDP *:snmp (Idle) <br />    snmpdm 402 root 6u inet 0x10221f868 0t0 UDP *:* (Unbound) <br />    mib2agt 421 root 0u inet 0x10223e868 0t0 UDP *:* (Unbound) <br />    swagentd 453 root 6u inet 0x1019d3268 0t0 UDP *:2121 (Idle) </p>
		<p>    2、禁止其他服务 </p>
		<p>    防止syslogd网络监听 
</p>
		<p>    安装PHCO_21023补丁可以给syslogd加上-N参数防止网络监听. 编辑/sbin/init.d/syslogd修改为 /usr/sbin/syslogd -DN. 
</p>
		<p>    禁止SNMP服务 
</p>
		<p>    编辑SNMP启动文件: 
</p>
		<p>    /etc/rc.config.d/SnmpHpunix <br />    Set SNMP_HPUNIX_START to 0: SNMP_HPUNIX_START=0 <br />    /etc/rc.config.d/SnmpMaster <br />    Set SNMP_MASTER_START to 0: SNMP_MASTER_START=0 <br />    /etc/rc.config.d/SnmpMib2 <br />    Set SNMP_MIB2_START to 0: SNMP_MIB2_START=0 <br />    /etc/rc.config.d/SnmpTrpDst <br />    Set SNMP_TRAPDEST_START to 0: SNMP_TRAPDEST_START=0 
</p>
		<p>    禁止sendmail进程 
</p>
		<p>    编辑/etc/rc.config.d/mailservs: 
</p>
		<p>    export SENDMAIL_SERVER=0 
</p>
		<p>    禁止rpcbind进程 
</p>
		<p>    # rm /sbin/rc1.d/K600nfs.core <br />    # rm /sbin/rc2.d/S400nfs.core <br />    # mv /usr/sbin/rpcbind /usr/sbin/rpcbind.DISABLE 
</p>
		<p>    <strong>五、文件系统安全</strong></p>
		<p>    1、检查Set-id程序 
</p>
		<p>    # find / \( -perm -4000 -o -perm -2000 \) -type f -exec ls -ld {} \; <br />    # chmod u-s /usr/sbin/swinstall <br />    # chmod u-s /usr/sbin/vgcreate <br />    # chmod u-s /sbin/vgcreate 
</p>
		<p>    可以采用下列方法，将所有文件的set-id位去掉，然后对一些需要的程序单独加上suid位（可根据情况选择）: 
</p>
		<p>    # find / -perm -4000 -type f -exec chmod u-s {} \; <br />    # find / -perm -2000 -type f -exec chmod g-s {} \; <br />    # chmod u+s /usr/bin/su <br />    # chmod u+s /usr/bin/passwd 
</p>
		<p>    采用这种方法后，普通用户将无法使用很多系统命令，如bdf, uptime ，arp等: 
</p>
		<p>    $ bdf /dev/vg00/lvol3 <br />    bdf: /dev/vg00/lvol3: Permission denied 
</p>
		<p>    2. 修改重要文件权限 
</p>
		<p>    # chmod 1777 /tmp /var/tmp /var/preserve （加上粘滞位） <br />    # chmod 666 /dev/null 
</p>
		<p>   <strong> 六、网络参数调整</strong></p>
		<p>    利用ndd命令，可以检测或者更改网络设备驱动程序的特性。在/etc/rc.config.d/nddconf启动脚本中增加以下各条命令，然后重启系统，可以提高网络的安全性。 
</p>
		<p>    格式如下： 
</p>
		<p>    /usr/sbin/ndd -set /dev/ip ip_forward_directed_broadcasts 0 <br />    Network device <br />    Parameter <br />    Default value <br />    Suggested value <br />    Comment <br />    /dev/ip <br />    ip_forward_directed_broadcasts <br />    1 <br />    0 
</p>
		<p>    不转发定向广播包 
</p>
		<p>    /dev/ip <br />    ip_forward_src_routed <br />    1 <br />    0 </p>
		<p>    不转发原路由包 </p>
		<p>    /dev/ip <br />    ip_forwarding <br />    2 <br />    0 
</p>
		<p>    禁止包转发 
</p>
		<p>    /dev/ip <br />    ip_pmtu_strategy <br />    2 <br />    1 
</p>
		<p>    不采用echo-request PMTU策略 
</p>
		<p>    /dev/ip <br />    ip_send_redirects <br />    1 <br />    0 
</p>
		<p>    不发ICMP重定向包 
</p>
		<p>    /dev/ip <br />    ip_send_source_quench <br />    1 <br />    0 
</p>
		<p>    不发ICMP源结束包 
</p>
		<p>    /dev/tcp <br />    tcp_conn_request_max<br />    20 <br />    500 
</p>
		<p>    增加TCP监听数最大值，提高性能 
</p>
		<p>    /dev/tcp <br />    tcp_syn_rcvd_max <br />    500 <br />    500 <br />    HP SYN flood保护 <br />    /dev/ip <br />    ip_respond_to_echo_broadcast <br />    1 <br />    0 
</p>
		<p>    不响应ICMP echo请求广播包 
</p>
		<p>    由于ndd调用前，已经启动网卡参数，所以可能不能正确设置。 
</p>
		<p>    可以采用下列方法，建立一个启动脚本。 
</p>
		<p>    # cp /tmp/secconf /etc/rc.config.d <br />    # chmod 444 /etc/rc.config.d/secconf <br />    # cp /tmp/sectune /sbin/init.d <br />    # chmod 555 /sbin/init.d/sectune <br />    # ln -s /sbin/init.d/sectune /sbin/rc2.d/S009sectune </p>
<img src ="http://www.blogjava.net/pdw2009/aggbug/75837.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-10-18 10:39 <a href="http://www.blogjava.net/pdw2009/archive/2006/10/18/75837.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Vi使用指南</title><link>http://www.blogjava.net/pdw2009/archive/2006/09/28/72482.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Thu, 28 Sep 2006 02:09:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/09/28/72482.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/72482.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/09/28/72482.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/72482.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/72482.html</trackback:ping><description><![CDATA[　相信用过Linux的朋友一定不会对vi陌生吧，它是Linux环境中使用最为普遍的全屏幕编文本辑器。但由于我们一般用户最初接触的都是微软的产品，它和DOS下的EDIT和Windows下的记事本的使用<a class="bluekey" href="http://www.yesky.com/key/2960/162960.html" target="_blank">方法</a>不尽相似，所以另初学Linux朋友觉得vi很难用，甚至无从下手，下面我就向大家介绍vi的使用方法。<br />
<br />
　　首先需要说明的是，vi分为两种状态，即命令状态和编辑状态，在命令状态下，所键入的字符系统均作命令来处理，如:q代表退出，而编辑状态则是用来输入文字资料的。当你进入vi时，会首先进入命令状态。现在对vi也有了基本的认识，如果你有兴趣请接着往向看。<br />
<br />
　　要进入vi，直接在系统提示符下键入vi &lt;文件名&gt;，当你键入的文件名是已有文件时，则系统自动打开此文件，否则将建立一个新文件。这时你将会看到屏幕左边会出现波浪线~，这就代表该行是空的，没有任何文字，这时系统正在命令状态，怎样切换到编辑状态输入文字呢？按键盘上的Insert键即可，这时我们就可以像使用其它的编辑器一样进行文字的编辑了，功能键也和其它编辑器差不多，下面就是一些功能键的说明，是不是很简单？<span style="background-color: #ff6600"><br />
<br />
</span><br />
<br />
<br />
　　===========================================================<br />
　　说明　　　　　　　　　　　　　　　　功能键<br />
　　===========================================================<br />
　　移动光标到所在行的最前面　　　　　　<a class="bluekey" href="http://www.yesky.com/key/560/160560.html" target="_blank">Home</a><br />
　　移动光标到所在行的最后面　　　　　　End<br />
　　向下翻一页　　　　　　　　　　　　　Page <a class="bluekey" href="http://www.yesky.com/key/3640/183640.html" target="_blank">Down</a><br />
　　向上翻一页　　　　　　　　　　　　　Page Up<br />
　　删除光标所在位置字符　　　　　　　　Delete<br />
　　删除光标所在位置前面的字符　　　　　Backspace<br />
　　移动光标　　　　　　　　　　　　　　&#8592;&#8593;&#8595;&#8594;<br />
　　===========================================================<br />
<br />
　　另外，vi还支持粘贴与复制，不过用键盘来做实在很麻烦，现在哪台电脑没有鼠标呢？和Windows中一样，从你要复制的开始位置拖动鼠标到结束位置，这块区域就反白了，再将光标移到你要粘贴的位置，按鼠标中键即可完成粘贴（如果你的鼠标是两个键的，同时按左右键即可模拟三<a class="bluekey" href="http://www.yesky.com/key/2785/162785.html" target="_blank">键鼠</a>标的中键），这比Windos里方便吧。也许有的朋友会问，如何进行查找呢？下面我们按键盘上的<a class="bluekey" href="http://www.yesky.com/key/230/160230.html" target="_blank">Esc键</a>切换到命令状态，输入&#8220;?&lt;你要查找的字符串&gt;&#8221;（不带引号）就执行向下查找操作，而&#8220;/&lt;你要查找的字符串&gt;&#8221;表示向上查找，键盘上的n表示重复一次，而N表示反方向重复一次。<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">无论是否退出&nbsp;vi，均可保存所做的工作。按&nbsp;ESC&nbsp;键，确定&nbsp;vi&nbsp;是否处于命令模式。<br />
<br />
操作&nbsp;&nbsp;&nbsp;键入<br />
&nbsp;<br />
保存，但不退出&nbsp;vi&nbsp;&nbsp;&nbsp;:w<br />
&nbsp;<br />
保存并退出&nbsp;vi&nbsp;&nbsp;&nbsp;:wq<br />
&nbsp;<br />
退出&nbsp;vi，但不保存更改&nbsp;&nbsp;&nbsp;:q</span><span style="color: #000000">!</span><span style="color: #000000"><br />
&nbsp;<br />
用其他文件名保存&nbsp;&nbsp;&nbsp;:w&nbsp;filename<br />
&nbsp;<br />
在现有文件中保存并覆盖该文件&nbsp;&nbsp;&nbsp;:w</span><span style="color: #000000">!</span><span style="color: #000000">&nbsp;filename<br />
&nbsp;<br />
</span></div>
<br />
　　说了半天，可能你的文件已经编辑完成了，但如何存盘呢？现在我们还是保持在命令状态，按:w按后回车即完成了存盘工作，而退出vi返回到Linux的命令是:q，这两个命令也可以组合使用，如:wq代表存盘退出。<br />
<br />
　　好了，说了半天，可能你的头已经大了，上面讲到的那些只是vi中最常用的功能，至于其它的功能你可以在使用中慢慢体会。顺便说一句，不要强记那些命令，它们看起来多而毫无规律，多用几次自然就熟练了，现在我觉得比Windows中的记事本方便多了。 <br />
<br />
<span style="background-color: #ff6600">移动光标类命令<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">h&nbsp;：光标左移一个字符<br />
l&nbsp;：光标右移一个字符<br />
space：光标右移一个字符<br />
Backspace：光标左移一个字符<br />
k或Ctrl+p：光标上移一行<br />
j或Ctrl+n&nbsp;：光标下移一行<br />
Enter&nbsp;：光标下移一行<br />
w或W&nbsp;：光标右移一个字至字首<br />
b或B&nbsp;：光标左移一个字至字首<br />
e或E&nbsp;：光标右移一个字j至字尾<br />
)&nbsp;：光标移至句尾<br />
(&nbsp;：光标移至句首<br />
}：光标移至段落开头<br />
{：光标移至段落结尾<br />
nG：光标移至第n行首<br />
n+：光标下移n行<br />
n-：光标上移n行<br />
n$：光标移至第n行尾<br />
H&nbsp;：光标移至屏幕顶行<br />
M&nbsp;：光标移至屏幕中间行<br />
L&nbsp;：光标移至屏幕最后行<br />
</span><span style="color: #000000">0</span><span style="color: #000000">：（注意是数字零）光标移至当前行首<br />
$：光标移至当前行尾<br />
</span></div>
</span><br />
<span style="background-color: #ff0000">屏幕翻滚类命令</span><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">Ctrl+u：向文件首翻半屏<br />
Ctrl+d：向文件尾翻半屏<br />
Ctrl+f：向文件尾翻一屏<br />
Ctrl＋b；向文件首翻一屏<br />
nz：将第n行滚至屏幕顶部，不指定n时将当前行滚至屏幕顶部。<br />
</span></div>
<br />
<span style="color: #000000; background-color: #ff0000">插入文本类命令</span><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">i&nbsp;：在光标前<br />
I&nbsp;：在当前行首<br />
a：光标后<br />
A：在当前行尾<br />
o：在当前行之下新开一行<br />
O：在当前行之上新开一行<br />
r：替换当前字符<br />
R：替换当前字符及其后的字符，直至按ESC键<br />
s：从当前光标位置处开始，以输入的文本替代指定数目的字符<br />
S：删除指定数目的行，并以所输入文本代替之<br />
ncw或nCW：修改指定数目的字<br />
nCC：修改指定数目的行<br />
</span></div>
<br />
<span style="background-color: #ff0000">删除命令<br />
<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">ndw或ndW：删除光标处开始及其后的n-1个字<br />
do：删至行首<br />
d$：删至行尾<br />
ndd：删除当前行及其后n-1行<br />
x或X：删除一个字符，x删除光标后的，而X删除光标前的<br />
Ctrl+u：删除输入方式下所输入的文本</span></div>
<br />
搜索及替换命令<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">/pattern：从光标开始处向文件尾搜索pattern<br />
?pattern：从光标开始处向文件首搜索pattern<br />
n：在同一方向重复上一次搜索命令<br />
N：在反方向上重复上一次搜索命令<br />
：s/p1/p2/g：将当前行中所有p1均用p2替代<br />
：n1</span><span style="color: #000000">,</span><span style="color: #000000">n2s/p1/p2/g：将第n1至n2行中所有p1均用p2替代<br />
：g/p1/s//p2/g：将文件中所有p1均用p2替换</span></div>
<br />
</span>
<img src ="http://www.blogjava.net/pdw2009/aggbug/72482.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-09-28 10:09 <a href="http://www.blogjava.net/pdw2009/archive/2006/09/28/72482.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hp-unix基本指令快速参考</title><link>http://www.blogjava.net/pdw2009/archive/2006/09/28/72471.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Thu, 28 Sep 2006 01:56:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/09/28/72471.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/72471.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/09/28/72471.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/72471.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/72471.html</trackback:ping><description><![CDATA[
		<font face="宋体">操作命令<br />1-1.处理目录<br />pwd： 显示当前工作目录&amp;&amp;<br />cd directory_path： 更改目录&amp;&amp;<br />cd： 更改为主目录&amp;&amp;<br />mkdir directory_name： 创建目录&amp;&amp;<br />rmdir directory_name： 删除空目录&amp;&amp;　<br /><br />1-2.处理文件<br />elm： 阅读邮件&amp;&amp;<br />ls： 列举当前目录下的文件和目录&amp;&amp;<br />ls -a： 列举所有文件或目录包括隐藏点文件&amp;<br />lsf： 列举文件并用/ 标记目录名&amp;<br />compress filename： 压缩文件<br />uncompress filename： 解压缩文件<br />vi file_name： 创建或编辑文件<br />more file_name： 显示文件内容 (按q 退出)<br />head file_name： 显示文件的前10 行<br />tail file_name： 显示文件的后10 行<br />cp file_name file_copy： 复制文件<br />mv old_file new_file： 将文件重命名为新文件名<br />cat file1 &gt;&gt; file2： 将file1 附加到file2 的结尾处<br />rm file： 删除file&amp;<br />rm -rf dir_name： 删除目录dir_name 及其所有文件<br />spell file_name： 在文件中检查拼写<br /><br />1-3.打印<br />lp file_name： 打印文件<br />lpstat -t： 确定打印机的状态<br />cancel request_id： 取消打印请求<br /><br />1-4.查找和组织<br />find .-name 'x*'： 在当前目录和子目录中查找以x 开头的文件<br />grep word *： 在当前目录下的所有文件中查找word 一词的所有匹配<br />sort listfile： 按字母顺序对listfile 进行排序<br />date： 显示日期和时间<br />alias： 列举所有命令的别名<br />man command_name： 查找HP-UX 命令信息<br />echo $PATH： 确定PATH 设置<br />echo $SHELL： 确定所用的shell　<br /><br />1-5.安全操作<br />passwd： 创建或更改口令<br />ll file_name： 显示文件的权限<br />ll -d directory_name： 显示目录的权限<br />chmod class=permissions name： 更改文件或目录权限<br />chown user name： 更改文件或目录的所有权<br /><br />1-6.系统操作<br />clear： 清除屏幕<br />set -o editor_name： 设置命令行编辑器<br />TERM=term_type： 设置终端类型（从/usr/lib/terminfo 中选择term_type）&amp;<br />ps -ef： 列举当前进程状态和PID&amp;<br />kill PID： 终止进程<br />passwd： 创建或更改口令<br />command &lt; infile： 将输入从文件重定向到命令<br />command1 | command2： 使用管道连接两个进程</font>
		<br />
		<br />
		<br />1-7进程管理<br /><br />ps -ef 查看当前系统中运行的进程<br /><br />ps -elf|grep  [username]查看当前用户运行的进程<br /><br />kill   pid  终止进程<br /><br />有此时候进程可能选择忽略kill信号，并且用户将发现正确执行kill命令后它仍在运行，此时用户可以发出强烈终止信号<br /><br />kill  -9 pid<br /><br />然后运行ps -ef确认进程是否被终止了。<br /><br /><br /><br /><br /><br />1-8 标准输入、输出<br /><br />每个进程打开三个标准文件<br />stdin  标准输入文件<br />stdout  写到终端屏幕<br />stderr  将程序的错误信息输出到终端屏幕<br /><br />将命令的信息输出到文件<br />command  &gt; outfile  如果outfile已存在，那个内容将丢失，如果文件不存在则创建outfile文件。<br />command  &gt;&gt; outfile   将内容追加到outfile文件中。<br /><br /><br /><br /><br /><br /><img src ="http://www.blogjava.net/pdw2009/aggbug/72471.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-09-28 09:56 <a href="http://www.blogjava.net/pdw2009/archive/2006/09/28/72471.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux用户密码文件权限</title><link>http://www.blogjava.net/pdw2009/archive/2006/09/16/70065.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Sat, 16 Sep 2006 10:40:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/09/16/70065.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/70065.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/09/16/70065.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/70065.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/70065.html</trackback:ping><description><![CDATA[
		<p>3.2        用户，密码，文件访问权限和安全性<br />3.2.1  主目录, 根目录和添加新用户<br /> <br />对于一般用户来说，主目录(home directory)是硬盘上唯一可以原来写东西的地方。一般的路径名是/home/login_user_name。</p>
		<p>主目录用于存储各种用户文件：设置文件，程序配置文件，用户文档，数据，netscape的缓存，邮件等等。作为一个普通用户，你可以在主目录下建立新的目录安排你自己的目录结构。其他用户无法阅读你的文件或者写数据到你的主目录，除非你给他们适当的权限。</p>
		<p>除了自己的主目录以内的文件，一般用户也可以看到，阅读和执行很多系统里的文件，但是一般来说他们不能修改和删除这些文件。</p>
		<p>root用户（也叫“超级用户”）是一个特殊的系统管理帐号，可以修改系统里的任何文件。经常使用root用户作为缺省的登录用户不是什么好习惯――你的误操作将有可能导致严重后果。建议设置一个一般用户给自己作为日常使用的帐号，只在必要使用root用户的权限时才登陆到root用户模式下。一般来说，root用户是Linux初始化安装后的唯一一个用户。</p>
		<p>使用root用户建立一个普通用户:</p>
		<p>adduser joe</p>
		<p>passwd joe</p>
		<p>[输入用户秘密]</p>
		<p>[再次输入用户秘密确认]</p>
		<p> </p>
		<p>在上述的例子里，要求超级用户root。以上命令在系统里产生一个joe的用户，接着设置该用户的密码。现在，可以告诉joe他的用户名和初始密码，然后他可以登录到系统，然后修改他的密码。还要注意的是，用户名和密码都是大小写敏感。</p>
		<p> </p>
		<p>超级用户可以修改任何人的密码，尽管他/她无法阅读该用户的密码。用户密码采用单向加密算法，加密后仅仅在系统上储存加密后的密码，对于旧的系统一般存在/etc/passwd文件里，新的系统一般存在/etc/shadow文件里，未经加密的密码文件从来不被储存在系统里。当用户登录的时候，系统把用户的输入密码使用相同的加密算法得到的结果再和密码文件（/etc/passwd或者/etc/shadow）里的结果相比较。</p>
		<p> </p>
		<p>超级用户和一般用户的分开使得Linux系统更加安全――甚至让病毒在Linux系统下很难有所作为（因为用户运行的程序只能把数据写到他/她自己的有读写权限的目录里，不会感染整个操作系统的核心部分）。</p>
		<p> </p>
		<p>一般建议用户在第一次登录到系统的时候立刻修改自己的密码:</p>
		<p>passwd</p>
		<p>Changing password for joe</p>
		<p>(current) UNIX password:   [输入旧的密码]</p>
		<p>New password:              [输入新的密码]</p>
		<p>Retype new password:       [重复输入新的密码]</p>
		<p>passwd: all authentication tokens updated successfully.passwd</p>
		<p>实际上，当你输入密码时，出于安全原因，键盘输入并不会显示在屏幕上。如果你是第一次修改密码，看不到键盘输入的结果可能会有点不适应。</p>
		<p>在Linux里，同一个密码可以用来:</p>
		<p> </p>
		<p>·         登录到文本终端</p>
		<p>·         登录到图形用户界面（GNOME或者KDE）</p>
		<p>·         取消锁定的文本终端</p>
		<p>·         取消密码保护的图形用户界面下的屏幕保护（GNOME或者KDE）</p>
		<p>
				<br />3.2.2  密码安全性<br /> </p>
		<p>一个“脆弱”（指容易被破解）的密码通常是安全问题的根源。即使在家里，完全有可能当你在浏览因特网的同时，黑客已经攻破你的计算机，正在修改和删除你计算机上的文件，或者通过你的计算机在本地警察局的网络里做一些令人头痛的事情。所以，即使在家里也要保证用户密码的安全。一旦有人登录到你的计算机，即使是普通用户，他也有可能找到其他方法获得超级用户的密码。其实就看你管理计算机系统的能力和黑客破解能力的较量了。</p>
		<p>以下是一些不好的密码:</p>
		<p> 根本没有密码  <br /> 密码就是“password”  <br /> 密码和登录用户名相同  <br /> 你的名字，女儿的名字，儿子的名字，妻子的名字，丈夫的名字……或者任何一个亲人的名字。人的名字其实非常的有限――只要查一下一些类似“如何给婴儿取名”之类的书就可以了，不要以为你是印度来的就没有人知道你的名字。  <br /> 你的姓或者其他人的姓。姓的数量比名字更加有限！  <br /> 你家小狗的昵称，老婆的昵称等等。昵称的数量比姓更少！  <br /> 你喜欢的体育俱乐部的名称，节日名称，牙膏的名称等等。避免使用非常出名的足球队的名称，也不要用任何摇滚乐队的名字  <br /> 你的生日，社会保险号码，等等。  <br /> 公司，部门，小组的名称  <br /> 密码写在你的记事本上或者计算机壳子上  <br /> 你在因特网联机商店使用的密码，电子邮件邮箱的密码等  <br /> 任何在字典里可以找到的单词。英文字典其实没有包含你想象中那么多的单词（10万个单词？10万个单词的文件小于1MB!）。一个水平很一般的黑客很容易就加密所有的字典词汇然后逐一和你的密码比较。一个不可否认的事实，因特网上的确已经存在用来制造 “字典攻击”的现成工具。不信？试着找一个工具来破解你的密码看看有多容易！  <br /> 任何其他词汇，姓，宠物或者成语，不管是哪一种语言。对于一个有经验的黑客来说，如果他已经覆盖了一种语言，稍微加工一下就可以很容易覆盖其他常用的语言。有多少常用的语言？40个？黑客只需要把预先做好的几个文件加到破解文件清单里就行了。  <br /> 任何以上的密码在前面或者后面加上一两个数字或者字符  </p>
		<p>一个好的密码最少要6个字符，有些专家甚至建议最少要10个字符，包含字符（最好大小写混合），数字和特殊字符（比如？，*，$，%，＃）,还要定期做修改（建议8到16周之间）。</p>
		<p>不巧的是，越不好破解的密码往往越难以记住。为了解决这个问题，我花了十分钟发明了我自己的“密码公式”。比如说，我总是以“@”字符作为密码的开头和结尾，然后使用两个单词并且用“!”把它们连接起来，每一个单词的最后一个字符大写，比如<a href="mailto:“@whitE!housE">“@whitE!housE</a>@”。看起来象一个不太好记的密码，但是只要我记得自己的“密码规则”，其实可以很容易记住这个密码。当然，如果你是一个记忆的超级天才，你可以使用mkpasswd并且试着记住它 J。</p>
		<p>系统管理员可以使用Linux自带的工具来设置密码的规则（密码最小长度，是否要求特殊字符，密码过期的期限等），以root用户运行：</p>
		<p>linuxconf</p>
		<p>在菜单“user account”-“policies”－“password &amp; account policies”设置。在以下场合里，一般的用户不能设置一个密码：</p>
		<p> 当密码长度太短  <br /> 密码是一个字典里的单词  <br /> 密码中不包含数字或者特殊字符  </p>
		<p>但是对于root用户，可以设置任何密码而只接收系统的警告信息。</p>
		<p>还要保证任何包含你的密码的文件（比如/root/.kde/share/config/kpprc）有正确，安全的权限设置，这样才能保证你的密码不会被其他人看到。举个例子，你可能要运行命令：</p>
		<p>chmod 600 kpprc</p>
		<p>如果你使用电话线上网，每周只用几个小时，你的密码太脆弱可能不会有什么大问题。但是如果你使用cable modem宽带上网，或者如果大部分时间你都呆在因特网上，你最好重新考虑一下你的系统安全。</p>
		<p>有些计算机半文盲使用一些脆弱得让人惊讶的密码，根据CNN的相关报道，“大概有50％的计算机用户基于家庭成员的名字，配偶的名字或者宠物的名字作为密码。大概30％的计算机用户基于流行音乐歌手的名字或者体育明星的名字作为密码”。</p>
		<p>
				<a href="http://www.cnn.com/2002/TECH/ptech/03/13/dangerous.passwords/index.html">http://www.cnn.com/2002/TECH/ptech/03/13/dangerous.passwords/index.html</a>
		</p>
		<p>特别要请注意的是：在以上“基础密码”后面加上一两个数字并不会使密码安全提高多少。</p>
		<p>3.2.3  忘记了超级用户密码怎么办</p>
		<p>尽管我从来不会忘记自己的密码，但是我还是会仔细研究一下这个专题，以防将来有一天突然看到我的母亲在阅读我的ICQ聊天记录时，可能会派上用场。</p>
		<p>第一种办法：</p>
		<p>最容易解决“忘记密码问题”的方法是将Linux重新启动到单用户模式，可以在“lilo”的命令提示符下输入:</p>
		<p>linux single</p>
		<p>这种办法将使你变成root超级用户而不需要输入任何密码。现在作为root用户，你可以使用以下命令重新设置密码（不需要输入旧的密码）</p>
		<p>passwd</p>
		<p>你可能觉得这实在是太不安全了！那是因为，如果有人可以物理上“访问”你的计算机硬件，没有计算机系统是安全的。但是，我并不喜欢在我的计算机上有这个“linux single”的漏洞存在，所以我在文件/etc/lilo.conf里（在 “image=”段落的尾部）加上以下内容就可以把这个漏洞拔除：</p>
		<p> </p>
		<p>password=”my_password”</p>
		<p>restricted</p>
		<p>这个设置使得Linux启动时，在lilo的命令提示符下，当用户输入linux带任何参数时必须输入正确的密码。如果用户不是使用命令行的启动模式而使用正常的启动模式，没有密码也能够启动系统。为了让修改生效，必须重新运行lilo命令。因为我设置的密码在lilo.conf文件里没有加密，我还必须把文件/etc/lilo.conf改成只有root用户可以读写:</p>
		<p>chmod 600 /etc/lilo.conf</p>
		<p>第二种办法</p>
		<p>另外一个解决“超级用户密码丢失”的办法是使用Linux启动盘或者安装CD来启动你的计算机。然后找到你计算机硬盘上的root分区，使用mount命令挂载该分区，接着修改文件/etc/shadow。因为当我从软盘启动Linux时，我可以不需要输入任何密码就成为root用户。在密码文件里，把root用户的加密密码删除，所以root的密码将是空的。</p>
		<p>用户帐号的信息储存在以下纯文本文件里：</p>
		<p> </p>
		<p>/etc/passwd</p>
		<p>/etc/shadow</p>
		<p> </p>
		<p>文件/etc/passwd包含了我计算机上的所有用户，并且很容易阅读。文件每行包含一个帐号信息，总共包含六个“:”间隔符号(这意味着七个字段)。举例如下</p>
		<p> </p>
		<p>/etc/passwd文件例子</p>
		<p> </p>
		<p>root:x:0:0:root:/root:/bin/bash</p>
		<p>bin:x:1:1:bin:/bin:/sbin/nologin</p>
		<p>daemon:x:2:2:daemon:/sbin:/sbin/nologin</p>
		<p>adm:x:3:4:adm:/var/adm:/sbin/nologin</p>
		<p>ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin</p>
		<p>nobody:x:99:99:Nobody:/:/sbin/nologin</p>
		<p>apache:x:48:48:Apache:/var/www:/sbin/nologin</p>
		<p>                                                                                            </p>
		<p>1<br /> root<br /> 登录用户名<br /> <br />2<br /> x<br /> 字符x<br /> <br />3<br /> 0<br /> 用户标识<br /> <br />4<br /> 0<br /> 该用户的优先用户组标识<br /> <br />5<br /> root<br /> 注释（比如用户的全名）<br /> <br />6<br /> /root<br /> 用户的主目录(HOME DIRECTORY)<br /> <br />7<br /> /bin/bash<br /> 用户的shell的名字<br /> <br />真正最重要的用户信息其实储存在文件/etc/shadow文件里。这个文件相对安全因为只有root用户才能阅读。在这个文件里，每行包含九个字段：</p>
		<p>1<br /> 登录用户名<br /> <br />2<br /> 加密后的密码<br /> <br />3<br /> 从1970年1月1日到上一次修改密码的天数<br /> <br />4<br /> 距离下一次修改密码的天数<br /> <br />5<br /> 密码定期作修改的天数<br /> <br />6<br /> 密码即将过期时提前通知用户的天数<br /> <br />7<br /> 密码过期到用户被取消的天数<br /> <br />8<br /> 密码被取消时距离1970年1月1日的天数<br /> <br />9<br /> 预留字段</p>
		<p>一些旧的Unix版本不包含/etc/shadow文件，而是把密码存放在/etc/passwd每行中的第二个字段。这个字段在新的系统中只显示一个“x”字符。</p>
		<p>举个例子，我的/etc/shadow文件中的root用户看起来是这样的：</p>
		<p>root:$1$BuPbmLAz$1G7.evIChyqaEI0TlZp0F.:11071:0:99999:7:-1:-1:134540356</p>
		<p>当密码被消除后，看起来是这样的：</p>
		<p>root::11071:0:99999:7:-1:-1:134540356</p>
		<p> </p>
		<p>现在，root用户就没有密码了，所以我就可以重新启动计算机，在login登录提示下，输入“root”,对于密码提示只需要按回车键就可了（没有密码）。登录成功后，可以立刻使用以下命令修改root密码：</p>
		<p> </p>
		<p>passwd</p>
		<p>有个例外，尽管在/etc/shadow删除了密码，对于Debian的发行版本并不允许你按“无密码”状态登录，在这种情况下，你需要做的是用其他用户（密码已经）的加密后的密码取代root的密码，然后使用该密码重新登录。</p>
		<p>想给远程用户设置用户帐号，用电子邮件发送加密密码也是一个安全的办法，“我正在帮你在我的计算机上设置ftp帐号，请把你的加密密码用电子邮件发送给我”。等你收到加密密码后，把它插入到/etc/shadow文件里。这样，用户就可以登录了，因为只有她知道她的密码，其他人不知道。</p>
		<p>为了让我的计算机没有“软盘访问”功能有点难度，我喜欢在没有软驱的情况下运行计算机。不幸的是，Linux光盘现在是可以自启动的。我在BIOS里设置启动设备的顺序以保证系统从硬盘启动而不是软驱或者光驱，然后给BIOS设置加上密码保护，这样就没有其他人能够修改BIOS设置。但是，我还是很担心BIOS的密码很容易被破解，或者有人打开计算机盖把BIOS的电池放电来重新设置BIOS。还可能有人把我的硬盘拿走然后在别的计算机上阅读J 。所以，我正在考虑在我的计算机上安装一个现在已经有效的Linux“加密文件系统”，但是以其考虑这么多麻烦问题，我觉得还是干脆把计算机锁在屋里才是一个真正的好办法。这些听起来头很大吧？事实大概也是这样的――这里我只是把一些计算机的安全问题稍微罗列了一下，即使在Linux下，如果黑客有潜在可能可以直接接触你的计算机硬件，Linux也是不安全的。</p>
		<p>3.2.4  忘记了普通用户密码怎么办<br /> </p>
		<p>如果是普通用户（非root用户）忘记密码，这个不是什么大问题，因为root可以修改任何人的密码。举个例子（要求root用户）</p>
		<p>passwd barbara</p>
		<p>按回车键后，将提示输入用户barbara的新密码（root用户不需要知道旧的密码）。如果一个普通用户想要修改自己的密码，该用户会被要求输入旧的密码（这是一个安全特性，以避免当你离开你的坐位有人试图修改你的密码）。</p>
		<p>3.2.5  关闭或删除一个用户<br /> </p>
		<p>用户帐号可以被临时关闭或者永久删除</p>
		<p> </p>
		<p>临时关闭（锁定）一个用户帐号，并不需要修改该用户的密码。只需要在/etc/shadow文件里属于该用户的行的第二个字段（密码）前面加上星号“*”就可以了。星号“*”指的是该用户不允许登录。当你想要把该用户恢复正常，只需要把星号“*”去掉就可以了，用户就可以恢复正常。</p>
		<p> </p>
		<p>以下是一个在/etc/shadow关闭用户peter的例子：</p>
		<p> </p>
		<p>peter:*$1$narMEFm6$fhA1puOU422HiSL5aggLI/:11193:0:99999:7:-1:-1:134539228</p>
		<p>我也可以使用以下命令来关闭用户帐号：</p>
		<p>passwd peter –l</p>
		<p>使用以下命令重新释放该用户：</p>
		<p>passwd peter –u</p>
		<p>对于永久性（不可恢复）的删除一个用户帐号，我一般这样做：</p>
		<p>- 以root登录</p>
		<p>- 把我的用户标识改成要删除的那个用户，检查是否有新的重要的电子邮件：</p>
		<p>su doomed_user_login_name</p>
		<p>mail</p>
		<p>logout</p>
		<p>- 删除用户和用户组:</p>
		<p> </p>
		<p>userdel doomed_user_login_name</p>
		<p>groupdel doomed_user_login_name</p>
		<p> </p>
		<p>- 然后把该用户从所属的其他用户组里面删除:</p>
		<p>usermod –G doomed_user_login_name doomed_user_login_name</p>
		<p>- 强制删除该用户的主目录和主目录下的所有文件和子目录:<br />rm –fr /home/doomed_user_login_name</p>
		<p>3.2.6  文件的所有权和访问权<br /> <br />Linux（还有其他Unix）是一个安全，多用户的操作系统，同时，这也产生了文件访问权限的复杂性。没有设置好文件的访问权限可能会导致一些莫名其妙的问题。充分了解文件的访问权限是管理任何多用户操作系统（Linux, Unix, Windows NT）的最重要环节。</p>
		<p>我的建议是：学习Linux（或者其他Unix）的文件访问权限的内容，你从来不会为此感到后悔。</p>
		<p>文件拥有者</p>
		<p>每个文件（或者目录）从属于一个文件拥有者（一般是一个用户名）和一个用户组。文件拥有者一般来说就是生成（或者拷贝）这个文件的用户。用户组经常包含一个用户－文件拥有者。用户组通常有一个名字来标识该用户，但是也不是必须的。一个文件只能被文件拥有者删除，或者是文件所属的用户组里的其他用户，或者是root用户。对于其他用户，如果被赋于适当的权限，也有可能修改或者删除该文件。文件所属的用户和用户组可以通过命令ls –l（长文件名显示格式）来显示：</p>
		<p>ls –l junk</p>
		<p>屏幕输出如下:</p>
		<p>-rwx------ 1 yogin inca 27 Apr 24 14:12 junk</p>
		<p>该文件属于拥有者yogin和用户组inca</p>
		<p>文件的从属可以通过命令chown（修改文件拥有者）和chgrp（修改用户组），一般来说需要root用户:</p>
		<p>chown peter junk</p>
		<p>chgrp peter junk</p>
		<p>ls –l junk</p>
		<p>执行以上三条命令后，命令ls –l输出如下:</p>
		<p>-rwx------ 1 peter peter 27 Apr 25 20:27 junk</p>
		<p>当你以root用户身份为其他用户删除或者拷贝文件时，修改文件的从属可能是经常要做的事情，在做完文件的整理工作后，把文件的拥有者改成对应的用户。</p>
		<p>文件的权限</p>
		<p>文件的拥有者可以把文件的访问属性设成三种不同的模式: 读(r)，写(w)和运行(x)和三个不同的用户级别: 文件拥有者(u)，所属的用户组(g)，系统里的其他用户(o)。你可以检查当前的文件访问权限：</p>
		<p>ls –l filename</p>
		<p>如果文件对于三种不同的用户都提供三种文件访问模式，输出结果看起来应该是:</p>
		<p>-rwxrwxrwx</p>
		<p>跳过第一个字符“-”(第一个字符显示文件的类型, “-” 表示普通文件，“ d” 表示目录文件，“ l” 表示链接文件，“c”表示字符设备，“b”表示块设备，“p”表示命名管道比如FIFO文件（First In First Out, 先进先出）,“ f”表示堆栈文件比如LIFO文件（Last In First Out，后进先出）。</p>
		<p>第一个字符之后的第一个三位字符组表示对于文件拥有者对该文件的权限，第二个三位字符组表示文件用户组对该文件的权限，第三个三位字符组表示系统其他用户对该文件的权限。如果没有权限，一般显示“－”字符。</p>
		<p>以下是一个显示一个属于root的文件用户权限：该文件的拥有者root拥有所有权限，但是用户组和其他用户只能阅读和执行。</p>
		<p>drwxr-xr-x 2 root root 21504 Apr 24 19:27 dev</p>
		<p>第一个字符d显示该文件是一个目录。</p>
		<p>你可以使用chmod命令来修改属于你的文件的访问权限。举个例子，以下命令将把文件junk给所有用户增加“只读”权限。</p>
		<p>Chmod a+r junk</p>
		<p>在以上的命令，除了用“a”表示所有用户(all)，我还可以用“u”表示用户(user)，“g”表示用户组(group)，“o”表示其他用户(other users)。除了加号“+”增加权限，我还可以使用减号“－”删除权限，等于号“=”设置权限。除了“r”表示只读权限(read)，我还可以用“w”表示写权限(write)，“x”表示执行权限(execute)。</p>
		<p>第二个例子，以下命令将删除其他用户对junk文件的执行权限：</p>
		<p>chmod o-x junk</p>
		<p>除了字符，也可以使用数字来设置权限。想知道是然后工作的，看以下例子：</p>
		<p> </p>
		<p>execute=1</p>
		<p>write=2</p>
		<p>read=4</p>
		<p>对于指定的三种不同用户级别总结如下:</p>
		<p>0 ＝ 没有任何权限 （不能读，不能写，不能执行）     （常见）</p>
		<p>1 ＝ 只能执行                                    （看起来不太正常）</p>
		<p>2 ＝ 只能写                                      （看起来不太正常）</p>
		<p>3 ＝ 只能写和执行                                （看起来不太正常）</p>
		<p>4 ＝ 只读                                       （常见）</p>
		<p>5 ＝ 只读和执行                                  （常见）</p>
		<p>6 ＝ 读和写                                      （常见）</p>
		<p>7 ＝ 读，写和执行                                （常见）</p>
		<p>要给三个不同的用户级别设置访问权限，只需要把三个数字粘在一起就可以了。举例:</p>
		<p>chmod 770 junk</p>
		<p>将给文件拥有者和所属用户组所有权限（读，写和执行），而对于其他用户没有任何权限。</p>
		<p>chmod 666 junk</p>
		<p>将给所有用户（文件拥有者，所属用户组，其他用户）读写权限，但是没有执行权限。请注意这个666权限设置里很经常用到，有人认为这是整个Linux（或者其他Unix里）的精髓所在。</p>
		<p>chmod 411 junk</p>
		<p>将给文件拥有者以只读权限，对于所属用户组和其他用户只有执行权限。这个看起来好像没什么实际用处，但是对于北美的Linux用户可能会感到很有趣，因为411电话号码是他们用来获得电话号码查号帮助的。如果对于权限设置，你还能想出什么好主意，别忘了给我来电子邮件哦 （可能是007？）！</p>
		<p>文件访问权限的数字表示法叫做“八位组”因为是基于八进制的（我们的日常计数系统是基于十进制）。八进制有八个数值从0到7，最大数字是7。对应的，十进制有十个数字从0到9，最大数字是9。八进制表示法对于二进制的文件权限表示法的确非常方便，每一个标志都可以通过设置成0或者1来表示“允许”或者“不允许”，如以下的例子：</p>
		<p> </p>
		<p>用户级别：                   文件拥有者     用户组         其他用户</p>
		<p>权限设置例子                     rwx             rw-             r--</p>
		<p>缺省权限                         ---             --x -           wx</p>
		<p>权限的二进制表示法                111             110             100</p>
		<p>权限的八进制表示法                7               6               4</p>
		<p>目录权限</p>
		<p>目录的访问权限和一般文件的访问权限是不同的。对于一般文件：</p>
		<p>
				<br />r      =允许读文件内容</p>
		<p>w      =允许修改文件内容</p>
		<p>x      =允许执行该文件</p>
		<p>对于目录而言：</p>
		<p>r      =允许列出该目录下的文件和子目录</p>
		<p>w      =允许生成和删除该目录下的文件</p>
		<p>x      =允许访问该目录</p>
		<p>使用umask设置缺省文件属性</p>
		<p>当一个文件生成时，系统给以文件缺省的文件权限。在我的系统里，缺省权限是:</p>
		<p>
				<br />-rw-r--r--</p>
		<p>这意味着由该用户生成的文件能被该用户读和写，而用户组和其他用户只能读。还有，在我的Redhat系统里，用户不能读取其他用户的主目录，因为用户主目录的缺省权限是</p>
		<p>drwx------</p>
		<p>我可以使用以下命令检查我刚生成的文件的缺省权限：</p>
		<p> </p>
		<p>umask -S</p>
		<p> </p>
		<p>（可选项－S代表“符号”告诉umask按容易阅读的格式显示文件权限，而不是缺省的数字格式）</p>
		<p>我可以修改新生成文件的缺省权限</p>
		<p>
				<br />umask u=rw,g=,o=</p>
		<p>
				<br />对于新生成的文件，以上命令将给文件拥有者以读和写的权限，而用户组和其他用户将没有任何访问权限。<br />在umask命令里使用数值来设置文件的缺省属性更加麻烦。因为数值显示的是从用户那里去除掉的权限（刚好和chmod相反），比如：<br />umask 000<br />对于新生成的文件，你将给所有人所有的权限。下一个例子给文件拥有者以读和写的权限，而其他用户没有任何权限:<br />umask 177<br />为了让设置对系统永久有效，在文件/etc/profile里修改对应的行。</p>
		<p> </p>
<img src ="http://www.blogjava.net/pdw2009/aggbug/70065.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-09-16 18:40 <a href="http://www.blogjava.net/pdw2009/archive/2006/09/16/70065.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux三种配置环境变量度方法</title><link>http://www.blogjava.net/pdw2009/archive/2006/09/16/70064.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Sat, 16 Sep 2006 10:39:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/09/16/70064.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/70064.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/09/16/70064.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/70064.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/70064.html</trackback:ping><description><![CDATA[
		<p>一、修改/etc/profile文件</p>
		<p>如果机器作为开发用，因为所有用户的shell都有权限使用这些环境变量，可能会给系统带来不安全性的问题<br />在shell 的终端执行vim /etc/profile命令在该文件的未属加入：<br />JAVA_HOME=你的jdk 目录，如果是radhat9和jdk1.5.2 好像装在usr/java 目录里面<br />PATH=$JAVA_HOME/bin:$PATH<br />CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar<br />export JAVA_HOME,PATH,CLASSPATH</p>
		<p>重新登陆既可。</p>
		<p> </p>
		<p>二、修改.bashrc文件<br />  这种方法更安全，它可把用户的权限控制到用户级别的细粒度，如果你需要给某个用户使用这些环境变量<br /> 你只需要修改其个人用户主目录下的.bashrc文件就可以了。<br /> 在shell的终端执行vim /home/peidw/.bashrc<br /> 在.bashrc的后面添加环境变量即可</p>
		<p>JAVA_HOME=你的jdk 目录，如果是radhat9和jdk1.5.2 好像装在usr/java 目录里面<br />export JAVA_HOME<br />PATH=$JAVA_HOME/bin:$PATH<br />export PATH<br />CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar<br />export  CLASSPATH</p>
		<p>
				<br />三、直接在shell下修改</p>
		<p>不赞成使用这种方法，因为换个shell你的设置便无效这种方法仅仅是临时使用，以后要使用又要重新设置，烦不胜烦<br />只需在shell终端执行以后命令即可。</p>
		<p>export JAVA_HOME=你的jdk 目录，如果是radhat9和jdk1.5.2 好像装在usr/java 目录里面<br />export PATH=$JAVA_HOME/bin:$PATH<br />export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar</p>
		<p> </p>
		<p> </p>
		<p> </p>
		<p> </p>
<img src ="http://www.blogjava.net/pdw2009/aggbug/70064.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-09-16 18:39 <a href="http://www.blogjava.net/pdw2009/archive/2006/09/16/70064.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux基本命令</title><link>http://www.blogjava.net/pdw2009/archive/2006/09/16/70062.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Sat, 16 Sep 2006 10:38:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/09/16/70062.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/70062.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/09/16/70062.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/70062.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/70062.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 以下给那些对Linux没有概念的新手：&nbsp;Linux是大小写敏感的系统，举个例子，Mozilla, MOZILLA, mOzilla和 mozilla是四个不同的命令（但是只有第四个mozilla是真正有效的命令）。还有，my_filE, my_file,和 my_FILE是三个不同的文件。用户的登录名和秘密也是大小写敏感的（这是因为UNIX系统和C语言的传统一向是大小写敏感所致）...&nbsp;&nbsp;<a href='http://www.blogjava.net/pdw2009/archive/2006/09/16/70062.html'>阅读全文</a><img src ="http://www.blogjava.net/pdw2009/aggbug/70062.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-09-16 18:38 <a href="http://www.blogjava.net/pdw2009/archive/2006/09/16/70062.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux shell输入输出重定向</title><link>http://www.blogjava.net/pdw2009/archive/2006/09/16/70061.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Sat, 16 Sep 2006 10:37:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/09/16/70061.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/70061.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/09/16/70061.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/70061.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/70061.html</trackback:ping><description><![CDATA[
		<p>新建一个文本文件包含所需要的脚本。举例，我会使用pico编辑器写一个脚本用来运行程序tar，带上必要的可选项可以用来解压从因特网下载下来的*.tar的文件（我好像总是记不住tar的所有参赛）。我决定把我的脚本名称叫做“untar”：</p>
		<p>pico untar</p>
		<p>因为在我的当前工作目录里untar文件不存在，所有pico文本编辑器自动创建这个文件，现在，我输入以下内容：</p>
		<p>#!/bin/bash</p>
		<p>echo this is the script file $0</p>
		<p>echo untarring the file $1</p>
		<p># this calls tar with options -xvzf (extract,</p>
		<p># verbose, filter through gzip, input filename)</p>
		<p>tar -xvzf $1</p>
		<p>我使用&lt;CTRL&gt;O保存这个文件，然后&lt;CTRL&gt;X退出。</p>
		<p>脚本的第一行，以“#!”开始是特别的提示－它告诉shell应该用哪一个程序来解释我的脚本。在这个例子里，我使用bash shell /bin/bash。第一行必须使用“＃!”开头，否则脚本不会运行（系统认为是一个文本文件）。其他以“#”开始的行是注释行只是给作者和读者使用的，计算机将跳过这些行。<br />在以上脚本里，参数$0, $1, $2…是传递到脚本里面的参数。举个例子，如果我运行我的脚本名“myscript”带七个参数如下：</p>
		<p>myscript a b c d e f g</p>
		<p>那么，参赛$0就是myscript, $1就是a, $2就是b，$3就是c，依此类推。</p>
		<p>脚本的第二行和第三行，echo命令输出所有在它后面同一行上的文本，然后扩展在脚本里对应的参数$0和$1。第四行和第五行是我写的注释文本，提醒我在这个脚本里要做的事情。只有最后一行是真正起作用的。</p>
		<p>一旦脚本已经写好，我把文件属性改成对文件拥有者是“可执行”的:</p>
		<p>chmod u+x untar</p>
		<p>然后我的脚本就可以这样运行了：</p>
		<p>./untar my_tar.tar.gz</p>
		<p>Liunx脚本的确非常丰富，灵活，功能强劲，还可能有点复杂。然而，对于日常任务编写一些简单脚本，它并不需要什么特别高深的知识。你可以把一些要用到的命令放在一起，一个接一个，输入到文件里。我使用脚本很频繁是因为我太懒了，不想一次一次的输入相同的命令。</p>
		<p>一个最简单的方法，可以把一组命令放在文本文件里然后使用source命令传递给shell让它直接运行：</p>
		<p>source my_file</p>
		<p>这个时候就不需要在文本第一行加上“#!”的标志了。</p>
		<p>3.4.6  引号的含义<br /> <br />一般来说，以下字符对于shell有特殊的含义：</p>
		<p>\ ' " ` &lt; &gt; [ ] ? | ; # $ ^ &amp; * ( ) = &lt;Space&gt; &lt;Tab&gt; &lt;Newline&gt;</p>
		<p>这里有四种不同的符号：反斜杠(\)，单引号(‘)，双引号(“)，反向单引号(`)。</p>
		<p> 反斜杠(\)表示：关闭后面字符的特殊含义  <br /> 单引号(‘)表示：关闭在两个单引号之间所有字符的特殊含义  <br /> 双引号(“)表示：关闭在两个双引号之间所有字符的特殊含义除了$ ` \  <br /> 反向单引号(`)表示：告诉shell首先运行两个反向单引号之间的命令，然后把得到的结果再传递给两个单引号之外的命令。同样的功能也可以通过“$command”命令来实现，而且可能会更方便。  </p>
		<p>举个例子，我可以创建一个奇怪的目录名叫做“*”通过使用“\”或者“’”符号：</p>
		<p>mkdir \*</p>
		<p>mkdir ’*’</p>
		<p>这屏蔽了“*”对于shell的特别含义。如果没有“\”，“*”意味着当前目录下所有文件。</p>
		<p>3.4.7  输入输出重定向<br /> <br />有三个最重要的输入输出流：标准输入(stdin),标准输出(stdout),标准错误(stderr)。它们对于控制台（“控制台”指的是键盘用于输入，屏幕用于输出）来说是缺省的，但是它们可以被重定向。</p>
		<p>重定向标准输出，可以使用“&gt;”符号，举例：</p>
		<p>dir my_dir &gt; filelisting.txt</p>
		<p>将把dir命令的标准屏幕输出重定向到文本文件 filelisting.txt文件里，所以屏幕上没有任何输出。这个文件可以用来编辑（比如使用pico文本编辑器）或者合并到其他的文件里。</p>
		<p>重定向标准错误，可以使用结构“2&gt;”，举例：</p>
		<p>dir my_dir 2&gt; errorlisting.txt</p>
		<p>以上命令将送标准输出到屏幕上，如果没有错误信息，将没有任何信息写到errorlisting.txt文件里。如果出错，则没有什么东西输出到屏幕，而文件errorlisting.txt将包含错误信息。错误信息有可能是这样的：</p>
		<p>dir: my_dir:  Permission denied</p>
		<p>最后，我也可以把标准输出和标准错误一起输出到同一个文件里，</p>
		<p>dir my_dir &gt; file_and_error_listing.txt 2&gt;&amp;1</p>
		<p>以上命令先重定向标准输出到文本文件里，然后再重定向标准错误到和标准输出同样的位置。它如何实现可能看起来有点古怪，但是是可行的。</p>
		<p>在以上的例子里，如果重定向的文件已经存在，该文件会被覆盖。如果你要追加到该文件的末尾，可以使用“&gt;&gt;”符号，以上的例子就变成：</p>
		<p>dir my_dir &gt;&gt; filelisting.txt</p>
		<p>dir my_dir 2&gt;&gt; errorlisting.txt</p>
		<p>dir my_dir &gt;&gt; file_and_error_listing.txt 2 &gt; &amp;1</p>
		<p>如果你对“2&gt;”感到很迷惑，这里有一个简单的办法可以帮你理解，标准流有标准的解析器：“0”代表标准输入，“1”代表标准输出，“2”代表标准错误。</p>
		<p>dir my_dir &gt; file.txt</p>
		<p>是以下命令的简写方式：</p>
		<p>dir my_dir 1 &gt; file.txt</p>
		<p>那么以下命令就是用来输出标准错误:</p>
		<p>dir my_dir 2 &gt; file.txt</p>
		<p>还有，你还可以使用符号“|”（管道命令）把一个命令的标准输出送到另外一个命令的标准输入。在以下这个标准的例子里，dir命令的标准输出通过管道输入到命令more里（输出满屏的时候自动暂停）:</p>
		<p>dir | more</p>
		<p>你还可以使用“tee”命令把标准输出同时写到文件和屏幕，</p>
		<p>dir | tee filelisting.txt</p>
		<p>tee是“T型连接器”的模拟音，在管道中的主要的用途是分流。</p>
		<p>这个部分这样都用来讲述标准输出重定向，对于标准输入重定向不像标准输出重定向那么有用，但是它可以使用以下方式实现:</p>
		<p>cat &lt; my_file</p>
		<p>还有一种叫做“直接插入式”的标准输出，可以通过“&lt;&lt;”来实现。不要管它了，看起来对我没有什么实际用处。不过，如果你真的想知道，这里有一个例子（这里“&gt;”式第二个提示符）</p>
		<p>cat &lt;&lt; my_marker</p>
		<p>&gt; my_line_from_the_keyboard</p>
		<p>&gt; another_line_from_the_keyboard</p>
		<p>&gt; my_marker</p>
		<p>除了重定向到常规文件和“过滤器”之外（如以上的例子所示），你还可以重定向到设备和其他特殊文件。看下面这些例子。</p>
		<p>重定向到设备文件的例子。以下命令将显示文件列表到第四个文本终端：</p>
		<p>dir &gt; /dev/tty4</p>
		<p>以下是一个重定向到一个特殊的FIFO(先进先出)文件的例子。该命令送信息”you are lucky”到叫做“lucky”的ICQ用户UIN 7777777 （假定你已经用你的ICQ程序连接到ICQF服务器上了）</p>
		<p>echo message 7777777 “you are lucky” &lt; ~/.licq/licq_fifo</p>
		<p>以上的例子能够工作是因为在你licq目录下的文件“licq_fifo”是一个特别的FIFO序列文件。以上这个例子，对比于在图形用户界面下的ICQ程序有什么特别有用的地方吗？举个例子，你可以写一个短的脚本带上多个信息给你的那些ICQ伙伴们：</p>
		<p>#!/bin/bash</p>
		<p>echo Messaging UIN: $1 Message: $2 Times: $3</p>
		<p># The next command puts puts your licq in the status "on-line, invisible".</p>
		<p>echo 'status *online' &gt; ~/.licq/licq_fifo</p>
		<p>c=0</p>
		<p>while [ $c -le $3]</p>
		<p>do</p>
		<p>echo message $1 $2 &gt; ~/.licq/licq_fifo</p>
		<p>c=`expr $c + 1`</p>
		<p>echo $c " "</p>
		<p>done</p>
		<p>echo 'status offline' &gt; ~/.licq/licq_fifo</p>
		<p>echo "all done"</p>
		<p>这个例子利用了licq通信模型（FIFO文件）和简单的文件重定向功能，给你一个关于如何 “自动化”licq的主意。</p>
		<p>3.4.8  Shell的特殊字符(metacharacters)<br /> <br />一般来说，这些字符对于shell有特别的含义：</p>
		<p>\ ' " ` &lt; &gt; | ; &lt;Space&gt; &lt;Tab&gt; &lt;Newline&gt; ( ) [ ] ? # $ ^ &amp; * =</p>
		<p>以下是这些字符的含义：</p>
		<p>\ ‘ “ 和 ‘ 主要用来注释，前面已经描述过 (参见 3.4.6)。</p>
		<p>&lt; 和 &gt; 主要用来输入和输出重定向</p>
		<p>| 是管道命令，管道左边的标准输出是管道右边的标准输入</p>
		<p>; 用于间隔在同一命令行上的几个命令</p>
		<p>&lt;Space&gt; 和 &lt;Tab&gt; 间用于分开命令的字符和单词</p>
		<p>&lt;Newline&gt; 完成一条命令或者一组命令</p>
		<p>( ) 用于封装需要使用不同的shell启动的命令， 比如 ( dir )</p>
		<p>{ } 用于封装要用当前shell启动的一组命令，比如 { dir }，需要空格间隔</p>
		<p>&amp; 使当前命令在后台运行（有它自己独立的进程），所以下一条命令不需要等待前一条命令结束才能开始。</p>
		<p>* 当搜索文件时，它匹配除了以“.”开头的所有文件</p>
		<p>？当搜索文件时，它匹配任何单个字符</p>
		<p>[ ] 当搜索文件时，它匹配任何在[]里面的单个字符</p>
		<p>&amp;&amp; 是用于连接两个命令的“与操作”，</p>
		<p>command1 &amp;&amp; command2， 只有当command1退出状态为0时（没有错误），command2才会被执行。比如， cat file1 &amp;&amp; cat file2 只有当file1正常显示时， file2才能被显示。</p>
		<p>||  是用于连接两个命令的“或操作”</p>
		<p>command1 || command2， 只有当command1退出状态非0时（有错误），command2才会被显示。比如：cat file1 || cat file2 只有当显示file1出错时，file2才能被显示</p>
		<p>= 指定值给变量</p>
		<p>举例，命令me=blahblah设定值“blahblah”给变量“me”，我可以输出变量名:</p>
		<p>echo $me</p>
		<p>$      预处理扩展变量名</p>
		<p>变量可以使用“=”来设定值，也可以通过预先变量设定来设置</p>
		<p>$0     被执行的shell脚本的名称</p>
		<p>$#     按位置对应的命令输入参数, $1第一个参赛， $2第二个参数， $3第三个参数…直到$9</p>
		<p>$*     扩展所有的位置参数给命令</p>
		<p>$@     扩展所有的位置参数给命令，但是当“$@”使用时，参数个别标注</p>
		<p> </p>
<img src ="http://www.blogjava.net/pdw2009/aggbug/70061.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-09-16 18:37 <a href="http://www.blogjava.net/pdw2009/archive/2006/09/16/70061.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>