⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0005.htm

📁 LINUX的操作系统分析文件和使用文件
💻 HTM
📖 第 1 页 / 共 3 页
字号:
library <br>    $ gcc -o mathprog mathprog.c -lm <br>( -l&lt;arg&gt; 会迫使 gcc 联结 /usr/lib/lib&lt;arg&gt;.a; 因此, -lm 会联结 <br>/usr/lib/libm.a) <br><br>对小程式来说, 这是一个好方法. 但是若程式是由数个 source files 组成, 我们可能 会需要 make 这个程式. 假设我们已经写好一个语法分析程式 parser.c, 它 #include 了两个 .h : parser.h , xy.h. 现在, 有个 calc.c 需要使用到 parser.c 中的功能. 这样该怎麽办?? <br><br>我们可以写一个叫作 makefile 的档案, 告诉编译器所有 source 和 object files 间的关系, 在这个例子里, <br><br>    # This is makefile, used to compile calc.c <br>    # Press the &lt;TAB&gt; key at appropriate positions! <br><br>    calc: calc.o parser.o <br>    &lt;TAB&gt;gcc -o calc calc.o parser.o -lm <br>    # calc depends on two object files: calc.o and parser.o <br><br>    calc.o: calc.c parser.h <br>    &lt;TAB&gt;gcc -c calc.c <br>    # calc.o depends on two source files <br><br>    parser.o: parser.c parser.h xy.h <br>    &lt;TAB&gt;gcc -c parser.c <br>    # parser.o depends on three source files <br><br>    # end of makefile. <br><br>储存, 然後键入 <br>    $ make <br>以便编译程式. 或者, 这个档案被存在 calc.mak 里, 那麽就必需 <br>    $ make -f calc.mak <br>当然, 请参阅 Man pages 以得到更多的资讯. <br><br>此外, 某些函数的用法在 man pages 可以找得到, 例如 <br>    $ man printf <br><br><br>第六节: 剩下的 1% <br><br>6.1. 使自己暂时脱离 root 的身份 <br><br>用 root 来 login , 并且处理每天的工作实在不是一件好事情. 因为这个帐号相当 危险, 应该仅供系统维护时使用. 下面这个命令可以为你自己建立一个一般性的帐号. 用 root login, 再键入 <br>    # adduser <br>然後输入系统询问的资料. (如果有你看不懂的问题, 请按下 &lt;RET&gt;. 这样系统将会 使用预设的资料.) <br><br>6.2. 建立虚拟记忆体 <br><br>虽然 Linux 理论上只要 2M 就可以执行, 但是愈多的记忆体会使工作更顺利. X Window System 会要求至少 8M RAM , 否则它就罢工. 要使用虚拟记忆体来增加可用记忆空间, 请以 root 身份执行: <br>    # dd if=/dev/zero of=/swapfile bs=1024 count=8192 <br>    # mkswap /swapfile 8192 <br>    # sync <br>    # swapon /swapfile <br>接著把最後一行加入 /etc/rc.d/rc.local 中, 使每次开机时就会自动开启 swap. <br><br>6.3. 使用 tar &amp; gzip <br><br>在 Un*x 中有著几个被广泛使用於保存或压缩档案. tar 是一个保存档案的工具. 它有 点类似 PKZIP 但并不会作压缩的工作 -- 它只是将许多档案包装成一个而已: <br>    $ tar -cvf &lt;archive_name.tar&gt; &lt;file&gt; [file...] <br>把 tar file 解开, 要用以下的命令: <br>    $ tar -xpvf &lt;archive_name.tar&gt; [file...] <br>如果欲检视 tar file 中的档案列表, <br>    $ tar -tf &lt;archive_name.tar&gt; | less <br>用 compress 或是 gzip 可以压缩档案. 压缩後档案就无法再使用除非解开来: <br>    $ compress &lt;file&gt; <br>or: <br>    $ gzip &lt;file&gt; <br>这样建立出来的压缩档会以 .Z (compress) 或 .gz (gzip) 作为延伸档名. 这些档案 无法再被 compress 或 gzip 再压缩. 想将档案解压缩的话, 请用 <br>    $ compress -d &lt;file&gt; <br>or <br>    $ gzip -d &lt;file&gt; <br><br>请参阅 Man pages. <br><br>其它像是 arj ,zip 或是 unzip (PK??ZIP 相容) 的工具在 Linux 下一样找得到. 在 Un*x 的世界里, .tar.gz 或 .tgz 的档案就像 DOS 下的 .ZIP 一般普遍. 以下这个命令可以浏览 .tar.gz 档案中的档案列表: <br>    $ gzip -dc &lt;file.tar.gz&gt; | tar tf - | less <br><br><br>6.4. 安装应用程式 <br><br>大多数的 Linux 软体都以 .tar.gz 的方式包装; 有些软体就可以在 / 下用这个命令 完成安装: <br>    # gzip -dc &lt;file.tar.gz&gt; | tar xvf - <br>档案会在正确的目录中解压缩 (目录亦会自动建立好). 看来不错, 不是吗?? :) <br>Slackware distribution 的使用者(其实其它的 distribution 也不差, 像是 redhat) <br>就有一个满有亲和力的安装程式 pkgtool. <br><br>其它的软体可能有它们自己的安装方试; 你可以找到说明的文件. 此外, 有些软体 是以 C 或 C++ source code 的方式来制成, 并未编成执行档. 这时就必须自行编译. 绝大多数的情形你只要打 <br>    # make <br><br>很明显的, 你会需要 gcc -- 这个应该在所有的 distributions 中都有. 但是记住: <br>请用 root 身份完成以上这些软体安装的工作. <br><br>6.5. 你不能不知道的小技巧 <br><br>让系统帮你键入命令: 按下 &lt;TAB&gt; 可以让系统自动补齐命令中未打完的字. 例如: gcc this_is_a_long_name.c ; 只要键入 gcc thi&lt;TAB&gt; 就够了. (当有数个使用以上 相同字元开始的档案时, 你必需给与一定数量的字元使系统可以判定到底你想要的是哪 <br>一个). <br><br>回卷: 按 SHIFT + PAG UP 可以使萤幕回卷数页, 这视你拥有的 Video RAM 多寡而定. <br>更进一步的说, 当你要使用下面这个命令 <br>    $ script &lt;script_file&gt; <br>这样会使得在萤幕上出现的任何东西都被复制到 script_file 中, 直到你使用 exit 这个命令为止. 这样就可以在稍後再来检视刚才的内容. <br><br>重设萤幕: 如果你不慎 more 或是 cat 一个像可执行档的档案, 我想你的萤幕应该会 充满了奇怪的符号. 用 reset 就可以解决这个问题: <br>    $ reset <br>或是依序键入 CTRL-V ESC c RETURN. <br><br>来自 kernel 的讯息: 看一下 /var/adm/messages (以 root 身份), 里面包含了 kernel 要告诉你的资讯, 其中有启动时出现的讯息. <br><br>6.6. 一些有用的程式 <br><br>最重要的一件事就是, 要怎样找到这些软体. 我想大家都已经知道如何在网路中驰骋, 以及使用 archie 和 ftp. 这里列出三个最重要的 Linux 相关 ftp site: <br>sunsite.unc.edu, TSX-11.mit.edu, nic.funet.fi . 请使用距离你比较近的 mirror. <br>(ps. 国内的 nctuccca.nctu.edu.tw, linux.cis.nctu.edu.tw, ftp.ncu.edu.tw..etc) <br><br>at 可以让你在特定的日期及时间执行程式 <br><br>delete-undelete 就像它们的名字一样 :) <br><br>df 会告诉你有关你的硬碟的资讯; <br><br>dosemu 能执行一些 DOS 的程式 (但非全部..ps. 我想应该是大多数了..) - 包含 Windows 3.x , 但需作些调整; <br><br>file &lt;filename&gt; 告诉你 &lt;filename&gt; 是哪一种档案 (ASCII 文字档, 可执行档, 包装後 <br>的档案 ..等等); <br><br>find (参看 2.2 节) 是最强且有用的工具之一. 它能够找寻档案系统中, 所有符合 搜寻条件的档案, 并且对它作处理. 最常见的使用方法是: <br>    $ find &lt;directory&gt; &lt;expression&gt; <br>这里的 &lt;expression&gt; 包含了搜寻的标准和对目标档案的处理动作. 例如: <br>    $ find . -type l -exec ls -l {} \; <br>会找到所有的 symbolic links 并且显示它们联结的目的地. <br>    $ find / -name &quot;*.old&quot; -ok rm {} \; <br>则找寻所有符合 *.old 型式的档案, 然後询问你是否要删除它. <br>    $ find . -perm 755 <br>搜寻所有存取权限为 755 的档案 (即可执行档) <br>    $ find . -user root <br>会找到拥有者为 root 的档案. 其它还有很多的用法, 当然, RMP :p <br><br>grep 可以在档案中找寻一个字串. 比如说 <br>    $ grep -l &quot;geology&quot; *.tex <br>将列出所有包含 &quot;geology&quot; 这个字的 tex 档. 其馀请 RMP; <br><br>gzexe 将可执行档压缩, 但仍可执行; <br><br>joe 是一个很棒的编辑器. 用 jstar 可以启动它 -- 你会得到一个看起来像, 用起来 也像 WordStar 或是它的兄弟姊妹如 DOS editor 的编辑器; <br><br>lpr &lt;file&gt; 可以在背景列印档案. 用 lpq 可查看在列印序列中排队的情形; <br><br>mc -- 一个很好用的 file manager; <br><br>pine , 一个不错的 e-mail 程式; <br><br>sudo 使一般使用者做某些 root 才能做的事 (像是 format 或是 mount .. RMP :p ) <br><br>uname -a 会告诉你系统目前的状况; <br><br>zcat 和 zless 可以帮助你阅读被 gzip 压缩的文字档 - 却不用先将它解压. <br>    $ zless textfile.gz <br>    $ zcat textfile.gz | lpr <br><br>6.6. 常用的档案, 与它们的延伸名称, 相关程式 <br><br>在 Linux 里你会遇到许多型式的档案 -- 它们都有不同的延伸名称. 以下是一个大 <br>略的列表: <br><br>..1 ... .8: Manual Pages, 由 man 来读取. <br><br>..arj: arj 产生的压缩档. <br><br>..dvi: TeX (後述) 产生的输出档. 用 xdvi 就可以阅读; dvips 可以用来将 .dvi <br>转换成 .ps 的 postscript 档. <br><br>..gif: 图型档. 用 seejpeg 或是 xpaint. <br><br>..gz: gzip 的压缩档. <br><br>..info: info 档 ( man page 的一种型式). 由 info 来读取. <br><br>..jpg,.jpeg: 图型档. 使用 seejpeg. <br><br>..ps: postscript file. 用 gs , 或是 ghostview 来阅读. (great !!) <br><br>..tgz,.tar.gz: 由 tar 包装, 再由 gzip 压缩的档案. <br><br>..tex: 经过 TeX 处理的文字档, TeX 是一个强大的排版程式. 许多的 distributions <br>都附有 tex. <br><br>..texi: texinfo 档. (和 .info 类似). texinfo 使用之. <br><br>..xbm,.xpm,.xwd: 图形档. 用 xpaint. <br><br>..zip: 由 zip 压缩包装的档案, 请使用 zip 和 unzip. <br><br>..Z: 由 compress 压缩的档案. <br><br><br>剧终 -- 现在... <br><br>恭喜你!! 你已经对 Un*x 有了最初步的认识, 而可以准备用 Un*x 来进行更多的工作了. 但仍要提醒你, 这样仍然不够, 你仍然需要多一点 Linux 的使用及尝试的磨链. 不过, 如果你只不过是要使用一些应用程式, 那麽以上的讨论我猜已经足够了..:) 虽然我现在 仍然对 Linux 懂得不多, 但是 Linux 已经可以帮我处理许多每天必需的工作了! <br><br>我相信你一定会迷上 Linux , 进而更进一步的学息它 - 每个人都这样的. 我猜, 有了 Linux , 你一定不会想念 DOS ! 虽然我并不敢奢望有太多的读者, 但我仍深切 的希望能够对阅读本文的读者有所帮助 :) <br><br>Disclaimer <br><br><br><br>&quot;From DOS to Linux - Quick!&quot; was written by Guido Gonzato, &lt;Guido@ibogfs.cineca.it&gt;, April 1996. Many thanks to Matt Welsh, the author of &quot;Linux Installation and Getting Started&quot;, to Ian Jackson, the author of &quot;Linux frequently asked questions with answers&quot;, to Giuseppe Zanetti, the author of &quot;Linux - Il sistema operativo FREE SOFTWARE per personal computer 386/486&quot;, to all the folks who emailed me suggestions, and especially to Linus Torvalds and GNU who gave us Linux. <br><br><br><br>This document is provided &quot;as is&quot;. I put great effort into writing it as accurately as I could, but you use the information contained in it at your own risk. In no event shall I be liable for any damages resulting from the use of this work. <br><br><br><br>This document can be freely distributed as long as: <br><br>- - it is distributed in its entirety, including this disclaimer and permission notice; <br>- - no money is charged for it; <br>- - it is not modified in any way without my permission. <br><br>Translations, prints, re-editings, or extractions from this document must be approved by me before being distributed. For any requests, suggestions, flames, etc., feel free to contact me. If you don't have e-mail access, my snail-mail address is: <br><br>Guido Gonzato - Via Monte Ortigara 19/a, 37127 Verona - Italy <br><br>Enjoy life! <br><br>               Guido  =8-) <br><br>中译感言 <br><br>看了这麽多前辈们累积的心血, 心中总是有点不安.. 偶然间有这个机会做一点翻译的 工作, 还是万万不足以表答小弟心中对前辈们的感谢.. <br>希望这篇文章能够对您有所帮助. 小弟第一次从事翻译的工作, 谬误在所难免. <br>关於本文的译文若是您有任何的疑问或是建议, 您可以到 freebsd.ee.ntu.edu.tw 的 Interpret 板讨论, 或是 e-mail <br>b84089@cctwin.ee.ntu.edu.tw 或 <br>mglow.bbs@bbs.ee.ntu.edu.tw 告诉我, 小弟一定会尽力给予满意的答覆.. <br>另外, 本文尽可在 TANet 上流传而不需作者(就是我啦)的同意.. 但如欲移作商业用途, 还是请先知会一下..:) <br><br>                        <ahref="mailto:mglow.bbs@bbs.ee.ntu.edu.tw">mglow.bbs@bbs.ee.ntu.edu.tw</a> <br>                                   on 970211 </p><hr size="0"><p align="center"><a href="linux.htm">返回</a></p></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -