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毫秒