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,也包括一些非人的 loginname, 但这是有特殊用途的. 档案内容每列的格式如下:
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,nameserver 可以自己加入.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
