Linux 版 (精华区)

发信人: tcpip (高级草包), 信区: Linux
标  题: 公报11-More 2¢ Tips!-1
发信站: 紫 丁 香 (Tue May  2 22:07:17 2000) WWW-POST

More 2¢ Tips!
译者:Chris Yang

------------------------------------------------------------------------------
--

新的提示:
在fvwm2中使用gmenu 
在IDE和RedHat6.0中使用iomega ATAPI Zip 
A2C Tip --Funny Signature 
HOWTO 查找脚本 
Email问题的回答: 
回答:分解一个大文件 
回答:格式化驱动器 
回答:Kodak的问题 
回答:安装的问题 
回答:DNS问题 
回答:IP链 
回答:gcc不能工作 
回答:DHCP 
回答:PPP连接 
回答:ASCII到语音的转化 
回答:Linux 硬盘的2GB限制 
回答:Linux 中的Windows98 
回答:版本 
回答:Word文件转化为PostScript 
回答:g++中包含模板文件 

------------------------------------------------------------------------------
--

 在fvwm2中使用gmenu

Sun, 01 Aug 1999 16:35:00 -0500
From: Tim Moran <tmoran@gbonline.com> 

我经常使用fvwm2, 但有时候我想转换到Enlightenment.问题是怎样维护两套菜单. 我现
在使用gnome中的菜单编辑器来做到这一点. 

对Enlightenment比较简单:
menu.cfg文件可以读取gnome的菜单

BEGIN_NEW_GNOME_MENU("GNOME_USER_SUBMENU", "ROOT", HOME_DIR"/.gnome/apps")
ADD_MENU_TITLE("User Apps")
END_MENU

对fvwm2则有些技巧.我可能用的不是最好的办法,但满足了我的要求.我重新编译
RedHat6.0的WMConfig程序.在WMConfig中有一个以#if HAVE_GNOME开始的段,我把它改为
读取我的~/.gnome/apps目录:

ret=parse_gnome_files("/home/tmoran/.gnome/apps", NULL);

然后我写了一段脚本去执行WMConfig并清除不需要的文件:

#!/bin/sh
wmconfig --output=fvwm2 --no-sysdir --rootmenu="ROOTMENU" > .fmenu
find /home/tmoran -name .order -exec rm -f {} \;
find /home/tmoran -name .directory -exec rm -f {} \;

最后我的.fvwm2rc中包含了:

AddToMenu RootMenu 
+ "&Rxvt" Exec exec rxvt
+ "" Nop
Read /home/tmoran/.fmenu
AddToMenu RootMenu 
+ "" Nop
+ "&Fvwm Modules" Popup Module-Popup
+ "" Nop
+ "Refresh Screen" Refresh
+ "" Nop
+ "&Exit Fvwm" Popup Quit-Verify 


------------------------------------------------------------------------------
--

 在IDE和RedHat6.0中使用iomega ATAPI Zip

Tue, 17 Aug 1999 11:15:40 -0700
From: rbsimon <rbsimon@earthlink.net> 

有一个简单办法可以mount你的ATAPI Zip驱动器: 

创建一个mount点. e.g. /mnt/zip 
安装可装入核心模块(loadable kernel module) 'insmod ide -scsi' 
mount 你的设备 : mount -t msdos /dev/sda4 /mnt/zip 
unmount 你的设备 : umount /dev/sda4 

------------------------------------------------------------------------------
--

 一个 2Cent 提示:有趣的签名

Wed, 18 Aug 1999 20:58:49 +0200
From: Csaba Feher <csfeher@freemail.c3.hu> 

我决定写一个短小的脚本来做一件有趣的事, 那就是利用"fortune"实现"有趣的签名". 
你可以把它用在支持签名的邮件应用程序中。我在Mandrake Linux的Netscape和pine中测
试通过. 

你需要做的是: 

fortuen程序. 我想大部分人在/usr/games下都有这个程序(如果不是在这个目录下,你得
修改脚本).如果你没有fortune程序,在你的安装盘上或附近的FTP站点上应该可以找到它

和"sh"兼容的Shell. 
脚本文件(我称之为SigChange). 
在你的home diretory下存在.signature文件.(可选) 
#!/bin/sh## sigchange#
# 一个让你的签名看起来更有意思的脚本程序
#
# 作者: Csaba Feher (csfeher@freemail.c3.hu)
#

# 首先如果你的.signature文件存在, 我们将删除它,为的是得到一个新的空文件。
if [ -f $HOME/.signature ]; then 
    rm -f $HOME/.signature
fi

# 然后用fortune产生一些有趣的签名
# “-s” 选项是因为Netscape希望签名只有四行。
# 你可以更改下面的两种类型,而我更喜欢它们...
/usr/games/fortune -s linuxcookie computers > $HOME/.signature 
S=$(cat $HOME/.signature)

# 看看你的.signature.basic文件,你可能希望它的内容出现在
# 签名的末尾。按你的喜好修改它,我建议不要太长。
O=$(cat $HOME/.signature.basic)

# 把所有的东西放在签名文件中。
echo -e "$S\n $O" > $HOME/.signature 

用法: 

1. 修改脚本的权限,让你和你允许的人能够执行它.

2. 把脚本程序拷贝到/bin或/usr/bin或其他目录下.别忘了检查你的PATH环境变量,使它
包含到SigChange脚本程序的路径.

3. 把下面的行加入到系统初始化脚本中

SigChange

Mandrake和RedHat的系统初始化脚本是/etc/rc.d/rc.sysinit .其他版本的Linux可能会
有所不同.确认后重启系统. .signature文件在每次重启系统后都会有不同的内容.

4. 如果你想.signature内容改变的更频繁一些, 可以把

SigChange

加入到/etc/rc.d中(Mandrake/RedHat).每次在runlevel改变的时候, SigChange都会被触
发.

5. 在你的home diretory下创建一个.signature.basic文件,或把你已有的.signature文
件改名为.signature.basic. 编辑文件是之含有合适的签名信息,我想你不会让你的签名
太长.

你的签名在每次reboot或runlevel改变的时候变化.


------------------------------------------------------------------------------
--

 HOWTO 文档查找的脚本程序 

Wed, 25 Aug 1999 11:56:57 -0400 (EDT)
From: Matt Willis <matt@optimus.cee.cornell.edu> 

我发现你用一个脚本很容易查找到HOWTO文档.我受其他一些程序的启发,写了一个半自动
的HOWTO文档查找脚本.

用法:howto lilo , 然后脚本就会去查找lilo, Lilo, LILO等关键词(在HOWTO目录下),
然后它找到了LILO,如果它没有找到,则会给出提示信息.

- Matt Willis

#!/bin/csh

# HOWTO Database searcher with limited smarts

setenv HOWTOBASE /usr/doc/HOWTO
setenv HOWTOPATH `find $HOWTOBASE -type d -print`
setenv FOUND 0

setenv NAME1 $1
setenv NAMELC `echo $1 | tr 'A-Z' 'a-z'`
setenv NAMEUC `echo $1 | tr 'a-z' 'A-Z'`
setenv NAMEPC `echo $1 | awk '{print toupper(substr($1,1,1)) substr($1,2)}'`

foreach NAME ($NAME1 $NAMELC $NAMEUC $NAMEPC)
    foreach k ($HOWTOPATH)
        if (-f $k/$NAME-HOWTO) then
            echo $k/$NAME-HOWTO
            less -r $k/$NAME-HOWTO
            setenv FOUND 1; break; break
        else if (-f $k/$NAME) then
            echo $k/$NAME
            less -r $k/$NAME
            setenv FOUND 1; break; break
        else if (-f $k/$NAME-HOWTO.gz) then
            echo $k/$NAME-HOWTO.gz
            gunzip -c $k/$NAME-HOWTO.gz | less -r
            setenv FOUND 1; break; break
        else if (-f $k/$NAME.gz) then
            echo $k/$NAME.gz
            gunzip -c $k/$NAME.gz | less -r
            setenv FOUND 1; break; break
        endif
    end
end

if ($FOUND == 0) then
    echo "Was unable to find '$1' .. possible matches:"
    # use case-insensitive name search (iname)
    setenv MATCH `find $HOWTOBASE -iname ''\*$1\*'' -print` 
    if ("$MATCH" == "") then
        echo "Nothing (sorry)!"
    else
        foreach k ($MATCH)
            echo $k | sed 's/^.*\// /'
        end
    endif
endif 


------------------------------------------------------------------------------
--

下面的部分是回答上期的Mailbag卷的一些问题 


------------------------------------------------------------------------------
--

 答:分解一个大文件 

Wed, 04 Aug 1999 13:41:02 +0200
From: Finn Jespersen <fje@ficsgrp.com> Laurent Mulot (Laurent.Mulot@anp.lip6.f
r) wrote: 

我想分解一个3M的文件,存在软盘上. 该文件已经被压缩了,有没有Linux命令或别的软件
可以分解它? 

每种Linux版本都和GNU工具一起发行.其中split工具就可以做到这一点.请阅读split的
man page或info split.

把一个文件分解成软盘可以容纳的小文件

split -b1440k a_whopping_big_file chunk

将会产生chunkaaa, chunkaab, chunkaac等文件。这些文件都可以容纳在一张软盘上。

要把这些小文件重新合成原来的大文件: 

cat chunk* > a_whopping_big_file 

Hope this helps.
Finn 

Martin Bentlnues <na1374@fen.baynet.de> 建议: 

如果源系统和目的系统均为Linux且都有GNU tar的话,则很容易做到这一点。假设软盘为
3.5”盘:

将大文件拷贝到软盘: 

tar -c -f /dev/fd0 -L1440K -M 

从软盘拷贝到目标机: 

tar -x -f /dev/fd0 -L1440K -M 

tar命令将会在一张软盘被写满的时候提示你插入另一张软盘。 

注意事项:
软盘的原有内容在无任何警告信息的情况下被覆盖。软盘没有可用的文件系统,软盘只是
作为存储“块”的磁带。如果你还想使用这些软盘的话,就必须在某个操作系统下将这些
软盘格式化(DOS,LINUX)。 

Best regards,
Martin Benthues 

Brian <vocalist@home.com> 的建议: 

简单地说,你可以用split命令把一个大文件分解成几个小文件,一旦把这些小文件拷贝
到软盘,你就可以携带这些文件。如果你想得到原来的文件,你可以把它们拷贝到目标机
的硬盘上,然后用cat命令把小文件合成原来的一个大文件。 

详细的例子:我有一个292592byte大小的文件lasg-0-0-0.pdf在我的硬盘上。我想把它分
解成小文件并存储到软盘上。我指定小文件的大小为1K(split -c1K).split命令的第二
个参数是原文件名,第三参数是输出文件的前缀。前缀后面跟一个不重名的字串,保证你
在连接这些小文件时可以得到原来的大文件。我测试了以下命令: 

cat lasg-0-0-9.pdf[a-z][a-z]* >tmp.lasg-0-0-9.pdf 

得到的文件与原文件一致。 

% split -C1k lasg-0-0-9.pdf lasg-0-0-9.pdf%ls -al Total 655
drwxrwxr-x 2 vocalist users 9216 Aug 21 08:53 .
drwxr-xr-x 20 vocalist users 2048 Aug 21 08:50 ..
-rw-rw-r-- 1 vocalist users 0 Aug 21 08:53 data
-rw-rw-r-- 1 vocalist users 292529 Aug 21 08:50 lasg-0-0-9.pdf
-rw-rw-r-- 1 vocalist users 898 Aug 21 08:52 lasg-0-0-9.pdfaa
-rw-rw-r-- 1 vocalist users 738 Aug 21 08:52 lasg-0-0-9.pdfab
-rw-rw-r-- 1 vocalist users 1024 Aug 21 08:52 lasg-0-0-9.pdfac
-rw-rw-r-- 1 vocalist users 1024 Aug 21 08:52 lasg-0-0-9.pdfad
[Lots and lots of lines not shown. -Ed.]
-rw-rw-r-- 1 vocalist users 1020 Aug 21 08:52 lasg-0-0-9.pdfno
-rw-rw-r-- 1 vocalist users 1000 Aug 21 08:52 lasg-0-0-9.pdfnp
-rw-rw-r-- 1 vocalist users 118 Aug 21 08:52 lasg-0-0-9.pdfnq 

Jimmy O'Regan <joeregan@tinet.ie> 的建议: 

你可以通过键入"man split"或"info split"命令得到更多关于split的信息。在你的例子
中你可以这样做: 

split -b 1380K your.file your.file 

这样你可以把your.file分解成大小为1.38M的小文件,例如your.file.aa, 
your.file.ab your.file.ac。

你可以重新里连接它们: 

cat your.file.aa your.file.ab your.file.ac >yourfile 

J. 

Remco Schellekens <merty@xs4all.nl> 的建议: 

dd 的使用技巧。 

用下面的形式使用dd: 

dd if=your-input-file of=first-out-file skip=0 count=2840
dd if=your-input-file of=second-out-file skip=2840 count=2840 
dd if=your-input-file of=third-out-file skip=5680 count=2840 

等等....

假设块的大小是512个字节,所以2840个块大约是1.4兆。 

恢复原文件: 

cat first-out-file > your-file
cat second-out-file >> your-file 

当然,写一个脚本程序去执行这些命令将会更加简单。 

Roland Smith <rsmith@xs4all.nl> 的建议: 

Zip你的原文件并用zipsplit命令将压缩后的文件分解成几个可以存入软盘的小文件。 


------------------------------------------------------------------------------
--

 答:格式化驱动器 

Tue, 03 Aug 1999 22:43:10 +0100
From: Murray Gibbins <wibble@morpheus.ednet.co.uk> 

如果你的LS120对应的设备文件是/dev/hdb, 你可以试试 

mksf -t ext2 /dev/hdb 

或其他的形式。 

Yours
wibble 



--
"这一千多年没写诗了?"
"写了, 不过只写了两句."
"千年得两句, 一定是万古丽句了. 念来听听."
"好吧, 我现丑了" 太白星清了清嗓子, 浑厚的男中音在天庭响起:
大海啊, 都是水;
骏马啊, 四条腿;

※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: freesrc.hit.edu] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.610毫秒