最正纯的Linux---Slackware实战手记之安装篇

发表于:2007-07-04来源:作者:点击数: 标签:
开场白 经过数年的“磨练”,我终于摆脱了TreeStruct恐惧症的阴影,开始真正学习和使用Linux。从Windows 转到Linux,若不是倚仗早年使用DOS的经验,的确是个痛苦的历程。但正是由于有了那段经历,使得我在尝试Linux的过程中总不自觉的往DOS上靠,想从那里找

  开场白
  经过数年的“磨练”,我终于摆脱了TreeStruct恐惧症的阴影,开始真正学习和使用Linux。从Windows转到Linux,若不是倚仗早年使用DOS的经验,的确是个痛苦的历程。但正是由于有了那段经历,使得我在尝试Linux的过程中总不自觉的往DOS上靠,想从那里找到点什么“依据”。殊不知这正是“本末倒置”!外加我对各种概念的理解是天生的迟钝,所以不幸患上TreeStruct恐惧症,终日不解Unix系统的“树目录”结构,和“一切皆为文件”的概念。几年过去,市面上各种有关Unix系统的资料日渐丰富,我也摆脱了“病症”的折磨,但寻思着这大千世界,一定还有许多像我这样受难的“愚公”。所以强迫自己,整理一下思绪,敲敲键盘,把自己的那一点点“移山”的经验公诸于众,与大家分享,也算对Linux在中国的推广作出了一点点贡献。还望各位高手多多指教。
  
  1、准备篇
  在像走马灯似的尝试了数个Linux发行版后,我终于还是决定--锁定使用Slackware。Slackware Linux(http://www.slackware.org)是在美国发行的一套Linux发行版,它早在1993年就出现,被誉为是“最纯的Linux”,广受各大学和黑客们的欢迎。我最终选择它,理由如下:
  i.Slackware安装和升级系统很方便。
  Slackware使用自己设计的一套软件安装工具pkgtool来管理系统内的软件。pkgtool可以方便的安装和卸载系统内的任何软件。这使得系统非常有弹性,可以按照实际需要规划自身大小,是否需要X,网络服务,打印支持等各项功能。pkgtool使用文本界面下的仿图形菜单界面,操作直观简便,说明详细,既无需图形设备的支持,也大大减轻了用户背一大堆命令参数的负担。
  另外,Slackware也支持通过其他途经安装软件,比如源代码编译,rpm包、deb包安装等等。用户的选择余地也很大。
  ii.系统整合稳定。
  Unix系统一向是以稳定著称,Linux也不例外。在积极吸纳新技术的同时,Slackware也将系统集成的稳定性做的很好。在Linux社区中,Slackware在这方面的口碑是很好的。对于动不动就死机,甚至崩溃的Windows系统而言,选择Unix系统的优势就是稳定。
  iii.硬件支持广泛。
  对硬件的支持,其实绝大部分是靠的内核(Kernel)。而现在市面上绝大部分的硬件产品,包括最新的USB,Linux内核都能够很好的支持。其中还包括一些板载集成品,这些从前支持不是很好的部分,现在内核也能支持了。至于那些不被支持的小部分产品,多为集成显卡,声卡和WinModem,是它们的生产商背靠Microsoft,或是不愿公开它们的技术参数,导致不被支持(这是受到软件许可证的限制)。碰到这种情况,只好去找生产商,看他是否提供驱动程序。如不,只能想办法更换硬件了。但是可以肯定一点,就是哪怕这些硬件不被支持,系统照样能够很好的运行。应为Slackware并不要求使用多媒体,使用网络,所有服务都是可选的,何况还有一些标准的,通用驱动程序可以使用,只是降低了硬件的部分功能而已。
  iv.自由,免费。
  这是所有GNU/Linux系统的通性。这里强调GNU,因为Linux只是一个内核,而真正的系统是由内核,用户界面(Shell),文件系统和应用软件这四大部分所组成。我们现在所使用的各种版本的Linux,是这四个部分的总和,他们绝大部分都遵从GNU General Public Lience发布。因此实际上当Linux指代“使用Linux内核的完整的自由Unix系统”这一概念时,就应该称作GNU/Linux系统。在这一系统中,你享有完全自由的权利,对系统进行学习,使用,修改,再发布。但是请注意,你在拥有这些全力的同时,没有限制其他人拥有此权利的权力。详情请仔细阅读GNU GPL,这一被戏称为“病毒”的许可证。
  在说明了Slackware的优势之后,下面就要详细说明我安装Slackware的具体过程了。毕竟,这才是正文嘛^_^
  
  一、下载
  首先,从Slackware的FTP上下载它的最新版。我是在ftp.planetmirror.com下的,它位于澳大利亚的悉尼,去那的人少,速度快。在大学里的朋友,可以在各个大学的校内FTP上先找找,多半是有的。实在找不到,又在市面上买不着的朋友,可以和我联系,我帮你刻张CD。最新版的Slackware是9.0,全部软件加在一起不到750兆,光盘安装只需一张盘(ISO)。硬盘安装可以根据需要下载所要的软件包。以下是官方的数据:
  
  A The base Slackware system. (71 MB)
  
  AP Linux applications. (96 MB)
  
  D Program development tools. (109 MB)
  
  E GNU Emacs. (74 MB)
  
  F Answers to Frequently Asked Questions about Linux. (28 MB)
  
  GNOME The GNOME desktop environment and applications. (346 MB)
  
  K Linux 2.4.20 kernel source. (158 MB)
  
  KDE The K Desktop Environment, applications, and Qt. (287 MB)
  
  N Networking applications and utilities. (118 MB)
  
  T TeX typesetting language. (132 MB)
  
  TCL Tcl/Tk/TclX scripting languages and tools. (15 MB)
  
  X XFree86 X Window System graphical user interface. (115 MB)
  
  XAP Applications for the X Window System. (254 MB)
  
  Y Classic text-based BSD games. (6 MB)
  
  一般下载A,AP,D,E即可。还要下载bootdisks和rootdisks这两个目录,这是用来做启动盘的。
  
  系统的最小要求配置是:
  16兆以上内存,至少50兆剩余硬盘空间,386以上CPU(这是针对PC的架构)。
  CD-ROM可选(视安装方式),显卡可选(是否安装X)。
  相信这样的要求不是很难达到吧?
  
  二、分区
  安装之前,必须首先规划好自己的硬盘分区。对于只想安装Linux系统的用户,可用PQ Magic之类的分区工具先将硬盘分好区以一个10G硬盘为例,分区原则如下:
  1.分2-3G空间,作为第一个主分区,文件系统为ext2(或ext3)。此分区留作装载根分区/和引导系统。<--分区标号/dev/hda1
  2.分500兆,作为Linux Swap分区,它将占用一个主分区名额。交换分区是Linux作虚拟内存用的空间,最小不应小于10兆,一般为内存容量的两倍。但如果你有超大内存的话,也就没必要分太多给它,最多500兆就够了。多了不用也是浪费。注:交换分区只允许系统使用,用户是无法使用的。<--分区标号/dev/hda4
  -->3.剩下的,都可以分作逻辑分区。然后再在里面细分。//可选项
  3.1 分2-3G,作为/usr/local,这里是用户软件内装的地方,大小是软件需求而定,ext2文件系统。<--/dev/hda5
  3.2 剩下的都分为一个区,作为/home,这里是系统用户的个人目录。装些私人物品,ext2文件系统。<--/dev/hda6
  
  对于使用双系统的用户来说,只需单独分出一个主分区(作为/),一个Swap分区。至于是否分出独立的/usr/local和/home完全视硬盘容量而定。总之一个原则,根分区不宜太大,大了就多分几个区。
  
  我的硬盘分区如下:
  /dev/hda1 Primer FAT32 MSDOS C:/dev/hda2 Primer
  /dev/hda5 Logical FAT32 MSDOS D:/dev/hda6 Logical EXT2 LINUX /home
  /dev/hda3 Primer EXT2 LINUX /
  /dev/hda4 Primer LINUX SWAP LINUX /swap
  
  三、引导
  对于光盘安装的用户,请在BIOS中将系统设置成光盘引导。然后插入光盘,重启计算机。光盘引导后,Slackware向您致欢迎词,然后询问您是否要添加引导参数。是则在boot:提示符后加入相应的参数。目前绝大部分硬件都符合IDE标准,可以通过bare.i来引导。因此输入bare.i或是直接单击回车键ENTER。
  我没有刻录机,只能硬盘安装,于是需要制作启动盘。一共需要做三张启动盘。用RAWRITE.EXE依次写入bare.i、install.1、install.2到A盘。*注意:启动盘一定要用没有坏磁道的盘做,否则无法引导。* 将机器设为软盘启动,先插入写有bare.i的软盘,然后按提示依次插入install.1和install.2。
  接下来就是一堆系统引导的信息。一切顺利的话,最终将出现一个了login:提示符。还等什么,root ^_^
  
  四、安装软件包
  直接root后就进来了(这里不需要密码)。提示符是#,说明我是root,特权人物,“黑衣人”。接下来做的,应该是对硬盘进行分区。但是我已经做了。*如果你还没做,恭喜你,中大奖了。Linux下的分区工具fdisk是出了名的复杂,而Slackware又偏偏只提供它(还有一个菜单驱动的cfdisk)。有关fdisk的操作,我以后介绍。*
  该进入真正的安装了。直接输入setup,回车。
  这就是Slackware的安装环境--一个彩色的目录安装模式。通常有以下几个选项:ADDSWAP, TARGET, SOURCE, SELECT, INSTALL,
  CONFIGURE 和 EXIT。有时也会有KEYMAP选项,是让你选择键盘布局的,一般就是QWERTY/US 101键盘了。
  下面按顺序进入,从ADDSWAP开始。
  ADDSWAP
  ?顾名思义,就是让你添加Swap分区。不管它,我已经分好了。直接CANCEL掉。
  TARGET
  ?为各个分区设置目标目录。按照前面分好的,我有一个根分区(hda3),一个交换分区(swap),一个逻辑分区(hda6)。首先添加交换分区SWAP到/dev/swap,确定。系统将检查/dev/swap的磁盘是否有错并格式化。格式化完毕后,系统提示交换分区已经建立并已激活使用。然后再依次添加/dev/hda1-->/, /dev/hda5-->/usr/local, /dev/hda6-->/home。过程大致同上。这里系统还会提示使用文件系统的类别,统一选用ext2。
  (对于使用双系统的人,装完Linux分区后,系统提示发现MSDOS分区并询问是否安装。这是为了方便以后用户访问fat分区。对于单系统用户没有此过程。安装FAT分区也很简单,按提示将FAT分区挂载到某个目录即可。以后我会提及如何挂载和使用各种分区的。)
  SOURCE
  ?我是用硬盘安装的,所以需要提供安装包所在的分区和目录。我的包位于d:\linux\slackware\slackware\,所以是分区为/dev/hda5,目录为/linux/slackware/slackware。
  ?对于使用光盘安装的用户,直接选择第一项:"Install from a Slackware CD-ROM"。
  INSTALL
  ?从这里开始就是真正的安装软件包了。用户在这里可以选择"full","newbie","menu","expert","tagpath"和"help"。下面我稍为做个名词解释。
  full:完全安装。省时省力,但首先你的硬盘必须够大,否则装着装着突然报告没空间了,你就惨了。
  newbie:只安装每个类别的要求项目(required packages),可选包给出提示,问你选择装还是不装。该模式给出详细的安装信息,告诉你所装的是什么东西。
  menu/expert:这两个选项供你选择你想安装的类别和各类的包。
  custom/tagpath:这两个选项只在你有tagfile文件是才用。有兴趣的话,用文本编辑器打开一个tagfile看看就能明白了。
  help:帮助文件。里面有详细的操作说明。
  
  ?通常就选full或是menu就行了,想了解更多的信息,选newbie。我选的是menu。由于Slackware方便伸缩,所以我最初只安装了A,AP,D,E四个类的软件。万一装多了,空间不够,你可以回到TARGET重来一便,格盘,重新选择软件安装包。一定记得这回少装点^_^
  CONFIGURE
  ?装完软件包,接下来就是做一些基本的配置工作了。首先安装内核(直接选择默认项,除非有你有更新的内核);然后是装MODEM,我的内猫装在COM2端口上;再就是鼠标。最后安装程序会检查你所装软件的依赖性,看是否少装了软件包。
  LILO
  ?简单点,直接选simple,系统就会自动配置引导程序,来引导你的双系统。我选的是expert,稍微配置了以下,选择启动模式为1024x768x256,这样屏幕就大了许多。最后,我把LILO安在了MBR中。
  NETWORK
  ?我没有装网络包,所以无需这一项配置。网络配置也很简单,就是输入你的IP,域名,网关等等。非局域网用户可以选择DHCP(动态域名协议)。
  
  五、重启
  走到这一步,我已经全部完成了Slackware的安装,赶紧EXIT退出,“三指禅”重启。
  屏幕噼里啪啦的闪过各种启动信息后,我终于看到了久违了的画面:
  darkstar login:
  
  Log into the new system as "root".
  
  Welcome to Linux 2.4.20.
  
  darkstar login: root
  last login: Wed May 24 12:30:39 -0700 2000 on tty2.
  Linux 2.4.20.
  You have new mail.
  
  darkstar: ~#
  
  顶上还有个憨态可居的小企鹅^_^
  
  尾注:我是一个有经验的Linux "Installer"(NOT USER),因此有些地方可能一带而过了,讲的不是很详细。但是,我相信大家是有这个实力和勇气,抱着必胜的信念来尝试Slackware的,何况Slackware的安装过程十分的简单和直观,一看就能懂的。当然它还要求你稍微懂点“鸟语”。
  
  【Slackware实战手记之安装篇】就到此为止,目前这个系统没有经过仔细配置,不是最终成品。下一篇【Slackware实战手记之配置篇】将详细讲解如何配置这个系统。咱们下次再见。
  
  3、硬件配置篇
  经过之前的安装,我已经将一个非常基本的Linux系统安装进我的电脑了。那么现在是不是就可以放心的用了呢?还不行。至少是只能局限在一个很小的范围里使用,这对于我这样在Windows下享受惯了的“懒人”而言是毫无意义的。所以必须将系统“模拟”成Windows才行。
  我只装这么个基本的系统是有道理的。
  首先,基本系统便于查错。我这不是第一次装Linux,也不是第一次装Slackware,知道第一次安装多数都会出现这样或那样的问题,这些问题多数又是由于系统初始配置不合理造成的。在未安装X的情况下,可以首先忽略显卡的配置,剩下的基本上就是鼠标、键盘、硬盘、光驱、声卡、猫和网卡的配置问题了。而这些在基本系统下都可以解决,而且装的软件越少,给我们的干扰就越少。
  其次,便于讲解Linux的系统结构。任何一个Unix系统(包括Linux)都是由大大小小数千个程序组成的,他们之间有的相互联系,有的彼此独立,因此系统组合与裁剪的余地很大。没有图形环境,系统照样可以出色的工作。即使有了X,用户也可以在不同的窗口管理器间随意切换。这里给予用户完全的自由。
  第三,介绍Linux软件的安装方法。Linux软件的安装过程都是大同小异的,而且将来我们必定要自行安装新的软件。所以这里我可以通过不同的例子详细介绍Linux软件的安装方法和过程。这也学习使用Linux的必经之路。
  综上所述,安装基本系统,是兼俱使用与教学目的的。
  
  我先说一下我机器的配置:
  Toshiba Satellite 2655xDVD (Notebook):
  CPU: Celeron 466
  RAM: 128MB
  HD: 10GB IDE
  FD: 1.44MB
  CD-ROM: 8xDVD
  MODEM: Lucent Winmodem v.90
  LANCard: CardBus 10/100 Fast Ethernet Adapter II
  SoundCard: ESS Technology | ES1978 Maestro 2E
  VideoCard: Trident Cyber9525xDVD 2MB RAM
  PCMCIA: Type II x2
  
  本身在笔记本上安装Linux系统都是很艰难的,因为它的硬件支持性多半不好。但是很幸运的是,我的硬件都被支持(但问题还是有)。台式机的问题,尤其是自己攒的,兼容性会好些的。
  
  下面开始纠错(Debug)。
  
  仔细观看系统闪过的启动信息,你将看到系统对各个硬件的初始化配置。我只有一块IDE硬盘,为hda;光驱被找到,为hdc(注意,这是很重要的信息);声卡检测到,系统使用OSS驱动模块;两个PCMCIA插槽找到。一切都很顺利。登录系统,一一检测。
  
  darkstar login:root
  #mouseconfig //配置鼠标,找不着驱动就选PS/2
  #cd /fat-d //进入我的D盘
  #ls //查看里面有什么东西
  freesoftware linux music pic_backgrand //这是我D盘里的一些东西,一切正常。
  #cd music/Movie
  #mpg123 lovestory.mp3 //随便找首歌来试试
  High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3.
  Version 0.59q (2002/03/23). Written and copyrights by Joe Drew.
  Uses code from various people. See 'README' for more!
  THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
  
  Playing MPEG stream from lovestory.mp3 ...
  MPEG 1.0 layer III, 128 kbit/s, 48000 Hz joint-stereo
  [3:20] Playing lovestory.mp3 finished.
  #mount /mnt/cdrom //找张光盘试试
  mount: special device /dev/sdc0 does not exist
  怎么回事?光驱装不上。而且竟然是安装/dev/sdc0,我的光驱明明是/dev/hdc啊?这里面肯定出了问题。
  #ls -l /dev/cdrom //检查光驱设备
  lrwxrwxrwx 1 root root 8 Jan 23 17:24 /dev/cdrom -> /dev/sdc0
  原来/dev/cdrom是个链接,被链到了/dev/sdc0上。sdc应该是指SCSI设备,我的本子没有,当然装不上了。既知病因,当然对症下药。
  #rm /dev/cdrom //先删掉错误链接
  #ln -s /dev/hdc /dev/cdrom //建立指向正确设备的链接
  #ls -l /dev/cdrom //再来看看
  lrwxrwxrwx 1 root root 8 Jun 23 17:24 /dev/cdrom -> /dev/hdc
  #mount /mnt/cdrom //再次安装光盘
  #ls /mnt/cdrom
  Something in the cd-rom...//好了,这回一切都正常了。取出光盘。
  #umount /mnt/cdrom //卸载
  #eject /dev/cdrom //弹出
  
  至此,基本硬件的问题都已经解决了。下面来安装软件。
  1、用pkgtool安装.tgz包
  .tgz是经过编译的二进制文件集合,经过tar和gzip工具打包压缩而成。pkptool将里面的文件分类安装到指定目录,全部自动完成,你只需选择装还是不装。进入包所在的目录,直接输入pkgtool命令。选择第一项"Install from Current Directory",按提示选择YES或NO。我们把没装的的部分都装上(X,XAP,GNOME,N,L,T,TCL)
  
  2、编译安装源代码包
  实际上,绝大多数Unix软件都是以源代码形式发布的,这样做的好处就是,用户可以根据自己系统的实际情况对软件进行修改。下面我们来看看如何安装源代码包。
  目标软件:zhcon-0.2.3.tar.gz Linux Console Chinese System 类似UCDOS的软件
  #mkdir temp //建立一个临时目录
  #cp zhcon-0.2.3.tar.gz temp/ //将包拷到临时目录中
  #cd temp
  #tar vxzf zhcon-0.2.3.tar.gz //解压、归档一步到位,这时将生成一个新的目录
  #cd zhcon-0.2.3
  #./configure //配置编译环境
  #make //开始编译
  #make install //安装
  至此,zhcon就装好了。最后三步就是安装源代码包的标准操作。执行./configure后安装程序会告诉你程序安装后的所在目录。要卸载该软件,就直接删除该目录即可(别忘了还要删掉/usr/local/bin中的执行命令zhcon)。
  
  3、用RPM安装.rpm包
  RPM是Redhat Package Manager,是RedHat公司做的自动化安装工具。我们用它来装一个MPEG播放器:CandyPlayer
  #cp candyplayer-0.1.1-1.i386.rpm temp/
  #cd temp
  #rpm -ivh candyplayer-0.1.1-1.i386.rpm //这里是软件包的全名
  安装时会显示一个进度条,告诉你安装过程。RPM安装之前会先检测系统的完整性,看是否缺少文件。如果缺少所需的文件,则拒绝安装,屏告知所缺的文件。
  要删除已装的软件,只需下面的命令
  #rpm -e candyplayer //这里是软件的名字
  用RPM就这么简单。
  
  4、安装二进制程序
  有些软件商不愿公布源代码,因此它们直接将软件做成一个大的安装文件。下面就来装一个这样的东西。
  MusicMatch Jukebox想必大家不陌生吧?非常优秀的一款音乐播放软件。它出了一个Linux版本,单个二进制安装文件-install-mmjb-1.43.sh。我们来装它。由于它必须在X下安装,我们就假设已经有了窗口环境。打开一个控制台窗口。
  #cd /temp
  #./install-mmjb-1.43.sh
  接着就开始安装了,和Windows下安装软件的过程类似。须注意一点,这个软件允许普通用户安装,但是不能向/var目录添加链接,只能装在自己的主目录中。
  
  至此,Linux下各种类型的软件安装方法就都介绍了。我们接下来要配置X环境了。
  X环境需要安装XFree86系统,窗口管理器,X应用程序。按照前面的方法安装好后,执行下面的操作:
  
  #xfree86setup //系统自动检测你的显卡,然后告诉你结果,记下结果,后面要用。
  #xf86config //下面进入文本模式的配置程序。
  首先配置鼠标,然后是键盘,这都很简单,选通用型号都行。它会叫你给鼠标键盘起个标识,随便敲一个,回车。还有一个额外选项,就选n。
  下面是配显示器,你必须知道你的显示器的参数,绝对不能乱选,否则烧了别找我。实在找不到,就选一个Standard。这里也会要标识,同上处理。
  配完显示器就配显卡。提示是否在显卡列表中选择,敲入y。这里不能直接回车,否则就等于回n。选择你的显卡驱动,没有就选0:Standard VESA(可以支持1024x768模式)。然后选择显存大小,支持的颜色深度(24bit最高支持800x600),分辨率,是否需要扩展虚拟屏幕。最后选4,再次选择颜色深度。
  最后就可以写入配置文件了。选择y写盘,完成退出。
  至此,我们已经完成了所有的硬件配置工作。马上进入X
  #startx
  
  4、用户配置篇
  到目前为止,我们都还是在以系统管理员root的身份在进行所有的操作。以root操作是非常危险的!因为root拥有一切权力,因此一个小小的误操作就有可能使整个系统崩溃。所以,我们必须建立一个普通用户,用来做日常普通的工作。
  #useradd USERNAME //添加你自己的帐户
  #passwd USERNAME //给新帐户设置密码
  好像我们一直没有设置root的密码,赶紧补上。
  #passwd //这里不需要用户名,就是给自己设密码
  注意,Unix系统的密码是不回显的,你看不见自己输入的东西。因此必须仔细输入。设密码时会要求你重新输入,以确认你是否输入正确。添加完新用户后就应该立即退出root身份,以普通用户登录。
  #logout //或者exit,或者Ctrl+D
  darkstar login:USERNAME
  password:
  $
  普通用户是以美元符号$开头的(root是#)。以后如果需要安装软件、做做系统维护,可以通过下面的命令
  $su //升变成root
  password: //root的密码
  # //看,你已经成root了
  
  至此,整个配置工作就真正完成了。不容易啊!^_^
  
  【Slackware实战手记之配置篇】到此为止,下一篇【Slackware实战手记之操作篇】将教大家Slackware Linux下的基本操作。敬请期待。
  
  5、Linux下的基本操作--ls,mkdir,cd,cp,mv,rm,touch,ln,tar,man,su,mount,umount,shutdown
  经过前面的几番折腾,我们终于可以专心的开始工作了。对于大多数人而言,Linux是一个完全陌生的系统。当我们登录进去以后,接下来该干什么呢?就让我们从最简单的开始吧。以下命令全部基于控制台,至于图形操作,请大家自己摸索,很简单的。
  首先,看看我们的主目录下都有些什么。
  
  $ls
  testdir
  ls是list的缩写,相当于DOS下的dir,它是我们在Linux下最常用到的命令之一。ls有许多的参数,其中常用的有:
  
  ls -l long list文件的详细列表,相当于dir。
  ls -a 查看隐藏文件,相当于dir/a。多个参数可以一起使用,比如ls -la,以列表形式查看当前目录下的所有文件(包括隐藏文件)。
  
  需要注意的是,所有的Unix命令,在接参数的时候,命令与参数之间必须有一个空格。因此,ls -a正确,ls-a错误。这一点与MS-DOS是有区别的。ls不带参数,则相当于dir/w。
  当目录下的文件太多了,显示太快根本看不清,怎么办?不要紧,我们可以用下面的命令
  $ls | more //或者 ls | less 注意空格
  
  这里我们使用了“管道(pipe)”的概念。简单讲,就是利用管道操作符|,将前一个命令的输出作为后一个命令的输入。ls的输出被用作more的输入,这时屏幕将一次显示一屏,然后用户按回车键往下一行行的滚屏(less与more类似,但是可以使用上下键进行滚屏,用起来更自然),退出就按q。
  
  较新版本的Linux发行版中,ls命令的输出结果是彩色的。其中蓝色表示目录,绿色表示可执行文件,白色表示普通文件。这样我们就可以清晰的辨认各种文件了。
  接下来,我们新建一个目录。
  
  $mkdir Let_Us_Make_A_New_Directoy //我故意起这么长的名字,有目的的。
  $ls
  Let_Us_Make_A_New_Directoy testdir
  $cd newdir //进入newdir
  mkdir命令“人如其名”,没什么好说的;cd命令和MS-DOS下的也很像,但是要注意空格。Linux下的命名原则是,除了有特殊意义的ASCII字符不能用外,其他字符均可用作文件名;文件名区分大小写,不限长度。因此就有像我上面起的那种变态名字。但是在Linux下有个优点,就是有“命令补齐”功能。你只要输入前半部分,然后连按两下TAB键,系统就会将后半部分自动补齐。有多重选择时就会提示用户。这是熟练使用Unix系统的必备技巧。(在这里你甚至只需输入cd L,然后TAB两下就行了。因为当前目录下没有其它L开头的文件名。)
  
  我们现在身处Let_Us_Make_A_New_Directoy这个变态目录中,让我们从testdir里拷个文件到这里。
  $cp ../testdir/afile . //拷贝testdir目录里的afile文件到当前目录,也就是Let_Us_Make_A_New_Directoy目录
  
  ..指上一级目录,.指当前目录。这里使用的是相对路径,也可以使用绝对路径。
  要拷贝整个目录,可以用下面的命令:
  
  $cp -fr ../testdir . //拷贝testdir到当前目录
  参数r告诉cp目标是目录,f强制执行。否则会收到testdir is a directory之类的警告。
  mv(move)命令移动文件,相当于“剪切&粘贴”它还有一个作用,就是用它来更改文件名--mv oldname newname
  要想删除文件,使用rm(remove)命令。
  
  $cd .. //先从Let_Us_Make_A_New_Directoy里出来
  $rm -fr Let_Us_Make_A_New_Directoy //删掉这个变态的目录
  请特别注意,以上命令都涉及到用户的权限问题。权限制度在Unix中是严格执行的,用户被赋予不同的权限,文件也被设置许多权限。
  例如下面的文件
  
  $ls -l text.txt
  -rw-rw-r-- 1 yea yea 30 6月 28 22:55 text.txt
  
  文件text.txt的所有者为yea(就是我),所属用户组为yea,大小30字节,创建时间为6月28日22点55分,其权限为-rw-rw-r--。这个标记可以这样理解:-|rw-|rw-|r--,第一节表示类型,-为文件,d为目录,l为链接;后三节表示不同用户的使用权限,分别对应“所有者”,“所有者组群的用户”和“其他用户”,r是读,w是写,x是运行,没有权力就用-表示。因此上面的文件对于我和我同组的用户都有读和写的权力,对其他用户则是只读的。
  
  明白了权限,就要知道,除了root,所有的人都要依权限办事。没有写的权限,就不能执行诸如mkdir,mv,cp,rm之类的命令。
  
  要想新建一个文件,使用touch
  $touch newfile
  这样我们就建立了一个空文件newfile。给它做个链接。
  
  $ln -s newfile newfile_link
  $ls -l newfile*
  -rw-rw-r-- 1 yea yea 0 6月 29 19:33 newfile
  lrwxrwxrwx 1 yea yea 7 6月 29 19:35 newfile_link -> newfile
  
  链接命令ln我们在前面配置系统的时候就已经接触过了,很容易掌握。这里我就不重复了。
  还有tar命令,稍微复习一下。通常我们碰到的都是*.tar.gz文件,这是已经压缩好的文件,我们只要用tar vxzf filename直接解压归档即可。如果是*.tar.bz2,则是tar vxjf filename。两种文件只是压缩方式不同,一个用gzip压的,一个用bzip压的。
  
  最后向大家介绍学习Linux的最直接也最权威的方法--使用系统的手册页man和info。碰到不懂的命令或是想知道某个命令的参数,就“man 命令”或是“info 命令”。
  
  通常情况下,我们是以普通用户身分使用系统的。但是,有时我们需要编辑一些系统文件,或是安装软件,进行系统配置,这时我们就比须使用管理员身分了。而Unix是一个多用户、多进程的操作系统,因此我们不必退出或重启机器,而是直接使用su命令。
  
  $su //升级为root
  Password: //root的密码
  # //你已经是root了
  使用su还可以变成其他人,就是“su username”,然后输入相应的密码。做完工作后,使用exit退出。//你可以试试Ctrl-D
  我们在Windows分区下还是有许多东西的,因此有时要把Windows分区挂接到系统上使用。挂接硬盘、分区,使用mount命令。
  
  #mount -vfat /dev/hda5 /fat-d //把我的D盘装到/fat-d目录下。
  vfat是指FAT32系统格式,/dev/hda5是我D盘的硬盘分区位置。其中hda指第一块IDE硬盘,1~4是主分区,5以后是逻辑分区。想要挂接USB设备,则是
  #mount -vfat /dev/scd0 /mnt/usbdisk
  使用完后要将设备卸载,卸载使用umount。特别注意,不是unmount,一字之差的结果就是command not found
  #umount /mnt/usbdisk
  这时你才能将USB设备从电脑上拔除,否则将损坏Linux的文件系统。//!!!特别强调,对于软盘也是;而光盘,你若不卸载则光驱门都打不开!!!
  
  一般而言,安装卸载设备是需要root权限的。但是我们可以修改/etc/fstab文件,使普通用户也可以安装卸载设备。这里给出我的fstab文件,供大家参考。//请根据自己机器的配置编辑fstab文件,不要照搬我的。
  ============================My fstab file==============================
  LABEL=/ / ext2 defaults 1 1
  none /dev/pts devpts gid=5,mode=620 0 0
  LABEL=/home /home ext2 defaults 1 2
  none /proc proc defaults 0 0
  none /dev/shm tmpfs defaults 0 0
  /dev/hda4 swap swap defaults 0 0
  /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
  /dev/fd0 /mnt/floppy auto noauto,owner, 0 0
  /dev/hda5 /fat-d vfat noauto,owner 0 0
  ============================My fstab file==============================
  其中我的D盘、光驱、软驱就可以由我自己安装卸载使用。你可以将owner换成user,一样的。
  
  最后谈谈关机的问题。任何一个系统都不能直接拔电源,这一点就连Windows也不例外。当我们结束工作,想关机退出的时候,应该使用下面的命令:
  
  $shutdown -h now //立刻关机,关闭电源。
  或者
  $halt -p //效果同上
  重启机器则是
  $shutdown -r now
  或者
  $reboot
  还可以使用“三指禅”——Ctrl-Alt-Delete
  退出当前用户,而使用其他用户则是
  $logout //Ctrl-D
  学到这里,我们就基本不会在Linux世界里迷路了。大不了关了机器下去找本书看:)
  
  6、Linux下的常用软件--Emacs
  有了上面的基础,你已经可以自由的使用Linux的控制台了。但是,光靠这些,你还不能编辑和修改文件,不能归档和压缩(解压缩)文件,不能享受影音娱乐和多媒体。在控制台下,我们确实可以做很多事情,包括听音乐。下面我们来看看控制台下最强大的应用软件
  Emacs是Linux下的强大的文本编辑环境,说它是一个单纯的文本编辑器就太小看它了。说出来别被吓到,Emacs可以编辑文件,浏览互联网,访问FTP,收发电子邮件,使用控制台命令,编译和调试程序等等。它简直可以充当一个操作系统了!但是,正是因为它拥有这么多的功能,使得想学习使用它的人必须经过一段痛苦的历程。Emacs实在是太复杂了。
  让我们现来见识以下Emacs的庐山真面目吧。
  $emacs newtext.txt //启动Emacs,用它来创建一个新文件newtext.txt
  
  如果你是在控制台下开的Emacs,那你可以忽略最上面一行的菜单栏。它在控制台下是没用的。这一点和MS-DOS下的EDIT完全不同。开始的时候我就很不习惯没有Alt-F召唤出的菜单。但是这并不意味Emacs就没有菜单。它有。你按下F10看看(或者Esc-`)。那就是它的菜单。你可以按照它的提示使用。退出菜单用Ctrl-g或者连按三下ESC(这是退出一切Emacs命令的通用方法)。
  
  我们已经新建了一个文件,你现在可以直接输入文字了。这和普通的文本编辑器没区别。
  保存文件的方法是“Ctrl-x Ctrl-s”;文件另存为是“Ctrl-x Ctrl-w”;打开新文件是“Crtl-x Ctrl-f”;退出Emacs是“Ctrl-x Ctrl-c”。还是那句老话——晕头转向了就退出,没什么可怕的。
  在Emacs里有很多向上面的使用组合键的命令。这也是Emacs的复杂之处,需要背的命令太多。记不住了,你可以使用它的菜单。在X下你可以使用鼠标和它的菜单栏(菜单栏这时才有用)。
  
  Emacs是支持多文本多窗口同时编辑的。因此你可以打开多个文件,然后在不同的“窗口”中切换。——注意,Emacs中用Buffer(缓冲区)表示我们平常概念中的窗口,你就当它是一块内存区域。我们用菜单查看现存的Buffer:Esc-` b
  看到现有的各个Buffer了吗?你可以用提示你的按键切换到那个Buffer中。
  
  我说过,Emacs是一个集成的编辑环境,它可以运行Shell,这就是它的伟大之处,也是世界上顶尖黑客喜爱它的缘故。让我们试试。
  Alt-x shell
  Emacs就会乖乖的打开一个新Buffer,而你的控制台提示符就在你眼前。还不试试前面学的各种命令。不过用完了要记得exit退出(这里不能用Ctrl-D)。
  至于游戏嘛,我告诉你它在哪儿——tools->game。自己慢慢研究吧,里面可是有五子棋和跳棋的哟。

原文转自:http://www.ltesting.net