新闻  |   论坛  |   博客  |   在线研讨会
Linux大杂烩
xinjinlong | 2010-11-03 23:26:36    阅读:3329   发布文章

Linux必学的重要命令:
tar 

1.作用:
tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。
2.格式:
tar [主选项+辅选项] 文件或目录
3.主要参数:
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
-r 把要存档的文件追加到档案文件的未尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
-t 列出档案文件的内容,查看已经备份了哪些文件。
-u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
-x 从档案文件中释放文件。
辅助选项:
-b 该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为20(20×512 bytes)。
-f 使用档案文件或设备,这个选项通常是必选的。
-k 保存已经存在的文件。例如把某个文件还原,在还原的过程中遇到相同的文件,不会进行覆盖。
-m 在还原文件时,把所有文件的修改时间设定为现在。
-M 创建多卷的档案文件,以便在几个磁盘中存放。
-v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
-w 每一步都要求确认。
-z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
3.应用说明
tar是Tape Archive(磁带归档)的缩写,最初设计用于将文件打包到磁带上。如果下载过Linux的源代码,或许已经碰到过tar文件。tar是一个基于文件的命令,它本质上是连续地、首尾相连地堆放文件。使用tar可以打包整个目录树,这使得它特别适合用于备份。归档文件可以全部还原,或者从中展开单独的文件和目录。备份可以保存到基于文件的设备或磁带设备上。文件可以在还原时重定向,以便将它们重新放到一个与最初保存它们的目录(或系统)不同的目录(或系统)。tar与文件系统无关,可以使用在ext2、ext3、JFS、Reiser和其它文件系统上。它支持各种备份介质,包括软盘、光盘写入器、可重写的光盘、JazZip、磁带、高端磁带等。Linux中以.tar结尾的文件都是用tar创建的。它的使用超出了单纯的备份,可用来把许多不同文件放到一起组成一个易于分开的文件。如果使用Linux源代码安装程序,一定使用过tar文件。这是一个基于文件的命令,它本质上是连续地、首尾相连地堆放文件。
请注意,不要忘了Linux是区分大小写的。例如,tar命令应该总是以小写的形式执行。命令行开关可以是大写、小写或大小写的混合。例如,-t和-T执行不同的功能。文件或目录名称可以混合使用大小写,而且就像命令和命令行开关一样是区分大小写的。
4.应用实例:
tar是一个命令行的工具,没有图形界面。使用Konsole打开一个终端窗口,接下来是一个简单的备份命令(在/temp目录中创建一个back.tar的文件,/usr目录中所有内容都包含在其中。):
$tar cvf - /usr > /temp/back.tar
另外,tar命令支持前面第三讲中讲过的crontab命令,可以用crontab工具设置成基于时间的有规律地运行。
例如,每晚6点把/usr目录备份到hda—第一个IDE接口的主驱动器 (总是位于第一个硬盘)中,只要将下面语句添加到root的crontab中即可:
$00 06 * * * tar cvf /dev/hda1/usrfiles.tar - /usr
一般情况下,以下这些目录是需要备份的:
◆/etc 包含所有核心配置文件,其中包括网络配置、系统名称、防火墙规则、用户、组,以及其它全局系统项。
◆/var 包含系统守护进程(服务)所使用的信息,包括DNS配置、DHCP租期、邮件缓冲文件、HTTP服务器文件、dB2实例配置等。
◆/home 包含所有默认用户的主目录,包括个人设置、已下载的文件和用户不希望失去的其它信息。
◆/root 根(root)用户的主目录。
◆/opt 是安装许多非系统文件的地方。IBM软件就安装在这里。OpenOffice、JDK和其它软件在默认情况下也安装在这里。
有些目录是可以不备份的:
◆/proc 应该永远不要备份这个目录。它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图,包括诸如/proc/kcore这样的文件,这个文件是整个运行内存的虚拟视图。备份这些文件只是在浪费资源。
◆/dev 包含硬件设备的文件表示。如果计划还原到一个空白的系统,就可以备份/dev。然而,如果计划还原到一个已安装的Linux 系统,那么备份/dev是没有必要的。
unzip

1.作用
unzip命令位于/usr/bin目录中,它们和MS DOS下的pkzip、pkunzip及MS Windows中的Winzip软件功能一样,将文件压缩成.zip文件,以节省硬盘空间,当需要的时候再将压缩文件用unzip命令解开。该命令使用权限是所有用户。
2.格式
unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>]
3.主要参数
-c:将解压缩的结果显示到屏幕上,并对字符做适当的转换。
-f:更新现有的文件。
-l:显示压缩文件内所包含的文件。
-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-t:检查压缩文件是否正确。
-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中。
-v:执行是时显示详细的信息。
-z:仅显示压缩文件的备注文字。
-a:对文本文件进行必要的字符转换。
-b:不要对文本文件进行字符转换。
-C:压缩文件中的文件名称区分大小写。
-j:不处理压缩文件中原有的目录路径。
-L:将压缩文件中的全部文件名改为小写。
-M:将输出结果送到more程序处理。
-n:解压缩时不要覆盖原有的文件。
-o:不必先询问用户,unzip执行后覆盖原有文件。
-P<密码>:使用zip的密码选项。
-q:执行时不显示任何信息。
-s:将文件名中的空白字符转换为底线字符。
-V:保留VMS的文件版本信息。
-X:解压缩时同时回存文件原来的UID/GID。
[.zip文件]:指定.zip压缩文件。
[文件]:指定要处理.zip压缩文件中的哪些文件。
-d<目录>:指定文件解压缩后所要存储的目录。
-x<文件>:指定不要处理.zip压缩文件中的哪些文件。
-Z unzip:-Z等于执行zipinfo指令。在Linux中,还提供了一个叫zipinfo的工具,能够察看zip压缩文件的详细信息。unzip最新版本是5.50。

gunzip

1.作用
gunzip命令作用是解压文件,使用权限是所有用户。
2.格式
gunzip [-acfhlLnNqrtvV][-s <压缩字尾字符串>][文件...]
或者gunzip [-acfhlLnNqrtvV][-s <压缩字尾字符串>][目录]
3.主要参数
-a或--ascii:使用ASCII文字模式。
-c或--stdout或--to-stdout:把解压后的文件输出到标准输出设备。
-f或-force:强行解开压缩文件,不理会文件名称或硬连接是否存在,以及该文件是否为符号连接。
-h或--help:在线帮助。
-l或--list:列出压缩文件的相关信息。
-L或--license:显示版本与版权信息。
-n或--no-name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略不予处理。
-N或--name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上。
-q或--quiet:不显示警告信息。
-r或--recursive:递归处理,将指定目录下的所有文件及子目录一并处理。
-S<压缩字尾字符串>或--suffix<压缩字尾字符串>:更改压缩字尾字符串。
-t或--test:测试压缩文件是否正确无误。
-v或--verbose:显示指令执行过程。
-V或--version:显示版本信息。
4.说明
gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为“.gz”。事实上,gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成。gunzip最新版本是1.3.3 。

unarj
1.作用
unarj解压缩格式为.arj格式的文件,使用权限是所有用户。
2.格式
unarj [eltx][.arj压缩文件]
3.主要参数
e:解压缩.arj文件。
l:显示压缩文件内所包含的文件。
t:检查压缩文件是否正确。
x:解压缩时保留原有的路径。
4.说明
带有.arj扩展名的文件是由用于MS DOS和Windows的ARJ实用程序创建的。因为ARJ是一种不能免费获得源代码的共享件程序,所以在Linux平台上几乎不存在与其功能匹配的工具,要解压缩.arj文件,就要使用unarj实用程序。unarj比ARJ慢,能力也不如ARJ,但至少能够顺利地抽取大多数.arj文件。unarj只能将文件抽取到当前的工作目录、列出档案内容,或者测试档案。从ARJ Software的站点或携带所需Linux发行版的FTP服务器上可以下载unarj源码。另外,unarj通常是基本Linux发行版的一部分,因此可以在主要发行版本的CD-ROM上找到它。

mtools

1.作用
mtools实际上是一个命令集合,是DOS文件系统的工具程序,它可以模拟许多DOS命令,使用起来非常方便。使用权限是所有用户。Linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读、写文件和目录。它们对DOS和Linux环境之间交换文件非常有用。mtools的使用非常简单,如果想把软盘里所有的文件都拷贝到硬盘上,那么就可以执行以下命令:
mcopy a:*.*
也就是说,只需要在相应的DOS命令之前加上一个字母“m”,就可以完成对应的功能了。一般Linux发行版本中都有这个软件,可以使用下面命令检查一下。

rpm -qa|grep mtools

如果没有安装,也没有关系,可以从网上下载(
http://mtools.linux.lu/)一个最新版本来安装。下载后安装一下即可。

2.包括的命令

mcd 目录名:改变MS DOS下的目录。
mcopy 源文件 目标文件:在MS DOS和Unix之间复制文件。
mdel 文件名:删除MS DOS下的文件。
mdir 目录名:显示MS DOS下的目录。
mformat 驱动器号:在低级格式化的软盘上创建MS DOS文件系统。
rnlabel 驱动器号:产生MS DOS下的卷标
mmd 目录名:建立MS DOS下的目录。
mrd 目录名:删除MS DOS下的目录。
mren 源文件 目标文件:重新命名已存在的MS DOS文件。
mtype 文件名:显示MS DOS文件的内容。

请注意,这些命令和对应的MS DOS命令非常相似。在mtools命令中,“/”和“\”是可以混用的。因为文件列表的是DOS系统下的文档,对大小写并不敏感,所以“CDE”和“cde”在这里是一样的。

3.应用实例

(1)如果把软盘进行快速格式化,可以使用命令mformat:

mformat A:

mtools当初发展的目的是用来处理DOS文件系统的,所以只能用在FAT文件格式的分区上。需要注意的是,如果用mount命令来挂载了FAT16/32分区,那么就不能使用mtools的指令来处理这些分区上的文件。这是因为一旦FAT16/32分区挂到了Linux文件目录下,Linux就会将其视为文件系统本身的一部分,这时如果要对其操作就必须使用Linux本身所附带的指令集。

(2)将DOS盘上的文件htca.c复制到当前目录下,并用ls命令进行验证。

$ mcopy a:\htca.c
$ ls -l htca.c
-rw-r- -r- - 1 xxq xxq 27136 Jan 1 01:80 htca.c

man

1.作用
man命令用来提供在线帮助,使用权限是所有用户。在Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。使用man命令可以调阅其中的帮助信息,非常方便和实用。
2.格式
man 命令名称
man [-acdfhkKtwW] [-m system] [-p string] [-C config_file] [-M path] [-P pager] [-S section_list] [section] name ...

1. 参数
-C config_file:指定设定文件man.conf,缺省值是/etc/man.conf。
-M path:指定了联机手册的搜寻路径, 如果没有指定则使用环境变数MANPATH的设定;如果没有使用MANPATH, 则会使用/usr/lib/man.conf内的设定;如果MANPATH是空字串,则表示使用缺省值。
-P pager:指定使用何种pager.man会优先使用此选项设定,然后是依环境变数MANPAGER设定,然后是环境变数PAGER;man缺省使用/usr/bin/less -is。
-S section_list man:所搜寻的章节列表(以冒号分隔),此选项会覆盖环境变数MANSECT的设定。
-a man:缺省情况是在显示第一个找到的手册之后,就会停止搜寻,使用此选项会强迫man继续显示所有符合name的联机手册。
-c:即使有最新的cat page,也继续对联机手册重新作排版,本选项在屏幕的行列数改变时或已排版的联机手册损坏时特别有意义。
-d:不要真的显示联机手册,只显示除错讯息。
-D:同时显示联机手册与除错讯息。
-h:显示求助讯息然后结束程式 。
-K:对所有的联机手册搜寻所指定的字串。请注意,本功能回应速度可能很慢,如果指定section(区域)会对速度有帮助。
-m system:依所指定的system名称而指定另一组的联机手册。
man:是manual(手册)的缩写。在输入命令有困难时,可以立刻得到这个文档。例如, 如果使用ps命令时遇到困难,可以输入man ps得到帮助信息,此时会显示出ps的手册页(man page)。
由于手册页man page是用less程序来看的(可以方便地使屏幕上翻和下翻), 所以在man page里可以使用less的所有选项。

less中比较重要的功能键有:
[q] 退出;
[Enter] 一行行地下翻;
[Space] 一页页地下翻;
上翻一页;
[/] 后跟一个字符串和[Enter]来查找字符串;
[n] 发现上一次查找的下一个匹配。

unencode

1.作用
unencode命令可以把一个二进制文件表编码为一个文本文件,使用权限是所有用户。
2.格式
uuencode [-hv] [源文件] 目标文件
3.主要参数
-h:列出指令使用格式(help) 。
-v:列出版本信息。
4.应用说明
uuencode指令可以将二进制文件转化成可使用电子邮件发送的ASCII编码形式。uuencode编码后的资料都以 begin开始,以end作为结束,且通常其中的每一行的开始均为“M”,中间部分是编码过的文件,编码后的文件比源文件要大一些。 

uudecode
1.作用
uudecode命令用来将uuencode编码后的档案还原,uudecode只会将begin与end标记之间的编码资料还原,程序会跳过标记以外的资料。它的使用权限为所有用户。

2.格式

uuencode [-hv] [file1 ...]

3.主要参数

-h:列出指令使用格式(help)。
Linux学习之系统FAQ:

问:Linux系统中,有哪些主要的日志子系统?
答:连接时间日志由多个程序执行,把记录写到/var/log/wtmp和/var/run/utmp,并由login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
进程统计由系统内核执行。当一个进程终止时,为每个进程向进程统计文件(Pacct或acct)中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计。
错误日志由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslogd(3)向文件/var/log/messages报告值得注意的事件。另外,有许多Unix程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。

问:Linux下tar和rsync区别?
答:tar命令用来建立最初的副本,rsync命令则是用来获取最后一个副本建立以来所发生的变更。在不存在任何目标文件时,tar比rsync要快。如果两个文件系统差异很小,则rsync比tar快许多。

问:Linux有哪些常用的系统维护文件?
答:(1)/etc/hosts:主机名字解析文件,提供主机名和IP地址的对应。
(2)/etc/passwd:包含有口令文件、登录用户名、加密口令、用户ID、组ID、初始工作目录和Shell路径等信息。
(3)/etc/grofup:包含有组名、加密密码、组ID及所有属于该组的用户的信息等。
(4)/etc/profile:可以设置通用环境变量。
(5)/etc/inittab:内部初始化之后,系统将启动/etc/init这个Deamon进程,使 /etc/init进程取得引导序列是控制权。

问:如果/var目录空间不够用,可以移到新的硬盘空间中吗?
答:当然可以,但是要注意两点:
1.不是简单的从/ var目录下拷贝资料,而是要用tarzcvf 和zxvf命令打包和解包到新的挂载点,这样才能保证/var的链接文件不会受破坏。
2.从紧急启动软盘引导启动,如果没有准备就用Linux 安装光盘用 rescue模式进入系统,把/etc/fstab这个文件中的/var分区修改成现在的挂载点。最后退出重新启动,使挂载生效。

问:我的Linux每次启动直接进入图形界面,有什么方法可以直接进入终端吗?
答:修改/etc/inittab文件,找到“i b:X :initdefault”,其中X表示启动方式,改为3表示终端,改为5表示图形。

问:Linux下怎么实现分卷压缩?
答:用tar命令每卷50M分卷压缩,命令如下:
# tar zcvfp – mytarfilr.tar.gz | split –d –b 50m

问:如何用USB盘启动Linux系统?
答:首先查看主版是否支持从USB盘启动,启动时,需要到BIOS下设置从USB设备启动。进入BIOS的“AdvancedBIOS Features”下的“first boot device”选项,就有usb-fdd、usb-hdd、usb-zip和usb-cdrom等USB设备的启动选项了,然后制作一张Linux启动盘。将 boot.img保存在根分区下,运行命令:“dmesg”,查看USB盘设备号。一般是sda。
运行如下命令:
# dd if=/boot.img of = /dev/sda
如果显示如下,则表示制作成功。
2880 +0 records in
2880 +0 records out

问:我在应用一些特别消耗虚拟内存的程序(如g++)时,发现swap空间已经用完,如何临时增加swap空间呢?
答:如果是临时增加swap空间,可以使用swap文件来实现。如果增加128MB的swap空间,可以使用以下命令来实现:
# lsof –i :22
COMMAND PID USER FD TYPE DEVICE SIZENODE NAME
sshd 1826 root 3u IPv6 2770 TCP *:ssh(LISTEN)
# dd if=/dev/zero of=/swap bs=1024 count=131070
# mkswap /swap
Setting up swapspace version 1,size = 134209 kB
# swapo
swapoff swapon
其中,count参数是swap文件的大小,of参数是swap文件的名称。请注意,在存放swap文件的分区上要有相应的空间,如上例中“/”分区至少要有128MB的可见才行。使用完毕后,可以用以下命令解释这128MB的swap分区:
# swapoff /swap
# rm /swap

问:如何防止以外或别人故意修改文件?
答:对系统中的一些关键文件和个人重要资料,可以通过文件权限来保护,例如将文件属性设为600。另外,如果Linux使用的是ext2或ext3文件系统,还可以使用“chattr”命令,给文件加上i属性,即使root用户也不能直接修改或删除这类文件,以有效防止意外修改情况的发生。具体命令如下:
# chattr +i passwd
去除i属性使用如下命令:
# chattr –i passwd

问:我在Windows下不小心把swap分区格式化了,请问有什么命令可以恢复?
答:使用mkswap命令建立swap分区,再使用swapon命令启用swap分区即可。关于命令的使用,举例如下:
#mkswap /dev/sda7
# swapon /dev/sda7
1.KDE是什么,有什么特点?
KDE项目在1996年10月发起的,其目的是在X-Window上建立一个完整易用的桌面环境。KDE现在除了拥有KFM(类似于IE4.0)、KPresenter(类似PowerPoint)、KIllustrator(类似CorelDraw或 Illustrator)等重量级软件,还有体贴用户的GUI配置软件可以帮助用户配置Unix/Linux,使其深受使用者欢迎。
但由于KDE是基于由TrollTech公司开发的Qt程序库的,所以也受到了许多批评。虽然Qt本身作为一基于C++的跨平台开发工具是非常优秀,但可惜的是它不是自由软件。Qt的License允许任何人使用Qt编写免费软件及免费拷贝给其他用户使用,但如果利用Qt编写非免费软件则需要购买他们的License。更重要的是任何人都不可以随意修改Qt源代码。如果TrollTech公司更改Qt License、公司倒闭或给人收购等都会令KDE前功尽弃。

2.GNOME是什么,有什么特点?
1997年8 月,为了克服KDE所遇到的QT许可协议和单一C++依赖的困难,以墨西哥的Miguel de Icaza为首的250程序员就开始了一个新项目,完全从头开始,这就是GNOME。
经过14个月的共同努力,终于完成了这个工程。现在GNOME已得到了占Linux 市场份额最大发行商Red Hat 的支持,拥有了大量应用软件,包括文字处理软件Go,电子表格软件Gnumeric,日历程序GNOMEcal,堪与PhotoShop 媲美的图形图像处理软件Gimp 等。

3.在Linux下如何播放CD?
当你成功地在Linux环境下驱动了你的声卡之后,你就可以通过使用X-window中的一个CD播放器来播放CD了,它在多媒体工具中。界面如下图所示:

4.能不能在Linux下播放VCD?
你可以使用MpegTV Player 1.0这个Linux下的VCD播放器实现你的愿望。  
安装MpegTVPlayer不需要特殊的硬件设备,只需运行X Window即可使用。
它模仿了录像机的播放控制键,如 : 播放、快进、快退、停止、定格、搜索、音量调节、静声、音量平衡、循环播放、画面放大缩小、自动播放等。播放过程会显示整个节目要用时间、已用时间。
你可以到下面站点下载MpegTV Play:
http://www.mpegtv.com

5.有没有Linux下MP3播放工具?
Linux下有很多MP3的播放工具,其中mpg123 应该是最经典的一种,它可以在控制台使用。许多图形界面的mp3播放软体都是利用这个程式来 播放mp3的。下面是它的一些基本的参数介绍:
-a device 设定所使用的音效装置,预设为/dev/audio或/dev/dsp
-@ file 从档案file中读取要播放的mp3档案名称列表
-z 随机播放
如果只是要单纯地播放一两首歌,或是要播放一整个目录下的歌,利用mpg123倒是个不错的选择,若是要复杂一点的功能如选择多目录内的特定mp3档案,那可能需要写个script来执行。

6.如何在Linux下浏览网页?
想要浏览网页,需要满足两个条件:
1)你的电脑已经连上了Internet;
2)使用浏览器软件来实现浏览;在Linux下有两种常用的浏览器:
控制台下可以使用lynx;
X-window中可以使用netscape的Linux版本;
它们的使用方法与在Windows中的浏览器基本类似。

7.如何在Linux下收发E-Mail
在Linux下你可以使用mail、pine在控制台命令行下收发E-Mail,在X-window中可以使用Kmail来收来E-Mail。

8.能不能让Linux显示中文呢?
用的英文版的Linux,你可以安装中文模拟终端chdrv使Linux能在命令行状态下显示和汉字。chdrv启动后在tty7(用Ctrl+Alt+F7)建立一个虚拟终端,用户在tty7上登录后就可以使用它提供的中文支持。
ftp://ftp.ihep.ac.cn/pub/chinese/system获取已编译的chdrvbin-0.23.gb.tar.gz文件和字体文件chdrvfont.tar.gz,然后执行:
tar xvzf chdrvbin-0.23.gb.tar.gz
mv chdrvfont.tar.gz chdrv-0.23.gb/
cd chdrv-0.23.gb 进入此目录
./installbin 运行安装文件

9.有没有Linux下的中文输入法?
如果你使用的Linux是中文版,就无需另外安装了。如果你使用英文版的Linux的话,你可以安装chinput来实现中文输入。你可以到下面网址下载:
http://www.turbolinux.com.cn/~justiny/download/chinput-2.1.tar.gz
1)下载后,解开该文件:tar -xvzf chinput-2.1.tar.gz
2)解开后,进入 Chinput-2.1/src 里,修改 chinput.c文件,查找 GBK字样,将其改为 GB2312。再查找system("/usr/bin/zwincontrol &");语句,将其取消(在前面加上 // );
3)修改完后,执行make命令编译;
4)编译完成后,就可以在X-Window环境下使用了。

10.除了VI,还有其他文字编辑软件吗?
Vi是UNIX/Linux环境下最通用的一种编辑软件,但是它不是很友好。如果你对它不满意的话还可以尝试其它一些如emacs、joe等编辑工具。
笔者极力推荐emacs,这是自由软件基金FSF之父stallman的杰作,也是GNU项目第一个重磅炸弹,的确十分优秀,值得一试。不过最大缺点就是太复杂。

11.Linux下有没有像office一样的软件?
有,StarOffice就是基于Linux的一个办公软件的套件,它是一个商业软件包,其中包括字处理、电子表格、幻灯片制作等MS Office软件包含有的软件。对于个人用户还提供一个免费的版本。用户可以到以下站点下载:
http://studio.linux.org.cn
StarOffice Office Suite for Linux是为非商业用户准备的,商业用户要使用StarOffice Office 则需要许可证。
ftp://ftp.gwdg.de/pub/linux/staroffice

12.Linux下有没有像photoshop一样的软件?
有,Linux下有一款十分著名的平面图形处理软件—GIMP。它的界面比Photoshop更简洁,启动时只有一个工具栏,看起来和Photoshop差不多.主菜单在用鼠标右键单击打开的图象时才弹出,像Channels,layers,brushes......一应俱全,外观也和Photoshop极为相似,用不着花时间去适应了. ....
这还不算特点.比Photoshop优越的地方也不少:如支持的图象格式极多,支持Texture Brush,像Painter那样刷出底纹图案来. Filter也更多了,比如有一种叫Alien Map的,把RGB三色进行sin,cos运算,达到特殊效果,真是奇思妙想.Undo功能也不错,我试了一下,至少支持5次undo.还有更令人欣喜的,就是对Web的支持,可以很轻松的做出定制的箭头,按钮,背景图案等,比Photoimpact更强大。
如果你离不开PHOTOSHOP,又付不起ADOBE掌柜的帐,又自认为玩艺术的人不用D版,试试GIMP吧!

13.能在Linux下玩游戏吗?
现在已经有For Linux的游戏了,除了大名鼎鼎的Doom之外,还用一些像acm—空战模拟游戏、xdemineur—挖地雷、xjewel—俄罗斯方块、xboard—国际象棋、xboing—弹珠台游戏。而且现在越来越多,为你在枯燥的学习中添上一丝乐趣。

14.在Linux下有C语言吗?其它语言呢?
在Linux下有自由软件基金FSF创建的重磅炸弹-GCC,它是一个强大的编译器,目前堪称是全世界效率最高的C/C++编译器,现在已经广泛应用在各种UNIX环境下。虽然,现在还没有C语言的集成开发环境,但这丝毫不影响GCC的流行,这也许就是自由的力量吧!
同时,Linux下也提供Fortran、Pascal、Perl、Cobol等多种语言的支持。

15.Linux下有哪些数据库软件?
Linux下有许多种数据库软件可供使用,其中有Oracle for Linux、IBM DB2 for Linux、Mysql、mSql、Post等。

学习Linux的心得:
通过这几年来对Linux的学习,一步一步摸着石头过河,到现在才刚刚上岸。我能起的作用可能可以告诉你一些学习的方法,当你遇到困难的时候有个人在旁边给予帮助。说句心里话,对于Linux的掌握我还只能算是很粗的东西,因为看了很多大师们的东西以后,发现自已离他们真得还很远。我不是要打击你的意思,是告诉你实情。但也可以告诉你,就这一点现在还是比较好混口饭吃。对她了解掌握的越深,你会发现他几乎什么都能做,有了实现自已商业机会的平台。
学习Linux分好几种层次,我个人觉得可以用中学里学的课文《疱丁解牛》来对比。说白了也就是对事物的认识一般都是由表及里的过程,学习Linux也是一样的。以前总觉的学理的人只要会数理化就行了,很多老师们由于自身的素质问题也不由自主的暗示着我们这样做。现在觉得很后悔当初没有学好文,文太重要了,很多时候他真的可以指导我们的形为和思维方式。最近看的很多管理上的书,最终上升到都是哲学方面的问题,很多东西一追踪根源到上升到哲学上来了。以前小的时候不懂事,觉得学这些东西有什么用,现在成熟一些了才发现这些东西真的不是件简单的事情。学习Linux有很多东西,我建议你首先要注意大师们在哲学上的思路。Linux是由Unix产生的,最终他的实现及他基础上很多应用软件都是基于一个哲学理念“把任务分解成一小块一小块完成”,可能现在你觉得这是件很简单的道理。但他不简单就在于所有有关Unix的东西都是基于这一理念的,看看我们常用的那些小工具吧,find,grep, gzip,tar,bash...等等,这个道理无不贯穿始终。现在IBM/MS等公司经常提到的WEB Service,实际上细想也是这样的,无非是把很多服务分散开来,然后有个总的业务逻辑来进行迅速的组合成一个新的服务,满足市场的迅速变化的需求。
结论1:首先要明白他的设计理念是缘自Unix的“把任务分解成一小块一小块完成”,建议你可以看这本电子书<< The Art of Unix Programming>>。是由Eric Steven Raymond写的,在google上很容易找到。这本书编重于编程,可以根据自已的兴趣选相应章节。我也没有全看完,也在研习中:-)
从使用着手,自已装个系统。建议你从Redhat开始。现在Redhat的安装基本上都是学习MS的做法,很图形化了。只要按照图形的指示,很容易让一个系统跑起来。我觉得初学者应该从这个入手,这样会快很多。因为Linux上的软件包都是由不同的开发团队做的,所以一般人不知道如果安装,redhat公司做的事情就是把这些东西组织起来,然后把这些软件卖给大家。因为他对这一行非常的精通,所以卖软件是其次,卖服务是主业。现在 redhat已停止出个人版的了,改成专做企业的了,版本发行最近有些变动。现在最后一个版本好象是RH9.1。
装好系统后从使用应用软件开始,建议你先学BASH SHELL编程。因为你将业想往Oracl DBA发展的话,精通SHELL可以在管理上给你带来很大的便利。同时对于理解Linux系统的启动和一些软件的安装很有帮助。比如说你可以很清楚的了解Linux的整个启动过程,继而知道为什么要做那一步做了这个动作,对你将来处理实际碰到的问题至少可以明白知道问题出在哪。象很多我们日常在Unix/Linux的管理和脚本都是分不开的,精通BASH是我们需要完成的第一步。我指的是精通,不是一般的了解,因为你只有精通了,用的时间越长,你会发现script可以帮我们很方便的干很多事情。这里有一本电子书提供参考,是我至今见到写BASH最全,最好的一本。名叫《Advanced Bash Scripting Guide》,你可以在
www.linuxdoc.org
里找到。这里也提一下www.tldp.org里的文章是你学习Linux的良师益友,里面的很多文章都是非常不错的教材。主要分为几类: 1、FAQ 2、HOWTO 3、Guider 4、man手册。其中的Guider有几本都是非常不错的入门书,你基本上可以不用去买本,美国出的印刷书都奇贵,你把那里的几本书看完就差不多了。插一句,现在P2P很流行,我基本上都不买专业的书了,大部分都可以找到电子版的下载。里面的HOWTO主要讲的一些具体的问题如何处理,门类也很多很杂,你可以根据自已现在的需求去看相应的文章。有空的时候可以多看看,这里面有些很好的solution,说不定什么时候就可以用上。FAQ的文章不多,建议挑些重要的看下。对于man手册,一般系统上都有,不过那里应该是最近的,平时用的不多。
结论2:自已装个Redhat,学好shell。你Unix/Linux时候,熟悉一个编辑器是必不可少的。用两种建议选择Emacs&VIM。Emacs比较大些,要花些空间,功能具强,以前用过一段时间但没有深入下去,所以了解也是通过大师们文?*蟹锤刺岬秸飧龉丶趾鸵恍┬畔⒅赖模煤昧斯δ芫咔浚嗟庇谝桓鯩S下的 IDE开发环境;vim比较小些,功能也很强,是vi的增强版,我现在主要是用她来编辑东西。vim支持多种语法,可以用来编脚本、C、Java,功能足够我们用,学好需要一定的时间实践。因为我们用Unix/Linux,免不了有时要用console来控制,如果用惯了MS的编辑的话,你会非常痛苦,建议如果以后想长时间使用unix/linux环境的话,学好一种这环境下的编辑器。vim也有windows的版本,开始用起来会觉得不方便,便很快你会发现用VIM可以解决很多MS下编辑器不能解决的问题,不信你可以试试看。:-)
结论3:学会一种Unix/Linux下编辑器Emacs或Vim,建议Vim(因为我在用,可以给你些指导 )
学习Linux有几种常用的服务软件需要会用,1) apache(http) 2) bind(dns) 3) pro-ftp (ftp) 4)samba(file share) 。需要掌握这些软件的安装和简单配置,这些软件在网上都有很详细的文档。至少apache要会安装和管理,因为这是最基本的WEB服务,今天在哪里都能用到。对于这些常用服务软件根据自已兴趣和环境要求做出选择,不一定要很精,但要会,建议精通。
结论4:学会常用服务软件的安装和配置,至少掌握apache在Linux中还有很多小实用工具也需要掌握,这对你今后诊断问题和做相应的系统管理有很大帮助。如配置网卡地址的工具ifconfig,查找文件的工具find,行编辑的命令sed、awk,网络状态检查tstat、ping、nc等。这些工具可以在实践中慢慢学习。
结论5:在实践中学习一些常用小工具,如ifconfig netstat route等.掌握一到两种Opensource的数据库,如现在流行的两种数据库MySQL和PostgreSQL。MySQL用的人多些也比较简单,速度又快,做一些简单的数据库应用很多都用他做backend databaes server。如果你自已想学Oracle的话,可以直接学 Oracle。Oracle的东西多且全,基本上所用的功能都能在Oracle找到。但如果你想更深一层学习DB的话,你可以考虑学 PostgreSQL,他有源程序而且支持事务处理(trans-action)、子查询(sub-select),过程(procedure)、自定义函数(function)、光标(cursor),支持了大部份SQL92和99的标准。他的文档也比较全。
结论6:建议掌握一种Opensource的DB,如MySQL     建议对TCP/IP协议层深入了解,我想你们上研究生时应该讲的很深。但我还是建议你再多复习相关的知识点,很多时候网络上的问题可以通对你对TCP/IP的了解找到问题所在。建议你买那个steven的书叫<>,同时经常在身边准备好那几种状态切换的图,劳记在心,出问题的时候就可以知道是哪边网络不通,还是应用程度出了什么问题了。
结论7:建议再深入了解TCP/IP protocol建议除了bash外,再学多一种在Unix环境下的RAD脚本语言python。我也正在学python,通过这段时间的了解发现,这个东东有很多功能而且在开发上可以比c/c++提高至少5倍效率。有时候偏向做系统管理,但掌握一本这种编程形的脚本对工作帮助很大,可以迅速的处理一些问题。BASH是侧重于人机交复的脚本,有些事情用BASH是无法完成的。Python在很多Internet应用上有很多module& package,你可以很方便的使用已有的功能,比如说自已做个小的WEB SERVER,做测试工具,做数据库查询等等。
结论8:建议学下Python
linux下安装程序:

在Linux系统中,安装软件最常见的有两种:
一种是软件的源代码,您需要自己动手编译它。这种软件安装包通常是用gzip压缩过的tar包(后缀名为.tar.gz)。
另一种是软件的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个RPM包(RedHat Linux Packet Manager,就是RedHat的软件包管理器),后缀名是.rpm。 当然,也有用RPM格式打包的源代码、用gzip压缩过的可执行套装程序。
源代码编译安装
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.gz或tgz或tar.bz2等格式结尾的软件包一般都是以源代码方式发布的软件,安装这类软件首先需要对软件进行解压:

  # tar zxvf filename.tar.gz

  # tar xvfz filename.tgz

  # tar xvf j filename.tar.bz2

  解压以后,就可以进入解压后的目录:

  # cd filename/

  对于这类文档,常见的安装步骤是:配置、编译和安装3步,其中最麻烦的就是配置,因为所有和软件安装相关的配置都是在这一步指定的:比如软件安装位置等。

  配置:./configure

  编译:make

  安装:make install

  卸载:make uninstall 或手动删除

  说明:建议解压后先阅读说明文件(ReadMe和Install),了解安装的需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make uninstall命令来进行卸载,如果不提供此功能,则软件的卸载必须手动进行。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其他安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。

RPM格式软件包的安装

RPM是RedHat公司开发的软件包管理器,使用它可以很容易地对RPM形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用RPM形式的软件包。软件包往往有特定的命令规范,名字是由“文件名+版本号+.rpm”组成的字串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm,它们的软件包名称分别是apache和apache-devel。各个支持RPM格式的Linux常见软件的RPM包可以在网站rpmfind.net中找到。

  1.安装

  命令格式:

  rpm-i(or--install) options file1.rpm ... fileN.rpm

  参数:

  file1.rpm...fileN.rpm指将要安装的RPM包的文件名。

  详细选项:

  -h(or—hash)安装时输出hash记号;test只对安装进行测试,并不实际安装;--percent以百分比的形式输出安装的进度;--excludedocs不安装软件包中的文档;--includedocs安装文档;--replacepkgs强制重新安装已经安装的软件包;--replacefiles替换属于其他软件包的文件;--force忽略软件包及文档的冲突;--noscripts不运行预安装和后安装脚本;--prefix NEWPATH将软件包安装到由NEWPATH指定的路径下;--ignorearch不校验软件包的结构;--ignoreos不检查软件包运行的操作系统;--nodeps不检查依赖性关系;--ftpproxy HOST用HOST作为FTP代理;--ftpport PORT指定FTP的端口号为PORT。

  通用选项:

  -v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文档为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。

  2.删除

  命令格式:

  rpm -e(or--erase) options pkg1 ... pkgN

  参数:

  pkg1...pkgN:要删除的软件包。

  详细选项:

  --test只执行删除的测试;--noscripts不运行预安装和后安装脚本程序;--nodeps不检查依赖性。

  通用选项:

  -vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文档为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。

  3.升级

  命令格式:

  rpm -U(or--upgrade) options file1.rpm ... fileN.rpm

  参数:

  file1.rpm...fileN.rpm指软件包的名字。

  详细选项:

  -h(or—hash)安装时输出hash记号;—oldpackage允许一个旧版本;--test只进行升级测试;--excludedocs不安装软件包中的文件;--includedocs安装文件;--replacepkgs强制重新安装已经安装的软件包;--replacefiles替换属于其他软件包的文件;--force忽略软件包及文件的冲突;--percent以百分比的形式输出安装的进度;--noscripts不运行预安装和后安装脚本;--prefix NEWPATH将软件包安装到由NEWPATH指定的路径下;--ignorearch不校验软件包的结构;--ignoreos不检查软件包运行的操作系统;--nodeps不检查依赖性关系;--ftpproxy HOST用HOST作为FTP代理;--ftpport HOST指定FTP的埠号为HOST。

  通用选项:

  -v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文件为FILELIST ;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。

4.查询

  命令格式:

  rpm -q(or--query) options

  参数:

  pkg1...pkgN:查询已安装的软件包。

  详细选项:

  -p PACKAGE_FILE查询软件包的文件;-f FILE查询FILE属于哪个软件包;-a查询所有安装的软件包;--whatproVides CAPABILITY查询提供了CAPABILITY功能的软件包;-g group查询属于group组的软件包;--whatrequires CAPABILITY查询所有需要CAPABILITY功能的软件包。

  选项:

  -i显示软件包的概要信息;-l显示软件包中的文件列表;-c显示配置文件列表;-d显示文件列表;-s显示软件包中文档列表并显示每个文件的状态-;-scripts显示安装、卸载、校验脚本;--queryformat(or--qf)以用户指定的方式显示查询信息;--dump显示每个文件的所有已校验信息;--proVides显示软件包提供的功能;--requires(or-R)显示软件包所需的功能。

  通用选项:

  -v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后安装程序都会安装到这个目录下;-rcfile FILELIST设置rpmrc文件为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。

  5.校验已安装的软件包

  命令格式:

  rpm -V(or--verify,or-y) options

  参数:

  pkg1...pkgN将要校验的软件包名

  软件包选项:

  -p PACKAGE_FILE校验PACKAGE_FILE所属的软件包;-a校验所有的软件包;-g group校验所有属于组group的软件包。

  详细选项:

  --noscripts不运行校验脚本;--nodeps不校验依赖性;--nofiles不校验文档属性。

  通用选项:

  -v显示附加信息;-vv显示调试信息;--root PATH让RPM将PATH指定的路径做为根目录,这样预安装程序和后安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文件为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。

  6.校验软件包中的文件

  语法:

  rpm -K(or--checksig) options file1.rpm...fileN.rpm

  参数:

  file1.rpm...fileN.rpm软件包的文件名;Checksig--详细选项;--nopgp不校验PGP签名。

  通用选项:

  -v显示附加信息;-vv显示调试信息;--rcfile FILELIST设置rpmrc文件为FILELIST。

  7.其他RPM选项

  --rebuilddb重建RPM资料库;--initdb创建一个新的RPM资料库;--quiet尽可能地减少输出;--help显示帮助文件;--version显示RPM的当前版本。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
五湖四海皆朋友
最近文章
浅谈MIPS的MMU(二)
2016-08-16 19:33:41
浅谈MIPS的MMU(一)
2016-05-05 10:55:06
推荐文章
最近访客