Linux的目录结构
Linux的目录结构比DOS复杂多乐,让我们来看看它的目录里有些什么东西吧.
/bin (binary)
这个目录包含着所有的标准命令和应用程序.
/boot
这里存放给lilo使用的一些文件.
/dev (device)
这个目录包含着与终端和外设的文件接口,在Linux下,文件和设备是用同种方法访问
的.系统上的每个设备都应该在这里有一个对应的设备文件.
考察一下这个宏:
#define putchar(ch) fputc(ch,stdout)
其中fputs就是把ch输出到stdout去了,这里的stdout就是被当成了文件.
/etc (etcetera)
这个目录包含着系统设置文件和其他的系统文件,它在Linux下极为重要,让我们看看
它的子目录装些什么:
/etc/DIR_COLORS
设定在用 ls 时,各种不同档案型态所用的颜色,但是不能用pipe 再导向输出,
否则就没有各种颜色乐. 由档案的内容可以很轻易的了解,如 default 的
directory 是蓝色,具有可执行档权限的是绿色,而压缩档是红色...... 这些都可
依个人喜好来加以更改. 这个档案内容写得很清楚,想必大家一眼也就可以看得出来
,在颜色的组成方面,我们常用 RGB 三原色的成份值来组合出各种不同的颜色. 由
R,G,B 这个bit 是 0 或是 1 三个值组合出颜色这个道理虽浅显,但假如我们更了解
R,G,B 的加权值分别是 1,2,4 的话,那就再也不用翻书查颜色乐...... 选择自
己的调色盘来取代预设的调色盘,是经常会做的事.
/etc/HOSTNAME
设定用户的节点名.记录完整的hostname与domain name,这个档案在须要hostname
的场合会用得到,如 /etc/rc.d/rc.M 等......
的场合会用得到,如 /etc/rc.d/rc.M 等......
/etc/NETWORKING
里面只有一行YES,表明网络是存在的,没有任何作用.
/etc/X11
link 到 /var/X11/lib/X11
/etc/aliases
这个文件是给sendmail的使用设置别名.
/etc/at.deny
在这个档案中可记载那些人不能使用at这个命令来做一些later job,假如at.deny
是空的,而且 at.allow 也不存在的话. 那就是每个人都可以用 at 这个命令.
(at命令是让系统在特定的时间执行某个作业,会乐这个指令,可以在工作的执行上会
更有弹性)
/etc/at.allow
相对於at.deny,这个档案记载那些人可以使用at.而关於at.deny与at.allow,at会
先去找at.allow,假如存在而且有记录一些人的话,那就只有这些人能使用at这个
指令,但假如at.allow并不存在的话,那at就会去找at.deny,没有在at.deny中的人
都可以使用at这个指令乐! 特别要说明的是,at的执行时间也许会不如你所预期的,
比
如说明明一个档你叫它在 7:02 执行,但它却会等到 7:05 才执行,这是因为 crond
是每五分钟才去看看 at 的 queue 中是否有要执行的 job. 当然,你也可以改成每
分钟都去 check,但这样似乎没有很大的意义,除非你对时间的准确度要求的很严格
,否则应该没有必要去动才是. 大家可去看看 /var/spool/cron/crontabs/root 中
就有详细记载,每五分钟 run 一次 atrun,所以 at 命令的执行可看成以每五分钟
为一单位.
/var/spool/atjobs: 当你使用 at 来安排一件工作时,系统会把你目前的环境变
数及所要用 at 执行的工作抄一份到这个目录下的档案中.
/var/spool/atspool:使用 at 命令之後所得到的一些讯息,会被记录在这里.可
能是 at 所要执行的命令传回的错误讯息,或传回执行成功的讯息.
/etc/bootptab
这是用来设置无盘工作站的远端守护进程/user/net/in.bootpd的.用户不用设置.
/etc/csh.cshrc
/etc/csh.login
这两个档案应该很熟悉罗!它就是大家常见到的.cshrc及.login,不过大家通常只
注
意到自己的home directory有这两个档,但/etc下也有这两个档,不过/etc下的这两
个
档绝大部份的情况下都是由 system administrator 在 maintain(维护),一般user
不
应该有权力去改. 顺便一提的是,系统会先去找 /etc 下这两个档,接着才加上自己
home directory中那两个档的设定.当然,有乐.login也有.logout,.logout中可以写
一些 message,或执行一些命令,当你下达 logout 之後,.logout 就会被执行.
/etc/devinfo
用来给makedev这个程序设定各种不同的设备驱动文件的格式.用户不用设置.
makedev是在/dev目录下创建设备文件的程序.
/etc/diphosts
用来设置拨号服务器的用户名和密码.
/etc/disktab(disk parameter table)
假如你在刚开机有 pass 磁碟机的一些参数给 kernel 的话(通常是你的硬碟比较
奇
怪,需要 pass cylinders,heads,sectors 给 kernel 才抓的到,或者是 SCSI 的硬
碟有时有时也要用到一些参数 ) 那这些参数就会被记录在这里.
/etc/exports
这个档案记录着你要给别人mount的档案系统,这就是典型NFS系统所存在的档案
,TCP/IP for OS/2 若要使用 network file system 而要把自己的 filesystem 让
别人 mount 的话,这个档案也是不可或缺的.
/etc/fastboot
这个档案是使用 shutdown -f 所产生的,-f means "fastboot".在重新 reboot
之後,系统会去检查这个档是否存在,以决定是否要 run fsck.
/etc/fdprm(floppy disk parameter table)
设定格式化软盘的参数,一般情况下是不须要更动的,除非你有很奇怪格式的软碟,
或者你想做出不符合一 般格式的磁碟片.
/etc/fstab(file system table)
记录开机要 mount 上来的 filesystem,这个档案相当重要! 大家可以在
/etc/rc.d/rc.S 中找到 /sbin/mount -avt nonfs 这一列,当执行到这一列时,
mount 就依据 /etc/fstab 中的记载,自动的将档案系统mount上来.假如你一开机
就想自动mount一些 filesystems,而不要等到开机後再以手动 mount 的话那把这些
filesystems 及相关资讯写在这个档.在档案格式方面,每一列有六个栏位,不过後
面两个栏位常被省略所以我们只看到有四个栏位.其它的两栏分别为dump-freq及
pass-number.dump-freq 预设值为 0;而pass-number是 fsck 所会参考到的地方,数
字可为 0,1,2...... 1 表示这个 filesystem 将首先被 fsck check,2 表其次,
馀类推......
如我们的服务器:
# Device Mountpoint FStype Options Dump Pass#
/dev/wd0s1b none swap sw 0 0
/dev/wd0s1a / ufs rw 1 1
/dev/wd0s1h /home ufs rw,async 2
2
/dev/wd0s1g /tmp ufs rw,async
2 2
/dev/wd0s1f /usr ufs rw,async
2 2
/dev/wd0s1e /var ufs rw,async
2 2
proc /proc procfs rw 0 0
procfs rw 0 0
/dev/wcd0c /cdrom cd9660 ro,noauto 0 0
/etc/ftpacces
设定ftp服务器的一些配置,包括匿名服务器的设置.
/etc/ftpconversions
设定在ftp时使用的过滤器的位置.例如"get dirname.tar"就可以将ftp服务器上
的目录先tar再传回来,这个文件就是设定这些打包或压缩程序的目录和参数的.
/etc/ftpusers
这个档案记录那些人不可以 ftp 签入系统,预设值有 root,uucp,news.这些都是
为
乐security方面的考虑,你可以在这里加入不可 ftp 进来的 user id.
/etc/gateways
顾名思义,这个档案记录一些 gateways 的 information.
这个档案的格式如下:
<net|host> name1 gateway name2 metric value <passive|active|external>
当 routed 启动时,它会去读 /etc/gateways 这个档. 若一个 gateway并不做
routing information 交换的话,那它就会被标示成 passive,假如有做routing
information 的交换 ( 这台机器上有 run routed ),那就会标示成 active net 或
host 这个关键字是指出 route 是到网路或是到一台特定的机器上. name1 就是
目
地网路或目地机器的名字.这个名字可用 /etc/hosts 或是 /etc/networks 中的
osts 或是 /etc/networks 中的
symbolic host name. name2 就是讯息将被送往之gateway的name或IP address.
/etc/gettydefs
getty_ps的定义文件.
/etc/group
如同 /etc/passwd 列出乐系统中所有的使用者名字,/etc/group 定义系统中所
有的 group name 与相关讯息. 格式为:
group_name:passwd:GID:user_list
如:wheel:*:0:root,hua,yzr,cyt
上面的例子表示root,hua,yzr,cyt都是属於wheel这个 group.通常 passwd 那栏是
空
白的,表示不用密码.或放一个*号.
这个档案只能为 superuser 所读写,一个 superuser 可使用 groupadd,
groupdel,groupmod 来管理 /etc/group 这个档,要手动管理也是可以.下面是这三
个
指令的用法 :
groupadd [ -g gid [ -o ] ] group_name
groupdel group_name
groupmod [ -g gid [ -o ] ] [ -n new_group_name ] group_name
/etc/hostid
系统独有的一个硬件id,许多商业程序利用这个来做license的管理,在其他工作站
上这个参数是无法更改的,只有linux可以用hostid这个参数来更改.
上这个参数是无法更改的,只有linux可以用hostid这个参数来更改.
/etc/hosts
这个档案记录着 IP address 至hostname的mapping.如我们想把 202.38.248.1
取
个别名叫:bbs.那我们就可以在这个档案里写如下的叙述 :
202.38.248.1 bbs
如此一来,以後我们 telnet bbs 就等於 telnet 202.38.248.1.在这个档案中,至
少会有两列,一列为 loopback,这是为乐侦错目的而设的,另一列为 local host,就
是
你自己的机器.
/etc也是类似的.不过
这东西最好不要乱设,以信得过的hosts为主,才不会造成security上的困扰.
/etc/host.deny
设定那些 remote hosts 不可以使用 inetd.
/etc/host.allow
设定那些remote hosts可以使用inetd.如ALL:202.38.248.就是202.38.248.上
的所有机器都可以用乐.
/etc/host.lpd
记录可 access printer 的 hosts.假如一台 printer可被网路上的许多台主机
所共用,那 printcap 这个档案必须得描述完整的网路设定资讯. 在比较严密控制
的情况下,有两个条件必须符合首先,local machine 必须在 remote machine 的
/etc/hosts.eqiuv 中,或者,在 remote machine 的 /etc/hosts.lpd 中被记载第
二,使用者必须有 remote machine 的帐号.
/etc/inetd.conf
设定系统的网络守护进程inetd的配置,格式如下:
service_name sock_type proto flags user server_path args
服务名称 包类型 协议 参数 用户 服务器路径 参数
例如:
ftp stream tcp nowait root /usr/local/libexec/ftpd ftpd -a
telnet stream tcp nowait root /usr/libexec/telnetd telnetd
#shell stream tcp nowait root /usr/libexec/rshd rshd
#login stream tcp nowait root /usr/libexec/rlogind rlogind
#finger stream tcp nowait nobody /usr/libexec/fingerd fingerd -s
#exec stream tcp nowait root /usr/libexec/rexecd rexecd
#uucpd stream tcp nowait root /usr/libexec/uucpd uucpd
#nntp stream tcp nowait usenet /usr/libexec/nntpd nntpd
#comsat dgram udp wait root /usr/libexec/comsat comsat
#ntalk dgram udp wait root /usr/libexec/ntalkd ntalkd
#tftp dgram udp wait nobody /usr/libexec/tftpd tftpd
/tftpboot
#bootps dgram udp wait root /usr/libexec/bootpd bootpd
/etc/inetd.pid(inetd process id)
inetd这个进程的进程id.
/etc/inittab
设定系统启动时init进程将把系统设置成什么样的runlevel,用户不需要设置.
/etc/issue
这个档案被记录着 login prompt 前所要 echo 的 message,特别要注意的是
/etc/rc.d/rc.S下面的四行若没有mark,则每次开机 issue 及 motd 都会被重建.
/etc/ld.so.cache
查找系统动态链接共享库的缓存,如果损坏用ldconfig可以重新产生.
/etc/ld.so.conf
系统动态链接共享库的路径,记录一些 library 所在的目录,应用程序从这个文件
去查找相应的lib文件.例如:
/usr/local/lib
/usr/X11R6/lib
/usr/i486-linuxaout/lib
/usr/openwin/lib
/etc/lilo.conf
/etc/lilo.conf
配置多重启动程序lilo的配置文件,每次更改之后一定要重新运行lilo才有效.
/etc/login.defs
这是所有用户登陆时的缺省配置文件,这个文件中有大量的定义,许多原先在profi
le
和login文件中的定义都挪到这里乐.如用户缺省路径,登陆时间限制,最多错误登陆
次
数等.是系统管理员应该经常修改的地方.
/etc/magic
这个档案记载乐许多档案格式的识别字串或方法.那这个档在那里会用的到呢?用
在
file 这个指令上.file 这个指令的命令格式为:
file [ -c ] [ -z ] [ -L ] [ -f namefile ] [ -m magicfile ] file
file 这个指令可以告诉你某一个档案的格式,如它是一个 text 档,或是一个
shell script 或 DOS 可执行档等...... 而 file这个指令,就是去参考/etc/magic
这个资料库.假如你知道某一档案的识别字,而原来 magic 这个资料库没有记录,那
你可以把识别方法加到资料库中,或乾脆建立自己的资料库算乐.
/etc/mail.rc;/etc/mailcap;/etc/sendmail.cf;/etc/sendmail.st
这几个文件都是为了设置sendmail的.
/etc/makedev.cfg
同devinfo一样是给makedev使用的设置文件.用户不必设置.
/etc/motd(message of the day)
在这个档里面可以写一些 message ,而这些 message 会在 login shell 之前被
显
示出来.通常都是 system administrator 要告知 user 的一些讯息. 而关於每次都
会改变的问题,在前面/etc/issue时已提出过,记得 mark 起来就是乐.
/etc/mtab
记录目前mount的filesystem.大家可以用mount指令来看这个档的变化的.每mount
一个filesystem,在这个文件就可以立刻反映出来乐.也就是说,这个文件是动态更新
的,可以参见/proc/mounts这个文件.
/etc/mtools
这里面记录的是给 /usr/bin/mtools 参考用的 parameter.mtools就是一群操作
MSDOS档案的命令集合,可用的命令如下:
mattrib - change MSDOS file attribute flags
mcd - change MSDOS directory
mcopy - copy MSDOS files to/from Unix
mdel - delete an MSDOS file
mdir - display an MSDOS directory
mformat - add an MSDOS filesystem to a low-level formatted diskette
mlabel - make an MSDOS volume label
mmd - make an MSDOS subdirectory
mrd - remove an MSDOS subdirectory
mread - low level read (copy) an MSDOS file to Unix
mren - rename an existing MSDOS file
mtype - display contents of an MSDOS file
mwrite - low level write (copy) a Unix file to MSDOS
这些都被 link 到 mtools.
/etc/named.boot
假如你要建立 name server 的话,那这个档就是你要修改的地方详细的情况可以
去看 named 的 manual.
/etc/named.pid(named process id)
本机上运行DNS的进程id.
/etc/networks
这个档与 hosts 有点像,都是在 boot 的时候会用到的东西,在这里可以定义一
个子网路与其 IP address 的资讯.
/etc/NNTP_INEWS_DOMAIN
设置新闻服务器的配置文件.
/etc/nntpserver
/etc/nntpserver
设置用户使用的新闻服务器的地址.
这个档案记录着 news server,当我们使用 tin -r (read news remotely) 时,
这个档案会被参考到,或者若这个档案不存在的话,那环境变数 NNTPSERVER 所指定
的 server 就会被当成要去取得 news 的 server. 譬如说,你要将 202.38.248.1
当成 news server,那 /etc/nntpserver 中就可写: 202.38.248.1
/etc/nologin
你也许会感到奇怪,我的 /etc 这个 directory 下并没有这个档啊?没错,它平常
是
不存在的,通常会看到这个档的话,那表示系统大概要 shutdown 乐,因为系统要
shutdown 乐,自然不希望有人又login 进来,所以在我们执行 shutdown时,nologin
这个档会自动的被 create,里面放着 shutdown message.实际上,当我们在login 时
,
系统会去检查有没有这个档,假如有的话,那就会印出这个档案中的 message,然後不
让你 login.nologin 也有可能是为乐某种理由被制造的,比如说系统在 maintain
暂时不希望有人 login.无论如何 nologin 若存在,就不能 login.
/etc/organization
存放用户的名字和组织,没什么用.
/etc/passwd
呵呵,这个档案可重要乐.一个 system administrator 最初要学的常常就是这个
档案的内容! 这个档案记录着系统可以认得的user,也包括一些非人的 login
name,
但这是有特殊用途的. 档案内容每列的格式如下:
Login Name:Encrypted Password:UID:GID:GCOS:Home Directory:Login Shell
(1)login name
在 login name 方面,每个 login name 必须是唯一的,而且不能超过 8 个字符,
一般说来,login name 虽然可以大小写混合,但平常的情况下都用小写.
(2)Encrypted Password
这栏是编码过的密码,在新增一个 new user 时,应该在这栏填上*,更改
password
可用 passwd 这个指令. passwd 这是一个 setuid 的指令.
(3)UID(user id)
每个"人"都要不一样,习惯上,100 以前被保留做为特殊的 user id,而root总是0
.
(4)GID(group id)
在比较早期的系统,一个user同时只能在一个group,不过现在就没有这种限制乐.
(5)GCOS
这栏基本上没有特殊格式限制,在这里可以写上你的 full name家中电话,住址等
.
爱写什么就写什么.
finger 这个指令会去读这地方的资讯.用chfn 可改变这栏.
(6)Home Directory
这栏没什么,就是记录 user 的 home directory 而已,利用 cd 或 cd~ 都可回
到
home directory.
(7)Login Shell
设定使用者所使用的 shell,预设值是 /bin/bash.当然,你也可以自己改成 csh
或 tcsh,zsh 也是不错,假如有 free 版的 korn Shell 也可拿来用用.用 chsh可
改
变你的 login shell.
赡美从糜?用 chsh可改
变你的 login shell.
变你的 login shell.
为乐 security 方面的考虑,可以安装 shadow,将 passwd 这个档完全的与一般
user 隔绝开来,连读也没有办法读 passwd 这个档.
/etc/pnpdevices
列出乐支持的plug&play设备.
/etc/profile
profile 这个档是 bash 这个 shell 所用的,profile 之于bash就好像 cshrc 之
于
csh. 同样的,/etc 下的 profile 也是 SA 在维护的,主要是放着全域的设定(Globa
l
Setting)而每个 user 在自己的 Home Directory 都可以有各人的.profile.
/etc/protocols
假如你为乐某些目地,而写乐自己的 protocol,那你就必须把它列在这个档案中,
这
样 inetd 才会管理一些 daemons 去用它这个档案每列的格式如下,# 之後的是注解
:
Protolcol Name Portocol Number Aliases
协议名 代码 别名
ip 0 IP # internet protocol,pseudo protocol number
icmp 1 ICMP # internet control message protocol
igmp 2 IGMP # internet group multicast protocol
ggp 3 GGP # gateway-gateway protocol
tcp 6 TCP # transmission control protocol
pup 12 PUP # PARC universal packet protocol
udp 17 UDP # user datagram protocol
idp 22 IDP # WhatsThis?
raw 255 RAW # RAW IP interface
/etc/psdatabase
这个档案是被 psupdate 所用到,psupdate 主要的功能就是更新
/etc/psdatabase 这个档,以符合目前的 kernel image system map file.一般的预
设
档是 /usr/src/linux/tools/zSystem.
/etc/resolv.conf
这里面记载着你机器的 domain name 及 name server 的 IP address,name
server
可以自己加入.name server 可不要随便就去掉,否则,就会地址没有办法被解译,故
会
有 Host name lookup failure 的信息.
/etc/securetty
假如你要以 root login 的话,实际上是有限制的,这个档案就列出乐 root 可以
login 的 ttys,假如你把每一列都 mark 起来那就没有任何一个 terminal 可供roo
t
login 乐,就会出现以下的情况 :
login: root
root login refused on this terminal.
仔细的在这个档案列出可用的 terminal,可使从 modem 连的使用者或经由网络来的
其它的使用者比较不容易取得 superuser 的权力.
其它的使用者比较不容易取得 superuser 的权力.
/etc/services
设定系统的端口与协议类型和提供的服务.
/etc/shadow
这个文件对一般用户是不可读的,加密后的密码就放在这个文件中.
/etc/shells
这个档案里面就记录着可以用的 login shell.还有一点,那就是这个档的记录会
在
使用 chsh 时做为参考,唯有被列在这里的 shell,使用 chsh 时才会出现这些
shell
可选.实际上如果强行直接修改passwd文件,也可以使用不在列表中的shell程序,但
会
造成在ftp的时候,无法登陆.
/etc/slip.hosts;/etc/slip.login
这两个文件是设定SLIP的配置文件.
/etc/snooptab
如果系统管理员用ttysnoops替换乐login这个程序,就可以用snooptty这个程序来
监控用户的屏幕,这个文件就是能监听的终端列表.
/etc/sudoers
在一个不是很复杂的系统中,也许一个 System Administrator 就可以管理所有的
事情.但一但系统提供的服务变多,系统管理的工作也随之变得沉重,这时候,sudo 就
派上用场乐,sudo 可以让一个普通的 user 变成 superuser,这样一来,一个系统的
某
些工作,就可以分配给这些 superusers 来做.以减轻负担.
当然,并不是每个 user 都可以变成 superuser.所以/etc/sudoers 就是记录着那
些人可以用 superuser 的身份来执行一些工作.
这个档案有一个专属的 editor 叫 visudo 可来编辑 /etc/sudoer.而关於使用
sudo.bin有一个记录档,在 /var/adm/sudo.log,里面记录着谁在什么时候利用sudo
下乐那些指令.顺便一提的是:利用下面这个命令可抓出那些人转换成 superuser 但
却没有成功:grep "FAILED SU" /var/adm/messages
/etc/syslog.conf
系统记录程序syslogd的配置文件,格式如下:
*.=info;*.=notice /usr/adm/messages
*.=debug /usr/adm/debug
*.=warn /usr/adm/syslog
即所有的info和notice信息都存在/usr/adm/messages下,debug信息在/usr/adm/deb
ug
下,警告信息在/usr/adm/syslog下.
/etc/ttys
设定系统的终端类型.
/etc/utmp
是用 last 这个指令所得到的部份内容:
bbs tty1 Tue Nov 29 19:09 - 19:09
(00:00)
root tty1 Tue Nov 29 19:08 - 19:09
(00:00)
root tty1 Tue Nov 29 19:07 - 19:07
(00:00)
runlevel ~ Tue Nov 29 19:07
reboot ~ Tue Nov 29 19:07
/etc/XF86Config
X Window的配置文件.
/etc/yp.conf
NIS的配置文件.
/etc/zprofile
link 到 /etc/profile
/home
存放用户主目录的地方,一般说"/home/username"就是用户的主目录.
/lib(library)
存放系统最基本的动态连接库.这个目录如果被删除的话就不能动乐.几乎所有的程
序
都要用到这个目录下的共享库.
/lost+found
这个目录一般都是空的.但当文件系统发生故障(如系统掉电)后,在机器启动的时候
有
些文件找不到应该存放的地方,就放到这个目录底下乐.这个目录是mkfs是自动产生的.
/mnt
空目录,是让用户临时挂载文件系统的地方.
/proc
是linux提供的一个虚拟系统,是由系统在系统启动的时候在内存中产生的,用户可以
直接通过访问这些文件来获得系统信息,例如/proc/kcore就是系统运行的时候内存的
映象文件.
/root
超级用户主目录.
/sbin
这个目录存放着super user使用的系统管理程序,如fsck,mount等.
/tmp(temporary)
存放不同的程序执行时产生的临时文件.这是除了/usr/local目录以外一般用户可以
使用的一个目录.这个目录在启动时系统并不自动删除,所以最好能经常删除这里的无
用
文件.
/usr(user)
linux系统占地最大的一个目录,用户的很多应用程序和文件都几乎存放在这里.下面
时一些比较重要的目录:
/usr/X11R6
存放XFree86的目录,所有于X Window有关的程序都放在这里.
/usr/bin
用户用到的大部分程序都放在这里.
/usr/sbin
超级用户的管理程序和系统守护程序.
/usr/doc
放着linux的文档.
/usr/include
在linux下开发编译应用程序需要的头文件.
/usr/lib
存放常用的动态链接共享库和静态档案库.
/usr/local
让用户安装新软件使用的,目录结构和/usr类似.
/usr/man
存放着linux online help.
/usr/src
存放着系统的源代码,缺省的有一个/usr/src/linux目录,是用来存放系统内核的源代码.重新编译内核的时候就是在这个目录下进行的,有些应用程序也会用到这个目录下的一些头文件.
/var
这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下.
/var/log
系统的日志文件.
说明:在不同的linux版本,目录结构也有不少的区别...大家看乐之后尽可以补充或更改.
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=567324
linux技巧大全
0001
修改主机名(bjchenxu)
vi /etc/sysconfig/network,修改HOSTNAME一行为"HOSTNAME=主机名"(没有这行?那就添加这一行吧),然后运行命令" hostname 主机名"。无论你是否重启,主机名修改成功了。
0002
Ret Hat Linux启动到文字界面(不启动xwindow)(bjchenxu)
将/etc/inittab中"id:5:initdefault:"一行中的5改为3
0003
linux的自动升级更新问题(hutuworm,NetDC)
对于redhat,在www.redhat.com/corp/support/errata/找到补丁,6.1以后的版本带有一个工具up2date,它能够测定哪些rpm包需要升级,然后自动从redhat的站点下载并完成安装。
升级除kernel外的rpm: up2date -u
升级包括kernel在内的rpm: up2date -u -f
Debian跟别的发行版还是有很大的差别的,用Debian做服务器维护更加方便;红帽的升级其实挺麻烦的,当然,如果你交钱给红帽的话,服务是会不一样的。
Debian下升级软件:
apt-get update
apt-get upgrade
前提:配置好网络和/etc/apt/sources.list,也可以用apt-setup设置。
0004
windows下看linux分区的软件(bjchenxu)
Paragon.Ext2FS.Anywhere.2.5.rar和explore2fs-1.00-pre4.zip
0005
mount用法(sakulagi)
fat32的分区 mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom
ntfs的分区 mount -o 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分区(bjchenxu)
将本地的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的文件(bjchenxu)
rm ./-a
rm -- -a 告诉rm这是最后一个选项,参见getopt
ls -i 列出inum,然后用find . -inum inum_of_thisfile -exec rm '{}' /;
0007.b
删除名为/a的文件(bjchenxu)
rm //a
0007.c
删除名字带的/和‘/0'文件(bjchenxu)
这些字符是正常文件系统所不允许的字符,但可能在文件名中产生,如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
删除名字带不可见字符的文件(bjchenxu)
列出文件名并转储到文件:ls -l >aaa
然后编辑文件的内容加入rm命令使其内容成为删除上述文件的格式:
vi aaa
[rm -r *******
]
把文件加上执行权限 chmod +x aaa
执行 $aaa
0007.e
删除文件大小为零的文件(bjchenxu)
rm -i `find ./ -size 0`
find ./ -size 0 -exec rm {} /;
或
find ./ -size 0 | 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)就可以了,
如果鼠标表现异常,重启计算机即可。
(或者su, vi /etc/X11/XF86Config, 把PS/2 改成 ImPS/2)
0009
加装xwindow(bjchenxu)
用linux光盘启动,选择升级,然后单独选择包,安装即可
0010
删除linux分区(bjchenxu)
做一张partition magic的启动软盘,启动后删除. 或者用win2000的启动光盘启动,然后删除.
0011
如何退出man(bjchenxu)
q
0012
不编译内核,mount ntfs分区(bjchenxu)
原装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(bjchenxu)
下载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
使用lilo/grub时找回忘记了的root口令(bjchenxu)
三种办法:
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失效(bjchenxu)
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的信息存为文本文件(bjchenxu)
以 tcsh 为例:
man tcsh | col -b > tcsh.txt
info tcsh -o tcsh.txt -s
0019
利用现存两个文件,生成一个新的文件(bjchenxu)
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口进行登录(bjchenxu)
确认有/sbin/agetty,编辑/etc/inittab,添加
7:2345:respawn:/sbin/agetty /dev/ttyS0 9600
9600bps是因为联路由器缺省一般都是这种速率,也可以设成
19200、38400、57600、115200
修改/etc/securetty,添加一行:ttyS0,确保root用户能登录
重启机器,就可以拔掉鼠标键盘显示器(启动时最好还是要看看输出信息)了
0021
删除目录下所有文件包括子目录(bjchenxu)
rm -rf 目录名
0022
查看系统信息(bjchenxu)
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
去掉多余的回车符(bjchenxu)
sed 's/^M//' test.sh > back.sh, 注意^M是敲ctrl_v ctrl-m得到的
或者 dos2unix filename
0024
切换X桌面(lnx3000)
如果你是以图形登录方式登录linux,那么点击登录界面上的session(任务)即可以选择gnome和kde。如果你是以文本方式登录,那执行switchdesk gnome或switchdesk kde,然后再startx就可以进入gnome或kde。
(或者vi ~/.xinitrc,添加或修改成exec gnome-session 或exec startkde,
然后用startx启动X)
0025
通用的声卡驱动程序(lnx3000)
OSS www.opensound.com/ ALSA www.alsa-project.org/
0026
改变redhat的系统语言/字符集(beming/mc1011)
修改 /etc/sysconfig/i18n 文件,如
LANG="en_US",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
还有一种方法
cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG="en_US",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户
(Debian不支持GB18030(RH的zysong字库是有版权的)
现在好像没有Free的GBK和GB18030字库
vi .bashrc
export LANG=zh_CN.GB2312
export LC_ALL=zh_CN.GB2312)
0027
把屏幕设置为90列(bjchenxu)
stty cols 90
0028
使用md5sum文件(bjchenxu)
md5sum isofile > hashfile, 将 md5sum 档案与 hashfile 档案内容比对, 验证杂凑值
是否一致 md5sum –c hashfile
0029
一次解压多个zip文件(bjchenxu)
unzip "*",注意引号不能少
0030
看pdf文件(bjchenxu)
使用xpdf或者安装acrobat reader for linux
0031
查找权限位为S的文件(bjchenxu)
find . -type f /( -perm -04000 -o -perm -02000 /) -exec ls -lg {} /;
0032
装中文输入法(bjchenxu)
以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
查看硬盘的使用情况(bjchenxu)
df -k 以K为单位显示
df -h 以人性化单位显示,可以是b,k,m,g,t..
0037
查看目录的大小(bjchenxu)
du -sh dirname
-s 仅显示总计
-h 以K、M、G为单位,提高信息的可读性。KB、MB、GB是以1024为换算单 位, -H以1000为换算单位。
0038
查找或删除正在使用某文件的进程(wwwzc)
fuser filename
fuser -k filename
0039
安装软件(bjchenxu)
rpm -ivh aaa.rpm
tar xvfz aaa.tar.gz; cd aaa; ./configure; make; make install
0040
字符模式下设置/删除环境变量(bjchenxu)
bash下
设置:export 变量名=变量值
删除:unset 变量名
csh下
设置:setenv 变量名 变量值
删除:unsetenv 变量名
0041
ls如何看到.开头的文件(双眼皮的猪)
ls -a
l. (适用于redhat)
0042
rpm中的文件安装到哪里去了(bjchenxu)
rpm -qpl aaa.rpm
0043
使用src.rpm(bjchenxu)
rpmbuild --rebuild *.src.rpm
0044
vim中显示颜色或不显示颜色(bjchenxu)
vi ~/.vimrc; 如果有syntax on,则显示颜色,syntax off,则不显示颜色
0045
linux是实时还是分时操作系统(bjchenxu)
分时
0046
make bzImage -j的j是什么意思(wind521)
-j主要是用在当你的系统硬件资源比较大的时候,比较富裕的时候,用这个可以来加快编译的速度,如-j 3
0047
源码包怎么没有(bjchenxu)
你没有安装源代码,你把你光盘上rpm -i *kernel*source*.rpm装上,就可以看到你的源代码了。
0048
修改系统时间(bjchenxu,laixi781211,hutoworm)
date -s “2003-04-14 cst”,cst指时区,时间设定用date -s 18:10
修改后执行clock -w 写到CMOS
hwclock --systohc
set the hardware clock to the current system time
0049
开机就mount上windows下的分区(bjchenxu)
自动将windows的d盘挂到/mnt/d上,用vi打开/etc/fstab,加入以下一行
/dev/hda5 /mnt/d vfat defaults,codepage=936,iocharset=cp936 0 0
注意,先得手工建立一个/mnt/d目录
0050
linux怎么用这么多内存(bjchenxu)
为了提高系统性能和不浪费内存,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中的翻译软件(bjchenxu)
星际译王 xdict
0054
不让显示器休眠(bjchenxu)
setterm -blank 0
setterm -blank n (n为等待时间)
0055
用dat查询昨天的日期(gadfly)
date --date='yesterday'
0056
xwindow下如何截屏(bjchenxu)
Ksnapshot或者gimp
0057
解压小全(bjchenxu)
tar xvfj example.tar.bz2
tar xvfz example.tar.gz
tar xvfz example.tgz
tar xvf example.tar
unzip example.zip
tar -jvxf some.bz,就是把tar的zvxf 改成jvxf
zip/tar rh8下有一个图形界面的软件file-roller可以做这件事。另外可以用unzip *.zip解开zip文件,unrar *.rar解开rar文件,不过unrar一般系统不自带,要到网上下载。
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/softdeta....php?softid=883
下载rar for Linux 3.2.0,解压开后make
然后可以用unrar e youfilename.rar解压rar文件
0068
硬盘安装后怎么添加/删除rpm包(sakulagi)
redhat-config-packages --isodir=<PATH>
可以指定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
以不同的用户身份运行程序(bjchenxu)
su - username -c "/path/to/command"
有时候需要运行特殊身份的程序, 就可以让su来做
0074
如何清空一个文件(bjchenxu)
> filename
0075
为什么OpenOffice下不能显示中文(allen1970)
更改字体设置
tools->options->font replacement
Andale Sans UI -> simsun
0076
如何备份Linux系统(Purge)
Symantec Ghost 7.5以后的版本支持Ext3 native复制
0077
linux上的partition magic(wwwzc)
Linux下一个有用的分区工具: parted
可以实时修改分区大小, 删除/建立分区.
0078
/proc/sys/sem中每项代表什么意思? (sakulagi)
/proc/sys/sem内容如下
250 32000 32 128
这4个参数依次为SEMMSL(每个用户拥有信号量最大数量),SEMMNS(系统信号量最大数量),SEMOPM(每次semop系统调用操作数),SEMMNI(系统信号量集最大数量)
0079
Grub 引导菜单里 bigmem smp up 都是什么意思?(lnx3000)
smp: (symmetric multiple processor)对称多处理器模式
bigmem: 支持1G 以上内存的优化内核
up:(Uni processor) 单处理器的模式
0080
Oracle的安装程序为什么显示乱码?(lnx3000)
现在Oracle的安装程序对中文的支持有问题,只能使用英文界面来安装,在执行runinstaller之前,执行:export LANG=C;export LC_ALL=C
0081
linux下文件和目录的颜色代表什么(sakulagi,弱智)
蓝色表示目录;绿色表示可执行文件;红色表示压缩文件;浅蓝
色表示链接文件;灰色表示其它文件;红色闪烁表示链接的文件有问题了;黄色是设备文件,包括block, char, fifo。
用dircolors -p看到缺省的颜色设置,包括各种颜色和“粗体”,下划线,闪烁等定义。
0082
mysql的数据库存放在什么地方(bjchenxu)
1. 如果使用rpm包安装,应该在/var/lib/mysql目录下,以数据库名为目录名
2. 如果源码安装在/usr/local/mysql中,应该在/usr/local/mysql/var中,以数据库名为目录名
0083
如何新增一块硬盘(好好先生)
一、关机,物理连接硬盘
如果是IDE硬盘,注意主、从盘的设置;如果是SCSI硬盘,注意选择一个没有被使用的ID号。
二、开机,检查硬盘有没有被linux检测到
dmesg |grep hd*(ide硬盘)
dmesg |grep sd*(SCSI硬盘)
或者 less /var/log/dmesg
如果你没有检测到你的新硬盘,重启,检查连线,看看bios有没有认出它来。
三、分区
你可以使用fdisk,Sfdisk或者parted(GNU分区工具,linux下的partition magic)
四、格式化
mkfs
五、修改fstab
vi /etc/fstab
0084
linux下怎么看分区的卷标啊 (q1208c)
e2label /dev/hdxn, where x=a,b,c,d....; n=1,2,3...
0085
RH8,9中安装后如何添加新的语言包(好好先生)
一.8.0中
1.放入第一张光盘
2.cd /mnt/cdrom/Redhat/RPMS
3.rpm -ivh ttfonts-ZH_CN-2.11-29.noarch.rpm(简体中文,你可以用tab键来补齐后面的部分,以免输入有误)
4.rpm -ivh ttfonts-ZH_TW-2.11-15.noarch.rpm(繁体中文)
如果你还想装日文、韩文,试试第二张光盘上的ttfonts*.rpm.
二.9.0中
9.0不在第一张盘上,在第三张盘上.rpm包名分别为:
ttfonts-zh_CN-2.12-1.noarch.rpm(简体中文)
ttfonts-zh_TW-2.11-19.noarch.rpm (繁体中文)
0086
终端下抓屏(tsgx)
cat /dev/vcsX >screenshot 其中,X表示第X个终端
还可以运行script screen.log,记录屏幕信息到screen.log里。一会记录到你exit为此。这也是抓屏的好方法。
这是在debian的cookbook上看到的。在RH9上能用。没有在其它的系统上测试过。请原谅
0087
让一个程序在退出登陆后继续运行(NetDC)
#nohup 程序名 &
0088
man命令不在路径中,如何查看非标准的man文件(bjchenxu)
nroff -man /usr/man/man1/cscope.1 | more
0089
以不同的用户身份运行程序(bjchenxu)
su - username -c "/path/to/file"
有时候需要运行特殊身份的程序...就可以让su来做...
0090
编辑/etc/inittab后直接生效(bjchenxu)
#init q
0091
让linux连续执行几个命令,出错停止(bjchenxu)
command1 && command2 && command3
0092
如何将grub安装到mbr(bjchenxu, NetDC)
grub> root (hd0, 0)
grub> setup (hd0)
也可以用#grub-install /dev/hda来安装grub。
0093
安装时把grub(lilo)写到linux分区的引导区还是主引导扇区(MBR)(bjchenxu)
如果你想电脑一启动就直接进入操作系统启动菜单就把grub(lilo)写到MBR上,如果写到linux分区的引导区则要用引导盘引导。建议写到 MBR,方便点,至于说写到MBR不安全,该怎么解释呢?每装一次win98,MBR都会被修改一次,大家觉得有什么不安全的吗?
0094
如何让多系统共存(bjchenxu)
98系统的话用lilo(grub)引导,2k/nt则使用osloader引导多系统
0095
如何在图形界面和控制台(字符界面)之间来回切换(bjchenxu)
a.图形界面到控制台:Ctr+Alt+Fn(n=1,2,3,4,5,6)。
b.各控制台之间切换:Alt+Fn(n=1,2,3,4,5,6)。
c.控制台到图形:Alt+F7
0096
Redhat linux常用的命令(bjchenxu)
<1>ls:列目录。
用法:ls或ls dirName,参数:-a显示所有文件,-l详细列出文件。
<2>mkdir:建目录。
用法:mkdir dirName,参数:-p建多级目录,如:mkdir a/b/c/d/e/f -p
<3>mount:挂载分区或镜像文件(.iso,.img)文件。
用法:
a.磁盘分区:mount deviceName mountPoint -o options,其中deviceName是磁盘分区的设备名,比如/dev/hda1,/dev/cdrom,/dev/fd0,mountPoint 是挂载点,它是一个目录,options是参数,如果分区是linux分区,一般不用-o options,如果是windows分区那options可以是iocharset=cp936,这样windows分区里的中文文件名就能显示出来了。用例:比如/dev/hda5是linux分区,我要把它挂到目录a上(如没目录a那就先mkdir a),mount /dev/hda5 a,这样目录a里的东西就是分区hda5里的东西了,比如hda1是windows分区,要把它挂到b上,mount /dev/hda1 b -o iocharset=cp936。
b.镜像文件:mount fileName mountPoint -o loop,fileName是镜像文件名(*.iso,*.img),其它的不用说了,跟上面一样。用例:如我有一个a.iso光盘镜像文件,mount a.iso a -o loop,这样进入目录a你就能浏览a.iso的内容了,*.img文件的用法一样。
<4>find:查找文件。
用法:find inDir -name filename,inDir是你要在哪个目录找,filename是你要找的文件名(可以用通配符),用通配符时filename做好用单引号引起来,否则有时会出错,用例:find . -name test*,在当前目录查找以test开头的文件。
<5>grep:在文件里查找指定的字符串。
用法:grep string filename,在filename(可用通配符)里查找string(最好用双引号引起来)。参数:-r在所有子目录里的filename里找。用例:grep hello *.c -r在当前目录下(包括子目录)的所有.c文件里查找hello。
<5>vi:编辑器。
用法:vi filename。filename就是你要编辑的文本文件。用了执行vi filename后,你可能会发现你无法编辑文本内容,不要着急,这是因为vi还没进入编辑状态,按a或i就可以进入编辑状态了,进入编辑状态后你就可以编辑文本了。要退出编辑状态按Esc键就可以了。以下操作均要在非编辑状态下。查找文本:输入/和你要查找的文本并回车。退出:输入: 和q并回车,如果你修改了文本,那么你要用:q!回车才能退出。保存:输入: w回车,如果是只读文件要用: w!。保存退出:输入: wq回车,如果是只读就: wq!回车。取消:按u就可以了,按一次就取消一步,可按多次取消多步。复制粘贴一行文本:把光标移到要复制的行上的任何地方,按yy(就是连按两次 y),把光标移到要粘贴地方的上一行,按p,刚才那行文本就会被插入到光标所在行的下一行,原来光标所在行后面所有行会自动下移一行。复制粘贴多行文本:跟复制一行差不多,只是yy改成先输入要复制的行数紧接着按yy,后面的操作一样。把光标移到指定行:输入:和行号并回车,比如移到123行:123回车,移到结尾:$回车。
0097
linux文本界面下如何关闭pc喇叭(labrun)
将/etc/inputrc中的set bell-style none 前的#去掉,或echo "set bell-style none" >> ~/.bashrc
0098
重装windows导致linux不能引导的解决办法(好好先生)
如果没有重新分区,拿linux启动盘(或者第一张安装光盘)引导,进入rescue模式。首先找到原来的/分区mount在什么地方。redhat通常是/mnt/sysimage. 执行"chroot /mnt/sysimage". 如果是grub,输入grub-install /dev/hd*(根据实际情况);如果是lilo,输入lilo -v,然后重新启动。如果分区有所改变,对应修改/etc/lilo.conf和/boot/grub/grub.conf然后再执行上述命令。
0099
为什么装了LINUX后win2K很慢(lnx3000,好好先生)
老问题了,你在2000是不是能看见Linux的逻辑盘,但不能访问?
在磁盘管理里,选中这个盘,右击->更改"驱动器名和路径"->"删除"就可以了,注意不是删除这个盘!
0100
windows中刻录iso的方法(bjchenxu)
windows中,使用nero,选择映象文件刻录,选择iso文件,刻录!
还得借用windows呀,呵呵,等nero的linux版出来就不用找它了,呵呵
0101
linux中刻录iso的方法(hutuworm)
方法一:使用xcdroast,选择制作光碟,选择ISO文件,刻录!
参见http://www.xcdroast.org/xcdr098/faq-a15.html#17
方法二:找刻录机的命令:
cdrecord --scanbus
输出结果为:
0,0,0 0) 'ATAPI ' 'CD-R/RW 8X4X32 ' '5.EZ' Removable CD-ROM
刻录的命令:
cdrecord -v speed=8 dev=0,0,0 hutuworm.iso
0102
屏幕变花时怎么办(双眼皮的猪)
当您一不小心cat了一个并不是文本的文件的时候,这时屏幕会变花,那么您可以按两下"Enter"键,再敲"reset",那么屏幕就恢复正常了....
0103
卸载软件包时如何得知具体包名(diablocom)
大家知道删除软件包的命令是rpm -e XXX,但是当我们不知道这个XXX的确切拼写时,可以用rpm -q -a查询所有安装的软件包或者用rpm -qa |grep xxxx查询出名字
0104
使用内存作linux下的/tmp文件夹(yulc)
在/etc/fstab中加入一行:
none /tmp tmpfs default 0 0
或者在/etc/rc.local中加入
mount tmpfs /tmp -t tmpfs -o size=128m
注:size=128m 表示/tmp最大能用128m
不管哪种方式,只要linux重启,/tmp下的文件全部消失
0105
用ls只列出目录(yulc)
ls -lF | grep ^d
ls -lF | grep /$
ls -F | grep /$
0106
在命令行下列出本机IP地址,而不是得到网卡信息(yulc)
ifconfig |grep "inet" |cut -c 0-36|sed -e 's/[a-zA-Z: ]//g'
hostname -i
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=567362