实际上远不止 1%...
是的,在某种程度上你可以在 Linux 下运行 DOS 和 Windows 应用程序! 有两个模拟器非常好用:Dosemu ( http://www.dosemu.org) 和 Wine ( http://www.winehq.com)。 后者每个版本都在变得更好,可运行的应用程序列表也越来越长。 它甚至可以运行 Word 和 Excel!
在 UNIX 下,有一些广泛使用的应用程序用于归档和压缩文件。 tar
用于制作归档文件 --- 它类似于 PKZIP
或 Winzip
,但它不压缩,只归档。 要制作新的归档文件
$ tar cvf <archive_name.tar> <file> [file...]
要从归档文件中提取文件
$ tar xvf <archive_name.tar> [file...]
要列出归档文件的内容
$ tar tf <archive_name.tar> | less
你可以使用 compress
压缩文件,但这已经过时,不应该再使用,或者使用 gzip
$ compress <file>
$ gzip <file>
它创建一个带有扩展名 .Z
(compress
) 或 .gz
(gzip
) 的压缩文件。 这些程序一次只能压缩一个文件。 要解压缩
$ compress -d <file.Z>
$ gzip -d <file.gz>
RMP。
还有 unarj
、zip
和 unzip
(PK??ZIP 兼容) 实用程序。 扩展名为 .tar.gz
或 .tgz
(用 tar
归档,然后用 gzip
压缩) 的文件在 UNIX 世界中与 DOS 下的 .ZIP 文件一样常见。 以下是如何列出 .tar.gz
归档文件的内容
$ tar ztf <file.tar.gz> | less
首先:安装软件包是 root 用户的工作。 大多数 Linux 应用程序都以 .tar.gz
归档文件形式分发,其中通常包含一个命名恰当的目录,其中包含文件和/或子目录。 一个好的规则是从 /usr/local
安装这些软件包,使用命令
# tar zxf <archive.tar.gz>
然后阅读 README 或 INSTALL 文件。 在大多数情况下,应用程序以源代码形式分发,你需要编译它;通常,输入 make
然后 make install
就足够了。 如果归档文件包含 configure
脚本,请先运行它。 显然,你需要 gcc
或 g++
编译器。
其他归档文件必须从 / 解压缩; Slackware 的 .tgz
归档文件就是这种情况。 其他归档文件包含文件但没有子目录 - 注意不要搞砸了! 在安装之前,始终列出归档文件的内容。
Debian 和 Red Hat 有自己的归档格式; 分别是 .deb
和 .rpm
。 后者被许多发行版广泛使用; 要安装 rpm
软件包,请输入
# rpm -i package.rpm
回滚:按 <SHIFT + PAG UP> (灰色键) 允许你回滚几页,具体取决于你拥有的显存量。
重置屏幕:如果你碰巧 more
或 cat
一个二进制文件,你的屏幕可能会充满乱码。 要修复它,盲打 reset
或以下字符序列:echo CTRL-V ESC c RETURN
。
粘贴文本:在控制台中,请参见下文;在 X 中,单击并拖动以在 xterm
窗口中选择文本,然后单击中间按钮 (如果你有两个按钮的鼠标,则同时单击两个按钮) 进行粘贴。 还有 xclipboard
(可惜,仅适用于文本); 不要被其非常缓慢的响应所迷惑。
使用鼠标:如果你安装了 gpm
,一个用于控制台的鼠标驱动程序,你可以单击并拖动以选择文本,然后右键单击以粘贴选定的文本。 它可以在不同的 VC 之间工作。
来自内核的消息:以 root 用户身份查看 /var/adm/messages
或 /var/log/messages
,了解内核要告诉你的内容,包括启动消息。 命令 dmesg
也非常方便。
如果你想知道是否可以用 Linux 应用程序替换你旧的、值得信赖的 DOS/Win 应用程序,我建议你浏览主要的 Linux 软件仓库:ftp://metalab.unc.edu/pub/Linux。 其他好的起点是“Linux 应用程序和实用程序页面” http://www.xnet.com/~blatura/linapps.shtml,“官方” Linux 页面 http://www.linux.org,以及 http://freshmeat.net。
Linux 可以完成很多在 DOS/Windows 中繁琐、困难或不可能完成的事情。 这是一个简短的列表,可能会激起你的兴趣
at
允许你在指定时间运行程序;awk
是一种简单但功能强大的语言,用于操作数据文件 (不仅仅是)。 例如,假设 data.dat
是你的多字段数据文件,
$ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat
打印出 data.dat
中每行的第 1 和第 4 个字段,其中第二个字段包含 “abc”。cron
可用于定期执行任务,在指定的日期和时间。 输入 man 5 crontab
。file <filename>
告诉你 filename
是什么 (ASCII 文本、可执行文件、归档文件等);find
(另请参阅 目录:翻译命令 部分) 是最强大和最有用的命令之一。 它用于查找符合多个特征的文件,并对它们执行操作。 find
的一般用法是
$ find <directory> <expression>
其中 <expression> 包括搜索条件和操作。 例子
$ find . -type l -exec ls -l {} \;
查找所有符号链接文件,并显示它们指向的位置。
$ find / -name "*.old" -ok rm {} \;
查找所有匹配模式的文件并删除它们,首先征求你的许可。
$ find . -perm +111
查找所有权限与 111 (可执行) 匹配的文件。
$ find . -user root
查找所有属于 root 用户的文件。 这里有很多可能性 --- RMP。grep
在文件中查找文本模式。 例如,
$ grep -l "geology" *.tex
列出包含单词 “geology” 的 *.tex 文件。 变体 zgrep
适用于 gzipped 文件。 RMP;^a[^a-m]X{4,}txt$
匹配以 “a” 开头的行,后跟除 a-m 区间内的字符以外的任何字符,后跟 4 个或更多 “X”,并以 “txt” 结尾。 你可以将正则表达式与高级编辑器、less
和许多其他应用程序一起使用。 输入 man grep
以获取介绍。script <script_file>
将屏幕内容转储到 script_file
,直到你发出命令 exit
。 用于调试;sudo
允许用户执行一些 root 用户的任务 (例如,格式化和挂载磁盘;RMP);uname -a
给你关于你系统的信息;zcat
和 zless
可用于浏览和管道传输 gzipped 文件,而无需解压缩它们。 例如
$ zless textfile.gz
$ zcat textfile.gz | lpr
bc, cal, chsh, cmp, cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac, tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew.
RMP。
信不信由你,有一些很好的工具可以在 DOS/Windows 下提供类似 UNIX 的环境! 其中一个是用于 DOS 的 Djgpp 套件 ( http://www.delorie.com/djgpp/),而 Cygwin ( http://www.cygnus.com/cygwin) 是一个更复杂的 Win32 端口。 两者都包含与 Linux 相同的 GNU 开发工具和实用程序; 尽管如此,你不会获得相同的稳定性和性能。
如果你想体验 Linux,请试用 Djgpp。 下载并安装以下文件 (截至撰写本文时,最新版本为 2.02):djdev202.zip, bnu281b.zip, bsh1147b.zip, fil316b.zip, find41b.zip, grep22b.zip, gwk303b.zip, lss332b.zip, shl112b.zip.
。 提供了安装说明,你可以在 news:comp.os.msdos.djgpp 上找到帮助。
特别是,在 DOS/Win 下使用 bash
是一股新鲜空气。 要正确配置它,请编辑提供的文件 BOOT.BAT
以反映你的安装,然后将这些文件放在你的主目录 (在 Windows 分区中),而不是提供的那些文件
# this is _bashrc
LS_OPTIONS="-F -s --color=yes"
alias cp='cp -i'
alias d='ls -l'
alias l=less
alias ls="ls $LS_OPTIONS"
alias mv='mv -i'
alias rm='rm -i'
alias u='cd ..'
# this is _bprof
if [ -f ~/_bashrc ]; then
. ~/_bashrc
fi
PS1='\w\$ '
PS2='> '
CDPATH="$CDPATH:~"
# stuff for less(1)
LESS="-M-Q" # long prompt, silent
LESSEDIT="%E ?lt+%lt. %f" # edit top line
VISUAL="jed" # editor
LESSCHARSET=latin1 # visualise accented letters
export PS1 PS2 CDPATH LS_OPTIONS LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
你可能会遇到许多文件扩展名。 排除更奇特的扩展名 (即字体等),这是一个关于谁是谁的列表
1 ... 8
:man 页面。 使用 groff -Tascii -man <file.1>
阅读它们。arj
:用 arj
制作的归档文件。dvi
:TeX 生成的输出文件 (见下文)。 xdvi
用于可视化它; dvips
用于将其转换为 PostScript .ps
文件。gz
:用 gzip
制作的归档文件。info
:info 文件 (类似于 man 页面的替代品)。 获取 info
。lsm
:Linux 软件地图文件。 这是一个包含软件包描述的纯 ASCII 文件。ps
:PostScript 文件。 要可视化或打印它,请获取 gs
,以及可选的 ghostview
或 gv
。rpm
:Red Hat 软件包。 你可以使用软件包管理器 rpm
在任何系统上安装它。taz, tar.Z
:用 tar
制作并用 compress
压缩的归档文件。tgz, tar.gz
:用 tar
制作并用 gzip
压缩的归档文件。tex
:要提交给 TeX 的文本文件,TeX 是一个强大的排版系统。 获取软件包 tex
,它在许多发行版中都可用。texi
:texinfo 文件,可以生成 TeX 和 info 文件 (cp. info
)。 获取 texinfo
。xbm, xpm, xwd
:图形文件。Z
:用 compress
制作的归档文件。
如果你需要在 DOS/Win 和 Linux 之间交换文本文件,请注意“行尾”问题。 在 DOS 下,每行文本都以 CR/LF 结尾 (即 ASCII 13 + ASCII 10),而在 Linux 下以 LF 结尾。 如果你在 Linux 下编辑 DOS 文本文件,则每行可能都以一个看起来很奇怪的 “M” 字符结尾; DOS 下的 Linux 文本文件将显示为没有段落的公里长的单行。 有一些工具,dos2unix
和 unix2dos
,用于转换文件。
如果你的纯文本文件包含重音字符,请确保它们是在 Windows (使用记事本) 而不是在纯 DOS 下制作的; 否则,所有重音字符都会被搞砸。
是的,你可以免费拥有原本会花费很多钱的东西!
StarOffice ( http://www.sun.com/staroffice.) 是目前唯一的选择,尽管 Koffice 正在开发中 ( http://www.koffice.org)。 StarOffice 体积庞大且速度较慢,但无论如何都非常好:它提供了 Microsoft Office 中找不到的许多功能。 它还可以读取和写入 Word 和 Excel 文件,尽管转换并不总是完美的。
另一个好的软件包是 Corel WordPerfect,其免费版本可供下载。 我还需要多说什么吗? 快去获取它:http://www.corel.com。