📄 00000001.htm
字号:
echo "Copying files in ~/bak... " <BR> for name in $* <BR> do <BR> cp ${name} ~/bak <BR> done <BR> <BR>EXAMPLE 4: fmta <BR> <BR> #!/bin/sh <BR> echo "I remind you that only root can format disks" <BR> fdformat /dev/fd0H1440 <BR> mkfs -t ext2 -c /dev/fd0H1440 <BR> echo "disk formatted." <BR> <BR>EXAMPLE 5: mnta <BR> <BR> #!/bin/sh <BR> echo "I remind you that only root can mount disks" <BR> mount -t msdos /dev/fd0 /mnt <BR> echo "don't forget to umount when you've done." <BR> <BR>5.2. 自己写个 C 程式 <BR> <BR>你应该不会期待在 Linux 有 GW/Qbasic 吧?? 在 Un*x 中, 系统内定的语言是 C, <BR>不管你是喜欢还是讨厌它. 当然还有其它的语言可以用 (FORTRAN, Pascal, Lisp, Bacic <BR>.. 但没有 Turbo Pascal ^Q^ ). <BR> <BR>假设你懂得 C.. 如果你曾经被 Turbo C++ 或是它在 DOS 下的兄弟们宠爱过, 那这里 <BR>有两句话恐怕不啻晴天霹雳: Linux 下的 C 编译器叫作 gcc, 但, 它没有 IDE 环境, <BR>没有线上求助系统, 没有整合式除错器,..等等. 只有一个命令列的编译器, 但强大 <BR>且有效率. 以下这个命令可以编译你已写好的 hello.c : <BR> $ gcc hello.c <BR>这样会产生一个 a.out 的执行档. 如果你想让 gcc 造出其它档名的执行档, 键入 <BR> $ gcc -o hola hello.c <BR>要联结一个程式库, 你要在 gcc 後加上一个 -l<arg> 的选项. 比如说要联结 math <BR>library <BR> $ gcc -o mathprog mathprog.c -lm <BR>( -l<arg> 会迫使 gcc 联结 /usr/lib/lib<arg>.a; 因此, -lm 会联结 <BR>/usr/lib/libm.a) <BR> <BR>对小程式来说, 这是一个好方法. 但是若程式是由数个 source files 组成, 我们可能 <BR>会需要 make 这个程式. 假设我们已经写好一个语法分析程式 parser.c, 它 #include <BR>了两个 .h : parser.h , xy.h. 现在, 有个 calc.c 需要使用到 parser.c 中的功能. <BR>这样该怎麽办?? <BR> <BR>我们可以写一个叫作 makefile 的档案, 告诉编译器所有 source 和 object files <BR>间的关系, 在这个例子里, <BR> <BR> # This is makefile, used to compile calc.c <BR> # Press the <TAB> key at appropriate positions! <BR> <BR> calc: calc.o parser.o <BR> <TAB>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> <TAB>gcc -c calc.c <BR> # calc.o depends on two source files <BR> <BR> parser.o: parser.c parser.h xy.h <BR> <TAB>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 , 并且处理每天的工作实在不是一件好事情. 因为这个帐号相当 <BR>危险, 应该仅供系统维护时使用. 下面这个命令可以为你自己建立一个一般性的帐号. <BR>用 root login, 再键入 <BR> # adduser <BR>然後输入系统询问的资料. (如果有你看不懂的问题, 请按下 <RET>. 这样系统将会 <BR>使用预设的资料.) <BR> <BR>6.2. 建立虚拟记忆体 <BR> <BR>虽然 Linux 理论上只要 2M 就可以执行, 但是愈多的记忆体会使工作更顺利. X Window <BR>System 会要求至少 8M RAM , 否则它就罢工. 要使用虚拟记忆体来增加可用记忆空间, <BR>请以 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 & gzip <BR> <BR>在 Un*x 中有著几个被广泛使用於保存或压缩档案. tar 是一个保存档案的工具. 它有 <BR>点类似 PKZIP 但并不会作压缩的工作 -- 它只是将许多档案包装成一个而已: <BR> $ tar -cvf <archive_name.tar> <file> [file...] <BR>把 tar file 解开, 要用以下的命令: <BR> $ tar -xpvf <archive_name.tar> [file...] <BR>如果欲检视 tar file 中的档案列表, <BR> $ tar -tf <archive_name.tar> | less <BR>用 compress 或是 gzip 可以压缩档案. 压缩後档案就无法再使用除非解开来: <BR> $ compress <file> <BR>or: <BR> $ gzip <file> <BR>这样建立出来的压缩档会以 .Z (compress) 或 .gz (gzip) 作为延伸档名. 这些档案 <BR>无法再被 compress 或 gzip 再压缩. 想将档案解压缩的话, 请用 <BR> $ compress -d <file> <BR>or <BR> $ gzip -d <file> <BR> <BR>请参阅 Man pages. <BR> <BR>其它像是 arj ,zip 或是 unzip (PK??ZIP 相容) 的工具在 Linux 下一样找得到. <BR>在 Un*x 的世界里, .tar.gz 或 .tgz 的档案就像 DOS 下的 .ZIP 一般普遍. <BR>以下这个命令可以浏览 .tar.gz 档案中的档案列表: <BR> $ gzip -dc <file.tar.gz> | tar tf - | less <BR> <BR> <BR>6.4. 安装应用程式 <BR> <BR>大多数的 Linux 软体都以 .tar.gz 的方式包装; 有些软体就可以在 / 下用这个命令 <BR>完成安装: <BR> # gzip -dc <file.tar.gz> | tar xvf - <BR>档案会在正确的目录中解压缩 (目录亦会自动建立好). 看来不错, 不是吗?? :) <BR>Slackware distribution 的使用者(其实其它的 distribution 也不差, 像是 redhat) <BR>就有一个满有亲和力的安装程式 pkgtool. <BR> <BR>其它的软体可能有它们自己的安装方试; 你可以找到说明的文件. 此外, 有些软体 <BR>是以 C 或 C++ source code 的方式来制成, 并未编成执行档. 这时就必须自行编译. <BR>绝大多数的情形你只要打 <BR> # make <BR> <BR>很明显的, 你会需要 gcc -- 这个应该在所有的 distributions 中都有. 但是记住: <BR>请用 root 身份完成以上这些软体安装的工作. <BR> <BR>6.5. 你不能不知道的小技巧 <BR> <BR>让系统帮你键入命令: 按下 <TAB> 可以让系统自动补齐命令中未打完的字. 例如: <BR>gcc this_is_a_long_name.c ; 只要键入 gcc thi<TAB> 就够了. (当有数个使用以上 <BR>相同字元开始的档案时, 你必需给与一定数量的字元使系统可以判定到底你想要的是哪 <BR>一个). <BR> <BR>回卷: 按 SHIFT + PAG UP 可以使萤幕回卷数页, 这视你拥有的 Video RAM 多寡而定. <BR>更进一步的说, 当你要使用下面这个命令 <BR> $ script <script_file> <BR>这样会使得在萤幕上出现的任何东西都被复制到 script_file 中, 直到你使用 exit <BR>这个命令为止. 这样就可以在稍後再来检视刚才的内容. <BR> <BR>重设萤幕: 如果你不慎 more 或是 cat 一个像可执行档的档案, 我想你的萤幕应该会 <BR>充满了奇怪的符号. 用 reset 就可以解决这个问题: <BR> $ reset <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -