红联Linux门户
Linux帮助

闲着无聊,搜集了一些linux的精华帖子做个索引

发布时间:2008-07-01 20:11:39来源:红联作者:zjh815153665
一、学习前的思想准备


网友学习 Linux 的七点忠告


1、不要“玩 Linux”

  很多人用 Linux 的时候会感觉很迷茫,该用哪个发行呢?是不是我少装了什么?怎么升级这么快啊!怎么这么不稳定!每当遇到新的软件他就想试用,每当新的版本出现,他就更新,然后用鼠标在新的菜单里选择从来没见过的程序来用用。

  其实你是为了Linux而使用Linux,而没有找到正确的理由来利用 Linux。你首先要明确用电脑的目的,你用它是为了解决你的实际问题,而不是为了学习安装操作系统,不是为了测试哪个版本好用,不是为了“赶上潮流”,更不是因为你硬盘太大了,你想多占点空间。

  如果你启动了电脑之后不知道应该干什么,那么最好先不要用电脑,因为你可能有更重要的事情需要做。

  2、不用挑剔发行版本

  很多人刚开始用 Linux 的时候,总是在怀疑别的发行版本是否比自己正在用的这个好,总是怀疑自己以后时候会失去支持,不得不换用别的发行。所以很多人今天是 Redhat,明天又换成了 debian, 一会儿又是 gentoo, …… 甚至有的人在一台机器上装了两个版本的 Linux,然后比较哪一个好。

  其实你完全没有必要这样做,任何发行,只要你熟悉了,你在上面的工作方式几乎是不会受到任何影响的。你常常听说 Debian 的更新比 Redhat 快,包比 Redhat 多,但是你可以比 Debian 更新还要快,直接到你需要的程序的主站点下载源码来编译就是了。

  Debian, TurboLinux, SuSE, Redhat, Gentoo, ... 任何一个版本都是不错的。

  3、不要当“传教士”

  很多人在讨论区不断的引起 "Linux vs. Windows" 之类的讨论,甚至争的面红耳赤,这是没有必要的。因为各人的需要不同,生活的环境不同,你不可能得到一个定论。我们需要尊重别人的选择,这是你在进行任何对工具的讨论前需要提醒自己的事情。面对一些容易引起争论的东西:Word 和 TeX;Emacs 和 VIM;MAXIMA,Mathematica 和 Maple;Gnome,FVWM 和 KDE;Mutt 和 Pine …… 一定要冷静。

  你需要关心的不是你的工具是什么,而是你用它做了什么。精通 Linux 并不说明任何问题,因为它只是一个工具而已。如果你用 Windows 能很好的完成你的任务,那你就没有必要费时间去熟悉 Linux。直到有一天你发现一项任务只有 Linux 才能完成的时候再换也不迟,因为你身边的 Linux 的爱好者一定会很乐意的帮助你。

  并不是喜欢一种东西就必须反对其它的。世界需要多样性,人们都需要FUN。用自己的兴趣去压制别人的,就会毁掉所有的兴趣。个人喜欢什么就用什么,完全没必要为这个争论。

  不要做“传教士”!你说我现在就是在“传教”?冤枉啊~

  4、直接从源码安装程序

  很多人放着最新的源码不用,等着有人帮他做出 rpm, deb, 才能安装。我说你为什么不用源码编译,这样版本比 rpm 高的多,有很多新功能,而没有烦人的依赖关系。可是他说:“要是我用源码编译安装,卸载的时候就不方便了,会留下很多垃圾。”

  为什么程序还没有安装你就想到卸载?难道你不知道这个程序是用来做什么的?你应该改变到处找程序来试用的作法,而应该先了解一下到底那些程序有同样的功能,听听别人的意见,看看它们各有什么长处和短处,然后挑一个最适合你的程序来用。

  从源码编译安装程序,不但比你装rpm更适合自己的机器设置,而且它们一般会装到 /usr/local 目录,这样你以后如果换硬盘重装系统,也可以把以前 /usr/local 下的程序原封不动拷贝过去用。我的 /usr/local 下有 2G 之多的程序,你想要是我有一台新机器要重新安装,然后配置,得花费多少时间?实际上我曾经通过网络把它们传到一台新机器上,然后就出去吃晚饭,回来时我就得到了另一台一摸一样的 Linux 机器。

  确实要卸载 make install 的程序怎么办呢?答案是直接删掉。别以为直接删掉程序会留下垃圾,引起“系统不稳定”。(btw: 这是谁教你的啊?呵呵。) make install 无非就是把可执行程序放在 /usr/local/bin, 把某些函数库放在 /usr/local/lib,把数据文件放在 /usr/local/share 下一个它自己的目录,你把这些东西都删掉就行了,不会留下垃圾,即使真的留下一点文件没有删掉也占不了多少空间,更不可能引起系统不稳定。UNIX 就是这么简单。

  但是有几个程序不建议从源码安装,它们是 Mozilla, Open Office, ... 它们编译时会占用你几个G的空间和好几个小时的时间,这种花费我觉得是不值得的,因为你不能从编译得到更多好处,不如直接安装编译好的版本。

  5、不要盲目升级

  不知道这是心理作用还是什么,有的人看到比较大的版本号,就会很想换成那个。很多人的 Redhat 本来配置的很舒服了,可是一旦 Redhat 发行新的版本,他们就会尽快下载过来,然后选择升级安装。结果很多时候把自己原来修改得很好的配置文件给冲掉了。新的软件又带来了新的问题,比如有一次我的 rxvt 升级到 2.7.8 就跟 miniChinput 冲突了,升级到 Redhat 8.0,发现 xmms 居然缺省不能放mp3了,XFree86 的 xtt 模块在 I810 上有新的 bug,会导致 Mozilla 突然退出。

  如果你已经配置好了一切,千万别再整体升级了,这会浪费你很多很多时间的,不值得。如果需要的话,你可以只把某些部件升级,比如内核,glibc, gcc, XFree86,...

   使用 UNIX 的经典程序

   好的程序一般都是可以很方便的在很多种 UNIX 上禁用词语的,bash, VIM, Emacs, Mutt, FVWM, xterm, 都是这样。如果你用这些程序,你就可以在 Sun, HP, ... 等工作站上也装上,这样你在各种机型上的工作环境就几乎完全一样了!你不需要在 Sun 上面用 CDE,在PC上又换成 KDE,在它们上面都装一个 FVWM,使用相同的配置文件,就能得到一致的界面。

  这些程序大部分都是久经考验的,是经过很多人多年开发的结果。它们功能完善,各种情况都考虑周全,绝对是你的好助手。

  6、不要配置你不需要的东西

  如果你只想做一个像我这样的普通用户,主要目的是用 Linux 来完成自己的科研任务和日常工作,那就可以不用系统管理员或者网络管理员的标准来要求自己,因为当一个系统和网络管理员确实很辛苦。普通用户学习那些不经常用到的复杂的维护系统的工具,其实是浪费时间,学了不用是会很快忘记的!

  我不是一个合格的网络管理员,我的服务器都只设置了我自己需要的功能,设置好 ssh, ftp 已经足够了,那样可以省去我很多麻烦。我从来不过度考虑“安全”,因为 Linux 缺省已经很安全了。我没有磁带机,就不用管 tar 的那些稀奇古怪的参数了,czf, xzf, ztf 已经可以满足我所有的需要。sed, awk, ... 我也只会几种常用的命令行。

  7、不用忙着看内核源码

  除非你想研究操作系统,否则还是先把怎么使用 Linux 掌握好再说吧。我以前看了那么多内核源代码,写了驱动程序,结果最后发现我还是一只很多事情不能用 Linux 解决的菜鸟吸取我的教训吧,你应该首先掌握 shell,Xwindow 的使用和原理,它们可不比内核简单。
文章评论

共有 14 条评论

  1. zpjgcs 于 2012-03-15 15:05:41发表:

    好的,顶一下

  2. cader 于 2012-03-14 11:44:56发表:

    给大家分享几本好的入门电子书
    给大家分享几本好的入门电子书,都 是自己收藏着的,不能上传的话,我就给大家去百度上找下载地址,大家自己下去
    第五章NFS服务器的配置与使用.pdf (145.38 KB) 下载次数: 493

    2011-7-20 14:04 Sendmail服务器的配置.rar (111.89 KB) 下载次数: 24

    2011-7-20 14:04 Linux菜鸟过关.chm (500.86 KB) 下载次数: 91

    2011-7-20 14:04 find命令详述.rar (7.3 KB) 下载次数: 11

    2011-7-20 14:04 linux操作技巧.pdf (302.95 KB) 下载次数: 42

    2011-7-20 14:04 Linux基础命令教程豪华版.chm (1.22 MB) 下载次数: 53

    2011-7-20 14:05 Linux常用命令全集.CHM (363.53 KB) 下载次数: 39

    2011-7-20 14:05 架设Linux服务器.pdf (1.84 MB) 下载次数: 36

    2011-7-20 14:05

  3. zjh815153665 于 2008-07-01 20:24:39发表:

    Linux下的主要文件


    /boot/grub/grub.conf GRUB 引导器配置文件
    /boot/module-info-* Linux 核心模块信息
    /boot/System.map-* Linux 系统影像文件
    /boot/vmlinuz-* Linux 核心

    /etc/aliases 邮件别名
    /etc/at.deny 记录哪些用户静止使用 at 命令
    /etc/auto.master 配置 autofs 程序,使之能自动装入文件系统
    /etc/auto.misc automounter 的影像文件
    /etc/bashrc bash shell 的系统全局配置
    /etc/cron.daily/* 每天需要执行的命令
    /etc/cron.hourly/* 每个小时需要执行的命令
    /etc/cron.monthly/* 每个月需要执行的命令
    /etc/cron.weekly/* 每周需要执行的命令
    /etc/crontab cron 系统配置文件,配置指定时间执行命令
    /etc/cups/* 打印机配置文件
    /etc/default/useradd useradd 命令默认的配置(用来增加新用户用)
    /etc/DIR_COLORS 用彩色方式列出文件的颜色配置文件
    /etc/exports 指定 NFS 需要导出的文件系统
    /etc/filesystems 所支持的文件系统
    /etc/fstab 指定文件系统的载入点
    /etc/group 系统用户组的定义文件
    /etc/host.conf 主机配置文件
    /etc/hosts 主机名字和IP的影像文件
    /etc/hosts.allow 定义允许访问本机的主机
    /etc/hosts.deny 定义禁止访问本机的主机
    /etc/httpd/conf/* Apache 配置文件
    /etc/httpd/httpd.conf Apache 主配置文件
    /etc/init.d/* SysV 初始化脚本
    /etc/initlog.conf 用户登陆配置文件
    /etc/inittab 配置 init ,用来执行命令
    /etc/issue 显示Linux核心的发行版本信息(用于本地登陆用户)
    /etc/issue/net 显示Linux核心和发行版本信息(用于远程登陆用户)
    /etc/ld.so.conf 共享库配置文件
    /etc/login.defs useradd 和 related 命令的配置文件
    /etc/mail/* 邮件服务器配置文件
    /etc/mailcap 邮件 MIME 头信息
    /etc/man.config man 命令配置文件
    /etc/mime.types 定义 MIME 类型
    /etc/mime-magic* MIME 数据的 Magic 数
    /etc/minicom.users 定义哪些用户ID可以使用 minicom
    /etc/modules.conf Linux 核心模块配置文件
    /etc/motd Message of the day (登陆以后显示里面的内容)
    /etc/mtab 显示已装入的文件系统
    /etc/nsswitch.conf Resolver 配置文件
    /etc/openldap/* Open LDAP 配置文件
    /etc/pam.d/* PAM 配置文件
    /etc/paper.config 定义纸张的大小
    /etc/passwd 帐户配置文件
    /etc/ppp/* PPP 配置文件
    /etc/printcap 打印机选项和配置文件
    /etc/profile bash shell 的默认启动文件
    /etc/profile.d/* Shell 初始化文件
    /etc/protocols 显示网络协议想对应的内容
    /etc/pwdb.conf pwdb 库配置文件
    /etc/rc 系统启动和关闭的脚本
    /etc/rc.local 本地启动时需要执行的脚本
    /etc/rc.sysinit 系统初始化脚本
    /etc/rc?.d/* 系统服务启动或者停止的脚本
    /etc/rpc 定义 RPC 程序对应的端口
    /etc/rpm/* RPM 数据库和配置文件
    /etc/samba/* Samba 配置文件
    /etc/securetty Secure tty 配置文件
    /etc/security/* PAM 配置文件
    /etc/sensors.conf libsensors 配置文件
    /etc/services 定义默认的服务名字和与此向对应的端口
    /etc/shadow 用户帐户信息(使用 shadow 加密)
    /etc/skel 系统骨干文件,用来建立新的用户
    /etc/ssh/* SSH 配置文件
    /etc/sysconfig/* 系统配置文件
    /etc/sysconfig/network-scripts/* 网络适配器配置文件(用来启动新的网络接口用)
    /etc/sysctl.conf sysctl 配置文件
    /etc/syslog.conf 系统日志配置文件
    /etc/termcap 终端定义和配置文件
    /etc/updatedb.conf 系统升级程序的配置文件(估计时 RH 专用的)
    /etc/wvdial.conf 字符界面下的拨号工具配置文件
    /etc/X11/applnk/* 定义 X 对象
    /etc/X11/fs/config X 字体配置文件
    /etc/X11/gdm/* GNOME 登陆器配置文件
    /etc/X11/xdm/* X 登陆器的配置文件
    /etc/X11/XF86Config X 主要配置文件
    /etc/X11/xinit/Xclients xinit 默认的配置文件
    /etc/X11/xinit/xinitrc X 初始化文件
    /etc/X11/Xmodmap 定义 xdm 和 xinit 所要使用的键盘映射
    /etc/xinetd.conf xinetd 配置文件
    /etc/xinetd.d 定义 xinetd 中使用的一些特殊的服务

    ~/public_html 用户公共的网页文件(可以在 apache 配置)
    ~/.bash_history 用户 bash 的历史命令
    ~/.bash_logout 定义 bash 用户退出时所执行的命令
    ~/.bash_profile 用户 bash 初始化文件
    ~/.bashrc 用户 bash 的全局配置文件
    ~/.Xresources 定义用户的 X 资源设置

    /usr/share/fonts/* 字体
    /usr/share/ssl/openssl.cnf SSL 连接配置
    /usr/X11R6/lib/X11/app-defaults/* X 默认的对象
    /usr/X11R6/lib/X11/fonts/* X 字体

    /var/log/cron 记录 cron 执行日志
    /var/log/httpd/access_log apache 流量日志
    /var/log/httpd/error_log apache 运行错误日志
    /var/log/boot.log 系统启动日志
    /var/log/cron 系统核心日志
    /var/log/dmesg Linux 核心消息日志
    /var/log/lastlog 记录最后用户登陆
    /var/log/maillog 邮件传输日志
    /var/log/messages 系统日志
    /var/log/samba/* Samba 运行日志
    /var/log/secure 系统安全日志
    /var/log/up2date Up2date 升级程序日志

    /var/www/cgi-bin CGI 脚本
    /var/www/html/ apache 程序默认的网页根目录



    关于进程:
    Linux守候进程名字功能对照表


    amd:自动安装NFS(网络文件系统)守侯进程
    apmd:高级电源管理
    Arpwatch:记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库
    Autofs:自动安装管理进程automount,与NFS相关,依赖于NIS
    Bootparamd:引导参数服务器,为LAN上的无盘工作站提供引导所需的相关信息
    crond:Linux下的计划任务
    Dhcpd:启动一个DHCP(动态IP地址分配)服务器
    Gated:网关路由守候进程,使用动态的OSPF路由选择协议
    Httpd:WEB服务器
    Inetd:支持多种网络服务的核心守候程序
    Innd:Usenet新闻服务器
    Linuxconf:允许使用本地WEB服务器作为用户接口来配置机器
    Lpd:打印服务器
    Mars-nwe:mars-nwe文件和用于Novell的打印服务器
    Mcserv:Midnight命令文件服务器
    named:DNS服务器
    netfs:安装NFS、Samba和NetWare网络文件系统
    network:激活已配置网络接口的脚本程序
    nfs:打开NFS服务
    nscd:nscd(Name Switch Cache daemon)服务器,用于NIS的一个支持服务,它高速缓存用户口令和组成成员关系
    portmap:RPC portmap管理器,与inetd类似,它管理基于RPC服务的连接
    postgresql:一种SQL数据库服务器
    routed:路由守候进程,使用动态RIP路由选择协议
    rstatd:一个为LAN上的其它机器收集和提供系统信息的守候程序
    ruserd:远程用户定位服务,这是一个基于RPC的服务,它提供关于当前记录到LAN上一个机器日志中的用户信息
    rwalld:激活rpc.rwall服务进程,这是一项基于RPC的服务,允许用户给每个注册到LAN机器上的其他终端写消息
    rwhod:激活rwhod服务进程,它支持LAN的rwho和ruptime服务
    sendmail:邮件服务器sendmail
    smb:Samba文件共享/打印服务
    snmpd:本地简单网络管理候进程
    squid:激活代理服务器squid
    syslog:一个让系统引导时起动syslog和klogd系统日志守候进程的脚本
    xfs:X Window字型服务器,为本地和远程X服务器提供字型集
    xntpd:网络时间服务器
    ypbind:为NIS(网络信息系统)客户机激活ypbind服务进程
    yppasswdd:NIS口令服务器
    ypserv:NIS主服务器
    gpm:管鼠标的
    identd:AUTH服务,在提供用户信息方面与finger类似

  4. zjh815153665 于 2008-07-01 20:24:05发表:

    关于系统文件结构:
    LINUX的目录树

    /bin bin是binary的缩写。这个目录是对UNIX系统习惯的沿袭,存放着使用者最经常使用的命令。例如:cp,ls,cat。
    /boot 这里存放的是启动LINUX时使用的一些核心文件。
    /dev dev是device(设备)的缩写。这个目录下是所有LINUX的外部设备,其功能类似DOS下的.sys和Win下的.vxd。在LINUX中设备和文件是用同种方法访问的。例如:/dev/hda代表第一个物理IDE硬盘。
    /etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
    /home 用户的主目录,比如说有个用户叫wang,那他的主目录就是/home/wang也可以用~wang表示,说到这里,打个岔,你现应该明白在我们访问一些个人网页(如http://www.netease.net/~zhangjia)的时候,~zhangjia就是表示访问www.netease.net站点中的用户zhangjia的用户主目录。
    如果这个网站的操作系统是LINUX,那就是表示/home/zhangjia。
    /lib 这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都需要用到这些共享库。
    /lost+found 这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。对了,有点类似于DOS下的.chk文件。
    /mnt 这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。
    /proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里啊!?
    /root 系统管理员,也叫作超级权限者的用户主目录。当然系统的拥有者,总要有些特权啊!
    /sbin s就是Super User的意思,也就是说这里存放的是一些系统管理员使用的系统管理程序。
    /tmp 这个目录不用说,一定是用来存放一些临时文件的地方了。
    /usr 这是个最庞大的目录,我们要用到的很多应用程序和文件几乎都存放在这个目录下。具体来说:
    /usr/X11R6 存放X-Windows的目录;
    /usr/bin 存放着许多应用程序;
    /usr/sbin 给超级用户使用的一些管理程序就放在这;
    /usr/doc 这就是LINUX文档的大本营;
    /usr/include LINUX下开发和编译应用程序需要的头文件,在这找;
    /usr/lib 存放一些常用的动态链接共享库和静态档案库;
    /usr/local 这是提供给一般用户的/usr目录,在这安装软件最适合;
    /usr/man man是什么,对了是帮助。这里就是帮助文档目录啊!
    /usr/src LINUX开放的源代码,就存在这个目录,爱好者们别放过哦!
    /var 这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。顺带说一下系统的日志文件就在/var/log目录中。
    这里列出了最常见的目录,根据LINUX发行套件的不同,目录结构也是有一定差别的。还有你自己建立的目录,我当然不知是存什么的。希望上面的文字能使你在大脑里留下了LINUX的全景图,以便大家深入掌握LINUX的其它方方面面。

  5. zjh815153665 于 2008-07-01 20:23:46发表:

    三、以下为linux的一些说明资料,可以慢慢了解

    关于一些名词:
    Linux 常用术语

    Linux 常用术语

    常用 Linux 术语[转帖]

    (A)

    帐户名称(Account Name) - 等同于登录标识、用户标识或用户名。是指派给 UNIX/Linux 系统上用户的名称。可以在系统上对多个用户设置唯一的帐户名称,每个用户具有不同的访问(权限)级别。在安装完 Linux 之后,帐户名称由超级用户(Superuser)或 root 操作员指派。

    AfterStep - 用户界面(窗口管理器)之一,AfterStep 使得 Linux 的外观很象 NeXTSTEP,而且还有些增强功能。要获取更多关于 AfterStep 的信息,请访问 afterstep.org。(另请参阅"Enlightenment"、"GNOME"、"KDE"和"X Window 系统"。)

    Awk(Aho、Weinberger 和 Kernighan) - 一种编程语言,因其模式匹配语法而特别有用,通常用于数据检索和数据转换。一个 GNU 版本称为 Gawk。

    APM(高级电源管理,Advanced Power Management) - 一种工业标准,它允许系统处理器和各个组件进入省电模式,包括挂起、睡眠和关机。APM 软件对于移动设备尤为重要,因为它节省了电池电量。

    附加符号(Append Symbol) - 两个键盘字符 >(也就是 >>)。通常用它将命令的输出发送到文本文件,将数据附加到文件的尾部,而不是替换现有的内容。例如,ls -a >> output.txt 将当前目录列表发送到名为 output.txt 的文件,并将其添加到该文件的尾部。重复执行该命令会不断地将新数据添加到文件尾部。(另请参阅"管道符号"和"重定向符号"。)

    归档文件(Archive) - 含有多个文件的单个大型文件,通常对其进行压缩以节省存储空间。经常创建归档文件以方便计算机之间的传送。流行的归档格式包括 ARJ、TAR、ZIP 和 ZOO。它们都可以用来创建这样的归档文件。

    ARJ - 流行的文件压缩/归档工具,可以用于 UNIX/Linux、DOS/Windows 和其它操作系统。用这种方式压缩的文件的扩展名通常是 .arj 或 .ar。

    (B)

    后台进程(Background Process) - 运行时无须用户输入的程序。可以在诸如 UNIX/Linux 之类的多任务操作系统上运行多个后台进程,而用户则与前台进程交互(例如,数据输入)。有些后台进程(例如守护程序)从来都不需要用户输入。其它一些进程只是在用户忙于目前运行于前台的程序时才临时处于后台。

    Bash(Bourne Again SHell) - Bourne Shell 的增强版。(另请参阅"Korn Shell"。)
    BDF 字体 - 用于 X Window 系统的各种位图字体。(另请参阅"PostScript 字体"和"TrueType 字体"。)

    Bean - JavaBeans 体系结构的组件。

    Beowulf - 由相对廉价的计算机(包括 PC)组成的网络,这些计算机可能使用不同的处理器和硬件体系结构,由 Linux 和特殊的系统级软件将它们联合成一个海量并行计算系统。最终结果是一个能够以较低成本获得超级计算机计算能力的系统。这类系统对于诸如气象建模之类的计算密集型任务而言是非常理想的,因为可以将计算分配到几十、几百甚至几千个同时运行的独立处理器上。有时也称为"Beowulf 级超级计算机"或者超级群集计算机。更多关于 Beowulf 技术的信息,请阅读以下文章:linuxworld.com/linuxworld/lw-20...4-parallel.html 和 ibm.com/press/prnews.nsf/Search...568460067a52a。

    Bin - 一个含有可执行程序的目录,这些程序主要是二进制文件。

    二进制文件(Binary) - 已被编译成可执行程序的源代码。在 UNIX/Linux 世界里,有些软件仅作为源代码分发;有些软件包既包含源代码又包含二进制文件;还有一些软件包则只以二进制文件格式分发。

    引导盘(Boot Disk) - 一张软盘,其中含有操作系统(如 Linux)引导(启动)计算机并从命令行运行一些基本程序所需的足够内容。如果因某种原因导致系统表现为无法引导,那么引导盘是必需的。引导盘还用于对硬盘进行分区和格式化、恢复主引导记录(Master Boot Record)或者复制特定文件等。

    Bot - 机器人(Robot)的简称。它是一个程序,旨在在几乎没有人工干预下在因特网上搜索信息。

    Bourne Shell - 一种流行的命令行 shell,它具有的优点比 DOS 命令提示符多很多。(另请参阅"Bash"和"Korn Shell"。)

    BSD(Berkeley 软件分发版,Berkeley Software Distribution)UNIX - 加州大学伯克利分校开发的 UNIX。(另请参阅"FreeBSD"。)

    Bzip2 - 一种较新的 UNIX/Linux 文件压缩程序,它比 Gzip 提供更大的压缩比。

    (C)

    CGI(公共网关接口,Common Gateway Interface) - 在 Web 服务器上,用来在脚本和/或应用程序之间传输数据,然后将该数据返回给 Web 页面或浏览器。CGI 脚本经常是使用 Perl 语言创建的,它能够生成动态 Web 内容(包括电子商业购物篮、讨论组、调查表单以及实时新闻等)。

    CHS(柱面/磁头/扇区,Cylinder/Head/Sector) - FDISK 在分区期间所需的磁盘信息。
    客户机(Client) - 向服务器请求服务(例如,电子邮件)的机器。

    CLU(命令行实用程序,Command Line Utility) - 从命令行会话或 shell 运行的程序,如 Tar 或 Mkdir。

    群集(Cluster) - 由运行 Linux 的工作站(PC 或其它机器)组成的网络。(另请参阅"Beowulf"。)

    COLA - 因特网新闻组 comp.os.linux.announce 的简称,该新闻组宣布一些与 Linux 相关的参考资料。

    命令行界面(Command Line Interface)(CLI) - 全屏或窗口化的文本方式会话,在该会话中用户通过输入命令来执行程序,这些命令可以带参数,也可以不带参数。CLI 显示来自操作系统或程序的输出文本,并为用户输入提供命令提示符。

    命令提示符(Command Prompt) - DOS/Windows 和 OS/2 术语,是命令行界面的一部分,用户在该界面中输入命令。(另请参阅"Shell 提示符"。)

    编译(Compile) - 将编程源代码转换成可执行程序。

    编译型语言(Compiled Language) - 一种语言,它需要编译器程序将编程源代码转换成可执行的机器语言二进制程序。一经编译,就可从程序的二进制形式多次运行程序,而无需再次编译。编译型语言/程序运行往往比解释型语言或伪代码语言快,但却需要编译器(可能很昂贵),而且用编译型语言编程常常会比用解释型语言和伪代码语言编程难。编译型语言的例子有 C 和 C++、COBOL 以及 FORTRAN。

    编译器(Compiler) - 用于将编程源代码转换成可执行程序的程序。

    控制台应用程序(Console Application) - 不需要(即便是提供了)图形用户界面就能运行的命令行程序。

    Cron - Linux 守护程序,它在指定时间或按指定间隔执行规定的任务。

    (D)

    守护程序(Daemon) - 操作系统的后台进程,通常具有 root 安全级别许可权。守护程序通常隐藏在后台,直至被某个事件(例如特定的时间或日期、时间间隔、收到电子邮件等)触发后它才会进入活动状态。

    桌面(Desktop) - 操作系统用户界面,旨在表示一个在上面放东西的办公桌。操作系统的桌面并不使用有形的电话、电灯、收/发箱等,而是使用程序及数据图标、窗口、任务栏和类似的东西。Linux 可以使用许多不同的桌面环境,包括 KDE、GNOME 和 X11,它们可以由用户安装。(另请参阅"GUI"、"窗口管理器"和"X Window 系统"。)

    设备驱动程序(Device Driver) - 一种程序,它充当操作系统与设备(端口、驱动器、监视器、打印机等)之间的媒介,它向操作系统说明该设备具备哪些能力,同时将操作系统命令转换成该设备可以理解的指令。

    分发版(Distribution) - 将 Linux 内核(核心)连同各种用户界面、实用程序、驱动程序及其它软件打包成可交付给用户的软件包。分发版通常是以免费下载或廉价 CD-ROM 软件包的形式提供给用户的。流行的分发版包括 Caldera OpenLinux、CoreLinux、Debian、Red Hat、Slackware、SuSE、TurboLinux 及其它软件。

    Dpkg(Debian 软件包管理器,Debian Package Manager) - 可从因特网下载的打包及安装工具,它包含在 Debian Linux 中,但与其它分发版兼容。它生成具有 .DEB 扩展名的文件。与 RPM 类似。

    (E)

    Emacs(用 MACroS 进行编辑,Editing with MACroS) - 一个流行的文本编辑器。
    Enlightenment - 用户界面(窗口管理器)之一。更多关于 AfterStep 的信息,请访问 afterstep.org。(另请参阅"AfterStep"、"GNOME"、"KDE"和"X Window 系统"。)

    (F)

    文件系统(File System) - 一组程序,它们告诉操作系统如何访问及解释存储在磁盘或磁带驱动器或者其它存储媒介上的内容。常见的文件系统包括:FAT 和 FAT-32(DOS/Windows)、HPFS(OS/2)、NFS、NTFS(Windows NT/2000)以及其它文件系统。

    过滤器(Filter) - 一种程序,它(从文件、程序输出或命令行输入)读取数据作为输入,根据一组预定义条件处理输入(如按字母顺序排序),然后输出处理过的数据。一些常见的过滤器包括 Awk、Grep、Sed 和 Sort。

    Finger - UNIX/Linux 命令,它提供登录用户的有关信息。

    前台进程(Foreground Process) - 在多任务操作系统(诸如 UNIX/Linux)中,前台进程是用户当前与之交互的程序(例如,数据输入)。随着用户在程序之间切换,会导致这些程序在不同的时刻处于前台。在层叠的窗口环境中,前台进程是最前面的窗口。

    FreeBSD(免费伯克利软件分发版,Free Berkeley Software Distribution) - 类似于 Linux,因为它包含许多 GNU 程序,并且它运行的许多软件包与 Linux 所运行的相同。但一些内核功能的实现却不尽相同。(另请参阅"BSD UNIX"。)

    FTP(文件传送协议,File Transfer Protocol) - 与其它计算机(常常是软件资源库)来回传送文件的方法。

    (G)

    GCC(GNU C 编译器,GNU C Compiler) - 由 GPL 管理的一个高质量 C 编译器。

    GIMP(GNU 图像操作程序,GNU Image Manipulation Program) - 一种用于 Linux 的、流行的图像编辑器/绘图程序。

    GNOME(GNU 网络对象模型环境,GNU Network Object Model Environment) - 一种用于 Linux 的用户界面(窗口管理器),它是用 Gtk 构建的。更多关于 GNOME 的信息,请访问 gnome.org。(另请参阅"AfterStep"、"Enlightenment"、"KDE"和"X Window 系统"。)

    GNU(GNU 不是 Unix,GNU is Not Unix)项目 - 麻省理工学院(MIT)自由软件基金会(Free Software Foundation,FSF)为开发和促进替代专有 UNIX 实现的产品所进行的项目。GNU 软件使用 GPL 许可证。

    GNU/Linux - 等同于 Linux。之所以这么称呼,是因为 Linux 分发版中包含的许多组件都是 GNU 工具。

    GPL(GNU 通用公共许可证,GNU General Public License) - 一种公用及再分发许可证。请访问 linuxdoc.org/LDP/gs/app-gpl/node1.html 来查阅 GPL 协议的副本。

    Grep(全局正则表达式及打印,Global Regular Expression and Print)- 一个工具,它在文件中搜索文本字符串,然后输出任何含该模式的行。

    Gtk/Gtk+(GIMP 工具箱,GIMP ToolKit) - 一个功能强大而且快捷的开放源码图形库,用于 UNIX/Linux 上的 X Window 系统,程序员可以用来创建按钮、菜单及其它图形对象。(另请参阅"GNOME"、"Motif"和"Qt"。)

    GUI(图形用户界面,Graphical User Interface) - 图标、窗口及屏幕上其它图形图像的集合,它们提供了用户与操作系统交互的方法。(另请参阅"桌面"和"窗口管理器"。)

    Gzip(GNU zip) - UNIX/Linux 最初的文件压缩程序。最新的版本生成扩展名为 .gz 的文件。(扩展名 .z 或 .Z 表明是较老版本的 Gzip。)压缩是为了使文件紧凑以节省存储空间并缩短传送时间。(当与 Tar 结合使用时,生成文件的扩展名可能为 .tgz、.tar.gz 或 .tar.Z。)

    (H)

    Home 目录 - 用户登录之后所在的目录。

    HTML(超文本标记语言,Hyper Text Markup Language) - 用于设计 Web 页面的标准标记语言。标记"tag"或格式化命令允许 Web 页面设计人员确定突出显示、定位图形及创建超链接等等。

    HTTP(超文本传输协议,Hyper Text Transport Protocol) - 一组创建的准则,用于请求和发送基于 HTML 的 Web 页面。

    (I)

    Init - 操作系统装入后立即运行的第一个进程。它以单用户方式启动系统或生成 shell 来读取启动文件,并打开指定用于登录的端口。

    解释型语言(Interpreted Language) - 与编译型程序不同,每次运行解释型程序时都要由解释器程序实时地将源代码转换成二进制形式,而编译型程序由编译器一次性将源代码转换成可执行代码,随后从其二进制形式运行。解释型语言(以及用它们编写的程序)往往要比编译型语言及伪代码语言/程序慢,并且通常只有有限的底层操作系统功能访问权限或直接访问硬件的权限。但从另一角度来说,它们无需编译器(可能非常昂贵),并且经常包含在操作系统中,通常比编译型语言更容易编程。解释型语言的例子有 BASIC、Perl、Python 和 REXX/Object REXX。

    (J)

    Java?0?3 - Sun Microsystems?0?3 开发的、独立于操作系统的面向对象编程语言。Java 通常用于 Web 服务器。Java 应用程序和 applet 有时以下载的形式提供给用户,以便在他们的系统上运行。Java 编程语言可以编制应用程序或较小的 Java"applet"。Java 是 C++ 语言稍加简化的版本,通常是进行解释而不是编译。(另请参阅"JIT 编译器"。)

    Java Applet - 嵌入在 Web 页面内的小型 Java 程序,它在浏览器内运行,而不是作为独立的应用程序运行。Applet 不能够访问本地计算机上的一些资源,如文件和串行设备(调制解调器、打印机等),通常也不能通过网络与其它计算机通信。

    JavaBeans - Java 语言的组件体系结构。JavaBeans 组件称为 Bean。

    JavaScript - 跨平台万维网脚本编制语言,似乎与 Java 有关。它可以用作服务器端脚本编制语言、由服务器解析的 HTML 中的嵌入语言以及浏览器中的嵌入语言。

    JDK(Java 开发工具箱,Java Development Kit) - 由 Sun、IBM 或其它公司开发的 Java 编程工具箱,可以用于 UNIX/Linux 及其它操作系统。

    JFS(日志文件系统,Journaled/Journaling File System) - 包含内置备份/恢复能力的文件系统。对索引的更改在生效之前先写入日志文件,这样如果索引遭到破坏(例如,在写索引期间断电),那么就可以从日志重建索引,包括对索引的更改。

    Jini?0?3 - 读作"Genie"。Sun 开发的软件,工作起来有些象"即插即用",因为它允许硬件设备在被连接时向操作系统通报自己(并提供关于该设备的详细信息),而无须系统重新引导。它也向系统所连接的网络通报它自己,从而方便地向网络提供设备共享。

    JIT(Just-In-Time)编译器 - Java 语言编译器,它允许实时地将 Java 解释型程序自动编译成本机机器语言,以使程序执行的速度更快。有些 JVM 包含 JIT 编译器。

    日志记录(Journaling) - 也就是"日志记录(logging)"。将信息写入日志文件,可以作为一种跟踪更改的方法。

    JVM(Java 虚拟机,Java Virtual Machine) - Java 运行时环境,是运行 Java 程序所必需的,包含 Java 解释器。不同的操作系统(Linux、OS/2、Windows 98 等等)需要不同的 JVM,但任一 JVM 都可以运行某个 Java 程序的同一版本。

    (K)

    KDE(K 桌面环境,K Desktop Environment) - Linux 用户界面(窗口管理器)之一,是用 Qt 构建的。更多关于 KDE 的信息,请访问 kde.org。(另请参阅"AfterStep"、"Enlightenment"、"GNOME"和"X Window系统"。)

    内核(Kernel) - 操作系统的核心,其它所有组件都依赖于它。内核管理诸如低层硬件交互及资源共享之类的任务,包括内存分配、输入/输出、安全性和用户访问。

    Korn Shell - Bourne Shell 的增强版本,包括广泛的脚本编制支持及命令行编辑。它支持许多为 Bourne Shell 编写的脚本。(另请参阅"Bash"。)

    (L)

    LGPL(库 GPL,Library GPL) - GPL 的一种变体,它包含程序库。

    LHArc - 一种较老的文件压缩和归档方法,现已很少使用。使用这一技术打包的文件的扩展名通常都是 .lha 或 .lzh。

    LILO(Linux 装载程序,LInux LOader) - 一种流行的分区引导管理器实用程序,能够引导到 Linux 以外的操作系统。它并不特定于文件系统。

    Linux - 类 UNIX 的开放源码操作系统,最初由 Linus Torvalds 发起。"Linux"实际上仅指操作系统内核或核心。已经有 200 多人为开发 Linux 内核做出了贡献。Linux 分发版的其余部分由各种实用程序、设备驱动程序、应用程序、用户界面和其它工具组成,一般也可对这些工具进行编译并在其它 UNIX 操作系统上运行。

    Linux for RS/6000?0?3 - 一种可从 SuSE 获得的 Linux 版本,它旨在在 IBM RS/6000 超级计算机上运行。有关 Enterprise Linux for RS/6000 的信息,请阅读 suse.com/suse/news/PressReleases/ibmS6000.html 或者访问 SuSE 的主页 suse.com。

    Linux for S/390?0?3 - 一种 Linux 版本,旨在作为虚拟机会话中的客户机操作系统,运行在 IBM S/390 大型机上。更多信息,请访问
    oss.software.ibm.com/developerworks/opensource/linux390;关于 Linux 与业界强大的 S/390 体系结构结合优点的有趣文章,请参阅 linuxplanet.com/linuxplanet/reports/1532/1;请访问 suse.com/suse/news/PressReleases/ibmsuse.html 以获取有关 SuSE Linux for S/390 的信息。

    记录日志或日志(Log) - 存储应用程序或者系统消息或错误信息。也指存储这类信息的文件。

    Lynx - 一种流行的非图形(基于文本的)Web 浏览器。


    (M)

    宏(Macro) - 一组以可执行形式存储的指令。宏可以是特定于应用程序的(诸如在电子表单或字处理程序内执行特定步骤的宏),也可以是通用的(例如,键盘宏,在键盘上按下 Ctrl-U 时输入用户标识)。

    Man - 读取联机手册页的 UNIX/Linux 命令。

    MBR(主引导记录,Master Boot Record) - 可引导磁盘驱动器上的第一个物理扇区。计算机刚开始引导时,系统 BIOS 查看该扇区以确定当前哪个分区是活动的(可引导的),随后读取该分区的第一个(引导)扇区并从该分区引导。

    Mesa - OpenGL(开放图形库,Open Graphics Library)API(应用程序编程接口,Application Programming Interface)的一种实现。它为编写由硬件辅助的 2D 和 3D 图形软件提供了标准准则和工具集。

    MIME(多用途因特网邮件交换,Multipurpose Internet Mail Exchange) - 允许文本电子邮件消息包含非文本(例如图形、视频或音频)数据的通信协议。

    Motif - 用于 UNIX/Linux 的专有强大图形库,由开放软件基金会(Open Software Foundation (OSF))开发,供程序员用来为 X Window 系统创建按钮、菜单及其它图形对象。(另请参阅"Gtk/Gtk+"。)

    挂装(Mount) - 在使用磁盘驱动器之前向文件系统标识磁盘驱动器。

    多任务(Multitasking) - 操作系统一次运行多个程序或任务的能力。协作式多任务 OS,如 Windows 95/98,要求应用程序主动释放另一个程序请求的资源,以便另一个应用程序能够使用这些资源。抢先式多任务 OS(例如 UNIX/Linux、Windows NT/2000 或 OS/2)中,操作系统基于时间片或基于优先级命令应用程序释放资源时,应用程序释放资源,以便在其它程序需要资源时,正在使用这些资源的应用程序不会独占它们。(另请参阅"多线程"和"分时"。)

    多线程(Multithreading) - 操作系统并发运行被分成子组件或多个线程的程序的能力。如果运用得当,多线程可以更好地利用处理器及其它系统资源。多线程编程需要多任务/多线程操作系统,例如 UNIX/Linux、Windows NT/2000 或 OS/2,这些操作系统能够并发地运行多个程序。字处理程序可以充分利用多线程,因为它可以在前台进行拼写检查,同时在后台进行存盘并将输出发送到系统打印假脱机程序。(另请参阅"线程"。)

    (N)

    NFS(网络文件系统,Network File System) - 一种允许跨网络或因特网共享文件的文件系统。

    新手(Newbie) - 一般而言,指刚接触因特网、计算机的人或者指刚接触 Linux 的人(例如,"Linux 新手")。

    (O)

    面向对象(Object-Oriented) - 一种软件开发方法,它为程序员提供标准可重用的软件模块(组件),而无需开发人员每次都编写定制编程代码。使用标准组件缩短了开发时间(因为其他程序员已经编写并测试了这些组件),并且通过使用相同的组件确保了程序具有标准的外观。

    OO - 参阅"面向对象"。
    开放源码(Open Source) - 一个稍显模糊的术语,是指同源代码一起发布的软件。提供源代码这一事实并不一定意味着用户可以修改和重新分发源代码。这个术语有时可以和"免费软件"互换使用,尽管它们的意思并不总是相同。(另请参阅"公共域"和"共享软件"。)

    OSS(开放声音系统,Open Sound System) - 用于在 UNIX/Linux 下访问声卡及其它音频设备的设备驱动程序。它是从 Linux 声音驱动程序(Linux Sound Driver)发展而来的,支持大多数流行的音频芯片及适配器。

    OSS(开放源码软件,Open Source Software) - 参阅"开放源码"。
    所有者(Owner) - 对文件具有访问特权的用户;通常是创建该文件的用户。

    (P)

    伪代码(P-code,Pseudo-code)语言 - 一种解释型语言。伪代码语言有点象个"混血儿",执行方式介于编译型语言和解释型语言之间。和解释型语言一样,伪代码编程语言无需编译,在执行时自动转换成二进制形式。然而,和编译型语言不同的是,这种可执行的二进制文件是以伪代码的形式而不是机器语言的形式存储的。此外,不同于解释型语言的是,不必在每次运行该程序的时候,都必须将其转换成二进制。在第一次转换成伪代码后,以后每次执行都可使用该伪代码版本。伪代码语言(以及用它编写的程序)往往比编译型语言及程序慢,但比解释型语言快,它们通常具有访问一些低层操作系统功能的权限,但却不能直接访问硬件。它们不需要有时很昂贵的编译器,通常与操作系统包含在一起,有些伪代码语言比编译型语言更容易编程。伪代码语言的例子有 Java、Python 和 REXX/Object REXX。

    PAM(可插入的认证模块,Pluggable Authentication Modules) - 用于系统安全性的可替换的用户认证模块,它允许在不知道将使用何种认证方案的情况下进行编程。这允许将来用其它模块来替换某个模块,却无需重写软件。

    面板(Panel) - Linux 中对应于 Windows 任务栏的名称。

    分区(Partition) - 磁盘驱动器的一个连续部分,它被操作系统当作物理驱动器。这样,可以为一个磁盘驱动器赋予几个驱动器符号。

    PCF 字体 - X Window 系统使用的各种位图字体。

    PD - 参阅"公共域"。

    PDF(可禁用词语文档格式,Portable Document Format)文件 - 用 Adobe Acrobat 或其它能够生成该格式输出的程序创建的二进制文件。用于生成独立于操作系统的文档,这种文档可以使用 Acrobat Reader 或其它程序(包括配备有 Acrobat Reader 插件的 Web 浏览器)来查看。

    Perl(实用摘录与报告语言,Practical Extraction and Report Language) - 一种常用的脚本编制/编程语言。经常用在 UNIX/Linux Web 服务器上生成 CGI 脚本。

    权限(Permission) - 读写文件和目录及执行程序的权限。超级用户或 root 操作员可以逐个文件、逐个目录地,或者按照帐户名称(用户标识)赋予各种权限级别。

    PGP(高质量保密程序,Pretty Good Privacy) - 用于 UNIX/Linux 及其它操作系统的高安全性公钥数据加密程序。

    管道符号(Piping Symbol) - 键盘字符 |(典型 101 键键盘的 Enter 键上面反斜杠的上档字符)。经常用来将某个命令或程序的输出提供给另一个命令或程序。例如,history | grep mcopy (用 history 命令)将 .bash_history 文件的内容发送到 grep 程序,以搜索字符串"mcopy"。(另请参阅"附加符号"和"重定向符号"。)

    禁用词语(Port/Ported/Porting) - 一个过程,即获取为某个操作系统平台编写的程序,并对其进行修改使之能在另一 OS 上运行,并且具有类似的功能。通常很少或者干脆就不尝试定制程序以利用新操作系统的特有能力,这与为某个特定操作系统优化应用程序不同。

    可禁用词语(Portable) - 描述一类软件的术语,这类软件旨在只需少量修改和重新编译就可在多个操作系统上使用。

    POSIX(UNIX 可禁用词语操作系统接口,Portable Operating System Interface for uniX) - 一组编程接口标准,它们规定如何编写应用程序源代码以便应用程序可在操作系统之间禁用词语。POSIX 基于 UNIX,它是 The Open Group 的 X/Open 规范的基础。

    PostScript - Adobe Systems 开发的页描述语言,它告诉打印机如何在打印页上显示文本或图形。

    PostScript 字体 - 可以用于 OS/2、MS Windows 和 X Window 系统的大量字体。这类字体文件的扩展名包括 .afm、.pfa 和 .pfb。有时称为 Adobe Type 1 字体或 ATM(Adobe Type Manager)字体。PostScript 字体通常需要与 PostScript 兼容的打印机。(另请参阅"BDF 字体"和"TrueType 字体"。)

    进程(Process) - 正在执行的程序。(另请参阅"多任务"和"多线程"。)

    公共域(Public Domain) - 可供任何人以任何目的使用和修改的软件,甚至可以将其并入商业软件的分发。公共域软件不保留版权,作者也不保留任何权利。(另请参阅"开放源码"和"共享软件"。)

    公钥加密(Public Key Encryption) - 一种包括两个单独密钥(公钥和私钥)的数据加密方法。使用公钥加密的数据只能用私钥解密,反之亦然。一般而言,公钥是公开的,可以用来加密发送给私钥持有者的数据,私钥用来对数据进行签名。

    Python - 一种面向对象伪代码编程语言。

    (Q)

    Qt - 一种功能强大且快捷的开放源码图形库,用于 UNIX/Linux 上的 X Window 系统。它被程序员用来创建按钮、菜单和其它图形对象。(另请参阅"Gtk/Gtk+"和"KDE"。)

    队列(Queue) - (也时被错误地拼成 Que。)一列等待执行的任务,如"打印队列"。

    (R)

    RAID(独立/廉价磁盘/设备冗余阵列,Redundant Array of Independent/Inexpensive Disks/Devices)- 一种提供数据冗余、改善性能和/或从磁盘崩溃中迅速恢复数据的方法,它是通过在多个磁盘驱动器上分布或复制数据来实现这一点的。常用的 RAID 类型包括 RAID 0(数据条带化),RAID 1(磁盘镜像)和 RAID 5(具有分布式奇偶校验的条带化)。RAID 配置通常需要 SCSI 磁盘驱动器(而不是 IDE/EIDE),可能要求磁盘相同(相同的容量、品牌等等)。操作系统将 RAID 阵列看作单个设备。

    RC 文件 - 含有程序(应用程序甚至操作系统)启动指令的脚本文件。这一文件在操作系统启动时会自动执行,它含有要运行的指令(命令或其它脚本)列表。

    RCS(修订控制系统,Revision Control System) - 一组程序,它们控制组环境下文件的共享访问并跟踪文本文件的变化。常用于维护源代码模块的编码工作。

    Rdev - 用于获取关于某个 Linux 系统信息的实用程序。用来查询和设置图像 root 设备、视频方式以及交换设备和 RAM 磁盘。

    重定向符号(Redirection Symbol) - 键盘字符 >。经常用于将命令的输出发送到文本文件。例如,ls -a > output.txt 将当前目录列表发送到名为 output.txt 的文件。重复该命令将会用新数据替换该文件的内容。(另请参阅"附加符号"和"管道符号"。)

    RFS(远程文件共享,Remote File Sharing) - 一个程序,它让用户访问其它计算机上的文件,就好象文件在用户的系统上一样。

    Root 操作员 - 具有执行所有系统级任务权限的用户标识。(也称作超级用户。)

    Root 窗口 - 运行 Linux 桌面的底层会话。

    RPM(RPM 软件包管理器,RPM Package Manager) - 一种用于因特网下载包的打包及安装工具,它包含在某些 Linux 分发版中。它生成具有 .RPM 扩展名的文件。与 Dpkg 类似。

    (S)

    脚本(Script) - 一组存储在文件中的命令。用于进行自动重复的执行。(另请参阅"RC 文件"。)

    会话(Session) - 用户在登录到注销期间与操作系统之间的完整交互过程。

    共享软件(Shareware) - 一类商业软件,它以"先试用再买"的形式提供。如果客户在经过较短的试用期后继续使用该产品,那么他们就被要求支付规定数额(通常微乎其微)的费用。(另请参阅"开放源码"和"公共域"。)

    Shell - 含有操作系统命令行界面的文本方式窗口。

    Shell 提示符 - shell 的用户输入区域。尽管在 DOS shell 中命令提示符指定为大于号(>),但在 Linux 中,命令提示符通常是百分号(%)、美元符号($)或其它特殊符号,这取决于所使用的 shell。(另请参阅"命令提示符"。)

    Shell 脚本 - 设计成在 shell 启动时自动运行的脚本。

    SHTTP(安全超文本传输协议,Secure Hyper Text Transport Protocol) - HTTP 的一种安全的加密版本,用于金融交易以及其它借助因特网发送的保密信息。斜杠(/)- 文件路径名中使用的符号,而不是 DOS/Windows 和 OS/2 操作系统中使用的反斜杠(\)。

    源代码(Source Code) - 程序员输入的、原始状态的编程命令。有些编程语言允许命令实时地由程序解释器执行。其它语言则要求必须先将命令编译成可执行程序(二进制)后才能使用这些命令。在 UNIX/Linux 世界中,有些软件仅以源代码形式分发;另一些软件包则同时包含源代码和二进制代码;还有一些则仅以二进制格式分发。

    假脱机(Spool)(外围设备联机并发操作,Simultaneous Peripheral Operation On-Line) - 将数据发送给一个程序,该程序将该数据信息放入队列以备将来使用(例如,打印假脱机程序) 。

    SQL(结构化查询语言(Structured Query Language)) - 用于操作关系数据库中的记录和字段(行和列)的语言。有时被错误地读成"sequel"。

    隐写术(Steganography) - 将一段信息隐藏在另一段信息中的做法。一个示例是在数字化照片中放置不可见的数字水印。

    字符串(String) - 字符序列,如"搜索字符串"。

    超级用户(Superuser) - 通常与 root 操作员同义。

    交换(Swap) - 暂时将数据(程序和/或数据文件)从随机存取存储器移到磁盘存储器(换出),或反方向移动(换入),以允许处理比物理内存所能容纳的更多的程序和数据。也称为虚拟内存。

    交换空间(Swap Space) - 被交换数据在磁盘上暂时存放的地方。Linux 用专用磁盘分区而不是特定交换文件来作为交换空间。

    符号链接(Symbolic link) - 程序或文件的别名或快捷方式。

    同步(Sync) - 将所有暂挂的输入/输出强制写回磁盘驱动器。

    系统日志(Syslog) - UNIX/Linux 系统日志记录程序,其中存储了所有系统消息或错误。

    (T)

    标记(Tag) - 诸如 HTML 之类的标记语言中的命令,它以某种方式(如粗体、居中或使用某种字体)显示信息。

    Tar(磁带归档,Tape ARchive) - 包含在 UNIX/Linux 中的一个文件打包工具,用于将一组文件组装成一个组合的文件以便归档起来更容易。它最初设计用于磁带备份,但现在它也可用于其它存储介质。独自运行时,生成具有 .tar 扩展名的文件。当与 Gzip 结合用于数据压缩时,生成的文件扩展名可能是 .tgz、.tar.gz 或 .tar.Z。

    Tar 包(Tarball) - 用 Tar 实用程序创建的文件,含有一个或多个归档的,同时也有可能进行了压缩的文件。

    TeX - 基于宏的流行的文本格式化程序。它是包括 LaTeX 和 teTeX 在内的其它此类格式化程序的基础。

    文本编辑器(Text Editor) - 用于编辑文本文件的程序。类似于字处理程序,但没有大多数/全部格式化功能(例如设置页边距、斜体和字体等等。)。经常用于书写或编辑脚本、程序和 ASCII 文本文件(如 README.1ST)。

    文本格式化程序(Text Formatter) - 准备文本文档以供打印的程序,允许用户执行许多布局功能,如页边距、页眉、页脚、缩排、分页和对齐。

    TFTP(小型文件传送协议,Trivial File Transfer Protocol) - FTP 的简化版本,它没有 FTP 的认证以及其它许多基本特性。

    线程(Thread) - 一小段程序,其行为就象是较大程序的一个独立子集,也称为"进程"。多线程程序能够比单个程序或单线程程序运行得快得多,因为它可以并行(而不是串行(顺序))地执行几个甚至多个不同的任务。而且,单个应用程序内的多个线程可以共享资源,并且相互之间可以来回传递数据。

    分时(Time-sharing) - 一种允许多个用户分享处理器的方法,它以时间为基础给每个用户分配一部分处理器资源,按照这些时间段轮流运行每个用户的进程。(另请参阅"多任务"。)

    Torvalds, Linus - 1991 年 Linux 内核的最初创建者,是 Linux 版权的拥有者,目前仍然是 Linux 开发项目的协调人。

    Touch - 一个命令,更改文件的日期/时间戳记,但不影响其内容。

    TrueType 字体 - 与 PostScript 字体不一样,它们旨在成为与打印机无关的各种字体。可用于 Apple Macintosh 和 Windows。不常用于 UNIX/Linux。(另请参阅"BDF 字体"和"PostScript 字体"。)

    Tux - 虚构的 Linux 企鹅吉祥物的名字。

    (U)

    UNIX - UNIX 最初作为一个专有操作系统,由 Bell 实验室在 20 世纪 60 年代开发。它最终衍生出了多个相互不兼容的商业版本,这些版本来自 Apple(Mac OS X)、Digital(Digital UNIX)、Hewlett-Packard(HPUX)、IBM(AIX?0?3)和 NeXT (NeXTSTEP) 等公司。

    UUCP - 一组程序和协议,已成为世界范围的 UNIX 计算机网络的基础。是以 UNIX 到 UNIX 复制程序(UNIX to UNIX Copy Program)来命名的。

    (V)

    虚拟桌面(Virtual Desktop) - 一种将用户的工作区扩展到计算机屏幕边界以外的方法。该桌面可以上下左右滚动,就好象一个更大的桌面放置在玻璃屏幕后面,并且可以四处移动以显示图标、窗口以及其它一些"在幕后"或视野以外的对象。或者,如同 KDE 桌面,可以使用多个按钮,每个按钮都显示大小等于玻璃屏幕的桌面区域,而且每个都含有不同对象。

    虚拟机(Virtual Machine) - 虚拟机(VM)是中央处理器芯片的特征,它将内存的某个区域同系统的剩余部分隔离开来。因为操作系统和应用程序运行于"保护模式"环境之下,所以如果某个程序在某个虚拟机中冻结了,那么它将不会影响运行于该虚拟机以外的程序和操作系统的运行。

    虚拟内存(Virtual Memory) - 使用一部分磁盘空间来作为内存的临时的存储区域的过程。与"交换"意思相同。

    VRML(虚拟现实建模语言,Virtual Reality Modeling Language) - 一种主要基于 Web 的语言,用于 3D 效果(如构建遍历)。

    窗口构件(Widget) - 用于 X Window 系统的图形用户界面编程对象(按钮、滚动条和单选按钮等等)。(另请参阅"X Window 系统"。)

    窗口管理器(Window Manager) - 一个图形用户界面(GUI),它运行于 X Window 之上,以便为用户提供窗口、图标、任务栏和其它桌面对象。(另请参阅"桌面"。)

    工作目录(Working Directory) - 当前目录或用户当前工作时所在的目录的另一名称。

    工作区(Workspace) - Root Window 或桌面的另一名称。

    封装器(Wrapper) - 用于启动另一个程序的程序。

    (X)

    X Window 系统 - UNIX 的图形窗口环境。许多用户界面都需要的底层编程。(另请参阅"桌面"、"窗口管理器"和"XFree86"。)

    X11 - X Window 系统的 V11。

    XDM(X 显示管理器,X Display Manager) - X Window 系统对用户友好的登录前端。经常用于网吧或校园环境,在这些地方,不熟悉 UNIX 的用户偶尔需要访问 UNIX。

    XFree86 - Linux 的一个 X Window 系统版本。被 GNOME、KDE 和其它 Linux 用户界面/窗口管理器所使用。

    XHTML(可扩展超文本标记语言,extensible Hyper Text Markup Language) - HTML 的增强版本,它支持象 XML 那样的由程序员定义的扩展。

    XML(可扩展标记语言,eXtensible Markup Language) - 用于设计 Web 页面的、功能强大的新型标记语言;它可以替代较老的 HTML,允许程序员定义他们自己的标记或格式化命令。

    (Y)

    Y(为什么,why) - 为什么没有(Y not)?我需要一些以 Y 开头的术语…

    (Z)

    Zip - 一种流行的文件压缩/归档格式,可以用于许多操作系统平台,包括 DOS/Windows、OS/2 和 UNIX/Linux。流行的工具包括 PKZip/PKUnzip 和 Zip/Unzip。不要将其与 Iomega Zip 磁盘相混淆,后者是一种可移动存储设备。(令人迷惑的是,用 Zip 压缩的文件可以存储在 Zip 磁盘上,也可以不存储在该磁盘上。二者之间并无关联。)用 Zip 压缩的文件具有 .zip 扩展名。

    区域(Zone) - 在管理或其它控制下的网络区域。在名称服务器配置内,域可以是一个区域。区域可以进一步细分为子区域,每个都可以拥有自己的管理员和服务器。

    Zoo - Amiga 系统上一种流行的压缩和归档格式,也可用于 UNIX/Linux。用这种方法打包的文件,其扩展名为 .zoo。

  6. zjh815153665 于 2008-07-01 20:22:33发表:

    帖子不能列表,大家看附件里的吧。
    附件里是本帖的完整版


    vi 中的正则表达式 (Regular Expression)
    ===================================
    .1. 定义和例子
    ============
    正则表达式只是一个字符模板,用来在搜索中匹配相同的字符.
    在大多数的程序中,正则表达式是括在正斜杠中间的.
    例如, /love/就是一个以正斜杠为分隔符的正则表达式,其中的
    模板love 将用在搜索所有行中与它匹配的字符. 更为有趣的是
    正则表达式可以被特殊的元字符控制.让我们通过下面的例子来进
    一步了解这个概念.
    有文本如下:
    Hi tom,
    I think I failed my anatomy test yesterday. I
    had a terrible stomach ache. I ate too many
    fried green tomatoes.
    Anyway, Tom, Ineed your help. I'd like to make
    the test up tomorrow, but don't know where to
    begin studying. Do you think you could help me?
    After work, about 7 PM, come to my place and I'll
    treat you to pizza in return for your help.
    Thanks.
    Your pal,
    guy@phantom

    假设你发觉Tom 并没有参加考试,而是David 参加的考试.同时还
    发现, 在贺信中Tom的T用的是小写.于是你决定做一个全文替换,把tom
    替换为Tom.

    在vi命令行模式下输入:
    :1, $s/tom/David/g
    ^ ^ ^ ^ ^
    | | | | |---- global 对全文有效
    | | | |
    | | |--------- 将tom 替换为 David , 使用正则表达式.
    | |------- 替换单词
    |------ 从文件的第一行到文件的最后一行.

    替换后的文本如下:
    Hi David,
    I think I failed my anaDavidy test yesterday, I
    had terible sDavidach ache. I ate too many
    fried green Davidatoes.
    Anyway, David, I need your help. I'd like to make
    the test up Davidorrow, but don't know where to
    begin studying. Do you think you could help me?
    After work, about ? PM, come to my place and
    I'll treat you to pizza in return for your help.
    Thanks.
    Your pal,
    guy@phanDavid

    我们发现有些单词中含有tom的的也被替换了.
    这是因为我们没有使用正则表达式的元字符来界定一个模板从而控制
    字符的替换动作.
    使用:
    :1, $s/\<[Tt]om\>/David/g
    就可以得到我们想要的结果了,即只替换单词tom而不是含有tom字符的
    单词.

    .2. 正则表达式的元字符
    ==================
    正则表达式的元字符是一些特殊的字符,它们允许你以某种方式界定一个
    模板来控制什么样的替换将发生.有的元字符锚定一个单词在行首或者行尾.
    有的元字符允许你指定一个字符范围或者一些字符, 来找到大写字母, 小写字母
    数字或者非数字等.

    有两套正则表达式字符集, 一套是基本元字符集, 另一套是扩展元字符集.
    另外, POSIX (Portable Operating System Interface for Computer Eaviron ment)
    标准还提供了一套元字符集.下表提供了可以在所有版本的vi, grep, egrep, sed and gawk
    中使用的基本元字符集.
    表:
    ----------------------------------------------------------------------------------------------
    元字符 | 功能 | 例子 | 匹配什么
    ----------------------------------------------------------------------------------------------
    ^ | 锚定行的开始 | /^love/ | 匹配所有以love开头的行.
    ----------------------------------------------------------------------------------------------
    $ | 锚定行的结束 | /love$/ | 匹配所有以love结束的行.
    ----------------------------------------------------------------------------------------------
    . | 匹配一个字符 | /l..e/ | 匹配这样的行, 这些行包含这样的字符,
    | | |第一个字符是 l,紧跟着两个字符,然后是e.
    -----------------------------------------------------------------------------------------------
    * | 代表0个或多个先前字符 | /*love/ | 匹配这样的行, 有0个或者多个空格,空格
    | | |候跟着love
    -----------------------------------------------------------------------------------------------
    [] | 匹配字符组中的一个字符 | /[lL]ove/ | 匹配所有包含love or Love 的行
    -----------------------------------------------------------------------------------------------
    [x-y] | 匹配以字符范围组成的组中的一个字符 | /[A-Z]ove | 匹配所有这样的行, 这些行包含如下字符
    | | |第一个字符是从A到Z 中间的一个, 后面跟
    | | |着ove
    -----------------------------------------------------------------------------------------------
    [^] | 匹配一个不在范围内的字符 | /[^A-Z]ove/ | 匹配所有这样的行, 这些行包含如下字符
    | | |第一个字符不是从A到Z 中间的一个, 后面
    | | |跟着ove
    -----------------------------------------------------------------------------------------------
    \ | 用来转义一个字符 | /love\./ | 匹配所有这样的行, 这些行包含如下字符
    | | |love 后面跟着一个点, 通常点是表示任何
    | | |字符的通配符.
    -----------------------------------------------------------------------------------------------
    \< | 锚定单词的开始 | /\| | |开头的单词 (vi & grep 都支持这个功能)
    -----------------------------------------------------------------------------------------------
    \> | 锚定单词的结束 | / | ... ^ ... 以love结束的单词 ... ^
    -----------------------------------------------------------------------------------------------
    \(..\) | 标记后面用到的匹配字符 | /\(love\)a\1b | 最多可以使用9个标签. 第一个标签是模板
    | | |最左边的部分. 在这例子中, 模板love
    | | |保存为标签1, 后面的\1指的就是love;
    | | |本例子搜索的是这样的行, 这些行包含这样
    | | |的字符,在lovea 后面跟着loveb.
    ------------------------------------------------------------------------------------------------
    [NOTE: 各种版本的Unix 以及模板匹配 (pattern-matching) 实用程序并不都是可信赖的, 通常我们使用 vi & grep]

    假设你熟悉 vi 是怎样工作的, 每一个元字符都在 vi 搜索字符串的术语中有详细描述.
    下面的例子中, 被加重的字符就是 vi 将找到的匹配字符.

    文本如下:
    I had a lovely time on our little picnic.
    Lovers were all around us. It is springtime. Oh
    Love, how much I adore you. Do you know
    the extent of my love? Oh, by the way, I think
    I lost my gloves somewhere out in that field of
    clover. Did you see them? I can only hope love
    is forever. I live for you. It's hard to get back
    in the groove.
    ~
    ~
    ~
    /love/

    结果如下:
    I had a lovely time on our little picnic.
    ^
    Lovers were all around us. It is springtime. Oh
    ^
    Love, how much I adore you. Do you know
    ^
    the extent of my love? Oh, by the way, I think
    ^
    I lost my gloves somewhere out in that field of
    ^
    clover. Did you see them? I can only hope love
    ^ ^
    is forever. I live for you. It's hard to get back
    in the groove.

    //
    还有一些测试命令如下:
    /^love/
    /love$/
    /l.ve/
    /[lL]ove/
    /ove[a-z]/
    /ove[^a-zA-Z0-9]/

    //
    //:~ Tue 22 Apr 2003 11:42:51 PM CST
    //:~ End Of PAGE 1

  7. zjh815153665 于 2008-07-01 20:19:34发表:

    有兴趣了解vi强大功能的查看下面的
    Vi 编辑器简介 && Vi 中的正则表达式

    Vi 是 Unix 世界里极为普遍的全萤幕文书编辑器,几乎可以说任何一台 Unix 机器都
    会提供这套软体。Linux 当然也有,它的 vi 其实是 elvis(版权问题),不过它们都
    差不多。熟悉 DOS 下的文书处理後,也许会感到 vi 并不好用;Unix 上也已经发展出
    许多更新、更好用的文书编辑器,但是并不一定每一台 Unix 机器上都会安装这些额外
    的软体。所以,学习 vi 的基本操作还是有好处,让你在各个不同的机器上得心应手。


    Vi 基本观念

    Unix 提供一系列的 ex 编辑器,包括 ex, edit 和 vi 。相对於全萤幕编辑器,现在
    可能很难想像如何使用 ex, edit 这种行列编辑器(有人用过 DOS 3.3 版以前所附的
    EDLIN 吗?)。 Vi 的原意是 "Visual",它是一个立即反应的编辑程式,也就是说可
    以立刻看到操作结果。

    也由於 vi 是全萤幕编辑器,所以它必须控制整个终端机萤幕哪里该显示些什麽。而终
    端机的种类有许多种,特性又不尽相同,所以 vi 有必要知道现在所使用的是哪一种终
    端机。这是藉由 TERM 这个环境变数来设定,设定环境变数方面请查看所使用 shell
    的说明。(除非执行 vi 的时候回应 unknow terminal type ,否则可以不用设定。)

    只要简单的执行 vi 就可以进入 vi 的编辑环境。在实际操作之前先对它有个概略的了
    解会比较好。Vi 有两种模式,输入模式以及指令模式。输入模式即是用来输入文字资
    料,而指令模式则是用来下达一些编排文件、存档、以及离开 vi 等等的操作指令。当
    执行 vi 後,会先进入指令模式,此时输入的任何字元都视为指令。


    进入与离开

    要进入 vi 可以直接在系统提示字元下键入 vi <档案名称>,vi 可以自动帮你载入
    所要编辑的档案或是开启一个新档。进入 vi 後萤幕左方会出现波浪符号,凡是列首有
    该符号就代表此列目前是空的。要离开 vi 可以在指令模式下键入 :q, :wq 指令则是
    存档後再离开(注意冒号)。要切换到指令模式下则是用 [ESC] 键,如果不晓得现在
    是处於什麽模式, 可以多按几次 [ESC],系统会发出哔哔声以确定进入指令模式。


    Vi 输入模式

    要如何输入资料呢?有好几个指令可以进入输入模式:

    新增 (append)
    a 从游标所在位置後面开始新增资料,游标後的资料随新增资料向後移动。
    A 从游标所在列最後面的地方开始新增资料。

    插入 (insert)
    i 从游标所在位置前面开始插入资料,游标後的资料随新增资料向後移动。
    I 从游标所在列的第一个非空白字元前面开始插入资料。

    开始 (open)
    o 在游标所在列下新增一列并进入输入模式。
    O 在游标所在列上方新增一列并进入输入模式。

    也许文字叙述看起来有点繁杂,但是只要实际操作一下马上可以了解这些操作方式。实
    务很重要,尤其是电脑方面的东西随时可以尝试及验证结果。极力建议实际去使用它而
    不要只是猛 K 文件,才有事半功倍的效用。(注:此段为废话。)


    Vi 基本编辑

    配合一般键盘上的功能键,像是方向键、[Insert] 、[Delete] 等等,现在你应该已经
    可以利用 vi 来处理文字资料了。当然 vi 还提供其他许许多多功能让文字的处理更形
    方便,有兴趣的看倌请继续。

    在继续下去之前先来点 BCC 吧。电脑有许多厂牌,不同的硬体及作业系统。PC 也不是
    仅仅只有 IBM PC 及其相容品而已。事实上,包括键盘,终端机等等往往都有不同的规
    格。这代表什麽?

    在文书编辑软体上会遇这样的问题,某些电脑的键盘上没有特定的几个功能键!那麽不
    就有某些功能不能用了?这个问题在 Unix 系统上也一样,几乎各大电脑厂商都有自己
    的 Unix 系统,而 vi 的操作方法也会随之有点出入。我们固然可以用 PC 的键盘来说
    明 vi 的操作,但是还是得提一下这个问题。


    删除与修改

    何谓编辑?在这里我们认为是文字的新增修改以及删除,甚至包括文字区块的搬移、复
    制等等。这里先介绍 vi 的如何做删除与修改。(注意:在 vi 的原始观念里,输入跟
    编辑是两码子事。编辑是在指令模式下操作的,先利用指令移动游标来定位要进行编辑
    的地方,然後才下指令做编辑。)

    x 删除游标所在字元。
    dd 删除游标所在的列。
    r 修改游标所在字元,r 後接著要修正的字元。
    R 进入取代状态,新增资料会覆盖原先资料,直到按 [ESC] 回到指令模式下为止。
    s 删除游标所在字元,并进入输入模式。
    S 删除游标所在的列,并进入输入模式。

    其实呢,在 PC 上根本没有这麽麻烦!输入跟编辑都可以在输入模式下完成。例如要删
    除字元,直接按 [Delete] 不就得了。而插入状态与取代状态可以直接用 [Insert] 切
    换,犯不著用什麽指令模式的编辑指令。不过就如前面所提到的,这些指令几乎是每台
    终端机都能用,而不是仅仅在 PC 上。

    在指令模式下移动游标的基本指令是 h, j, k, l 。想来各位现在也应该能猜到只要直
    接用 PC 的方向键就可以了,而且无论在指令模式或输入模式下都可以。多容易不是。

    当然 PC 键盘也有不足之处。有个很好用的指令 u 可以恢复被删除的资料,而 U 指令
    则可以恢复游标所在列的所有改变。这与某些电脑上的 [Undo] 按键功能相同。


    Vi 进阶应用

    相信现在对於 vi 应该已经有相当的认识。处理文字也不会有什麽麻烦才对。如果有兴
    趣善用 vi 的其它功能进一步简化操作过程,不妨继续看下去。


    移动游标

    由於许多编辑工作是藉由游标来定位,所以 vi 提供许多移动游标的方式,这个我们列
    几张简表来说明(这些当然是指令模式下的指令):

    ┌----------┬--------------------------┬----------┐
    │指令 │说明 │功能键 │
    ├----------┼--------------------------┼----------┤
    │0 │移动到游标所在列的最前面 │[Home] │
    ├----------┼--------------------------┼----------┤
    │$ │移动到游标所在列的最後面 │[End] │
    ├----------┼--------------------------┼----------┤
    │[CTRL][d] │向下半页 │ │
    ├----------┼--------------------------┼----------┤
    │[CTRL][f] │向下一页 │[PageDown]│
    ├----------┼--------------------------┼----------┤
    │[CTRL] │向上半页 │ │
    ├----------┼--------------------------┼----------┤
    │[CTRL] │向上一页 │[PageUp] │
    └----------┴--------------------------┴----------┘
    ┌----┬----------------------------------┐
    │指令│说明 │
    ├----┼----------------------------------┤
    │H │移动到视窗的第一列 │
    ├----┼----------------------------------┤
    │M │移动到视窗的中间列 │
    ├----┼----------------------------------┤
    │L │移动到视窗的最後列 │
    ├----┼----------------------------------┤
    │b │移动到下个字的第一个字母 │
    ├----┼----------------------------------┤
    │w │移动到上个字的第一个字母 │
    ├----┼----------------------------------┤
    │e │移动到下个字的最後一个字母 │
    ├----┼----------------------------------┤
    │^ │移动到游标所在列的第一个非空白字元│
    └----┴----------------------------------┘
    ┌----┬--------------------------------------┐
    │指令│说明 │
    ├----┼--------------------------------------┤
    │n- │减号移动到上一列的第一个非空白字元 │
    │ │前面加上数字可以指定移动到以上 n 列 │
    ├----┼--------------------------------------┤
    │n+ │加号移动到下一列的第一个非空白字元 │
    │ │前面加上数字可以指定移动到以下 n 列 │
    ├----┼--------------------------------------┤
    │nG │直接用数字 n 加上大写 G 移动到第 n 列 │
    └----┴--------------------------------------┘
    ┌--------┬------------------------------┐
    │指令 │说明 │
    ├--------┼------------------------------┤
    │fx │往右移动到 x 字元上 │
    │Fx │往左移动到 x 字元上 │
    ├--------┼------------------------------┤
    │tx │往右移动到 x 字元前 │
    │Tx │往左移动到 x 字元前 │
    ├--------┼------------------------------┤
    │; │配合 f&t 使用,重复一次 │
    │, │配合 f&t 使用,反方向重复一次 │
    ├--------┼------------------------------┤
    │/string │往右移动到有 string 的地方 │
    │?string │往左移动到有 string 的地方 │
    ├--------┼------------------------------┤
    │n │配合 /&? 使用,重复一次 │
    │N │配合 /&? 使用,反方向重复一次 │
    └--------┴------------------------------┘
    ┌--------┬--------------------------------------┬--------------------┐
    │指令 │说明 │备注 │
    ├--------┼--------------------------------------┼--------------------┤
    │n( │左括号移动到句子的最前面 │句子是以 │
    │ │前面加上数字可以指定往前移动 n 个句子 │! . ? 三种符号来界定│
    │n) │右括号移动到下个句子的最前面 │ │
    │ │前面加上数字可以指定往後移动 n 个句子 │ │
    ├--------┼--------------------------------------┼--------------------┤
    │n{ │左括弧移动到段落的最前面 │段落是以 │
    │ │前面加上数字可以指定往前移动 n 个段落 │段落间的空白列界定 │
    │n} │右括弧移动到下个段落的最前面 │ │
    │ │前面加上数字可以指定往後移动 n 个段落 │ │
    └--------┴--------------------------------------┴--------------------┘

    不要尝试背诵这些指令,否则後果自行负责。它们看起来又多又杂乱,事实上这是文字
    叙述本身的障碍。再强调一次,实际去使用它只要几次就可以不经大脑直接下达这些奇
    奇怪怪的指令,远比死记活背搞得模模糊糊强多了。(注:若真的不经大脑而误删资料
    与我无关。另,此段为废话。)


    进阶编辑指令

    这些编辑指令非常有弹性,基本上可以说是由指令与范围所构成。例如 dw 是由删除指
    令 d 与范围 w 所组成,代表删除一个字 d(elete) w(ord) 。

    指令列表如下:

    d 删除(delete)
    y 复制(yank)
    p 放置(put)
    c 修改(change)

    范围可以是下列几个:

    e 游标所在位置到该字的最後一个字母
    w 游标所在位置到下个字的第一个字母
    b 游标所在位置到上个字的第一个字母
    $ 游标所在位置到该列的最後一个字母
    0 游标所在位置到该列的第一个字母
    ) 游标所在位置到下个句子的第一个字母
    ( 游标所在位置到该句子的第一个字母
    } 游标所在位置到该段落的最後一个字母
    { 游标所在位置到该段落的第一个字母

    说实在的,组合这些指令来编辑文件有一点点艺术气息。不管怎麽样,它们提供更多编
    辑文字的能力。值得注意的一点是删除与复制都会将指定范围的内容放到暂存区里,然
    後就可以用指令 p 贴到其它地方去,这是 vi 用来处理区段拷贝与搬移的办法。

    某些 vi 版本,例如 Linux 所用的 elvis 可以大幅简化这一坨指令。如果稍微观察一
    下这些编辑指令就会发现问题其实是定范围的方式有点杂,实际上只有四个指令罢了。
    指令 v 非常好用,只要按下 v 键,游标所在的位置就会反白,然後就可以移动游标来
    设定范围,接著再直接下指令进行编辑即可。

    对於整列操作, vi 另外提供了更方便的编辑指令。前面曾经提到过删除整列文字的指
    令 dd 就是其中一个;cc 可以修改整列文字;而 yy 则是复制整列文字;指令 D 则可
    以删除游标到该列结束为止所有的文字。


    档案指令

    档案指令多以 : 开头,跟编辑指令有点区别。例如前面提到结束编辑的指令就是 :q。
    现在就简单说明一下作为本篇故事的结尾:

    :q 结束编辑(quit)
    如果不想存档而要放弃编辑过的档案则用 :q! 强制离开。
    :w 存档(write)
    其後可加所要存档的档名。
    可以将档案指令合在一起,例如 :wq 即存档後离开。
    zz 功能与 :wq 相同。

    另外值得一提的是 vi 的部份存档功能。可以用 :n,mw filename 将第 n 行到第 m 行
    的文字存放的所指定的 filename 里去哩。时代在变,世界在变, vi 也在变,不过大
    致上就这样。好了,但愿从此以後王子跟公主过著幸福快乐的生活。

  8. zjh815153665 于 2008-07-01 20:18:59发表:

    关于vi的一小点使用:
    请问在linux下怎样修改/etc下的文档?..


    在/etc目录下(或其它的目录)的文件如/etc/X11/XF86Config我用vi打开修改了,但却不能像windows那样保存,请问怎样保存修改后的文件?


    先来点救急用的吧:

    修改好后,按一下ESC键,然后来一个冒号(注意看左下角哦),再来一个小写字母x(x,y,z的那个x啦),就可以保存并退出编辑器。
    如果你想保存修改但不退出编辑器,那就把x换成w

    对于只读文档,如果想强制写入内容,可以加一个感叹号“!”,即":x!"或者":w!"

    建议你去找点关于vi或者vim的文档来看看,这个编辑器是一定要会的。不要求把它所有的功能都熟练掌握,基本的几个操作却一定要会。

  9. zjh815153665 于 2008-07-01 20:17:33发表:

    :Linux下软件的安装与卸载
    Linux下软件的安装与卸载

    在Windows下安装软件时,只需运行软件的安装程序(setup、install等)或者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall、unware、“卸载”等)就能将软件清除干净,完全图形化的操作界面,简单到只要用鼠标一直点击“下一步”就可以了。而Linux好象就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常地困难,没有像使用Windows时那么直观。其实在Linux下安装和卸载软件也非常简单,同样也有安装向导或解压安装的方式,不相同的只不过是除了二进制形式的软件分发外,还有许许多多以源代码形式分发的软件包,下面就来详细地讲一讲这些软件的安装与卸载:

    一、二进制分发软件包的安装与卸载
    Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。
    1、*.rpm形式的二进制软件包
    安装:rpm -ivh *.rpm
    卸载:rpm -e packgename
    说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用rpm形式的软件包。rpm的参数中-i是安装,-v是校验,-h是用散列符显示安装进度,*.rpm是软件包的文件名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的文件);参数-e是删除软件包,packgename是软件包名,与软件包的文件名有所区别,它往往是文件名中位于版本号前面的字符串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是软件包文件名,它们的软件包名称分别是apache和apache-devel。更多的rpm参数请自行参看手册页:man rpm。
    如果你不喜欢在字符界面下安装或卸载这些软件包,完全可以在X-Window下使用图形界面的软件包管理程序,如glint、xrpm这样的图形接口,或者是KDE的kpackge等,这样对软件包的安装、升级、卸载、验证和查询就可以通过点击鼠标来轻松完成。
    2、*.tar.gz/*.tgz、*.bz2形式的二进制软件包
    安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2
    卸载:手动删除
    说明:*.tar.gz/*.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”获取清单。tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的文件清单。更多的参数请参看手册页:man tar。
    如果你更喜欢图形界面的操作,可以在X-Window下使用KDE的ArK压缩档案管理工具。
    3、提供安装程序的软件包
    这类软件包已经提供了安装脚本或二进制的安装向导程序(setup、install、install.sh等),只需运行它就可以完成软件的安装;而卸载时也相应地提供了反安装的脚本或程序。例如SUN公司的StarOffice办公软件套件就使用名为setup的安装程序,而且在软件安装后提供反安装的功能,目前这种类型的软件包还比较少,因其安装与卸载的方式与Windows软件一样,所以就无需多讲了。

    二、源代码分发软件包的安装与卸载
    Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。
    1、*.src.rpm形式的源代码软件包
    安装:rpm -rebuild *.src.rpm
    cd /usr/src/dist/RPMS
    rpm -ivh *.rpm
    卸载:rpm -e packgename
    说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。
    2、*.tar.gz/*.tgz、*.bz2形式的源代码软件包
    安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解压
    然后进入解压后的目录:
    ./configure 配置
    make 编译
    make install 安装
    卸载:make uninstall 或 手动删除
    说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。

    关于Linux下软件的安装与卸载lanche已经讲了这么多,但可能还会有人问怎么知道一个tar.gz/bz2包是二进制文件包呢还是源代码包?如果你用过压缩工具就会明白,压缩包未必就是软件,它也可能是备份的许多图片,也可能是打包在一起的普通资料,要分辨它到底是什么最好的办法就是查看包里的文件清单,使用命令tar ztvf *.tar.gz / tar ytvf *.bz2或者在X-Window下使用图形化的ArK压缩档案管理工具都可以,源代码包里的文件往往会含有种种源代码文件,头文件*.h、c代码源文件*.c、C++代码源文件*.cc/*.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为bin的目录(仅有少数例外)。原来这么简单呀,还不快点自己试试!


    第二篇:


    如何安装Linux的软件

    在windows下安装软件大家都觉得很容易,只要双击setup或是install的图标,然后跟着向导一步一步的按提示做就可以了,但是在linux下安装软件就不像windows下那样容易了,有时你找到的是没有编译过的软件源码,那就更加的麻烦了,这里就介绍一下如何安装linux的软件啦!
    linux下的软件一般都是经过压缩的,主要的格式有这几种:rpm、tar、tar.gz、tgz等。所以首先拿到软件后第一件事就是解压缩。
    一、在xwindow下以rpm格式的软件安装比较容易,只要在把鼠标移到文件上单击右键,在弹出的菜单里会有专门的三项(只有在右键单击rpm文件才会出现)show info,upgrade和install,这三项的意思大家都很清楚了,我就不多说了。rpm格式说了,接着就是tar,tar.gz,tgz等,在xwindow下双击这些格式的文件就会自动解压缩的,是解压缩而不是像rpm那样有install选项的,install文件会在你解压缩后才出现,不过这里我要先说一下,在你双击install前建议先好好看一下readme,因为你所要安装这些软件可能是没有编译的,所以看一下会比较好。
    二、说完了xwindow下的安装和解压缩,接着说在文本模式下如何解压缩和安装,还有编译源码了。首先说rpm的,以root身份登陆后(用其他的身份登陆也可以但有些软件就不能被安装)键入rpm -i你所要解压缩的文件+扩展名(当然是rpm)也不是很难吧,这里我要说的是“-i”意思是install,如果你想要卸载或是要执行其他的指令就打rpm --help,看电脑给你的提示吧,为了照顾那些E文不太好的人我这里就写几个常用的参数:-e:卸载相关的应用程序,-U(注意是大写):升级软件包, -pql:列出rpm软件包的相关信息,-qf:查找指定文件属于哪个软件包。至于那些其他格式的软件则可以用gunzip,gzip,tar和unzip等指令来解压缩,然后再运行install。通过解包后会得到一些文件,然后进入刚才解压缩后文件目录用“ls -F -color”指令看一下所得到的文件,一般有两种情况:第一种是文件为已经编译好的程序(无须再编译了)用上面的察看文件命令会以带“*”标记的亮绿色显示;第二种则是需要由你自己编译的源代码。得到的是源代码的话,就需要我们自己编译来得到可运行的程序。编译源代码听到编译是不是就吓到你了呢,其实说穿了也就加上几句话而已,对初学者是有些困难想用好的操作系统就需要学习嘛,等你学会了在MM前露一手的时候想想吧……,在编译之前先要认真的阅读一下readme文档,老鸟们就不需要了吧,等你阅读完了以后就执行
    ./configure
    make
    make install(只有Root身份才能执行此命令),编译完成之后便会在当前目录或src子目录下得到软件的可执行程序。
    介绍完了,大家是不是觉的RPM的软件安装比较容易一点呢,但我个人意见初学者还是多选择RPM格式以外的软件,因为通过编译软件的源码可以为你以后编译内核打下一定的基础。(上海 张国荣)


    第三篇:


    轻松安装、卸载Linux软件

    Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使用的。在Shell的提示符后输入rpm,就可获得该命令的帮助信息。

    软件的安装
    Linux下软件的安装主要有两种不同的形式。第一种安装文件名为xxx.tar.gz;另一种安装文件名为xxx.i386.rpm。以第一种方式发行的软件多为以源码形式发送的;第二种方式则是直接以二进制形式发送的。

    对于第一种,安装方法如下:

    1.首先,将安装文件拷贝至你的目录中。例如,如果你是以root身份登录上的,就将软件拷贝至/root中。

    #cp xxx.tar.gz /root

    2.由于该文件是被压缩并打包的,应对其解压缩。命令为:

    #tar xvzf filename.tar.gz

    3.执行该命令后,安装文件按路径,解压缩在当前目录下。用ls命令可以看到解压缩后的文件。通常在解压缩后产生的文件中,有“Install”的文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。

    4.执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为:#./configure。

    5.检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了。编译的过程视软件的规模和计算机性能的不同,所耗费的时间也不同。命令为:#make。

    6.成功编译后,键入如下的命令开始安装:

    #make install

    7.安装完毕,应清除编译过程中产生的临时文件和

    关于X窗口的设置
    /etc/X11/XF86Config 详解

    XF86Config说明
    文件的每节都是由下述的部分组成:

    Section "SectionName"
      SectionEntry
      …
    EndSection

    SectionName包括:

    Files      文件路径名
    ServerFlags    服务器标志
    Module      动态模块加载
    InputDevice    输入设备描述
    Device      图形设备描述
    VideoAdaptor    Xv视频卡描述
    Monitor      监视器描述
    Modes       视频模式描述
    Screen      屏幕配置
    ServerLayout    全面的层叠
    DRI      DRI特定的配置
    Vendor      供应商特定的配置


    出于向下兼容的目的,下列项虽已废除但是配置文件仍能识别。在新的配置文件中,应使用新的InputDevice项。
    Keyboard 键盘配置
    Pointer 指针/鼠标配置
    老的XInput节已经被废除。

    ServerLayout在最高层。它们绑定的输入输出设备会在这一节里使用。输入设备由InputDevice描述,
    输出设备通常有多个独立的组件组成。多个组件组成Screen节。每个Screen节将图形板和监视器绑定在一起。
    显示卡由Device节描述,监视器由Monitor节描述。
    RGBPath "path"
    rgb颜色数据库的路径,缺省值为:/usr/X11R6/lib/X11/rgb。


    Option "AllowMouseOpenFail" "boolean"
    即使鼠标设备不能被打开/初始化也允许X服务器启动




    1)Layout主节点包括Mouse/Keyboard和Screen

    Section "ServerLayout"

      Identifier "Layout0"
      Screen "Screen0"
      #Screen "Screen1" Below "Screen0"
      InputDevice "Mouse0" "CorePointer"
      InputDevice "Keyboard0" "CoreKeyboard"

    EndSection


    2)扩展支持

    Section "ServerFlags"

    option "Xinerama" "on"和dri有冲突

    EndSection

    3)定义mouse

    主设备号可以在/proc/devices找到。每一个物理设备由设备驱动程序控
    制且被分配一个次设备号

    Section "InputDevice"
      Identifier "Mouse0"
      Driver "mouse"
      Option "Protocol"  "ImPS/2"    (键位说明)
      Option "ZAxisMapping"  "4 5"
      Option "Device"   "/dev/input/mice" (如果是ps/2的接口)
    EndSection
    Emulate3Buttons是否模拟3键鼠标

    4)定义字体

    ection "Files"

    RgbPath  "/usr/X11R6/lib/X11/rgb"
      FontPath  "/usr/X11R6/lib/X11/fonts/local/"
      FontPath  "/usr/X11R6/lib/X11/fonts/misc/"
      FontPath  "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
      FontPath  "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
      FontPath  "/usr/X11R6/lib/X11/fonts/Type1/"
      FontPath  "/usr/X11R6/lib/X11/fonts/Speedo/"
      FontPath  "/usr/X11R6/lib/X11/fonts/75dpi/"
      FontPath  "/usr/X11R6/lib/X11/fonts/100dpi/"

    #FontPath   "unix/:7100"
    EndSection

    5)定义显卡
    Section "Device"
    Identifier "Videocard0"
      Option "DesktopSetup"    "0x00000000"
    Driver  "fglrx"(说明驱动/usr/X11R6/lib/modules/drivers)
    VendorName "ATI"
    BoardName  "ATI Radeon 7000"
    BusID  "PCI:1:0:0" (lspci和scanpci -v得到)
    Screen0
    EndSection

    6)定义ddcprobe(显示器)
    Section "Monitor"

    Identifier  "Monitor0"
    VendorName  "Sony"
    ModelName  "Sony CPD-G520"
    HorizSync  30.0 - 121.0 改刷新率 (横显示器 )
    VertRefresh 48.0 - 160.0 改刷新率 (纵显示器-分辨率 )
    Option  "dpms"
    EndSection

    7)附加的模块

    Section "Module"
    Load "dbe" 
    Load "extmod"
    Load "fbdevhw"
    Load "glx"
    Load "record"
    Load "freetype"
    Load "type1"
    #Load "dri"

    EndSection

    说明对DRI的使用者

    #Section "DRI"
    #Group  10
    #Mode  0666
    #EndSection

    定义关联

    Section "Screen"
    Identifier "Screen1" 
    Device   "Videocard0" 定义显卡
    Monitor  "Monitor1"  显示器
    DefaultDepth   24  色深
    SubSection "Display"  
    Viewport  0 0    虚拟屏
    Depth   24
    Modes  "1024x768"  屏幕分辨率
    EndSubSection
    EndSection

    VideoRam mem
    此选项指定图形卡的RAM数量,以KB为单位。X服务程序会自动探测显示卡,所以此字段一定不要指定。

  10. zjh815153665 于 2008-07-01 20:16:45发表:

    更多的查看:使用rpm文件安装

    在Windows下安装软件时,只需运行软件的安装程序(setup、install等)或者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall、unware、“卸载”等)就能将软件清除干净,完全图形化的操作界面,简单到只要用鼠标一直点击“下一步”就可以了。而Linux好象就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常地困难,没有像使用Windows时那么直观。其实在Linux下安装和卸载软件也非常简单,同样也有安装向导或解压安装的方式,不相同的只不过是除了二进制形式的软件分发外,还有许许多多以源代码形式分发的软件包,下面就来详细地讲一讲这些软件的安装与卸载:

    一、二进制分发软件包的安装与卸载
    Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。
    1、*.rpm形式的二进制软件包
    安装:rpm -ivh *.rpm
    卸载:rpm -e packgename
    说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用rpm形式的软件包。rpm的参数中-i是安装,-v是校验,-h是用散列符显示安装进度,*.rpm是软件包的文件名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的文件);参数-e是删除软件包,packgename是软件包名,与软件包的文件名有所区别,它往往是文件名中位于版本号前面的字符串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是软件包文件名,它们的软件包名称分别是apache和apache-devel。更多的rpm参数请自行参看手册页:man rpm。
    如果你不喜欢在字符界面下安装或卸载这些软件包,完全可以在X-Window下使用图形界面的软件包管理程序,如glint、xrpm这样的图形接口,或者是KDE的kpackge等,这样对软件包的安装、升级、卸载、验证和查询就可以通过点击鼠标来轻松完成。
    2、*.tar.gz/*.tgz、*.bz2形式的二进制软件包
    安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2
    卸载:手动删除
    说明:*.tar.gz/*.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”获取清单。tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的文件清单。更多的参数请参看手册页:man tar。
    如果你更喜欢图形界面的操作,可以在X-Window下使用KDE的ArK压缩档案管理工具。
    3、提供安装程序的软件包
    这类软件包已经提供了安装脚本或二进制的安装向导程序(setup、install、install.sh等),只需运行它就可以完成软件的安装;而卸载时也相应地提供了反安装的脚本或程序。例如SUN公司的StarOffice办公软件套件就使用名为setup的安装程序,而且在软件安装后提供反安装的功能,目前这种类型的软件包还比较少,因其安装与卸载的方式与Windows软件一样,所以就无需多讲了。

    二、源代码分发软件包的安装与卸载
    Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。
    1、*.src.rpm形式的源代码软件包
    安装:rpm -rebuild *.src.rpm
    cd /usr/src/dist/RPMS
    rpm -ivh *.rpm
    卸载:rpm -e packgename
    说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。
    2、*.tar.gz/*.tgz、*.bz2形式的源代码软件包
    安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解压
    然后进入解压后的目录:
    ./configure 配置
    make 编译
    make install 安装
    卸载:make uninstall 或 手动删除
    说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。

    关于Linux下软件的安装与卸载lanche已经讲了这么多,但可能还会有人问怎么知道一个tar.gz/bz2包是二进制文件包呢还是源代码包?如果你用过压缩工具就会明白,压缩包未必就是软件,它也可能是备份的许多图片,也可能是打包在一起的普通资料,要分辨它到底是什么最好的办法就是查看包里的文件清单,使用命令tar ztvf *.tar.gz / tar ytvf *.bz2或者在X-Window下使用图形化的ArK压缩档案管理工具都可以,源代码包里的文件往往会含有种种源代码文件,头文件*.h、c代码源文件*.c、C++代码源文件*.cc/*.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为bin的目录(仅有少数例外)。原来这么简单呀,还不快点自己试试!


    第二篇:


    如何安装Linux的软件

    在windows下安装软件大家都觉得很容易,只要双击setup或是install的图标,然后跟着向导一步一步的按提示做就可以了,但是在linux下安装软件就不像windows下那样容易了,有时你找到的是没有编译过的软件源码,那就更加的麻烦了,这里就介绍一下如何安装linux的软件啦!
    linux下的软件一般都是经过压缩的,主要的格式有这几种:rpm、tar、tar.gz、tgz等。所以首先拿到软件后第一件事就是解压缩。
    一、在xwindow下以rpm格式的软件安装比较容易,只要在把鼠标移到文件上单击右键,在弹出的菜单里会有专门的三项(只有在右键单击rpm文件才会出现)show info,upgrade和install,这三项的意思大家都很清楚了,我就不多说了。rpm格式说了,接着就是tar,tar.gz,tgz等,在xwindow下双击这些格式的文件就会自动解压缩的,是解压缩而不是像rpm那样有install选项的,install文件会在你解压缩后才出现,不过这里我要先说一下,在你双击install前建议先好好看一下readme,因为你所要安装这些软件可能是没有编译的,所以看一下会比较好。
    二、说完了xwindow下的安装和解压缩,接着说在文本模式下如何解压缩和安装,还有编译源码了。首先说rpm的,以root身份登陆后(用其他的身份登陆也可以但有些软件就不能被安装)键入rpm -i你所要解压缩的文件+扩展名(当然是rpm)也不是很难吧,这里我要说的是“-i”意思是install,如果你想要卸载或是要执行其他的指令就打rpm --help,看电脑给你的提示吧,为了照顾那些E文不太好的人我这里就写几个常用的参数:-e:卸载相关的应用程序,-U(注意是大写):升级软件包, -pql:列出rpm软件包的相关信息,-qf:查找指定文件属于哪个软件包。至于那些其他格式的软件则可以用gunzip,gzip,tar和unzip等指令来解压缩,然后再运行install。通过解包后会得到一些文件,然后进入刚才解压缩后文件目录用“ls -F -color”指令看一下所得到的文件,一般有两种情况:第一种是文件为已经编译好的程序(无须再编译了)用上面的察看文件命令会以带“*”标记的亮绿色显示;第二种则是需要由你自己编译的源代码。得到的是源代码的话,就需要我们自己编译来得到可运行的程序。编译源代码听到编译是不是就吓到你了呢,其实说穿了也就加上几句话而已,对初学者是有些困难想用好的操作系统就需要学习嘛,等你学会了在MM前露一手的时候想想吧……,在编译之前先要认真的阅读一下readme文档,老鸟们就不需要了吧,等你阅读完了以后就执行
    ./configure
    make
    make install(只有Root身份才能执行此命令),编译完成之后便会在当前目录或src子目录下得到软件的可执行程序。
    介绍完了,大家是不是觉的RPM的软件安装比较容易一点呢,但我个人意见初学者还是多选择RPM格式以外的软件,因为通过编译软件的源码可以为你以后编译内核打下一定的基础。(上海 张国荣)


    第三篇:


    轻松安装、卸载Linux软件

    Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使用的。在Shell的提示符后输入rpm,就可获得该命令的帮助信息。

    软件的安装
    Linux下软件的安装主要有两种不同的形式。第一种安装文件名为xxx.tar.gz;另一种安装文件名为xxx.i386.rpm。以第一种方式发行的软件多为以源码形式发送的;第二种方式则是直接以二进制形式发送的。

    对于第一种,安装方法如下:

    1.首先,将安装文件拷贝至你的目录中。例如,如果你是以root身份登录上的,就将软件拷贝至/root中。

    #cp xxx.tar.gz /root

    2.由于该文件是被压缩并打包的,应对其解压缩。命令为:

    #tar xvzf filename.tar.gz

    3.执行该命令后,安装文件按路径,解压缩在当前目录下。用ls命令可以看到解压缩后的文件。通常在解压缩后产生的文件中,有“Install”的文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。

    4.执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为:#./configure。

    5.检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了。编译的过程视软件的规模和计算机性能的不同,所耗费的时间也不同。命令为:#make。

    6.成功编译后,键入如下的命令开始安装:

    #make install

    7.安装完毕,应清除编译过程中产生的临时文件

  11. zjh815153665 于 2008-07-01 20:15:31发表:

    对付一大堆rpm文件的时候怎么办?

    rpm命令参数列表 提交文章 引用并回复 编辑/删除帖子 删除这个主题 浏览发表者的IP地址
    1.安装一个包
    # rpm -ivh
    2.升级一个包
    # rpm -Uvh
    3.移走一个包
    # rpm -e
    4.安装参数
    --force 即使覆盖属于其它包的文件也强迫安装
    --nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。
    5.查询一个包是否被安装
    # rpm -q < rpm package name>
    6.得到被安装的包的信息
    # rpm -qi < rpm package name>
    7.列出该包中有哪些文件
    # rpm -ql < rpm package name>
    8.列出服务器上的一个文件属于哪一个RPM包
    #rpm -qf
    9.可综合好几个参数一起用
    # rpm -qil < rpm package name>
    10.列出所有被安装的rpm package
    # rpm -qa
    11.列出一个未被安装进系统的RPM包文件中包含有哪些文件?
    # rpm -qilp < rpm package name>

  12. zjh815153665 于 2008-07-01 20:13:39发表:

    linux常见问题解答

    linux常见问题解答
    1.什么是LINUX?
      LINUX是一个可独立运作的POSIX兼容操作系统,它也包含了SYS V和BSD的功能。它完全是独之发展的,所以其中没有任何有版权问题的代码。LINUX可以在符合GNU Public License的情况下自由传播。它的核心是由芬兰人Linus Torvalds (torvalds@kruuna.helsinki.fi)所写。
    2.LINUX的版本
      Linux的版本号分成两部分:内核和发行套件版本。很多人常常把内核的版本号和发行套件版本号弄混了,实际上内核的版本号是Linus领导下的开发小组开发的内核的版本号。(通常,内核版本序号是偶数表示是稳定的版本,奇数序号是不稳定的测试版本)
    3.LINUX的标准发音
      ftp:/Linux.cis.nctu.edu.tw/pub/kernel/SillySound/english.au,这是Linux本人的Linux发音的声音文件,应该是最权威的。
    4.怎样自己制作boot disk
      rdev /vmlinuz /dev/hda1 (其中/dev/hda1 是系统根挂接点的分区)
    dd if=vmlinuz of=/dev/fd0
    5.LILO出错信息意义
    没有信息 LILO没有安装或者安装LILO的分区没有被激活
    LI LILO第一部分被加载,第二部分出错。一般由于LILO定位错误或者试用了错误的boot.b文件。
    LIL LILO第二部分开始加载,但是没有从map文件中成功读取descriptor tables。
    LIL? LILO第二部分在错误的地方加载,原因同“LI”。
    LIL- descriptor table 错误,或者是改变了boot.B文件却没有重新安装LILO。
    LILO LILO的所有部分都安装完毕。
    10101010 如果用户的分区情况改变却没有重新安装LILO,LILO开机时就会出现1010现象。这是用软盘开机重新运行LILO就可以修复。另外用户超频的时候也有可能出现这种情况。
    6.如何反安装LILO
      用DOS启动,执行FDISK /MBR就可以重写主引导记录,覆盖LILO。
    在Linux下执行 lilo -u /dev/hda (其中/dev/hda 是lilo安装的位置)
    7.如何在LINUX下看WIN95长文件名
      确定核心支持VFAT文件系统,然后改/etc/fstab中的选项,例如:mount -t vfat /dev/hda1 /dos这样就可以看win95长文件名了。
    8.显示彩色目录及文件列表
      用ls --color -F,参数--color指示用彩色显示,参数-F会在文件/目录名后加一个字符来指示它的类别。建议初学者用man ls看看详细信息。比如用-l参数列出文件/目录的绝大部分信息(长格式显示);用-a参数列出所有文件;包括首字符为"."的隐含文件;用-N参数不处理文件名直接显示,这样在中文环境下就可以显示中文文件名了。还要注意ls与其它命令搭配使用可以生出很多技巧(最简单的如"ls -l | more")。为了方便起见,你可以编辑/etc/bashrc或自己家目录(home)下的.bashrc,加入一行:
    alias ls="ls --color -F -N" 重新运行一下bash会立即生效,如果加在/etc/bashrc里则对所有使用bash shell的用户有效。如果使用的是其它的shell,则去找对应的配置文件。注意不是/etc/aliases文件,那是sendmail
    的别名配置文件。ls显示的颜色是可以修改的,请参考"Colours with Linux terminals",里面有个shell脚本可以显示所有的ANSI颜色。你可以去看一下/etc/DIR_COLORS或$HOME/.dir_colors,要注意两个文件的作用范围不同。
    9.复制子目录及子目录下的所有文件
      在用cp时加上-r参数,如"cp -r /mnt/floppy/* /usr/local/"要参考的重要参数是-f -s。
    10.文件/目录改名
      简单地用move命令移到新名字下即可。例如"mv /usr/oldname /usr/newname"。
    11.怎样删除一个目录下的所有文件和子目录及子目录下的所有文件
      rm -rf /tmp/example
    12.怎样显示文件的类型
      用file命令,比如"file /bin/mount","file xxx.gz","file netscape","file initrd.img"等等。相关的配置文件在/etc/magic或者/usr/share/magic
    13.查找命令文件的路径
      比如你要查找mount命令的具体路径,可以用type mount 、whereis mount,这个命令还可以找出与这个命令文件相关的文件如manuals page。
    14.查找文件
      使用find命令,比如:
    find /usr -name XF86* 在/usr目录下(包含子目录)查找名字前四个字母为XF86的文件
    find . -name netscape -print 在当前目录下(包含子目录)查找名为netscape的文件
    find /home -nouser 在/home目录下查找没有用户属主的文件(用户帐号被删除但有遗留文件)
    find /var -newer test 在/var目录下查找比test文件日期更新的文件
      find命令有很多参数,注意用man命令查看。
      更快速的查找文件是使用locate,第一次使用locate之前用updatedb来更新文件/目录名数据库。它把文件/目录信息写到数据库中,以后查找起来就特别的快。updatedb放在crontab中而且缺省配置是在半夜自动执行。locate存在轻微的安全性问题,因为普通用户可以用它来取得自己不能访问的目录/文件的部分信息。
    15.快速调出历史命令
      可以用上下光标键来调出历史命令,然后用左右光标键移动并可编辑命令行。
    详细情况请见下面贴子(有其它想法可跟其贴!)http://www.linuxforum.net/forum/showthreaded.php?Cat=&Board=newbie&Number=155520&page=&view=&sb=&o=
    16.关于rpm的小技巧
      1)安装rpm包时显示进度:用-vh参数,如rpm -ivh ipchains-1.3.6-1.i386.rpm,如果用glint或xrpm则不必。
      2)直接通过ftp来安装rpm包:如rpm -i ftp://ftp.xxx.xxx
      3)校验所有的rpm包,查找丢失的文件:rpm -Va
      4)查找一个文件属于哪个rpm包:例如:rpm -qf /usr/bin/who
      5)列出一个rpm包的描述信息:例如:rpm -qpi mon-0.37j-1.i386.rpm
      6)列出一个rpm包的文件信息:例如:rpm -qpl mon-0.37j-1.i386.rpm
    17.使用软盘/光盘等移动介质
      因为Linux下没有A盘D盘的概念。你需要把软盘/光盘设备上的文件系统安装到Linux目录树上的一个点上,称之为安装点(mount point),通常是一个目录。安装Linux后会有个缺省的安装点/mnt,在它下面还有/mnt/floppy和/mnt/cdrom。你可以用mount -t ext2 /dev/fd0 /mnt/floppy <--把Linux文件系统格式的软盘安装上来
    单用mount而不跟任何参数可以显示已经安装的文件系统,或者查看/etc/mtab文件初学者还经常问到如何格式化磁盘,在Linux里概念有些不同,称之为制作文件系统(make filesystem)应该用mkfs命令,由于现在的Linux都使用ext2格式,最好直接使用mke2fs,比如mke2fs /dev/fd0、mke2fs /dev/hdb2等等。如果要对软盘低级格式化,则可以用fdformat,而硬盘在出厂时已经格式化,无须低级格式化(那是危险的)。检查文件系统则用e2fsck,如e2fsck -av /dev/fd0。
    18.列出一个目录占用的空间
      du或du -s或du -k ,du -S | sort -n 可以迅速发现哪个目录是最大的。用df可以看到已安装的文件系统的空间大小及剩余空间大小。quota -v查看用户的磁盘空间信息,如果你用quota限制了用户空间大小的话。
    19.命令补起(TAB键的妙用)
      很多shell都有这个功能:
    1. 只需输入文件或目录名的前几个字符, 然后按TAB键,如无相重的,完整的文件名立即自动在命令行出现;如有相重的,再按一下TAB键,系统会列出当前目录下所有以这几个字符开头的名字.例如cd /mnt/cd 自动补起为 cd /mnt/cdrom。
    2. 在命令行下,只需输入例如"m",再连续按两次TAB键,系统将列出所有以"m"开头的命令,(包括自定义的Bshell命令函数),对查找某些记不清楚的命令特有用.例如输入"ftp",将查到ftp, ftpcount, ftpwho, ftpshut等本不熟悉的命令。
    20.让grep搜寻文件及所有子目录下的文件里的内容
    例如搜寻ZhXwin下所有C原代码中的"Chinput"(试试取消下行的-q参数):
    find /download/ZhXwin -name *.c -exec grep -q -s Chinput {} \; -print
    查找所有文件则可以用:find . -type f -exec grep -s chinese {} \; -print 。如果喜欢图形界面,KDE带的kfind很不错。
    21.查看启动时的log信息
      首先去查看/etc/syslog.conf文件,找到对应的文件。
      通常在SlackWare下为/var/adm/messages,在Redhat下为  /var/log/messages。这些文件可能会很大,要注意备份和删除。
    22.产生一个以当日日期为后缀的文件
      file=`date '+%m%d'` | touch todayis.$file
      注意定义file变量中的“`”不是“ '”,而是左上角数字键1傍边那个(左单引号)。
    23.利用Find命令改变所有权
      想要改变当前目录下所有文件的所有权,可以这样:
      find . -exec chown OWNER.[GROUP] {} \; (Solaris)
      find . -exec chown -R OWNER.[GROUP] {} \; (Linux)
    24.取消^M字符
      当你FTP一些DOS文件到unix下时,你经常会看见每行文件后面有个讨厌的^M 字符,有两个简单的方法可以取消它。用"vi"打开此文件,在Command mode下敲入::%s/^V^M//g ,或者,在UNIX SHELL下敲入:
    sed 's/^V^M//g' foo > foo.new。
    25.KDE是什么?
      KDE是 K桌面环境,是由 Matthias Ettrich 在 1996年启动的一个计划。KDE的目标是在 Unix操作系统和用户间建立良好的接口。简而言之,KDE将Unix带至桌面!
    26.KDE是自由软件?
      是, KDE是遵守GNU的自由软件。在LGPL下所有KDE库都允许开发KDE桌面的程序,所有KDE应用程序得到GPL许可,KDE使用 Qt C++ 跨平台工具包,有各自的授权。简而言之, Qt的授权允许你免费使用Qt来开发 X Windows下的软件,只要你的原始代码也自由地被使用。
    如果你希望你的原始代码不允许修改,你必须获得Qt的商业授权。你能从Troll Tech web site找到更多有关Qt信息 和它的授权.如果你怀疑授权,请与Troll Tech web site接触。
      KDE和 Qt是可以通过 CD方式免费获得,运行时无任何费用。
    27.在KDE中的K代表什么?
      不表示任何东西。简单地说是 K桌面环境,就象X窗户系统中的X.。
    28.KDE能在哪一个平台上工作?
      KDE是所有Unix的桌面环境。大部分KDE开发者使用Linux,KDE平滑地跑在各式各样的系统上。如果你使用的是Unix变体或不使用GNU开发工具如gcc,你也许要修改源代码。
      可运行KDE的系统有Linux Solaris FreeBSD IRIX HP-UX。
    29.KDE是窗口管理程序吗?
      不, KDE不是窗口管理程序。KDE包含一个采用非常先进技术的窗口管理程序称KWM,KDE是成熟的完整的桌面环境(IDE)。KDE提供完全桌面环境,包括文件管理程序、窗口管理程序、帮助系统、配置系统、不可数的工具和正在增加的应用程序。
    30.KDE是CDE, Windows 95或 MacOS克隆吗?
      不, KDE不是克隆。特别地,KDE不是CDE或Windows克隆。在KDE开发者已经和正在收集所有存在的桌面环境的最好特性的时候,KDE是真正的,唯一的环境。
    31.Linux发布里有 KDE吗?
      是的,主要的Linux分布已经包含 KDE。Happy Linux包含KDE。
    32.如何检查正在使用的 KDE的版本?
      看 KDE控制中心。如果没有 KDE的版本号,它肯定是1.0。另一个差别是在面板 'K'字,在1.0中,它是黑白的3D K,在1.1中,它是在轮子上面的白色K。
    33.KDE需要Qt
      对KDE1.0,你需要Qt库1.33或更高的版本。对KDE1.1,你需要Qt库1.42或更高的版本。但是不要下载Qt 2.0或更高版本。如果你想自己编译KDE,你也需要头文件。在 http://www.troll.no/dle有免费资源。你需要?..k设备正确设置。
    34.Qt是什么?
      Qt是建造使用者接口的C++基类库。它提供大多数widgets、菜单、按钮、sliders等等。Qt是一个跨平台库,写的代码可在Unix编译,也可在 Windows编译。
    35.为什么KDE用Qt?
      Qt是一个非常复杂工具包,他提供所有的现代用户接口。Qt由C ++写成,允许使用object oriented development,…据我们看来没有比它更好的工具可以…。所有KDE开发者同意如果没有Qt在如此短的时间不可能建造kde。
    36.CVS是什么?
      它是Concurrent Versions System的缩写字。它是版本控制系统,以RCS (修订版控制系统)为基础,但是提供更多机能。它用于维护项目的原始代码。它将保持多个版本的东西,允许远程存取最近原始代码。
    37.怎样快速退出Xwindow?
      Xwindow基本不会出现真正的死机(起码我没见过),如果出现无法运行的情,可以用ctrl+alt+
    backspace退出窗口返回到命令行模式。
    38.怎样转换虚拟终端?
      在字符模式下用alt+左方向键(或右方向键) 可以顺序切换各个虚终端,也可以用alt加F1到6直接切换到各个虚终端。
    在X Window模式下可以用ctrl+alt+F1(F1-F6)切换到各个虚终端,ctrl+alt+F7切换回窗口。
    39.在X Window做文字处理应使用哪个软件?
      在命令行模式下输入kedit命令就可启动字处理软件,其功能类似于Win98的写字板。

    三、 有关在linux中执行halt关机命令后出现的一些困惑见下:
    Q:halt命令后,系统执行到system halted 时死在那里了,这是什么原因啊?(或有这样问题的---“我的linux是RedHat7.0,每次关机总关不掉主机电源,该怎么办呀?”也可参看下面的)
    A:实际上按照你所说的情况,不算是死机。因为你看到了system haled.....这表明是完全退出了linux操作系统! 就象我们在WIN98里一样(没有支持高级电源管理的情况下,会出现一个“你现在可以安全关闭计算机了”),而linux默认没有这个提示而已,这时你可以按一下主机上的电源按钮来关机关掉电源!一切OK。 不过你为了达到你所希望的,你可以用以下命令: halt -p 或者poweroff 。
    也可以通过修改:/etc/rc.d/init.d/halt中的有关“halt“ 为”halt -p“ 。 这样你只要用halt就可以在关机时关掉主机上的电源
    如果你有其它的想法和不同的观点可以跟以下的贴子:
    1,http://www.linuxforum.net/forum/showthreaded.php?Cat=&Board=newbie&Number=163283&page=0&view=collapsed&sb=5&o=31&part=
    2.http://www.linuxforum.net/forum/showthreaded.php?Cat=&Board=newbie&Number=138471&page=&view=&sb=&o=

    四、开始选择用软盘启动linux的朋友,在丢了或损坏了软盘时,而Lilo 没在 MBR上,Linux 还能启动吗?
    请有这方面需要的朋友看下面这个贴子,或跟其贴!
    http://www.linuxforum.net/forum/showthread...sb=5&o=31&part=

    五、有关环境变量的查看、设定、删除
    1. 查看环境变量的设定值
    语法:setenv 查看所有环境变量的设定值。
    语法:echo $NAME 显示指定的环境变量NAME的设定值。
    例如:
    echo $PRINTER 显示环境变量PRINTER 的设定值。
    2. 设定环境变量
    语法:setenv NAME word
    例如:
    setenv PRINTER sp 设定环境变量PRINTER 为sp。
    3. 删除环境变量
    语法:unsetenv NAME
    例如:
    unsetenv PRINTER 删除环境变量PRINTER的设定值。

    六、linux下是否有病毒的讨论见下:(欢迎谈谈个人看法!)
    http://www.linuxforum.net/forum/showthread...sb=5&o=31&part=

    七、关于启动xwindow时如何自行选择gnome或kde?
    方法有以下几种:
    1.redhat7.1安装时默认启动为命令操作状态,启动时默认为gnome,可是有时候想用kde,在用户根目录下编辑.xinitrc,加上一条命令startkde即可。如果还要用gnome的话,只要把.xinitrc删掉就可以了。
    2.可以直接修改$HOME/.xinitrc
    如果启动gnome
    .xinitrc文件内容应该这样写:
    exec gnome-session
    如果启动KDE
    .xinitrc文件内容应该这样写:
    exec startkde
    3.use command:
    switchdesk GNOME
    4.在terminal运行:
    switchdestop kde
    或者
    在x-windows下运行:
    switchdestop
    然后选一个wm

    八、怎样使linux启动进入时不直接进入X-WINDOWS界面?
    改/etc/inittab文件,将有“id:5:initdefault:”这一行中的,把数字5改成3
    即可

    九、linux 与SVR4 or 4.3BSD有何关系? 请见以下贴子:http://www.linuxforum.net/forum/showthreaded.php?Cat=&Board=newbie&Number=162987&page=1&view=collapsed&sb=5&o=31&part=

    十、在linux中如何设置系统时间? 参照以下文章:http://www.linuxforum.net/forum/showthreaded.php?Cat=&Board=newbie&Number=159079&page=3&view=collapsed&sb=5&o=31&part=

    十一、关于swap分区的大小讨论!
    请参加:::http://www.linuxforum.net/forum/showthreaded.php?Cat=&Board=newbie&Number=158857&page=3&view=collapsed&sb=5&o=31&part=

    十二、在没有正常关机的情况下,而后开机时报告文件系统错误,要运行什么fsck?如何使用fsck?
    你在shell命令提示符下:打 fsck命令。格式是:fsck /dev/hda? (针对ext2格式的文件也可以用e2fsck) 它还可以带一些参数见下:
    (详细请用: man fsck)
    fsck的参数
    -f
    即使磁盘看起来无需检查也强制执行。默认情况下,只有当文件系统“肮脏”时才需要进行检查。或者说,只
    有当文件系统没有正确卸载(dismount)、或者使用了一定的时间、系统重新启动一定次数后才需要进行检查。
    -p
    整理文件系统,自动修正所有可以安全地更正且不会导致数据丢失的问题。
    -y
    对所有问题回答yes。它的效果是:自动修正所有发现的问题,即使那些可能导致数据丢失的问题也要修正。
    -b block
    指定文件系统备用superblock的位置。在极其罕见的情况下,即当主superblock被损坏而文件系统主要部分仍
    完整的情况下,该选项的作用将是非常大的。备用superblock通常位于8193、13685等位置,创建文件系统时mkfs将输出
    该信息。

    有一点很重要,那就是在检查完文件系统后,如果对该文件系统做了任何纠正,就应该立即重新启动系统(当
    然,一般情况下,不能在文件系统被安装时检查它)。例如,如果e2fsck报告对文件系统的错误作了些纠正的话, 就应该立即用shutdown-r命令确保重新启动系统,这使得当e2fsck修改了文件系统后,系统能重新同步读文件系统的信息。
    与fsck相关的内容欢迎参加下面贴子讨论:http://www.linuxforum.net/forum/showthreaded.php?Cat=&Board=newbie&Number=154205&page=&view=&sb=&o=

  13. zjh815153665 于 2008-07-01 20:13:02发表:

    使用中的小问题:
    *****Linux 一句话问答*****
    PS:包含了系统设置、运用、网络、资源等许多问题,强烈推荐阅读。

    一句话问答(网络无关篇+网络相关篇+程序开发篇+经典图书)
    转的,可不是我写的。

    ----------------------------网络无关篇--------------------------
    0001
    修改主机名
    vi /etc/sysconfig/network,修改HOSTNAME一行为HOSTNAME=主机名,重启后也能生效

    0002
    Ret Hat Linux启动到文字界面(不启动xwindow)
    将/etc/inittab中 id:5:initdefault: 一行中的5改为3

    0003
    redhat的自动升级更新问题(hutuworm)
    www.redhat.com/corp/support/errata/找到补丁,6.1以后的版本带有一个工具up2date,它能够测定哪些rpm包需要升级,然后自动从redhat的站点下载并完成安装。
    升级除kernel外的rpm: up2date -u
    升级包括kernel在内的rpm: up2date -u -f

    0004
    windows下看linux分区的软件
    Paragon.Ext2FS.Anywhere.2.5.rar和explore2fs-1.00-pre4.zip

    0005
    mount用法
    fat32的分区 mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom
    iso文件 mount -o loop /abc.iso /mnt/cdrom
    软盘 mount /dev/fd0 /mnt/floppy
    USB闪存 mount /dev/sda1 /mnt/cdrom
    所有/etc/fstab内容 mount -a
    可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3等.

    0006
    在vmware的LINUX中使用本地硬盘的FAT分区
    将本地的FAT分区共享,然后在VMWARE中使用SMBFS挂上。可以将如下的行放到/etc/fstab中:
    //win_ip/D$ /mnt/d smbfs defaults,auto,username=win_name,password=win_pass,codepage=936,iocharest=gb2312 0 0
    其中win_ip是你的windows的IP地址;
    D$是你的windows里面共享的D盘的共享名;
    /mnt/d是要将该分区mount到linux的目录;
    win_name和win_pass是你的WINDOWS里面可以读取该分区的用户,比如你的管理员名和密码。
    如果你运行了/etc/rc.d/init.d/netfs,那么在启动的时候就会自动挂载这个分区。


    0007.a
    删除名为-a的文件
    rm ./-a
    rm -- -a 告诉rm这是最后一个选项,参见getopt
    ls -i 列出inum,然后用find . -inum inum_of_thisfile -exec rm '{}' \;

    0007.b
    删除名为\a的文件
    rm \\a

    0007.c
    删除名字带的/和'\0'文件
    这些字符是正常文件系统所不允许的字符,但可能在文件名中产生,如unix下的NFS文件系统在Mac系统上使用
    1.解决的方法,把NFS文件系统在挂到不过滤'/'字符的系统下删除含特殊文件名的文件。
    2.也可,将错误文件名的目录其它文件移走,ls -id 显示含该文件目录的inum,umount 文件系统,
    clri清除该目录的inum,fsck,mount,check your lost+found,rename the file in it.
    最好是通过WINDOWS FTP过去就可以删除任何文件名的文件了!

    0007.d
    删除名字带不可见字符的文件
    列出文件名并转储到文件:ls -l >aaa
    然后编辑文件的内容加入rm命令使其内容成为删除上述文件的格式:
    vi aaa
    [rm -r *******
    ]
    把文件加上执行权限 chmod +x aaa
    执行 $aaa

    0007.e
    删除文件大小为零的文件
    rm -i `find ./ -size 0`
    find ./ -size 0 -exec rm {} \;
    find ./ -size |xargs rm -f &非常有效
    for file in * #自己定义需要删除的文件类型
    do
    if [ ! -s ${file} ]
    then
    rm ${file}
    echo "rm $file Success!"
    fi
    done

    0008
    redhat设置滚轮鼠标(mc1011)
    进入X后,选择鼠标的配置,选择wheel mouse(ps/2)就可以了,
    如果鼠标表现异常,重启计算机即可。

    0009
    加装xwindow
    用linux光盘启动,选择升级,然后单独选择包,安装即可

    0010
    删除linux分区
    做一张partition magic的启动软盘,启动后删除. 或者用win2000的启动光盘启动,然后删除.

    0011
    如何退出man
    q

    0012
    不编译内核,mount ntfs分区
    原装rh8,未升级或编译内核
    1. 上google.com搜索并下载 kernel-ntfs-2.4.18-14.i686.rpm
    2. rpm -ivh kernel-ntfs-2.4.18-14.i686.rpm
    3. mkdir /mnt/c
    4. mount -t ntfs /dev/hda1 /mnt/c

    0013
    redhat 8.0中用xmms听mp3
    下载www.gurulabs.com/files/xmms-mp3-1.2.7-13.p.i386.rpm
    rpm -Uvh xmms-mp3-1.2.7-13.p.i386.rpm

    0014
    找回忘记了的root口令(lilo/grub)
    三种办法:
    1.在系统进入单用户状态,直接用passwd root去更改
    2.用安装光盘引导系统,进行linux rescue状态,将原来/分区挂接上来,作法如下:
    cd /mnt
    mkdir hd
    mount -t auto /dev/hdaX(原来/分区所在的分区号) hd
    cd hd
    chroot ./
    passwd root
    这样可以搞定
    3.将本机的硬盘拿下来,挂到其他的linux系统上,采用的办法与第二种相同
    rh8中
    一. lilo
    1. 在出现 lilo: 提示时键入 linux single
    画面显示 lilo: linux single
    2. 回车可直接进入linux命令行
    3. #vi /etc/shadow
    将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
    第一行将类似于
    root::......
    保存
    4. #reboot重启,root密码为空
    二. grub
    1. 在出现grub画面时,用上下键选中你平时启动linux的那一项(别选dos哟),然后按e键
    2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键
    3. 修改你现在见到的命令行,加入single,结果如下:
    kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/
    4. 回车返回,然后按b键启动,即可直接进入linux命令行
    5. #vi /etc/shadow
    将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
    第一行将类似于
    root::......
    保存
    6. #reboot重启,root密码为空

    0015

    使ctrl + alt + del失效
    vi /etc/inittab
    将ca::ctrlaltdel:/sbin/shutdown -t3 -r now这行注释掉,就可以了

    0016
    如何看出redhat的版本是7还是8(hutuworm)
    cat /proc/version或者cat /etc/redhat-release或者cat /etc/issue

    0017
    文件在哪个rpm中(无双)
    www.rpmfind.net上搜,或者rpm -qf 文件名得到

    0018
    把man或info的信息存为文本文件
    以 tcsh 为例:
    man tcsh | col -b > tcsh.txt
    info tcsh -o tcsh.txt -s

    0019
    利用现存两个文件,生成一个新的文件
    1. 取出两个文件的并集(重复的行只保留一份)
    2. 取出两个文件的交集(只留下同时存在于两个文件中的文件)
    3. 删除交集,留下其他的行
    1. cat file1 file2 | sort | uniq
    2. cat file1 file2 | sort | uniq -d
    3. cat file1 file2 | sort | uniq -u

    0020
    设置com1口,让超级终端通过com1口进行登录
    确认有/sbin/agetty,编辑/etc/inittab,添加
    7:2345:respawn:/sbin/agetty /dev/ttyS0 9600
    9600bps是因为联路由器缺省一般都是这种速率,也可以设成
    19200、38400、57600、115200
    修改/etc/securetty,添加一行:ttyS0,确保root用户能登录
    重启机器,就可以拔掉鼠标键盘显示器(启动时最好还是要看看输出信息)了

    0021
    删除目录下所有文件包括子目录
    rm -rf 目录名

    0022
    查看系统信息
    cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
    cat /proc/interrupts - 中断
    cat /proc/ioports - 设备IO端口
    cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size)
    cat /proc/partitions - 所有设备的所有分区
    cat /proc/pci - PCI设备的信息
    cat /proc/swaps - 所有Swap分区的信息
    cat /proc/version - Linux的版本号 相当于 uname -r
    uname -a - 看系统内核等信息


    0023
    去掉多余的回车符
    sed 's/^M//' test.sh > back.sh, 注意^M是敲ctrl_v ctrl-m得到的
    或者 dos2unix filename

    0024
    切换X桌面(lnx3000)
    switchdesk KDE或者switchdesk GNOME

    0025
    通用的声卡驱动程序(lnx3000)
    OSS www.opensound.com/ ALSA www.alsa-project.org/

    0026
    改变redhat的系统语言/字符集(beming/mc1011)
    修改 /etc/sysconfig/i禁用词语 文件,如
    LANG="en_US",xwindow会显示英文界面,
    LANG="zh_CN.GB18030",xwindow会显示中文界面。
    还有一种方法
    cp /etc/sysconfig/i禁用词语 $HOME/.i禁用词语
    修改 $HOME/.i禁用词语 文件,如
    LANG="en_US",xwindow会显示英文界面,
    LANG="zh_CN.GB18030",xwindow会显示中文界面。
    这样就可以改变个人的界面语言,而不影响别的用户

    0027
    把屏幕设置为90列
    stty cols 90

    0028
    使用md5sum文件
    md5sum isofile > hashfile, 将 md5sum 档案与 hashfile 档案内容比对, 验证杂凑值
    是否一致 md5sum ??c hashfile

    0029
    一次解压多个zip文件
    unzip "*",注意引号不能少

    0030
    看pdf文件
    使用xpdf或者安装acrobat reader for linux

    0031
    查找权限位为S的文件
    find . -type f \( -perm -04000 -o -perm -02000 \) -exec ls -lg {} \;

    0032
    装中文输入法
    以redhat8为例,xwindow及其终端下的不用说了吧,缺省就安装了,用ctrl-space呼出。
    现在讨论纯console,请下载zhcon.gnuchina.org/download/src/zhcon-0.2.1.tar.gz,
    放在任一目录中,tar xvfz zhcon-0.2.1.tar.gz, cd zhcon-0.2.1, ./configure,
    make, make install。安装结束,要想使用,请运行zhcon,想退出,运行exit。

    0033
    把弹出的光盘收回来(beike)
    #eject -t

    0034
    cd光盘做成iso文件(弱智)
    cp /dev/cdrom xxxx.iso

    0035
    快速观看开机的硬件检测(弱智)
    dmesg | more

    0036
    查看硬盘的使用情况
    df -k 以K为单位显示
    df -h 以人性化单位显示,可以是b,k,m,g,t..

    0037
    查看目录的大小
    du -sh dirname
    -s 仅显示总计
    -h 以K、M、G为单位,提高信息的可读性。KB、MB、GB是以1024为换算单 位, -H以1000为换算单位。

    0038
    查找或删除正在使用某文件的进程(wwwzc)
    fuser filename
    fuser -k filename

    0039
    安装软件
    rpm -ivh aaa.rpm
    tar xvfz aaa.tar.gz; cd aaa; ./configure; make; make install

    0040
    字符模式下设置/删除环境变量
    bash下
    设置:export 变量名=变量值
    删除:unset 变量名
    csh下
    设置:setenv 变量名 变量值
    删除:unsetenv 变量名

    0041
    ls如何看到.开头的文件
    ls -a

    0042
    rpm中的文件安装到哪里去了
    rpm -qpl aaa.rpm

    0043
    使用src.rpm
    rpmbuild --rebuild *.src.rpm

    0044
    vim中显示颜色或不显示颜色
    vi ~/.vimrc; 如果有syntax on,则显示颜色,syntax off,则不显示颜色

    0045
    linux是实时还是分时操作系统
    分时

    0046
    make bzImage -j的j是什么意思(wind521)
    -j主要是用在当你的系统硬件资源比较大的时候,比较富裕的时候,用这个可以来加快编译的速度,如-j 3

    0047
    源码包怎么没有
    你没有安装源代码,你把你光盘上rpm -i *kernel*source*.rpm装上,就可以看到你的源代码了。

    0048
    修改系统时间
    date -s "2003-04-14 cst",cst指时区,时间设定用date -s 18:10

    0049
    开机就mount上windows下的分区
    自动将windows的d盘挂到/mnt/d上,用vi打开/etc/fstab,加入以下一行
    /dev/hda5 /mnt/d vfat defaults,codepage=936,iocharset=cp936 0 0
    注意,先得手工建立一个/mnt/d目录

    0050
    linux怎么用这么多内存
    为了提高系统性能和不浪费内存,linux把多的内存做了cache,以提高io速度

    0051
    FSTAB 最后的配置项里边最后两个数字是什么意思(lnx3000)
    第一个叫fs_freq,用来决定哪一个文件系统需要执行dump操作,0就是不需要;
    第二个叫fs_passno,是系统重启时fsck程序检测磁盘的顺序号
    1 是root文件系统,2 是别的文件系统。fsck按序号检测磁盘,0表示该文件系统不被检测
    dump 执行ext2的文件系统的备份操作
    fsck 检测和修复文件系统

    0052
    linux中让用户的密码必须有一定的长度,并且符合复杂度(eapass)
    vi /etc/login.defs,改PASS_MIN_LEN

    0053
    linux中的翻译软件
    星际译王 xdict

    0054
    不让显示器休眠
    setterm -blank 0
    setterm -blank n (n为等待时间)

    0055
    用dat查询昨天的日期(gadfly)
    date --date='yesterday'

    0056
    xwindow下如何截屏
    Ksnapshot或者gimp

    0057
    解压小全
    tar xvfj example.tar.bz2
    tar xvfz example.tar.gz
    tar xvfz example.tgz
    tar xvf example.tar
    unzip example.zip

    0058
    在多级目录中查找某个文件的方法(青海湖)
    find /dir -name filename.ext
    du -a | grep filename.ext
    locate filename.ext

    0059
    不让普通用户自己改密码(myxfc)
    [root@xin_fc etc]# chmod 511 /usr/bin/passwd
    又想让普通用户自己改密码
    [root@xin_fc etc]# chmod 4511 /usr/bin/passwd

    0060
    显卡实在配不上怎么办(win_bigboy)
    http://www.redflag-linux.com/,下了xfree86 4.3安装就可以了.

    0061
    超强删除格式化工具(弱智)
    比PQMagic安全的、建立删除格式化的小工具:sfdisk.exe for msdos
    http://www.wushuang.net/soft/sfdisk.zip

    0062
    如何让xmms播放列表里显示正确的中文(myxfc)
    -*-*-*-*-*-iso8859-1,-misc-simsun-medium-r-normal--12-*-*-*-*-*-gbk-0,*-r-
    把这个东西完全拷贝到你的字体里面
    操作方法:
    右键单击xmms播放工具的任何地方
    会看到一个"选项",然后选择"功能设定"选择"fonts"
    然后把上面的字体完整的拷贝到"播放清单"和 "user x font

    0063
    linux下听MP3(hehhb)
    redhat光盘原带的xmms不能播放MP3(无声), 要下载安装一个RPM包:xmms-mp3-1.2.7-13.p.i386.rpm安装即可.打开xmms,ctl-p,在font栏中
    先在上半部的小框内打勾,再选择 "fixed(misc) gbk-0 13"号字
    体即可显示中文歌曲名。在音频输出插件中选择 "开放音频系统驱动
    程序 1.2.7 [lioOSS.so]即可正常播放MP3文件.

    0064
    安装中文字体(hehhb)
    先下载 http://freshair.netchina.com.cn/~George/sm.sh
    (参考文献: http://www.linuxeden.com/edu/doctext.php?docid=2679)
    SimSun18030.ttc在微软网站可下载,http://www.microsoft.com/china/windows2000/downloads/18
    030.asp 它是个msi文件,在 mswindows中安装用的,装好后在windows目录下的fonts
    目录里面就可以找到它。把simsun.ttc,SimSun18030.ttc,tahoma.ttf,tahomabd.ttf
    拷贝到/usr/local/temp,然后下载的shell文件也放到这个目录里,然后打开终端
    cd /usr/local/temp
    chmod 755 sm.sh
    ./sm.sh

    0065
    装载windows分区的FAT32、FAT16文件系统(hehhb)
    以root身份进入KDE,点击桌面上的"起点"图标,在/mnt目录下建立如下文件夹:c,d,e,f,g,usb.分别用作windows下各分区和usb闪盘。
      用文本编辑器打开/etc/fstab 文件.加入如下:
    /dev/hda1 /mnt/c vfat iocharset=gb2312,umask=0,codepage=936 0 0
    /dev/hda5 /mnt/d vfat iocharset=gb2312,umask=0,codepage=936 0 0
    /dev/hda6 /mnt/e vfat iocharset=gb2312,umask=0,codepage=936 0 0
    /dev/hda7 /mnt/f vfat iocharset=gb2312,umask=0,codepage=936 0 0
    /dev/hda8 /mnt/g vfat iocharset=gb2312,umask=0,codepage=936 0 0
    /dev/cdrom /mnt/cdrom udf,iso9660 noauto,iocharset=gb2312,owner,kudzu,ro 0 0
    /dev/sda1 /mnt/usb vfat iocharset=gb2312,umask=0,codepage=936 0 0
    存盘退出. 重新启动后即可正常访问FAT32或FAT16格式分区,解决显示WINDOWS分区下和光盘中文文件名乱码
    问题.其中共六列,每列用Tab键分开。注意此方法只能mount上Fat 分区格式.sda1是闪盘。

    0066
    在X下使用五笔和拼音,区位输入法(hmkart)
    http://www.fcitx.org/上下载fcitx的rpm包安装即可

    0067
    在Linux下如何解压RAR文件(hmkart)
    http://www.linuxeden.com/download/softdetail.php?softid=883
    下载RAR for Linux 3.2.0,解压揭开后make
    然后可以用unrar e youfilename.rar解压rar文件

    0068
    硬盘安装后怎么添加/删除rpm包(sakulagi)
    redhat-config-packages --isodir=
    可以指定iso文件所在的目录

    0069
    字符下控制音量(grub007)
    aumix


    0070
    用dd做iso(grub007)
    dd if=/dev/cdrom of=/tmp/aaa.iso

    0071
    删除几天以前的所有东西(包括目录名和目录中的文件)(shally5)
    find . -ctime +3 -exec rm -rf {} \;

    find ./ -mtime +3 -print|xargs rm -f -r

    0072
    用户的crontab在哪里(hutuworm)
    /var/spool/cron/下以用户名命名的文件

    0073
    以不同的用户身份运行程序
    su - uname -c "/path/to/command"
    有时候需要运行特殊身份的程序, 就可以让su来做

    0074
    如何清空一个文件()
    > filename

    0075
    为什么OpenOffice下不能显示中文(allen1970)
    更改字体设置
    tools->options->font replacement
    Andale Sans UI -> simsun

    0076
    如何备份Linux系统(Purge)
    Symantec Ghost 7.5以后的版本支持Ext3 native复制

    ----------------------------网络相关篇--------------------------
    0001
    让apache的默认字符集变为中文
    如果是1.*,vi httpd.conf
    找到 AddDefaultCharset ISO8859-1 一行,改为AddDefaultCharset GB2312
    如果是2.*的话,需要改动一个地方,vi httpd.conf
    AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset off

    0002
    永久更改ip
    ifconfig eth0 新ip
    然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip

    0003
    从Linux上远程显示Windows桌面(lnx3000)
    安装rdesktop包

    0004
    手动添加默认网关
    以root用户,执行: route add default gw 网关的IP
    想更改网关
    1 vi /etc/sysconfig/network-scripts/ifcfg-eth0
    更改GATEWAY
    2 /etc/init.d/network restart

    0005
    redhat 8.0上msn和qq
    下载Gaim 0.58版:
    www.linuxsir.org/gaim/gaim-0.58-2.i386.rpm
    下载QQ插件 for gcc2.9版:
    www.linuxsir.org/gaim/libqq-0.0.3-ft-0.58-gcc296.so.gz
    将下载的文件放入/temp目录,然后将系统中已有的Gaim删除,即在终端仿真器中键入命令:rpm -e gaim。
    开始安装
    打开终端仿真器,继续执行下列命令安装Gaim 0.58版,即:
    cd /temp         (进入temp目录)
    rpm -ivh gaim-0.58-2.i386.rpm (安装软件)
    当安装成功后,你就可以在GNOME或KDE桌面建立Gaim图标了。
    继续安装QQ插件,即键入命令:
    gunzip libqq-0.0.3-ft-0.58-gcc296.so.gz (解压缩文件)
    cp libqq-0.0.3-ft-0.58-gcc296.so /usr/lib/gaim (复制插件到gaim库目录中)
    软件设置
    首次启动Gaim 0.85版时,会出现的登录界面。先选择"插件",在插件对话框中点击"加载",分别将
    libmsn.so和libqq-0.0.3-ft-0.58-gcc296.so文件装入,确认后关闭。然后再选择"所有帐号",在
    出现的帐号编辑器中继续点击"增加",当出现的修改帐号页面时,我们就可以输入自己的QQ或MSN号
    了,登录名填写QQ号码或MSN邮箱,密码填写对应的QQ或MSN密码,Alias填写自己的昵称,协议选择
    相应的QQ或MSN,其他的设置按默认的即可。当全部设置完成后就可以登录使用了。

    0006
    查出22端口现在运行什么程序
    lsof -i :22


    0007
    查看本机的IP,gateway, dns
    IP:
    以root用户登录,执行ifconfig。其中eth0是第一块网卡,lo是默认的设备
    Gateway:
    以root用户登录,执行netstat -rn,以0.0.0.0开头的一行的Gateway即为默认网关
    也可以查看/etc/sysconfig/network文件,里面有指定的地址!
    DNS:
    more /etc/reslov.conf,内容指定如下:
    nameserver 202.96.69.38
    nameserver 202.96.64.38

    0008
    RH8.0命令行下轻松改变ping 的TTL值(cgweb)
    #sysctl -w net.ipv4.ip_default_ttl=N
    (N=0~255),若N>255,则ttl=0

    0009
    RH8.0命令行下轻松改变系统配置默认值(houaq)
    编辑/etc/sysctl.conf, 例如,将
    net.ipv4.ip_forward = 0
    变为
    net.ipv4.ip_forward = 1
    重启后生效,用sysctl -a查看可知

    0010
    mount局域网上其他windows机器共享出的目录
    mount -t smbfs -o uname=guest,password=guest //machine/path /mnt/cdrom

    0011
    允许|禁止root通过SSH登陆(Fun-FreeBSD)
    修改sshd_config:PermitRootLogin no|yes

    0012
    让root直接telnet登陆
    编辑/etc/pam.d/login,去掉
    auth required /lib/security/pam_securetty.so 这句话

    0013
    在linux接adsl设备
    需要一个运转正常的Linux + 至少一块网卡 + 宽带设备已经申请完毕,同时已经开通
    前市场上大概有几种ADSL设备,他们工作的方式有一些细微的差别。
    就是通过虚拟拨号来完成上网的这一过程,也就是利用pppoe设备来进行虚拟拨号的
    叫作全向猫,就是一种加电后自动的进行拨号的工作,然后留给我们的接口是RJ45,
    大连地区一般留给我们的网关都是10.0.0.2,这种设备最容易对付,最后是直接分配
    给用户一个固定的IP,相对大家来说也比较容易对付
    1.第一种需要进行拨号:
    这几种设备都是通过eth接口与计算机进行通讯的,所以先将硬件设备的连接作好,尤
    其是宽带猫的,一定要确认无误(否则一会儿要不去可不算我的事情)
    然后启动系统,确认系统上是否安装rp-pppoe这个软件(通过rpm -qa|grep pppoe来查
    找),如没有安装的用户,在光盘里或是到网上去down一个来,安装上后,以root用户
    执行adsl-setup,这样就进入了adsl的资料的设定状态,要求输入申请宽带的用户名以
    及其他一些信息,确认没有问题,接受直至最后(里面都是E文,但是一看即能懂,比
    较简单,有关一个防火墙的设置,我一般都不用,选0,大家可以具体考虑)。
    配置完成后,以root用户执行adsl-start,这样将进行adsl的拨号工作,正常就会一下
    上线,如有什么具体问题,去看一下日志(/var/log/messages)里面告诉你什么了。
    停掉adsl,执行adsl-stop就可以了(很简单的)
    2.另外两种比较容易对付:
    全向猫:只要将你的网卡的IP设置成一个10网段的IP,然后网关指到全向猫的IP
    上(10.0.0.2),基本上不有太大的问题
     固定IP:就像配置本地儿的网卡一样,将IP,网关,DNS都按申请来的填写上就可以搞定了

    0014
    让linux自动同步时间(shunz)

    vi /etc/crontab
    加上一句:
    00 0 1 * * root rdate -s time.nist.gov

    0015
    linux的网上资源有哪些
    国外
    http://lwn.net/
    http://www.tldp.org/
    http://www.yolinux.com/(flying-dance big big pig)
    http://www.justlinux.com/
    http://www.linuxtoday.com/
    http://www.linuxquestions.org/
    http://www.fokus.gmd.de/linux/
    http://www.linux-tutorial.info/
    http://public.[url]www.planetmirror.com/[/url]
    http://www.freebsdforums.org/forums/
    http://www.netfilter.org/documentation/
    http://www-106.ibm.com/developerworks/linux/

    国内
    http://www.fanqiang.com/
    http://www.linuxsir.com/
    http://www.chinaunix.net/
    http://www.linuxfans.org/(deadcat)
    http://www.linuxeden.com/
    http://www.linuxforum.net/
    http://www.linuxaid.com.cn/
    http://freesoft.online.sh.cn/
    http://www-900.ibm.com/developerWorks/cn/linux/index.shtml
    http://www.neweasier.com/software.html

    0016
    北京的培训点
    http://www.milkyway.com.cn/

    0017
    改变telnet的端口
    /etc/services这个文件里你可修改想要的端口号.重启守护进程

    0018
    终端模式有问题(sakulagi)
    export TERM=vt100

    0019
    模仿超级终端,LINUX里什么程序连接路由器和交换机(alstone)
    minicom

    0020
    ssh上来能不能不自动断线(wind521)
    那是timetou的设置,修改TMOUT变量值

    0021
    用什么工具做入侵检测
    snort

    0022
    Linux下检测程序内存泄漏的工具
    cchecker或是efence库都可以

    0023
    linux下如何监视所有通过本机网卡的数据
    tcpdump iptraf

    0024
    为什么root执行好多命令都说command not found
    你一定是telnet上来d,然后su成root的吧,改改你的su命令格式,应该是su - root

    0025
    关闭用户的POP3权限(tiansgx)
    把POP3的端口关了就可以了。 在文件/etc/services中找到这一行 pop-3 110/tcp 把这一行前加个'#',把它注释掉就可以了。

    0026
    linux下播放flash动画(myxfc)
    linux下播放flash动画用这个东西,不会造成浏览器的关闭(其他的插件不好用)
    首先下载flash播放动画在linux的插件
    http://www.collaborium.org/onsite/jos2000/...sh_linux.tar.gz
    tar zxvf flash_linux.tar.gz
    打开包之后,会看到Linux文件夹
    在linux文件颊里有两个文件libflashplayer.so 和shockwaveflash.class,把这两个文件拷贝到你的浏览器里的插件里(浏览器不一样,插件的位置可能也不一样)
    /usr/lib/mozilla-1.0.1/plugins,就可以了

    0027
    锁定wu-ftp用户目录(wangla)
    编辑ftpaccess文件
    restricted-uid *
    这一句很重要,限制了ftp用户在自己的目录里。

    0028
    服务器怎么不让telnet(知秋一叶)
    服务器上必须启动telnet服务 && 服务器的防火墙优先级应该设为低

    0029
    防止任何人使用su命令成为root(xiaohu0)
    1.vi /etc/pam.d/su
    auth sufficient /lib/security/pam_rootok.so debug
    auth required /lib/security/pam_wheel.so group=wheel
    2.在/etc/pam. d/su配置文件中定义了wheel组.

    ----------------------------程序开发篇--------------------------
    0001
    linux下调试core文件
    gdb
    :出错产生core dump的可执行程序。
    : core dump的文件名,缺省是"core"


    0002
    gcc abc.c得到的a.out不能运行
    ./a.out

    0003
    c++ 编译时为什么出错信息说cout没定义
    include头文件完后加入 using namespace std;

    0004
    新编译生成的gcc ,使用的标准连接库都在/usr/local/lib 下了,但使用的缺省的连接路径是 /usr/lib 怎样添加?(除了在每次编译时 增加 -L /usr/local/lib 以外)(sakulagi, hutuworm)
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    写到~/.bash_profile里面。
    增加一种简便办法:
    将/usr/local/lib加入/etc/ld.so.conf,然后运行一次ldconfig

    ----------------------------经典图书篇--------------------------
    0001
    GNU/Linux高级网络应用服务指南
    linuxaid网站
    机械工业出版社
    优点:又全又精,全都是实战之作
    缺点:针对版本较低:redhat 6.2

    0002
    Linux Apache Web Server管理指南
    Charles Aulds
    机械工业出版社
    优点:目前我还没有发现哪个关于apache的问题这本书没有讲过
    缺点:针对1.3.x,最新的针对2.0.*的中文版待出

    0003
    Linux内核情景分析
    浙江大学出版社
    优点:太透彻了,没法不懂
    缺点:还是版本问题,呵呵,内核更新太快了,不过还是必读

    0004
    Unix环境高级编程
    Richard Stevens
    机械工业出版社
    优点:博大精深
    缺点:初学者是很难理解的,否则怎么叫《高级编程》呢?

    0005
    编程精粹--Microsoft编写优质无错c程序秘诀
    Steve Maguire
    电子工业出版社
    优点:不说了,作者是VC开发组的组长
    缺点:很难找了,1994年出的

    0006
    Understanding the Linux Kernel, 2nd Edition(hutuworm)
    作者:Daniel P. Bovet & Marco Cesati
    出版:O'Reilly
    读了这本书之后,你就会明白在什么情况下Linux具有最佳的性能,以及它如何面对挑战,在各种环境中提供进程调度、文件访问和内存管理时的优良的系统响应。作者通过解释其重要性来引入每一个题目,并将内核操作与Unix程序员和用户熟悉的系统调用或实用程序联系起来。

    0007
    UNIX操作系统教程(英文版)(弱智)
    by Syed Mansoor Sarwar ...
    机械工业出版社
    特点:浅显易懂,着重unix基础概念和整体理解,顺便复习英语。
    缺点:目前没有中文版

    0008
    UNIX编程环境(弱智)
    by Brian W.Kernighan, Rob Pike
    陈向群 等译
    机械工业出版社
    特点:浅显,深入浅出讲解如何使用UNIX及各种工具,简单介绍Unix的编程环境;对比"UNIX环境高级编程",此书适合新手入门。
    缺点:目前没有英文版


    0009
    The Art of UNIX Programming(hutuworm)
    作者: Eric Steven Raymond
    网址: http://catb.org/~esr/writings/taoup/html/
    优点: E.S. Raymond经典著作的优点就不用说了
    缺点: 一直更新,目前版本0.73,看完了又给你出一新版,感觉很不爽

    0010
    unix网络编程--卷一《套接口API和X/Open传输接口API》(slg1972)
    清华
    W.Richard Stevens著(已故)
    详细地讲解了unix网络的编程
    非入门级的东西

    0011
    unix网络编程--卷二《进程间通讯》(slg1972)
    清华
    W.Richard Stevens著(已故)
    详细讲解了unix之间的进程,线程之间的关系,以及各种不同标准的进程编程的异同。
    非入门级的东西

    0012
    unix网络编程--卷三《应用程序》(slg1972, hutuworm)
    我至今也没有买到,应该也不错。
    没有买到是因为Richard Stevens大师英年早逝,再也不可能完成这计划中的第三卷了。据说其未竟稿可能由Gary R. Wright整理续写出来,但是自大师驾鹤以来一直杳无音信。

    0013
    《基于C++ CORBA高级编程》(slg1972)
    清大
    Michi Henning,Steve Vinoski著
    中间界的好书,通向corba应用的必备资料。
    非入门级的东东。

  14. zjh815153665 于 2008-07-01 20:12:07发表:

    二、你应该首先知道的

    命令的使用:
    学习linux命令的最佳帖子
    ps:这个不是让你拿去背的,上机使用。需要掌握的,多使用几次就会熟悉。而且有一个很强大的man随时在你身边,有问题问他就好了。

    学习linux命令的最佳帖子.
    因为这篇文章很有价值,掌握后确实可以从linux的初学者变成linux好手,掌握了它就
    等于完全入了linux的门,不愧是本年度学习linux命令的最佳帖子。
    所以请版本最好把它锁定一个靠前的位置,以便让更多的人可以看到这篇文章,让更多
    的人从初学者变成好手。
    如果本篇没有被锁定,如果对你有用的话,请签收它,以便让它一直可以被大家看到。

    如下是linux最常用的命令及用途,当全部掌握以后,就没人敢说你不会linux。
    版权所有其实指的是版板归大家所有,你可以用自己的名字发表,也可以借我的大名宣
    传一下,as you like.
    大家共享资源,共同进步,中国的软件事业才能有希望!
    如果这篇文章加快了你成为linux高手的脚步,促使你创建一间linux公司,奋斗后战胜
    了redhat, 最终击败了微软,那时你再...


    basic command
    ls:
    ls
    ls -a “显示隐藏文件”
    ls -l “显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行”
    ls --color=never *.so > obj “不显示文字颜色,将所有so文件记录到obj文件中”
    cd:
    cd
    cd /
    cd ../ “到上一级目录”
    cd ../.. “到上二级目录”
    cd ~ “goto user directory”
    rm:
    rm
    rm -fr directory “delete the directory without ask”
    cp:
    cp source target
    cp -av soure_dir target_dir “将整个目录复制,两目录完全一样”
    cp -fr source_dir target_dir “将整个目录复制,并且是以非链接方式复制,当so
    urce目录带有符号链接时,两个目录不相同”
    mv:
    mv source target


    diff:
    diff dir1 dir2 “compare dir1 and dir2, if files in dir1 but not in dir2, it
    will be list”
    diff file1 file2 “compare file1 and file2,if any difference, he will tell y
    ou”
    comm:
    comm file1 file2 “compare file and file2, if any difference, the difference
    will be list”
    echo:
    echo message “display some characters in the console”
    cat:
    cat file “display the file’s content in the console”
    export:
    export LC_ALL= “define variable LC_ALL is NULL”
    export DISPLAY=0:0 “define variable DISPLAY is 0:0”
    date:
    date “list the time”
    find:
    find -name path file “find file in the path”
    grep:
    grep -ir “chars” path “find chars in the path”
    vi:


    vi file “file edit tools “
    lynx:
    lynx "text base browser"
    man:
    man command "help command"
    startx:
    startx “run GUI system”
    reboot:
    reboot “reboot computer”
    halt:
    halt “shutdown computer”
    init:
    init 0 "shut down all service"
    init 1 "restart all service"
    init 6 "reboot script"
    advance command
    tar:
    tar xfzv file.tgz “uncompress file.tgz in the current directory”
    tar xfzv file.tgz -C target_path “uncompress file.tgz in the appoint direct
    ory”
    tar cfzv file.tgz source_path “compress appoint file to appoint tar ball”
    gzip:


    gzip -d source target " compress file"
    unzip:
    unzip source "un compress file"
    dmesg:
    dmesg "show kernel booting information"
    uname:
    uname -R " show kernel version"
    more:
    ls | more " 分页显示 information"
    strings:
    strings file "list file chars"
    less:
    less “list file chars,分页显示”
    rpm:
    rpm -i program.rpm "install program"
    rpm2targz:
    rpm2targz program.rpm program.tgz " reforamt rmp to tar ball"
    su:
    su root " su user to root"
    suloin:
    sulogin /dev/tty4 "waiting login in tty4"
    chmod:


    chmod a+x file " let file can be excute"
    chmod 666 file " let file can be write "
    mknod:
    mknod /dev/hda1 b 3 1 " make a block device "
    mknod /dev/tty1 c 4 1 " make a chare device "
    touch:
    touch /tmp/running " touch a file "
    sleep:
    sleep 9 " console sleep 9 seconds"
    lpd:
    lpd stop
    lpd start
    lpd restart "restart printer service"
    lpr:
    lpr file.txt "print a file ot printer"
    zhprint:
    zhpinrt -gb file.txt "print a chinese file to printer"
    disk command
    fdisk
    fdisk /dev/hda "creat or delete disk partition"
    cfdisk
    cfdisk /dev/hda "creat or delete disk partition"


    mount:
    mount -t ext2 /dev/hda1 /mnt “把/dev/hda1装载到 /mnt目录”
    mount -t iso9660 /dev/cdrom /mnt
    mount-t smb //192.168.1.5/sharedir /mnt -o username=id,password=id
    mount -t nfs 192.168.1.1:/sharedir /mnt
    umount:
    umount /mnt “umount /mnt directory”
    umount /dev/hda1 “umount device /dev/hda1”
    sync:
    sync "write all cache into disk"
    e2fsck:
    e2fsck /dev/hda1 "check disk"
    e2fsck -p "check and automatic repair disk"
    e2fsck -y "check and Assume "yes" to all questions"
    e2fsck -c "Check disk bad blocks"
    mkfs:
    mkfs /dev/hda1 "format pratitionk"
    mkswap:
    mfks /dev/hda9 "format a swap partition"
    swapon:
    swapon /dev/hda9 "use a swap partition"
    swapoff:


    swapoff /dev/hda9 " close a swap partion"
    lilo:
    lilo "/etc/lilo.config is needed"
    lilo -C lilo.conf
    "configure disk boot loader"
    rdev:
    rdev bzImage "show root file system"
    rdev bzImage /dev/hda1 "define /dev/hda1 as root file system"
    df:
    df "show mounted partition use information"
    dd:
    dd if=root.ram of=/dev/ram0
    dd if=/dev/fd0 of=root.ram
    dd if=/dev/zero of=root.ram bs=1024,count=1024
    who:
    who "show logined user"
    whoami:
    whoami "show who am I"
    whereis:
    whereis command "show where is the command"
    programer command
    gcc:


    gcc hello.c “compile hello.c,default is a dynamic program”
    gcc hello.c -o hello “compile hello.c and out put file as hello”
    gcc -static -o hello hello.c “compile a static program”
    strace:
    strace netscape "trace and list all open/write file by netscape program"
    ps:
    ps
    ps -ef "show running program pid"
    kill:
    kill -9 500 "kill PID 500"
    killall:
    killall -9 netscape "kill program netscape"
    top:
    top "show system cpu and memory use information"
    free:
    free "show free memory"
    time:
    time program "calculate program run time"
    configure command
    ifconfig:
    ifconfig eth0 192.168.1.1 “define first Ethernet’s IP is 192.168.1.1”
    ifconfig down eth1 “disable seconde Ethernet”


    hostname:
    hostname -F id.com “define hostname is id.com”
    route:
    route del default “delete default router”
    route add default gw 192.168.1.1 metric 1 “add 192.168.1.1 as a default rou
    te”
    adduser:
    adduser id "add a new user"
    userdel:
    userdel id "delete user id"
    userlist:
    userlist "list logined user"
    passwd:
    passwd id "change id's login password"
    passwd -d id "delete id's login password"
    chown:
    chown id /work "let the /work to be id's directory"
    probe:
    probe rtl8139 "veriry driver"
    lsmod:
    lsmod "list already install driver"
    insmod:


    insmod rtl8139.o "install a driver"
    insmod sb.o io=0x280 irq=7 dma=3 dma16=7 mpu_io=330
    rmmod:
    rmmod rtl8139 "delete a driver from system"
    gpm:
    gpm -k "kill mouse"
    gpm -t ps2 "run ps2 mouse"
    Xconfigure:
    Xconfigure "configure X-windows option"
    turboservice:
    turboservier "configure turbo linux servier"
    turboftp:
    turboftp "configure turbo linux ftp server"
    turbotelnet:
    turbotelnet "configure turbo linux telnet server"
    turbonetcfg:
    turbonetcfg "configure network options"
    turboppp:
    turboppp "configure ppp dialog options"
    turboappchecfg:
    turboappchecfg "configure turbo linux appche server"
    network command


    telnet 192.168.1.1
    telnet iserver.com
    ftp:
    ftp 192.168.1.1
    ftp iserver.com
    dhcp:
    dhcp "run dhcp server"
    ping:
    ping 163.com
    ping 202.96.128.68 "check network"