荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: fyly@bbs.pku.edu.cn (风鹣沧月), 信区: Linux
标  题: Linux使用经验(原创)
发信站: 北大未名站 (Wed Mar  5 17:51:17 2003)
转信站: SZU!news.tiaozhan.com!news.happynet.org!PKU


Linux使用小经验[原创]



    寒假买了些零件插在一块板子上,接上电线......嘿,总算是有了自己的电脑。

    光有电脑不行吧?系统是少不了的! 先装XP吧,Pro+sp1,嗯,easy!
    接下来才是我正真想做的事情--装Liunx。
    手头没有我喜欢的Mandrake和Debian,只有红旗桌面版3.0,商业版的。
    还有Tomlinux,内核老了点!  先将就着装红旗吧!
    安装一路顺利,驱动也毫无问题!  很快Lilo就引导着Windows和Linux在我的机

    里飞奔了!不过关于这个主引导程序,也许有很多人总觉得不尽如人意。



   一,关于多系统的引导问题


    大多Linux系统使用的都是LILO多重启动管理器,也有使用其它启动管理器
    的(蓝点Linux2.0使用的就是grub启动管理器)。
    对于Lilo启动管理器,可以编辑/etc/lilo.conf文件,其中文字行
    以"image"开头的部分引导Linux系统,以"other="开头的部分引导
    其它*作系统。如果将以"other="开头描述引导其它*作系统的部分删除,重新启
动,
    计算机就只能进入Linux系统了。如果想恢复计算机可以引导其它*作系统的状态

    只要重新编辑/etc/lilo.conf文件,恢复以"other="开头的描述部分即可。
    对于gurb启动管理器,可以编辑/boot/grub/menu.lst文件,
    其中以"title"开头的文字行就是计算机启动时出现的菜单选项,比如将描述引
导其它
    *作系统的部分删除,只保留引导Linux系统的部分,重新启动,计算机将只显示
引导
    Linux系统的选项,计算机只能进入Linux系统。恢复计算机能引导其它*作系统
的状
    态可以重新编辑/boot/grub/menu.lst文件,添加以开头描述引导其它*作系统的
部分即可。
    那么如果想启动时直接进入KDE环境呢?
    要想让Linux启动时直接进入KDE桌面环境,可对文件/etc/inittab进行修改。用
文本编辑器打开
    文件/etc/inittab,找到如下的一行文字:
               id: 3:  initdefault:
    把它改为:
               id: 5: initdefault:

    大家可以动脑子想一想,让Lilo在启动的时候,可以选择正常启动、直接启动KDE
、安全模式的
    lilo这样一个该怎样做呢? :) 自己动手试试吧?

    当然了,一般情况下都是后装linux,让lilo或者grub引导Windows,但是如果你
有特殊情况,不
    能或者不想让lilo或者grub引导Windows而是想让熟悉的Windows来引导liunx呢
? 应该怎么做?
    其实也不难!
    下面我以Xp为例,2000和此类似,不赘述。
    首先在Linux中设定Lilo文件,要将它装到你Linux 的root分区。
    然后在linux下在c盘产生一个文件BOOTSECT.LIN:
    为行文方便,此处先假设Linux的root分区是/dev/hda3/,我们必须用'dd'来产
生引导记录映象文件。
    以root Login后,按以下做:
    # dd if=/dev/hda3 bs=512 count=1 of=/dosc/bootsect.lin
    如果没有能将FAT C: partition mount成为 /dosc,譬如说由于这个分区被以NTFS
方式格式化,
    不能访问这个分区。此时可以将BOOTSECT.LIN写到一个以DOS方式格式化的磁盘
中,或者Xp能读的
    其它什么分区也可以。
    然后进入XP,打开“控制面板”,进入“系统---高级”,在“启动和故障恢复”
里面点击“设置”,
   再点“编辑”,你将看到Windows的boot程序!

    [boot loader]
    timeout=4
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional
" /fastdetect

    这么简单的英语,你猜也能猜到大概的意思吧,把这个文件改成:

    [boot loader]
    timeout=4
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional
" /fastdetect
    C:\BOOTSECT.LIN="Linux"

   保存设置,重起机器,你将激动地看到Windows引导着Linux.



   二,访问权限管理


   在Windows下,对目录或文件的属性进行一定的修改,可以添加它们的只读、隐藏
、存档等属性,以免它们
   被误删除或者被某些用户恶意破坏。Linux*作系统也具有类似功能.
   1.对文件或目录的读、写、执行权限的修改
   命令格式:chmod -R mode name
   name——文件名或目录名;
   mode——3个8位数字或字母ugo+rwx的组合:u——当前用户g——工作组,o—
—其他用户;
                                           r——读(read)w——写(write),
x——执行(execute);
   如:chmod 700 filename'      对于文件filename,只有所有者具有读、写和执
行的权利;
       chmod 755 dirname'       对于目录dirname,所有用户都具有读和执行的
权利,但只有所有者具有修改的权利;
       chmod u+w filename'      增加当前用户对文件filename的修改权利;
       d.chmod g-x filename'    删除工作组用户对文件filename的执行权利;
       chmod o+r filename'      增加其他用户对文件filename的读取权利;
   2.对文件或目录所有权的修改
      命令格式:chown -R usrename name
      name——文件名或目录名;
      如: chown -R usrename dirname'     将目录dirname及其子目录下的所有
文件改为username用户所有;
           chown -R usrename filename'    将文件filename改为username用户所
有;
   3.对文件或目录工作组所有权的修改
      命令格式:chgrp -R 工作组名 name
      name——文件名或目录名;
      如: chgrp -R group dirname'      将目录dirname及其子目录下面的所有
文件改为group工作组所有;
       chgrp -R grop filename'将文件filename的工作组所有权改为group工作组
所有;
   4.查看当前用户所属工作组名命令
    命令格式:groups



    三,命令名称的修改


    在讲到这个问题之前,我先和大家说点有意思的事情。一个世纪前,打字高手由
于击键过快,经常把打字键柄搅在一起,
    工程师设计了QWERTY键盘,于是问题得到了解决,因为没人能在这样的键盘上打
得快。如今,计算机的键盘不再有机械键柄,
    但QWERTY的键盘布局仍然在使用。 在上个世纪六、七十年代,也就是Unix开始
发展的时期,人们用的键盘是Teletype的键盘,
    和今天这种基于反馈原理、只需要关闭一个微开关的键盘不同,你必须用足力气
揿下Teletype的键至少半英寸,以发动一个
    类似自行车上用的小型发电机,在上面*作要冒指骨骨折的危险。 如果当时Dennis
和Ken用的是Selectric而不是Teletype,
    可能今天我们敲的将不是”cp”和”rm”而是”copy”和”remove”了。(Ken
 Thompson曾被问道如果他能重新设计UNIX他
    将做什么修改,他回答说:“我会在creat命令后加上个e。”)-------------
--------------------*^_^*
    是的,我永远也不能理解cp、rm、ls这类两字母命令的“简洁和优美”。 如果
希望使用DOS下那种直观直接的命令方式,怎么
    办呢?  好办!! 这就要用到“alias”(别名)命令。比如我们要将Linux中
拷贝文件的命令cp改为DOS下的拷贝文件命令
    copy,只需在命令提示符下键入alias copy='cp'即可。
    1、将cd ..改为cd..
    在Linux中退回上一级目录的命令为cd ..  ,cd和..之间有一个空格,而DOS下返
回上一级目录的命令为cd..  ,cd和..之间是
    没有空格的,用惯了DOS下的cd..命令怎么办,用alias cd..='cd ..'命令即可

    2、化繁为简
    在Linux下创建目录的命令为:mkdir,而DOS下创建目录的命令为:md,明显的DOS
下的md命令来得简单,我们只需执行
      alias md='mkdir'命令即可。
    3、快速登录Windows所在分区
    在Linux下如果要访问Windows所在分区,需要执行mout/dev/hda1/mnt/c命令,
如何要访问该分区,还要执行cd/mnt/c命令进
    入该目录,如果希望像在DOS下一样,打一个"c"就直接切换到Windows所在的分
区,只需执行
         alias c ="mout/dev/hda1/mnt/c" & cd/mnt/c'。
    大家可能注意到,在这个命令中我用了“&”来连接两个命令,它的作用是先执
行前一个命令,再执行下一个命令。这个“&”
    符号我们在c语言中经常用到,它表示逻辑与的意思。
    以上利用别名确实可以让Linux使用的更符合个人的习惯和更加的简洁,但它们
都是用命令行的方式执行的,有没有一个一劳
    永逸的方法呢?有的,方法是将这些命名别名的命令加到启动文件中,而这可以
通过修改/etc目录下的profile文件来实现,
    在该文件的最后就是命名别名的命令,只要我们将三个命令依次写入即可。
    下面给出我的Linux系统中的profile文件,供大家参考。

/etc/profile
# /etc/profile
# System wide environment and startup pr
ograms
# Functions and aliases go in /etc/bashr

PATH=″$PATH/usr/X11R6/bin″
PS1=″\u@\h \W\\$ ″
ulimit -c 1000000
if  `id -gn` = `id -un` -a `id -u` -gt 14
  then
umask 002
else
umask 022
fi
USER=`id -un`
LOGNAME=$USER
MAIL=″/var/spool/mail/$USER″
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
HISTFILESIZE=1000
export PATH PS1 HOSTNAME HISTSIZE HISTF
ILESIZE USER LOGNAME MAIL
for i in /etc/profile.d/.sh  do
if  -x $i  then
. $i
fi
done
unset i
alias ls='ls -N --color'
alias cd..='cd ..'
alias md='mkdir'
alias c='mount /dev/hda1 /mnt/c & cd /m
nt/c'



    四,软件安装



    由于Linux是一个由一大群电脑爱好者共同创造的,因此在Linux上执行的软件相
当多,而且以很快的速度增长。对于已经发布的软件,也会有新的修正版本供诸于世
。而这些资源,都是散落在世界各地的,令人一时间无所适从。
    于是,出现了各种Linux的发布版,供人们安装Linux系统之用,如 RedHat、Slack
ware
、Debain等。在这些发布版里,囊括了各种最基本、最常用的Linux软件,然而由于
存在着时间与空间的因素,在我们安装完系统之后,其中的
    部份软件可能已经在因特网上发表了更新版,或者有些需要的软件却没有收录进
来,另外还有许多新软件还来不及纳入该发布版中。现在人们接触因特网的机会越来
越多,使用者可以轻易的使用FTP来获得新的软件。从而,通过各种渠
    道获得软件并自己动手将取得的软件安装到自己的Linux系统中,便显得越来越
重要。

  首先,从因特网上FTP服务器取得Linux软件,其格式大多是下列几种中的一种:



  1、*.tar -- 直接用 tar 将所有文件打包。

  2、*.gz -- 使用 gzip 或 compress 压缩的文件。

  3、*.z

  4、*.tar.gz

  5、*.tar.-- 先使用 tar 将文件打包后,再用 gzip 或compress 将该文件压缩
后的文件。

  6、*.tgz


  为了节省储存空间以及提高传输效率,绝大部分软件都是经过压缩处理,才放在
服务器上供人们下载的。因此,在获得这些软件后的第一件事,就是要对该软件进行
解压。现在,我们以一些常见的储存格式为例,来说明解包的方法。


  首先,介绍一下解包的工具:


  1、tar

  其功能是将多个文件打包成一个合并的文件。软件作者可将所有文件打包成一个
文件。使用者也要用 tar 来将这些文件解包。


  2、gzip

  GNU Zip 是一个在Unix系统中常用的压缩、解压缩命令。 Gzip 压缩过的文件大
都会在文件名后面加上 .gz 、 .z 。


  3、compress

  Unix系统中传统的压缩命令,它可以压缩文件以减小文件的大小, compress 压
缩过的文件名后会加上 .Z 。 compress 文件保留原文件的权限和一些时间属性。



  4、zcat

  zcat命令的功能是解压缩由 compress 或 gzip 命令产生的压缩文件,并把结果
送标准输出设备,且保留原压缩文件。


  5、zless

  与 zcat 类似,可以直接查看一个由 gzip 压缩的文件内容。


  这些是常用的文件打包、压缩工具,下面我们来看一些实际的例子。


  以myfile.tar.gz为例,可以看出这类型的文件是由 tar 打包后再由 gzip 压缩
的产物。对于这个文件的解包方法是,先使用 gzip 将该文件解压缩为原始的 tar
文件,然后执行 tar 将这些被打包在一起的文件一一还原。


  1、用 gzip 解压缩

  gzip -d myfile.tar.gz

  “gzip ?d 文件名”是解压缩的使用方法,在执行过解压缩的处理后,原来的
压缩文件将不存在,而仅仅保留解压缩后的文件,不会额外占用磁盘空间。所以在执
行完此命令后,将看不到原先的 myfile.tar.gz 而只有 myfile.tar 。


  2、执行 tar 将文件解开

  用“tar xvf 文件名”的方式将一个 tar 文件解开。 tar 对文件名没有特别
规定,因此,在使用 tar 时,要给予完整的文件名,否则 tar 会找不到要处理的文
件。

  tar xvf myfile.tar


  3、查看压缩文件的内容

  由于 tar 可将多个指定目录的文件打包产生成一个文件,在这个文件中不仅含
有原文件的内容也包括了文件目录以及文件属性,因此我们在解开一个 tar 格式的
文件之前,最好也清楚一下这个 tar 文件内的目录结构,以免解开后,文件产生到
其他目录中。

  下面的命令可以让我们知道 myfile.tar 中究竟包含了哪些文件。

  tar tvf myfile.tar

  同样,gzip也提供此类的功能,我们可以使用gzip -l来查看压缩文件中的内容


  gzip -l myfile.tar.gz


  注意,我们在使用“tar xvf 文件名”解开文件时, tar 会根据所记录的每个
原始文件所在目录来解开这些文件, tar 在执行时,会先在当前目录里找这个目录
,如果找不到就建立该目录,然后逐一建立文件。

  举个例子来说,现有一 tar 文件要解开,我们先使用“tar tvf 文件名"的方式
查看该内容,发现列出来的文件名开头都是usr/local/ 。在这个情况下,如果我们
在$HOME目录下进行解包,那么 tar 将在该目录下分别建立 usr/local/ 等目录。可
见,此时
    用root身份在根目录解包比较恰当。所以在处理一个不知内容的 tar 文件前,
先看一下文件内的目录结构是必要的。


  4、综合应用

  经过上面的说明,大家应该已经会正确地解开一个软件包了,不过上面的方法是
最规矩的方式,或称之为分解动作,下面要说的是其综合应用。

  例如,要查看 /SOURCE 中的 myfile.tgz 的内容:

  zcat /SOURCE/myfile.tgz | tar tvf -

  说明:(1) zcat 将一个 gzip 压缩文件解开并输出到标准输出设备。

     (2)通过管道功能,将 zcat 的结果转向 tar 来处理。

     (3) tar tvf 来查看文件内容。

     (4)使用 "-" 是告诉 tar 要处理的文件资料是由标准输入设备而来的。


  要解开文件时使用:

  zcat /SOURCE/myfile.tgz | tar xvf -

  执行结果和原先分步执行结果不同的是:压缩文件仍然存在。这些都可以达到解
开文件的目的,可以随个人喜好来选择不同的方法。


  下面开始安装软件,新软件的原始文件解开后,接下来就是查阅作者附在里面的
一些文件,如 README.xxx 、 RELEASE 、 SETUP 、 TODO 、 doc 、 INSTALL 、
ChangeLog 等文件。因为,在这些文件里往往会有些主要功能的说明,编译时系统环
境的限制,
    如OS版本、GNU C版本、内存,以及软件环境参数设置的方式和软件安装的步骤
。所以,必须要阅读这些资料以免造成遗憾。并应注意以下几个方面。


  1、Linux系统版本的限制

  Linux版本更新速度相当快,所以如果该软件使用到较新版本的特有功能时,则
该软件无法在旧版本的Linux系统中执行。


  2、GNU C、C Runtime Library版本的限制

  如果直接安装软件的可执行文件时,如果Runtime Library的版本与作者编译该
软件时的版本差异过大时,那么就会产生错误导致无法执行。如果要重新编译该软件
并且该软件用到一些新版才提供的函数时就会发生编译错误。
    因此如果有此限制时,只有放弃该软件和升级系统两种选择。

  3、内存、硬盘的限制

  有一些软件在编译或执行时有特定的要求,会要求系统至少要有多少的内或硬盘
空间。如果没有注意到这一点,就有可能花了很多功夫结果得到的是一个错误讯息。



  4、其他相关软件

  有一些软件会使用到其他软件,因此如果系统没有此相关软件,那也没法安装该
软件。


  5、软件安装步骤说明

  对于较为复杂的软件,作者为了利于使用者正确安装,一般说来都会附上一份简
要的安装说明。所以如果有这类文件最好看一下。


  6、其他方面

  有些软件有多个更新版本,可能会附上文件来说明每个版本更新的主要内容以及
错误修正的情况,象这类文件也可以参考。


  如果该软件是以可执行文件的方式安装,就没有别的要说的了,一切安装工作也
就到此为止。如果是以原代码方式提供的话,那么就要编译软件。它是一件相当频繁
的工作。究竟该怎么编译软件呢?说简单一点就是直接在软件的原代码
    所在目录敲入 make 就可以完成编译工作。通常作者在原代码目录中建立该软件
编译所要的 Makefile 让使用者直接用 make 来完成编译工作。





    五,我的常用软件

Shell: bash。我使用 bash 的 vi 命令行方式。
编辑器: VIM, Emacs
程序开发: GCC, make, ld, Scheme48, j2sdk, Perl, Python, Tcl
论文,幻灯工具:LaTeX, ConTeXt
绘图工具:MetaPost。这个语言太强了。
图像处理:ImageMagick。其中的 import 程序可以屏幕抓图,conve
转换图像格式,display 可以显示图片和简单编辑(缩放,换质量,绘图,
简单虑镜)。通常我就这么点需要。如果你要更强大的图像工具,就用
Gimp, 它几乎和 Photoshop 差不多。
自动管理工具:make。我可以用make来自动编译程序,自动编译文档
图…… 全自动,而且不会重复劳动。
加密程序:GnuPG。
压缩程序。什么都有: tar, gzip, bzip2, zip, rar, ...
虚拟光驱程序。Linux 不需要虚拟光驱程序,直接 mount 就行了。
ftp 服务器:proftpd, vsftpd
WWW 服务器:apache。
ftp 客户程序:lftp
自动下载工具:wget
虚拟终端:rxvt, xterm, gnome-terminal, mlterm, ...
X server: XFree86
窗口管理器:FVWM。编译加入了 libstroke。
中文输入:XSIM。另外推荐你还可以用 SCIM。
email 处理:Mutt + Postfix + fetchmail
看 PDF, PS, DJVU 文件:Acrobat Reader, xpdf, Ghosts cript, gv, djvu工具包

和 netscape 插件。
看网页:Mozilla, Phoenix, lynx。Mozilla-Xft 的显示效果比 IE 好很多。
英汉字典:IBM智能词典,星际译王。
编辑网页:我用 VIM 直接写 HTML。你如果想要图形方式的可以用其它的比如
screem, BlueFish。
登录其它 UNIX, Linux 机器:openSSH, telnet。 openSSH 还可以把其它机器的
X 程序通过 ssh 加密的隧道传到我机器上显示。
上BBS:rxvt(或任何一种终端) + telnet + chatbot(helloooo 机器人的程序)
QQ, ICQ: 我没有 QQ 或 ICQ。不过你可以用 Gaim, 它同时支持 QQ, ICQ 和很多
其它的即时通信方式。ICQ 用户也可以用 Licq。
放录像:MPlayer, RealPlayer。MPlayer 太好了,直接就可以放 VCD, DVD,
divx, wma, wmv ...
rm 最好还是用 realplayer 放,它也是免费的。
放音乐: xmms(mp3,ogg都可以), mpg321(放mp3), ogg123(放ogg). 不过微软很过分

你永远别想用非Windows播放Wma。


--
我不能同意你所说的每一个字,但是我誓死捍卫你说话的权利!
我的心是飞翔在星际的鸟,在你的眼睛里找到了另一个宇宙!
相识遍天下,知心能几人?
一个试图另每一个人都喜欢的人,必将导致大家都不喜欢,而假如
他真的做到了,那么可以肯定:他是一个没有原则的人.

※ 来源:·北大未名站 bbs.pku.edu.cn·[FROM: 210.26.12.117]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店