您的位置:首页 > 运维架构 > Linux

linux使用技巧

2006-12-27 09:44 393 查看
1、关于sysctl:

其实/etc/sysctl.conf对应的是/proc/sys/目录...
例如要修改/proc/sys/net/ipv4/ip_default_ttl的话,就修改/etc/sysctl.conf文件如下...
添加一行为:
net.ipv4.ip_default_ttl=255,也就是把文件夹变成小数点就可以啦
然后执行一次
#sysctl -p
就可以生效啦。

2、关于arp协议:
关于arp命令,注意其中的Flags,如果是C,表示是动态的,但是如果使用arp -s 来绑定的话则是显示M,是静态
所以后边每个侦都需要加入填充字符以达到以太网的最小长度要求60字节。
大多数的bsd实现把完成tcp连接请求的时间限制设置为75秒。
1byte=8bit

3、关于tcpdump
想输出点分十进制:tcpdump -n ***
想输出mac地址:tcpdump -e ***
抓到目标为A的包:tcpdump dst A
问题:如何使用Tcpdump显示抓到的包的长度,因为以太网包的最小长度为60,用packetyzer抓到48

4、关于vim的使用:
替换当前行的某个单词    :s/old/new/g
替换全文所有符合的单词  :%s/old/new/g
替换全文所有符合的单词并让用户确认: :%s/old/new/gc

5、如何使用date修改系统时间:
$ date 1124170004
此命令将日期设置为 2004 年 (04) 11月 24 日 (1124) 17时 (1700)。
#hwclock写入bios

6、Linux的路由重定向
/proc/sys/net/ipv4/conf/uall/send_redirects
/proc/sys/net/ipv4/conf/default/send_redirects
/proc/sys/net/ipv4/conf/eth0/send_redirects

7、查看Linux分区
#fdisk -l
或者#parted
(parted)print
这样可以看到各个分区的类型及大小,不过这两个看到的结果并非相同
#cat /proc/partitions
查看分区卷标:
#e2label /dev/hdXn

8、find命令常见使用方法:
查找名字为conf的目录
#find /目录  -type  d -name conf
注意type可能为b,c,d,l等...
查找文件权限为755的文件
#find /目录 -perm 755 -print
如果用八进制,则可以用
#find /目录 -perm -007 -print  (跟chmod里的表示方法相同)
查找文件属主为kt的文件
#find /目录 -user kt -print
查找group为kt的文件
#find /目录 -group kt -print
查找名字为file的文件
#find /目录 -name file
查找大小为0的文件
#find /目录 -size 0
忽略某个目录:
#find /目录 -name "/目录名" -prune -o -print
查找属主帐户已经被删除的文件:
#find /目录 -nouser -print
按更改时间查找文件
#find /目录 -mtime -5 -print  单位是5,查找更改时间在5日以内的文件
查找更改时间在3日以内的文件
#find /目录 -mtime +3 -print
查找更改时间比file1新但比file2旧的文件
#find /目录 file1 ! -newer file2 -exec ls -l {} /;
不仅查询根目录,而且查询子目录
#find /目录 -name file -depth -print
只在当前文件系统内部查询,而不进入其他文件系统
#find /目录 -name file -mount -print
用exec对查找出的文件进行操作
#find /目录 -type f -exec ls -l {} /;     //-exec ls -l {} /;则表示执行“ls -l”的操作.
用exec安全模式,在删除前有提示
#find /目录 -name "*.log" -mtime +5 -ok rm {} /;   //这样在删除文件前会先提示
根据inode号来取得硬链接
#find /目录 -inum inode号

对find找出的文件执行操作可以使用-exec 执行指令 {} /;也可以使用 | xargs 指令

9、如何修改Linux网卡的mtu
 (1) ifconfig eth0 mtu 1400        (使用系统都带的ifconfig)
 (2) ip link set eth0 mtu 1400     (使用系统都带的ip)

10、修改系统时间
date -s “2003-04-14 cst”,cst指时区,时间设定用date -s 18:10
修改后执行clock -w 写到CMOS

11、以Tomcat用户来启动tomcat
#su - tomcat -c "/usr/local/tomcat"
但是难道这样不需要输入密码吗?

12、如何查看当前运行级别 
#runlevel
或者
#who -r

13、修改主机名
主要是三个文件(1)/etc/sysconfig/network-scripts/ifcfg-eth0 (2)/etc/hosts
(3)/etc/sysconfig/network

14、修改网卡MAC地址:
#ifconfig eth0 down
#ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
#ifconfig eth0 up

15、在Linux上释放所有arp:
#arp -d -a

16、在SCO上scosh不能telnet到Linux,要修改TERM
#export TERM=ANSI

17、用sysctl -a查看/proc/sys/下各个值

18、查询22端口正运行什么程序
#lsof -i :22

19、Linux上添加路由
添加到某网段的路由:route add -net desIP rouIP dev eth0
添加到某ip的路由:  route add -host desIP rouIP dev eth0

20、使退出登陆后程序继续运行:
# disown
或者是
nohup command &

21、Linux共有几种类型的文件:
d 目录。
l 符号链接(指向另一个文件)。
s 套接字文件。
b 块设备文件。
c 字符设备文件。
p 命名管道文件。
- 普通文件,或者更准确地说,不属于以上几种类型的文件。

22、针对文件的权限:
r 读权限。
w 写权限。
x 执行权限。
s 文件属主和组set-ID。
t 粘性位*。
l 给文件加锁,使其他用户无法访问。

23、redhat的版本如何判断
#cat /proc/version               (如何怎么修改使系统启动后就为默认的Jintao Linux v2.0)
#cat /etc/redhat-release
#cat /etc/issue

24、使用md5sum来校验文件
#md5sum isofile > hashfile
#md5sum -c hashfile

25、查看硬盘的使用情况
#df -k  以k为单位
#df -m  以m为单位
#df -h  以人性化单位显示

26、查看目录的大小
#du -sh dirname
-s 仅仅显示总计
-h 显示人性化的信息

27、字符模式下设置环境变量
#export 变量名=变量值

28、关于.vimrc

29、关于fstab

30、系统默认的suid/sgid程序
/usr/bin/passwd
如果不让用户自己有权限修改自己密码,可以把其s位去掉
/usr/sbin/userhelper
/usr/sbin/userisdnctl
/usr/sbin/usrnetctl
/sbin/pam_timestamp_check
/sbin/unix_chkpwd
/sbin/pwdb_chkpwd

31、关于中文处理

32、关于grub
重新安装一次grub
#grub-install /dev/hda1

33、关于pam
/etc/pam.d

34、关于TCP_WRAPPERS
这个跟xinetd有关系...而现在一般使用standalone模式...

35、关于dns的查询使用办法
nslookup
host
dig

36、关于ssh
scp
制造密钥

37、设置网卡为混杂模式
#ifconfig eth0 promisc

38、自动化任务  cron,at,batch
系统管理员通过cron.deny和cron.allow来禁止和允许用户拥有自己的crontab文件...
crontab的格式:  分 时 日 月 星期 要运行的命令(注意使用的命令必须是绝对路径)
crontab -e 编辑
crontab -r 删除
crontab -u user 用某用户来执行
crontab -l 列出当前crontab内容
at也通过/etc/at.allow和at.deny文件空子后哪些用户可以使用at命令,哪些不行

39、关于ip层的路由
路由器在查找路由表的时候,路由表有三种
1、特定主机 2、特定网络 3、默认路由
优先级依次递减,主机路由高于网络路由,网络路由高于默认路由,同时也是由掩码最大匹配来决定优先级

40、创建文件时即规定日期
#touch -t 11091531 file            //11.09日15:31分

41、如何修改文件属性?
用chattr
用setfacl
例如修改文件的更新日期?

42、关于if语句的test
EXPRESSION1 -a EXPRESSION2 两条语句都为true
EXPRESSION1 -o EXPRESSION2 两条语句任意一条为true
[-n] STRING                String串非零
-z STRING                  串的长度为0
STRING1 = STRING2          两个串相等
STRING1 != STRING2        两个串不相等
INTEGER1 -eq INTEGER2      两个整数相同                      equal
INTEGER1 -ge INTEGER2      INTEGER1大于等于INTEGER2          greater equal
INTEGER1 -gt INTEGER2      INTEGER1大于INTEGER2           greater than
INTEGER1 -le INTEGER2      INTEGER1小于等于INTEGER2          less equal
INTEGER1 -lt INTEGER2      INTEGER1小于INTEGER2              less than
INTEGER1 -ne INTEGER2      INTEGER1不等于INTEGER2         not equal
FILE1 -ef FILE2            file1跟file2有同个设备和inode号   equal file 
FILE1 -nt FILE2            file1比file2新                    newer than
FILE1 -ot FILE2            file1比file2老           older than
-b file          file存在也是块设备           block
-c file          file存在且是字符设备           character
-d file          file存在且是文件夹           directory
-e file          file存在              exist
-f file          file存在并是个普通文件
-g file                    file存在并是SGID
-h file          file存在并是个符号链接
-G file          file存在并被有效的组拥有
-k file          file存在并有s位
-L file          file存在并是个符号链接
-O file                    file存在并被有效用户拥有
-p file          file存在并是个named pipe
-r file                 file存在并可读
-s file                    file存在并不为0(greater than 0)
-S file          file存在并是个socket
-t [FD]          文件描述FD ?????  这个主要是为了测试shell是否是交互式...
-u file          file存在并且s位设置过
-w file           file存在并可写
-x file          file存在并可执行

42、修改Linux网卡为混杂模式以sniff
#ifconfig eth0 promisc
虽然说是可以抓获所有的包,但是这种是否捕获或分析抓到的包是由os决定是否接收的,也就是说并不能真正的...

43、物理安全--->防止ctrl_alt_del重新启动服务器
#vi /etc/inittab
# Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
将ca这行给注释掉...

44、关闭Linux Kernel的路由重定向功能
在/etc/sysctl.conf中加入如下行:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.eth1.send_redirects = 0

45、关于netstat -rn中的flags的解释
U 该路由可以使用。
G 该路由是到一个网关(路由器)。如果没有设置该标志,说明目的地是直接相连的。
H 该路由是到一个主机,也就是说,目的地址是一个完整的主机地址。如果没有设置该
标志,说明该路由是到一个网络,而目的地址是一个网络地址:一个网络号,或者网
络号与子网号的组合。
D 该路由是由重定向报文创建的。
M 该路由已被重定向报文修改。
S 该路由是静态路由

46、关于grep的选项
常用的grep选项有:
-c 只输出匹配行的行数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
-w 精确匹配某个单词
'/<abc/>' file 精确匹配file文件中的abc字符

精确匹配的三种grep:
1 grep -w "abc" data.f
2 grep '/<48/>' data.f
3 grep "48/>" data.f
常用grep,   cniv
grep在使用正则表达式的时候,在匹配策略外面最好用单引号来括上

47、判断当前登陆用户
echo $LOGNAME
echo $USER
id
whoami
who am i
logname

48、关于unset
#firstVar=first
#set
#unset firstVar

49、awk的使用...
精确匹配第三个字符为48的行
awk '{ if($3~/^48$/ ) print $0}' test.txt    //注意这里尽管用正则表达式来匹配,但不能用//^48/$/,而是可以直接使用^48$
如果是匹配第三个字符包含48的行
awk '{ if($3~/48/) print $0}' test.txt
awk中正则表达式中使用.来表示单个字符,但是shell中使用?匹配单个字符。
用|表示1或2的关系,但只取一个,使用|时,必须使用圆括号括起来,如
awk '$0~/(Yellow|Brown)/' test.txt
用&&表示与的关系,&&的两天最好也要用括号括起来,如
awk '{ if($1=="fist" && $2=="second") print $0}' test.txt
用||表示或的关系,可以取一个,也可以取两个
awk '{ if ($4=="forth" || $5=="fifth") print $0 }' test.txt
同时匹配两个条件的使用:
awk '条件1 &&  条件2 { print $xxx }'

50、shell中`的作用
表达不清楚了...如
test=`echo $LOGNAME`
则echo $test的结果为echo $LOGNAME的结果...

51、tr的使用
将test.txt中的小写字母转换成大写
tr "[a-z]" "[A-Z]" < test.txt
不能用 tr "[a-z]" "[A-Z]" < test.txt

52、关于用户登陆终端的显示:
如果使用网络登陆,则TTY显示为如下:
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU  WHAT
root     pts/0    169.254.1.2       6:57am  0.00s 25.28s  0.03s  w
如果使用本地登陆,则显示如下:
root     tty1     -                12:36pm  3.00s  0.43s  0.43s  -bash

53、关于shell中控制字符对应的二进制码
 字符      代码
 ^      136
 ^M      015
 tab      011
 ^Z      032
响铃      007
 /n
空格      040

 54、cat的用法
 cat -v test.txt    显示转换字符

55、关于参数
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个
$$ 脚本运行的当前进程ID号
$! 后台运行的最后一个进程的进程ID号
$@ 与$#相同,但是使用时加引号,并在引号中返回每个参数
$- 显示shell使用的当前选项,与set命令功能相同
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

56、关于sed
sed -n '2p' test.txt  //打印test.txt中第二行的内容
sed -n '1,3p' test.txt //打印test.txt中第一到第三行的内容  单引号有无无所谓,","表示行到行
sed -n '4,/The/p' test.txt  //打印第四行中匹配The
sed -n '1,$p' quote.txt   //打印整个文件
sed 's/a/b/8'   //替换每行中匹配第8a,改为b
sed = filename | sed 'N;s//n/:/' filename   
正则表达式:
字符类 描述
[:alnum:] 字母数字 [a-z A-Z 0-9]
[:alpha:] 字母 [a-z A-Z]
[:blank:] 空格或制表键
[:cntrl:] 任何控制字符
[:digit:] 数字 [0-9]
[:graph:] 任何可视字符(无空格)
[:lower:] 小写 [a-z]
[:print:] 非控制字符
[:punct:] 标点字符
[:space:] 空格
[:upper:] 大写 [A-Z]
[:xdigit:] 十六进制数字 [0-9 a-f A-F]
利用sed来定位
xx为一行号,如1
x,y 表示行号范围从x到y,如2,5表示从第2行到第5行
/pattern/ 查询包含模式的行。例如/ disk /或/[a-z]/
/pattern/pattern/ 查询包含两个模式的行。例如/ disk/disks/
pattern/,x 在给定行号上查询包含模式的行。如/ ribbon / , 3
x,/pattern/ 通过行号和模式查询匹配行。3 . / vdu /
x,y! 查询不包含指定行号x和y的行。1 , 2 !

57、关于test
可以使用如下命令判断文件是否可写
(1)#[ -w fruit.txt ]    //注意其中空格
#echo $?
(2)#test -w fruit.txt
#echo $?
这里根据返回的状态来判断是否可写,如果返回0,则表示可写。0就表示成功...

58、关于expr
首先请注意,必须是整数计算...
#expr 10+10 结果为10+10
#expr 10 + 10则结果为20
用乘号时需要用/转义..

59、实时查看系统所使用内存
#free -b -s5
5秒循环一次...

60 shell中的系统变量
$LOGNAME   当前用户的名字...

61 一般需要用/屏蔽的字符
$.'"*[]^|0/+?

62 关于正则表达式
匹配某字符出现次数
pattern/{n/} 匹配模式出现n次。
pattern/{n,/} 匹配模式出现最少n次。
pattern/{n,m} 匹配模式出现n到m次之间,n , m为0 - 2 5 5中任意整数。

63 使用gpg校验
#gpg --verify xxx.asc

64 正则表达式
用来匹配IP:
'[0-9][0-9][0-9].[0-9][0-9][0-9].[0-9][0-9][0-9].[0-9][0-9][0-9]'
等同
'[0-9]/{3/}/.[0-9]/{3/}'

65 ./configure
./configure生成Makefile时查看帮助
./configure --help
66 关于man
1 用户级命令和应用程序
2 系统调用和内核出错代码
3 库调用
4 设备驱动和网络协议
5 标准文件格式
6 游戏和演示
7 各种文件和文档
8 系统管理命令
9 少见隐秘的内核规范和接口 

1:HOST的乐趣: Host能够用来查询域名,然而它可以得到更多的信息。host -t mx l
inux.com可以查询出Linux.com的MX记录,以及处理Mail的Host的名字。Host -l linux
com会返回所有注册在linux.com下的域名。host -a linux.com则会显示这个主机的所
有域名信息。
2:找到命令需要的文件,也许你希望搞清楚一个命令它到底使用到了什么其他相关文件
和命令?试试ldd就可以了。如ldd traceroute,返回结果会是libc.so.6,lid-linux.s
o.2
3:定时!定时!你希望定时处理吗?你肯定希望能够让你轻松一些!crontab可以听候
您的指示。命令行中输入:crontab -e这进入文本编辑器,再在其中输入0 5 * * * wg
et -t3 -I/home/tom/URLs -N。这样每天早上5点就会运行这个wget命令。前五个是时间
参数:分 时 日 月 星期几。你可以 0 5 * * 6,0 command line here,这样就在每个
星期六和星期天5am运行。你需要man 5 crontab来得到更为详细的解释。随便说一下,
wget是一个取web页面的小程序。 console顶部显示现在时间:在/etc/bashrc或~/.bas
hrc中加入环境变量PROMPT_COMMAND。export PROMPT_COMMAND=echo -ne "33733[2;999
r33[1;1H33[00;44m33[K"`date`"33[00m338"
4:使用多达23个的虚拟终端(VT),假设你现在有6个,仿照/etc/inittab种的文件,
加入
8:234:respawn:/sbin/getty 38400 tty8
24:234:respawn:/sbin/getty 38400 tty24
要跳过VT7,因为X使用这个终端。然后telinit q以重新加载配置文件。使用左Alt+Fn在
1-6和8-12件切换,使用右Alt+Fn键在13-24之间切换。
5:Console切换:左Alt-方向键,循环切换console。效果和Alt+Fn一样。
6:简单的进行Dos转Unix:如果你的文本文件中每行结尾都有讨厌的Ctrl-M的话,使用
这句命令能够快速的解决问题 sed s/^M// filename > newfilename
7:快速建立MP3播放列表:find /mnt/cdrom -name *.mp3 -print >> cd1.play.list.
这样就会把CDRom中的所有MP3文件建立一个名为cd1.play.list的文件。然后使用xmms
或 x11amp就能进行播放了。
8:/proc中的重要信息
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的版本号
9:真正的Console界面:说实话无论是KDE和GNome我都没什么喜欢的,毕竟受Windows熏
陶了这么长时间了。但是在Console下其实才是真正的Cool界面。使用SVGATextMode可以
让你的命令行界面达到132x60(标准是80x25)。我的486(Trident9440)上使用的是132
x43,那密密麻麻的字符真象Hollywood的几年前的电影(现在连电影里都是Windows了)
给人感觉神秘兮兮的。配置文件在/etc/TextConfig中,不过如果你的XWindow都无法正
常显示的话,那估计这也用不了了(毕竟是好几年前的东西了)。
10:让你的硬盘飞起来: Linux下也可以使用32Bit I/O和DMA。使用/sbin/hdparm -c1
/dev/hda(hdb,hdc..)打开32Bit传输模式,使用命令 /sbin/hdparm -d1 /dev/hda(hdb
,hdc...) 打开DMA。最后使用/sbin/hdparm -k1 /dev/hda 以使硬盘在Reset之后保持上
面的设定,这么一来,硬盘读写速度应该可以提高一倍以上。
11:微调你的Ext2: Linux下的命令tune2fs可以设定最大Mount次数(因为Linux即时在m
ounted clean状况下,达到一定的mount次数后,会强制e2fsck对于我这样的每天开关机
的来说很不方便),tune2fs命令的其他用途请参见man。
12:禁止在Netscape中显示闪烁(Blink)Tag: ~/.Xdefaults中修改 Netscape*blinki
ngEnabled: False 之后运行 xrdb -Load ~/.Xdefaults
13:随时改变XTerm的字体大小:shift加+/-
14:Ext2的文件属性: lsattr列出属性,chattr可以改变属性。如 chattr +A filenam
e 则系统不会修改其last access time属性;chattr +i 则可以避免被rm掉。
15:SIS6326显卡的配置:在Device中加入:DacSpeed 110 Option "no_bitblt" Optio
n "sw_cursor"
16:使用strings可以把字符串从Binary文件中分离出来
17:你大概已经习惯了使用Top来观察系统使用情况,那就使一使使用Vmstat 1来看看c
pu的空闲程度(显示结果的最后一项)。
18:使用Watch命令,反复执行特定命令,如"watch ls -l /tmp/blah",将一直观察文
件的大小改变。
19:使用pppstats得到ppp连接的数据。
20:显示远程机器的NFS: showmount -e hostname
21:使用autofs免去你每次mount和umount之苦,再RedHat6.0中带了autofs的rpm,只要安
装好之后便可以享受自动加载文件系统的方便。 在/misc目录下,创建一个cd目录,如
果使用其自带的auto.misc和auto.master的话,马上就可以实现自动加载功能了。
22:在Bash Shell中,可以用!重复上几次输入过的命令,这样就可以省去往上滚动的
麻烦了。使用ctl+R可以互动的检索以前使用过的命令行。
23:使用cd -在上两个cd /directory/操作中切换。如先是cd /home/foo接着是 cd /h
ome/maison则接着打cd - 会进入 /home/foo再打cd - 会进入 /home/maison。
24:Bash中的快捷键:ESCAPE-B 会向前条一个单词,Ctrl-K会删除从光标到行末所有字
符。
25:在PS命令中使用grep,例:ps auxw | grep gpm 会列出所有含有gpm字符的进程。

26:在同一个命令行上同时执行多条命令:用分号分隔。如编译一个源文件:type ./c
onfigure ; make ; make install 。之后你就可以去散步了(不要在电脑前花费了太多
时间了,生活中还有很多美好的东西。)
27:把运行结果输出到一个文件中,如 ls -l > foo.file。
28:使用Top命令监视系统状况,内存使用情况,开机时间,进程状况,每个用户的使用
情况等等。使用S命令可以改变其刷新的时间:如.5将会使其每半秒钟更新一次。
29:同时Unzip多个文件,unzip *不正确,而是unzip "*"。
30:建立符号连结,这大概是最有用的功能了,ln -s real-file symbolic-file,无论
是设备,文档还是脚本程序。
31:改变显示的单位,如du -hm 将以M为单位输出结果,同样的du -hk则以K为单位输出

32:自动Logoff,在~/.bashrc中加入这么一句话:TMOUT=300则会在5分钟之后logoff,不
过如果less这类程序运行则不会启动。
33:在使用less 或 more时,直接启动编辑器:在less中打入v键,会立即启动vi或其他
你在环境变量中指明的编辑器,但是more只能使用vi。  

三、 走进Linux殿堂:35问

20.安装Linux,对硬件有什么要求?
Linux对硬件要求很低,可以运行在386以上CPU,8M以上内存的IBM PC机上。但由于设备厂商的支持力度不够,所以Linux倒是对很多新设备的支持不是很好,新设备的驱动程序总是慢一步。

21.安装Linux需要做哪些准备?
1) 收集系统资料:记录下内存大小,CDROM接口类型,SCSI卡型号,网卡型号,鼠标类型,显卡芯片组、时钟芯片、显存大小等相关信息;
2) 检查CMOS设置,关闭病毒开发,设置其从光驱启动;
3) 如果你的Linux安装盘无法自启动的话还需制作启动盘;
4) 为Linux的安装腾出硬盘空间,最好有1G左右。

22.安装Linux前要有哪些基础知识呢?
安装Linux时,至少需要两个分区:Linux native主分区、Linux Swap交换分区。主分区用来存放Linux的文件,交换分区为运行Linux提供虚拟内存。
交换区每个8-256M,最多可以有8个,一般建立一个与内存等大的就行了。
DOS中,不管物理上、逻辑上,每个分区就是一个独立的部分,比如:C盘、D盘、E盘,每个盘都有一个根目录。而在Linux中,物理上是一个个分区,而逻辑上所有的分区都是一个整体的,Linux中只有一个根目录。

23.Linux如何命名我的硬盘?
Linux对硬盘的处理,与DOS系统基本上是一样的,先做分区,然后再做格式化。分区的命令是不同的,DOS下,每一个分区是用一个英文字母来表示,而在Linux下则更加灵活,它通过字母和数字的组合来标识硬盘分区。
如“hda1”,hd是一个部分,代表IDE硬盘,如果是SCSI硬盘的话,为sa;a代表IDE1口的主硬盘(2代表IDE1口从硬盘、3代表IDE2口主硬盘、4代表IDE2口从硬盘);最后的数字代表在该设备上的分区顺序,前四个分区(主分区和扩展分区)用1-4表示,软逻辑分区从5开始。

24.如何安装Linux?
每种Linux发行版所提供的安装方法都不大一样,但是一般来说都经历以下几个阶段:
1) 一些基本设置:如安装语言、键盘;
2) 进行硬盘分区、格式化:一般发行版都提供了图形界面,如果不熟悉硬盘分区的爱好者最好在行家指导下进行;
3) 选择要安装的软件包:建议初学者全部安装,待以后熟悉了后再重新定制,以免在学习过程中丢这落那的;
4) 设备配置:如打印机、网卡、显卡等,请根据实际情况选择;
5) 安装LILO:建议装在主引导扇,使用LILO来完成多系统引导;
6) 为Linux的超级用户root设置密码。
大家可以参考每种Linux的相关资料来尝试安装。

25.如何在一块硬盘上安装多个作系统?
许多Linux爱好者都希望能够在保留Windows9x作系统的同时,安装Linux。为了能够在多个作系统的自动选择,就需要一个启动管理器,Linux带了一个很好的启动管理器---lilo。
所以在安装多个作系统时,你只需先安装其它作系统,最后安装Linux,并将lilo安装在主引导扇上,这样重新启动系统时,将出现lilo:等待你选择你要启动的作系统。

26.如何配置linux启动管理器lilo?
根据需要修改/etc/lilo.conf文件,然后执行/sbin/lilo让设置生效。下面是一个lilo.conf文件的示例:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux
image=/boot/vmlinuz-2.2.5-15
label=linux
root=/dev/hda1
initrd=/boot/initrd-2.2.5-15.img
read-only
other=/dev/hda2
label=windows
其中,timeout是用来设置lilo等待输入的时间,在此表示如果5秒不选择的话就进入default;
default选项用来指定默认启动哪个系统;
image小节用来指定linux的启动信息,包括启动位置,名字--linux;
other小节用来指定其他作系统的启动信息,包括启动位置、名字。

27.如何启动、关闭系统?
启动Linux很简单,只要在lilo中选择linux(输入linux)就可以了,在启动过程中,将会向控制台写许多信息,直到出现用户登录提示login:,输入用户名和密码就可以登录系统,开始Linux世界的探索。
关机时一定要注意,不能直接关闭计算机电源,那样会破坏Linux的文件系统,你可以使用以下命令来实现:
1) 重启:执行reboot命令或同时按下Ctrl+Alt+Del键;
2) 关闭系统:执行shutdown –h now命令。

28.Linux下的目录作与DOS/Windows有什么不同?
Linux的文件系统与DOS类似,也是采用树形结构的。但目录的表示有一点是完全不同的,Linux用“/”表示根目录,而DOS用“”表示根目录。以下是在Linux下常用的目录作命令:
1)“mkdir 目录名”:建立目录;
2)“rmdir 目录名”:删除空目录;
3)“cd 目录名”:改变目录;
注:cd与目录名之间一定要空格,比如到根目录,需用“cd /”,而非“cd/”
4)“pwd”:查看自己所在的目录;

29.在Linux如何对文件进行作?
你可以使用ls –l命令列出目录的详细信息,就相当于DOS的DIR命令。ls命令的输出如下所示:
total 2
drwxr-xr-x 2 xu user 1024 Mar 13 0:34 sub1
-rw-r----- l xu user 678 Jun 15 1:45 hodo.txt
最左边一列是文件/目录权限,第3列是的属主信息,第4列是属主所在用户组,第5列是所占空间大小,接下去是日期、时间,最后一列是文件/目录名。以下是一些 常用文件作命令:
rm:删除文件 more:浏览文件 cp:拷贝文件

30.如何编辑一个文本文件?
你可以使用vi来编辑一个文件文件,它是在 Unix 世界里最普及的文字处理工具,几乎所有的UNIX机器上都有这个编辑器。
1) 启动vi:执行“vi 文件名”,一启动vi在命令状态,可以输入各种vi的命令,不能编辑;
2) 存盘:w、存盘退出:wq、不存盘退出:q!;
3) 进入编辑状态:插入:i、新增:a;
4) 退出编辑状态:按ESC键;
5) 进入编辑状态后,编辑起来很像DOS下的edit;
6) 在命令状态下还有一些常用的命令:
x 删除游标所在字元;
   dd 删除游标所在的列。

31.安装完Linux后,根目录下一大堆,都是些什么?
/bin:存放最常用命令;
/boot:启动Linux的核心文件;
/dev:设备文件;
/etc:存放各种配置文件;
/home:用户主目录;
/lib:系统最基本的动态链接共享库;
/mnt:一般是空的,用来临时挂载别的文件系统;
/proc:虚拟目录,是内存的映射;
/sbin:系统管理员命令存放目录;
/usr:最大的目录,存许应用程序和文件;
/usr/X11R6:X-Window目录;
/usr/src:Linux源代码;
/usr/include:系统头文件;
/usr/lib:存放常用动态链接共享库、静态档案库;
/usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充;

32.如何安装网卡?
你可以用root登录后运行netconf来安装网卡。输入网卡的设备名、选择网卡的模块号,IO地址、IRQ中断等信息,然后存盘退出,执行:/etc/rc.d/init.d/network restart;
如果你的网卡未能列在可选的网卡模块列表中的话,你就需要下载驱动程序,然后将其编译成模块。最后用“insmod 模块名”命令完成安装。

33.如何驱动D-Link DE220网卡?
D-Link的DE220是一款性价比较好的,支持即插即用的ISA网卡。但正是由于即插即用功能使得其在Linux下安装会遇到一些麻烦:
1) 在DOS环境下,用DE220网卡的驱动程序盘中的一个工具setup将其设置成非PNP的;
2) 到Windows的控制面板中获取其IO地址和中断号,一般情况下,IO地址是240,中断号是10;
3) 启动Linux,登录后执行“netconf”,将第一块网卡设为Enable,设备名为eth0,模块为ne,IO地址为0x240,IRQ为10;
4) 存盘退出后,运行/etc/rc.d/init.d/network restart即可。

34.如何驱动D-Link DFE530 TX网卡?
D-Link 530 TX网卡是一款性价比较好的10M/100M自适应的PCI网卡,拥有广大的用户群,然后Linux在安装向导中却没有列在列表中。
其实,一般Linux都已经包含了这款网卡的驱动模块:tulip.o,你可以直接执行“insmod tulip”来完成网卡的安装。

35.如何驱动D-Link DFE540 TX网卡?
如果你的网卡是D-Link DFE540 TX,那么在安装时不要选网卡,否则可能造成一些不必要的麻烦。
1) 从http://cesdis.gsfc.nasa.gov/linux/drivers/tulip.html下载最新的tulip.c文件,并复制到/usr/src/tulip下;
2)执行以下命令,编译生成tulip.o:
  #cd /usr/src/tulip
   #gcc -DMODVERSIONS -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O6 -c tulip.c
3)执行insmod tulip.o;
4)执行/etc/rc.d/init.d/network restart,让网卡生效。

36.如何驱动Davicom 9201网卡?
Davicom 9201 PCI网卡在安装Linux时,不能直接完成。其实,大多数的Linux发行版都提供了这款网卡的驱动模块---dmfe.o,如果你的机器也是这种网卡的话,可以在安装Linux时略过网卡配置,安装完启动系统、登录后,执行:“insmod dmfe”命令添加驱动模块,然后执行“/etc/rc.d/init.d/network restart”就可以了。

37.如何驱动第二块网卡?
在Linux系统中,你可以很容易地使用配置工具netconf安装第二块网卡,在netconf中选择第二块网卡,设备名:eth1、选择其驱动模块、输入IO地址和IRQ中断号,存盘退出后,执行:
/etc/rc.d/init.d/network restart

38.如何驱动普通声卡?
在Linux系统中提供了一个十分方便使用的声卡配置工具sndconfig,如果你的声卡比较大众化,就可以使用它来驱动你的声卡:
1) 用root登录系统,运行/usr/sbin/sndconfig;
2) 从声卡选择列表中选择适合你的声卡,一般的声卡都可以使用SoundBlaster;
3) 选完后,sndconfig需要你设置声卡的IO地址和IRQ中断号,根据你的实际情况选择;
4) 设置完成按OK按钮,如果听到Linus说话的声音就大功告成了。

39.如何驱动YAMAHA719声卡?
Yamaha719声卡在Linux下的驱动是十分麻烦的:
1) 重新编译核心,不选择SB或SB PRO之类的声卡,选中CRYSTAL SOFTWARE …的芯片;
2) 然后,重新配置声卡,选CS4xxx选项;
3) 再填写好相应的I/O地址、IRQ中断、DMA即可。
如果你的声卡是Yamaha 724的话,请使用OSS来解决。

40.通用声卡安装程序OSS如何使用?
OSS是一款解决Linux下声卡难以配置问题的商业软件,它支持绝大部分的Linux发行版,你可以到http://www.opensound.com/下载。
1) 将下载的OSS软件包osslinux392v-glibc-2212-UP.tar.gz解压:
tar zxvf osslinux392v-glibc-2212-UP.tar.gz
2) 在解开的目录下执行./oss-install,程序一般会提示你已经安装了其它声卡模块,选择去掉;
3) 接下来就是处理过程、协议及一大堆东西,接受协议安装,使用默认安装路径即可(/usr/lib/oss);
4) oss一般可以自动检测出大部分声卡,如果与你的实际情况相符,就直接在菜单中选择“Save changes and Exit.."就完成了设置;
5) 你可以使用/usr/lib/oss/soundon命令用来打开oss驱动,用/usr/lib/osssoundoff关闭oss驱动。    

41.通用声卡安装程序ALSA如何使用?
ALSA,Advanced Linux Sound Architecture,是一个遵从GPL版权的通用PCI声卡解决软件。这个软件包括rpm和tar两种格式,其中rpm格式比较容易安装,这里就以rpm包为例介绍。
1)到http://www.alsa-project.org下载以下四个文件:
alsa-driver-0.4.1d-1.i386.rpm
alsa-lib-0.4.1d-1.i386.rpm
alsa-utils-0.4.1-1.i386.rpm
alsaconf-0.4.1-1.386.rpm
2)执行以下命令完成安装:
rpm –ivh alsa-driver-0.4.1d-1.i386.rpm
rpm –ivh alsa-lib-0.4.1d-1.i386.rpm
rpm –ivh alsa-utils-0.4.1-1.i386.rpm
rpm –ivh alsaconf-0.4.1-1.386.rpm
3) 然后执行alsaconf命令,选择合适的声卡类型;
4) 重新启动系统,然后执行命令:/usr/doc/alsa-driver/snddvices

42.Linux下如何安装Modem?
1) 在Windows中查看你的Modem位于什么端口上;
2) 在Linux中通过直接与端口交互来使用Modem,其对应关系如下:
COM1:/dev/cau0 COM2:/dev/cau1
COM3:/dev/cau2 COM4:/dev/cau3
3) 设置Modem的最高速率:
#setserial /dev/cau1 spd.hi (最高速率设为57600bps)
#setserial /dev/cau1 spd.vhi (最高速率设为115200bps)

43.如果通过Modem拔号上网?
1) 执行命令ln /dev/modem /dev/cau1(根据实际情况)
2) 创建一个脚本:touch sw,加入:
/usr/sbin/pppd connect ′/usr/sbin/chat ″ ″ ATDT163 CONNECT ″ ″ ogin:username word:password ′ /dev/modem 38400 modem defaultrout
将username与password用你的上网帐号和密码代入。
3) 你还可以使用KDE中的kppp工具方便地实现。

44.Linux下有图形界面吗?
为了完善Unix系统的图形界面,麻省理工学院在1984开始了一个X-window开发计划,通过十余年的发展,X-window这一自由软件已经成为了Unix/Linux世界图形界面的事实标准。
X-window分为三个层次:
1)X-Window底层库,是最低实现层;
2)X-SERVER,与显卡相关的中间层;
3)窗口管理器,实现最终用户界面,如KDE、GNOME等。

45.如何配置X-Window?
所谓配置X-Window就是根据机器的实际设备选择X-SERVER。可以通过xf86config或图形化界面的Xconfigure等程序来配置。
1) 运行Xconfigure程序,然后选择合适的显卡类型,如果没有,则需要下载显卡的驱动;
2) 选择显存大小,和X-SERVER;
3) 选择合适的分辨率、色深组合
4) 存盘退出后,运行startx启动X-Window。

46.如何驱动intel i740显卡?
如果你的Linux无法识别i740的话,你可以这么做:
1)下载新的 显卡数据库 和 i740 XBF驱动程序:
xf86config-glibc-1.0.0.i386.tgz 和 xfcomi740.tgz
2)解压这两个包,覆盖原来目录:
tar xvfz /tmp/xf86config*.tgz
tar xvfz /tmp/xfcomi740.tgz
3)执行cp /usr/X11R6/bin/XFCom_i740 /usr/X11R6/bin/XF86_XBF_i740;
4)用xf86config进行配置:显示器水平扫描频率选6;垂直刷新频率选2;在显卡库选择时,选311(即i740);显卡服务器类型选5;
5)配置完成后运行startx就行了。

47.如何驱动intel i810显卡?
Intel公司的两大显卡i740、i810都为Linux爱好者驱动带来不小麻烦,Intel公司为了以实际行动支持Linux,特意在网站上详细介绍了如何在Linux下配置i810显卡,你可以到下面的网址下载安装说明和软件:
http://support.intel.com/support/graphics/intel810/linuxinstal.htm

48.如何驱动Savage4显卡?
1) 到www.linhardware.com下载savage2000的驱动程序;
2) 使用tar –xvfz 文件名解开驱动程序;
3) 解压后,你能看到五个文件,其中有一个是XF86_SVGA;
4) 备份/usr/X11R6/bin/XF86_SVGA,然后将新的XF86_SVGA复制到这个目录下,替换掉这个文件;
5) 重新运行xf86config配置,不选显卡,在选X-server时,选3(也就是SVGA),并且不检测;
6) 完成后,运行startx –bpp32,就可以了。

49.如何驱动SAVAGE3D显卡?
1) 到ftp.lib.pku.edu.cn/incoming/savageX下载Savage3D显卡的驱动程序:SavageX_0_1_4.tar.gz;
2) 解压这个程序,用新的XF86_SVGA替换/usr/X11R6/bin的原文件;
3) 运行Xconfigurator,配置显卡时选择Unlisted Card, 然后选择Xserver为SVGA;
4) 完成后,运行startx运行x-win。

50.有没有通用的显卡驱动方法?
由于显卡产商支持有限,使得在Linux下驱动显卡一直都是难题。为了解决这个问题,Linux 2.2.x以上版本提供了一种新的解决方案---使用frame buffer设备,通过VESA VBE 2.0标准,利用显卡SVGA特性,配合XFree86的XF86_FBDev,驱动你的显卡。这的确可以帮你个忙。
1)确认你有XF86_FBDev文件,如果没有就从ftp.xfree86.org下载;
2)执行“mknod /dev/fb0 c 29 0”建立frame buffer设备;
3)修改/etc/lilo.conf文件,加入:
image = /boot/vmlinuz-2.2.5-fb (新编译的内核)
label = linuxfb (启动标号,可自定)
root = /dev/hda2 (参照lilo.conf其他部分)
vga = 0x314 (显示模式,参照下表)
附:显示模式表
640x480 800x600 1024x768 1280x1024
256色 0x301 0x303 0x305 0x307
32k色 0x310 0x313 0x316 0x319
64k色 0x311 0x314 0x317 0x31A
16M色 0x312 0x315 0x318 0x31B
4) 执行/sbin/lilo,使配置生效,然后重启系统,以新的内核启动系统。当然,如果你的内核已经支持了,就无需做这个修改,直接加上vga=那一行就行了。
5) 接着进行frame buffer Server的配置:参照/etc/X11/XF86Config中vga的配置,加入一个screen小节,如下所示:
Section "Screen"
Driver "fbdev"
Device "My Video Card"
Monitor "MAG XJ500T"
Subsection "Display"
Depth 16 (色深,须与前面所选显示模式的色深一致)
Modes "default"
ViewPort 0 0
EndSubsection
EndSection
6) 将X指向XF6_FBDev:
cd /etc/X11
mv X X.bat
ln -snf /usr/X11R6/bin/XF86_FBDev X

51.如何通过ISDN上网?
ISDN的应用越来越普及,它速度快、价格便宜,深受网民的喜欢,那么在Linux下如何通过ISDN上网呢?
1) 确认你的Linux内核已经包含了对ISDN的支持模块;
2) 驱动ISDN卡:
对于非即插即用的Teles 16.3 ISDN卡可以使用命令:
#modeprobe hisax io=0x180 irq=10 type=3 protocol=2 id=isdn0
对于即插即用型,则使用:
#pnpdump〉/etc/isdn.conf
#isapnp/etc/isdn.conf
#modprobe hisax irq=10 io=0x680 type=14 protocol=2 id=isdn0
3) 安装Isdn4Linux,再执行scripts目录下的“makedev.sh”脚本程序,加入ISDN设备;
4) 执行echo 1〉/proc/sys/net/ipv4/ip_dynaddr命令让其支持动态IP;
5) 然后根据ppp的脚本再写一个用ISDN的脚本就行了。

52.如何在Linux下使用光驱?
1)创建一个目录,用来挂上光盘目录树:
mkdir /mnt/cdrom
当然目录名可以根据你自己的习惯命名;
2)插入光盘,执行“mount –t iso9660 /dev/hdc /mnt/floppy”命令;注意,如果你的光驱接在第一硬盘线的从盘上,需将/dev/hdc改为/dev/hdb;
3)然后你就可以通过访问/mnt/cdrom来实现对光盘访问;
4)当你不使用时,执行“umount /mnt/cdrom”,再取出光盘。

53.如何在Linux下使用软驱?
1) 与光盘类似,创建floppy目录;
2) 软盘插入后,执行“mount –t msdos /dev/fd0 /mnt/floppy”命令, 注:若是软盘中是长文件名格式的,将上条命令中的“msdos”改为“vfat”,若是 Linux文件格式,则去掉“-t msdos”;
3) 当你不使用时,执行“umount /mnt/floppy”,再取出软盘。

54.如何在Linux下读取非Linux分区的内容?
1) 创建一个目录:mkdir /mnt/other
2) 执行“mount –t 文件系统类型 分区 /mnt/other”命令;
注:文件系统类型包括:modos—FAT16、vfat—FAT32、ntfs—NTFS;
分区指该分区的设备名。
3) 当你不需要使用时,执行“umount /mnt/other”。
四、 Linux下的“神兵利器”:15问

55.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前功尽弃。

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

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

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

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

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

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

62.能不能让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 运行安装文件

63.有没有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环境下使用了。

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

65.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

66.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吧!

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

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

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

五、 做好Linux的管理员:21问

70.如何检查Linux硬盘使用情况?
在Linux环境下,你可以使用df命令来查看硬盘的使用情况。下面就是一个df –T –h(-T参数:显示文件系统类型,-h参数用可读性较高的方式来显示信息)命令的输入实例:
Filesystem Type Size Used Avail Use% Mountedon
/dev/hda1 ext2 7.5G 4.7G 2.5G 65% /
/dev/hda2 ext2 653M 6.6M 613M 1% /root
/dev/hdb1 ext2 7.5G 3.5G 3.7G 49% /usr

71.Linux下有哪些压缩工具?
在Linux下有很多种压缩工具,常用的有:
1) gzip/gunzip:这是GNU开发的自由软件,使用相当广泛。压缩文件扩展名为“.gz”。使用方法很简单,例如:
gunzip eos.gz gzip /home/test/*.txt;
2) compress/uncompress:这是一对历史悠久的压缩程序,文件经过它压缩后,压缩文件扩展名为 “.Z”。
3)除此之外还有:zip/unzip、bzip2/bunzip2等。

72.如何管理进程?
进程是程序的一次执行。可以使用“ps –auxw”列出在当前正在执行的进程的详细信息,包括每个进程都有的进程ID号。你可以通过“kill 进程ID号”来终止这个进程。

73.文件或目录的权限是什么意思?
文件或目录的权限位由10位构成,如-rwxr-xr-x。
1) 第一位代表文件/目录类型:d代表目录、-代表文件、l代表链接;
2) 剩下的9位分成3组,每组3位;2-4位描述文件主人的权限,5-7位描述与文件主人同一用户组的权限,8-10位则是其它用户的权限。
3) rwx:每组的3位分别是:读权限、写权限、执行权限;如果是-就代表没有这个权限。
也就是说-rwxr-xr-x表示,这是个普通文件,文件主人可以读、写、执行这个文件,与文件主人同组的用户以及其它用户都可以读、执行这个文件。

74.什么是用户帐号?
在Linux系统中,是通过用户帐号来标识每一个用户的,通过登录时输入不同的用户帐号和密码确定你的身份。也就是说,Linux系统通过用户帐号和管理系统的所有用户。
然后你可以创建一些用户组,将用户加入到组中去,让其获得用户组的权限。

75. 在Linux下,如何管理用户?
如果你想要新增一个用户:
1) 以root登录,然后执行“adduser 用户帐号名”
2) 执行“passwd 用户帐号名”来为这个用户帐号设置密码。
执行“userdel 用户帐号”删除一个用户;
执行“groupadd 用户组名”新增一个用户组;
执行“groupdel 用户组名”删除一个用户组;

76. 如何为用户作磁盘限额?
1)将要设置磁盘限额的分区,按以下格式修改/etc/fstab 文件:
/dev/hda2 /home ext2 defaults,usrquota 1 2
2)在要设置磁盘限额的分区目录下创建空文件 quota.user
#touch /home/quota.user
#chmod 600 /home/quota.user
3)重启系统后,就可以使用edquota –u 用户名来设置。

77.如何备份系统?
在Linux中,你可以使用dump/restore命令组来实现系统的备份与恢复。假设你需要将/usr目录下的所有文件完整地备份到磁带机上(假定设备是rmt8,不同的磁带机不相同),你可以使用命令:
dump –O –f /dev/rmt8 /usr
其中-O参数代表备份全部文件,“-f 设备文件名”参数指定备份到什么地方,最后的目录名指定要备份的内容。
然后,你可以使用以下命令恢复:
restore –r –f /dev/rmt8

78.如何安装.tar的软件包?
Linux软件有两种发布方式:一种是源代码方式,另一种是可执行文件包。而发布包大多是先用tar归档,再用gzip压缩,生成是以.tar.gz结束的文件。
你可以直接使用“tar xvfz 文件名”完成解压缩,解tar包工作。
如果你取得是可执行文件包,安装工作结束。
如果你取得是源代码包,则还需编译一下:
1) 在解压目录下运行“./configure”进行配置;
2) 在解压目录下运行“make”进行编译;
3) 运行“make install”安装。

79.如何使用RPM安装Linux软件?
RedHat公司提供的RPM工具,使得Linux软件安装更为方便。
1) 安装:rpm –ivh somesoft.rpm
2) 反安装:rpm –e somesoft.rpm
3) 查询:rpm –q somesoft

80.如果忘了root的密码,怎么办?
如果你忘了root的密码,可以通过以下方法恢复:
1) 重新启动Linux,出现lilo:时,输入linuxsingle进入单用户模式;
2) 这时无需密码就取得了root权限;
3) 再运行passwd重新设置root的密码。

81.重装Windows而破坏了Lilo时,怎么办?
这种情况可以使用两种方法恢复:
1)用Linux启动软盘启动,然后执行/sbin/lilo,重新在引导区建立lilo;
2)使用Linux安装光盘启动,选择升级系统,将会重建lilo。

82.如何制作Linux启动盘?
在Linux下,有一个工具mkbootdisk能很方便地制作系统启动盘:
1) 查看系统的版本,可以通过ls /usr/src来看;
2) 插入一张空软盘;
3) 执行“mkbootdisk --verbose 2.2.5”。

83.如何远程使用Linux?
我们可以使用telnet、rlogin、rsh、rcp等命令来实现远程使用Linux,但这这些方法在传输过程中是明文传输的,所以有可能带来许多不安全因素。因此,应尽量避免远程使用root帐户登录系统。

如何构建安全的远程登录?
使用SSH来实现安全的远程登录,因为SSH实现了数据传输的加密。
1) 从ftp.cs.htu.fi/pub/ssh获取ssh-1.26.tar.gz文件;
2) 用tar xvpf ssh-1.26.tar.gz解开这个包;
3) 到解开的目录/usr/local/src/ssh-1.26目录下执行./configure;
4) 执行make和make install来完成编译和安装。
5) 你就可以使用ssh来与安装了SSH的服务器建立安全的远程连接。

85.如何运行计划任务?
大大可能对Windows中的计划任务都比较熟悉了,它可以通过一些简单的设置,定时完成一些任务。在Linux系统的维护中,我们可以也会需要定期执行一些任务,这种情况可以使用:
1) at命令:它可以键盘或文件中读取指令,然后在指定时间完执行;
2) crontab守候进程:通过设置它的配置文件来定时执行某些任务。

86.Linux的开机过程都做了什么?
1) 一开机,CPU将控制权交给BIOS,BIOS完成开机自检;
2) 然后BIOS读取磁盘上的第一个扇区,并装入主引导扇区的lilo;
3) lilo根据输入选择不同的内核映象,如果你选择了linux就读取/boot下的核心映象;
4) 核心开始硬件检测和设备驱动程序的初始化,然后运行init
5) init进程根据/etc/inittab的配置运行一系列初始化脚本;
6) 完成后,启动getty进程接受用户的登录。

87.如何设置开机自动运行程序?
你可以在以下几个脚本文件中加入你想一启动系统就执行的命令:
/etc/rc.local、/etc/rc.sysinit以及/etc/rc.d/init.d。

88.为什么需要重新编译内核?
以下情况你需要重新编译内核,或加入动态内核模块:
1) 更新驱动程序;
2) 根据自己的需求定制最可靠的内核;
3) 升级Linux内核。

89.如何重新编译内核?
1) 进入Linux源代码目录:cd /usr/src/linux
2) 执行“make config”或“make menuconfig”、“make xconfig”配置内核选项,选中你想要的模块,去掉不想要的模块;
3) 执行“make zImage”命令,大概30到90分钟后,会生成一个zImage的新内核映像文件,存放在/usr/src/linux/arch/i386/boot目录下;
4) 然后将其拷贝到/boot目录下;
5) 修改lilo.conf文件,加入:
image=/boot/zImage
label=newlinux
root=/dev/hda1 (根据原来的文件)
运行/sbin/lilo使修改生效。
6)重新启动,在Lilo时,输入newlinux就可以新内核启动。

90.什么是动态内核模块?
动态内核模块是Linux一个成功的设计,它使得Linux更加灵活,易于定制。其实动态内核模块就是一个内核模块,它可以在不重新编译内核的情况,动态地将一些功能用“insmod 模块名”命令加入内核、用“rmmod 模块名”命令将其移出内核。

六、 廉价的网络解决方案---Linux:9问

91.如何使用Linux架设WEB服务器?
Apache服务器是在Linux架设WEB服务器的首选。你可以在安装Linux时就选择安装它。若在安装时没有安装Apache的话,你可以从光盘或者到apache网站上找到文件:apache-1.3.12.i386.rpm,然后执行以下命令完成安装:
1)rpm –ivh apache-1.3.12.i386.rpm
2)修改/etc/httpd/conf目录下的配置文件httpd.conf、access.conf等;
3)将主页文件放到/home/httpd/html目录下;
4)执行“/etc/rc.d/init.d/httpd start”启动Apache服务器
如果需要关闭的话,可以执行/etc/rc.d/init.d/httpd stop命令。

92.如何使用Linux架设FTP服务器?
在Linux中,最常用的FTP服务软件当数wu-ftpd,如果在安装linux时没安装上它。你可从光盘或者网站rpmfind.net/linux/RPM/WbyName.html获取它的RPM包:wu-ftpd-2.6.0-9.i386.rpm。然后执行以下命令完成安装:
rpm -ivh wu-ftpd-2.6.0-9.i386.rpm
编辑 "/etc/inetd.conf" 文件,指向新的ftpd守护进程,如下所示:
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l –a
到此为止,你的Linux就可以接受FTP服务了。

93.如何使用Linux架设E-MAIL服务器?
Linux中,最常用的E-MAIL服务器是Sendmail,你可以在安装Linux时将其选中。
1) 在DNS服务器上为E-Mail服务器做一条MX记录;
2) 编辑/etc/inetd.conf文件,将关于pop和smtp的行的注释符去掉;
3) 执行kill –HUP inetd,使修改生效;
这样E-mail服务器的用户就可通过Outlook等客户端程序进行收发邮件了。

94.如何使用Linux架设News服务器?
在安装Linux时,选择INN软件包,并允许开机时启动innd。在完成系统的安装时,大部分配置工作已经完成,无需编译源码。
1)配置/etc/news/inn.conf:
domain: foo.com
organization: foo company news site
server: localhost
根据实际情况填写;
2)配置/etc/news/nnrp.access
nnrp.access是用来完成News Readers服务的守候进程nnrpd的配置文件,用于控制对站点的访问,修改此文件无须启动INND。
3)添加新闻组:
可以手工编辑/var/lib/news/active文件添加新闻组,也可以使用ctlinnd命令来增加。若是手工方式修改新闻组,须执行以下命令使其生效:
ctlinnd reload active "modify active"

95.如何使用Linux架设BBS?
1) 从ftp://pbbs.chpi.edu.tw/pub/pbbs/source下载PowerBBS的源代码发行包文件pbbs.tar.gz;
2) 执行tar zxvf pbbs.tar.gz解开文件;
3) 进入pbbs目录,运行Install;
4) 根据具体需求改变默认的设置。

96.如何让Linux成为文件服务器?
在Linux中,你可以用Samba来做文件服务器,你可以在安装Linux时选中Samba就可以完成安装。
1) 编辑/etc/smb.conf,修改配置:
  netbios name=linux
workgroup=SambaServer
server string=Samba Server
hosts allow=192.168.9. 127.
  securoty=share
interfaces=192.168.9.1/24
name resolve order=host dns bcast
wins support=no
2)重新启动SMB服务器:/etc/rc.d/init.d/smb restart
3)编辑客户机的hosts文件,加入对Samba Server的解析;
4)最后你就可以在网上邻居上看到它了。

97.如何使用Linux架设代理服务器?
1) 到http://squid.nlanr.net/Squid/下载Squid代理服务器软件squid-2.2.STABLE3-src.tar.gz;
2) 执行tar xzxf squid-2.2.STABLE3-src.tar.gz
3) 执行./configure
4) 执行make,make install安装到/usr/local/squid目录下;
5) 编辑/usr/local/squid/squid.conf文件,加入:
acl allowed_hosts src 192.168.9.0/255.255.255.0
注:假设你的内网IP地址是192.168.9.0;
6) 执行/usr/local/squid/bin/squid –z进行初始化
7) 执行/usr/local/squid/bin/squid开启服务
8) 在客户端设置代理服务器IP和端口3128,就可以访问Internet了。

98.如何使用Linux架设透明网关?
确认Linux内核已经支持ipchain,然后编写一个脚本ipchains.rule,内容为:
注:假设透明网关服务器的外网地址是:1.2.3.4,已经与Internet相连;内网地址是192.168.9.1,连在内网上。
#!/bin/sh
/sbin/ipchains -F forward
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -P forward DENY
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -P output ACCEPT
external_interface=1.2.3.4
/sbin/ipchains -A input -j ACCEPT -i lo
/sbin/ipchains -A output -j ACCEPT -i lo
/sbin/ipchains -A input -j DENY -i eth1 -s 192.168.9.0/24
/sbin/ipchains -A input -j DENY -i eth1 -d 192.168.9.0/24
/sbin/ipchains -A output -j DENY -i eth1 -s 192.168.9.0/24
/sbin/ipchains -A output -j DENY -i eth1 -d 192.168.9.0/24
/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
/sbin/ipchains -A output -j DENY -i eth1 -d $external_interface/32
/sbin/ipchains -A forward -j ACCEPT -i eth0 -s 192.168.9.0/24 -d 192.168.9.0/24
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_raudio
/sbin/ipchains -A forward -j MASQ -i eth1 -s 192.168.9.0/24
运行这个脚本后,192.168.9.0网络中的所有机器只需将网关设置为192.168.9.1,就可以连到Internet上了。

99. Linux还能构建什么服务器?
Linux还可以成为域名服务器、PPP服务器、CVS服务器、路由器、防火墙,而且还可以通过LVS解决方式还构建服务器集群系统。因为在此篇幅有限,仅是点到为止,若有兴趣可以参考专业的Linux书籍。


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息