|
楼主 |
发表于 2006-7-17 22:14:57
|
显示全部楼层
[2006年07月17日]关键字
一些小问题 linux的文件组织结构。
打开目录的方式:
Fedora Core 5使用了类似win95时的文件视图类型。当双击以后会以一个新的窗口来显示。相对来说,我更喜欢只在一个窗口里操作的方式。找了一下,发现:编辑>文件首选项>行为>选中“总是在浏览器窗口中打开”即可。
以前遇到一个问题,不知道怎么从文本方式(类DOS界面)进入X Window 界面。呵呵,为了启动X,用户首先要登录,然后startx即可。
如果开机的时候,界面就为文本方式的话,我可做以下修改,让开机自动进入X Window
/sbin/telinit 5 (测试一下看是否可以看到XDM登录屏幕,试用一下,如果1、可以的话;2、不可以的话)
vi(或其它文本编辑器) etc/inittab (文件etc/inittab是用来决定系统默认运行级别以及其他事情的)
修改其中的id:3:initdefault:为id:5:initdefault(因为启动XDM需要5的运行级别)
如果不能正常 运行XDM,(我想一般应该都可以,实在不行的话设置XF86Config配置,细节baidu一下就是了。
内核这东西看了一下相关文章,目前暂时还不怎么感兴趣,但记住了一个命令: uname -r 可以查看当前内核版本,如我的Fedora Core 5o 为:2.6.15-1.2054_FC5 。
在我的资料上,还有一些关于配置什么声卡、显卡、打印机、修补、升级内核之类的东西,暂时有不上,走马观花般的过了一遍而以。
但对于Linux的文件组织结构,相信用过几年MFC编程的人对Windows的了解与自信,但我第一次使用Linux的时候真的感觉是一片茫然。我的C、D、E、F盘呢?都是9几年的事了,但关键是我一直不知道哪个文件夹代表什么意思,而且也没深入了解,因此对linux感觉很陌生。
我cd / 后 ls -a了一下:
[gisde@localhost /]$ ls -a
. bin etc lost+found mnt proc selinux tmp
.. boot home media net root srv usr
.autofsck dev lib misc opt sbin sys var
[gisde@localhost /]$
按顺序,今天我知道了:
1、bin和sbin这两个目录通常用来存放一些二进制程序。
如bin下有:bash()、ls、mount、hostname等 常用命令。
而sbin则是因为随着系统的中可执行二进制程序越来越多,就把一些root专用的程序放在这里面了,如有:mkfs(创建文件系统)、lilo(引导系统程离)、init(系统初始化程序)、shutdown(关闭系统)等 。
2、etc,整个系统管理所需要的配置文件和信息都在这里面,有很多文件和文件夹,内容也比较多,感觉类似于Windows的注册表:
/etc/passwd,包含 所有的用户信息,为系统设置口令用的。我试着用 more /etc/passwd出现:
.......
halt:7:0:halt:/sbin:/sbin/halt
.......
其中,halt即为用户名
x(表密码经MD5或DES加密并保存至:etc/shadow内,如为*则表示用户无法登陆)
7:0,即UID和GID中文意思分别为用户ID和用户级ID,通常100以前的用户ID供系统使用。root的UID为0
/sbin为用户的主目录。
/sbin/halt为登录shell(login shell)
最后还有一句:gisde:500:500:gisde.com:/home/gisde:/bin/bash,我想应该可以看得懂了吧。
/etc/fstab包含 所有系统启动时自动加载的文件系统。
我使用[gisde@localhost etc]$ more /etc/fstab发现它与redhat时期有儿一样,但还是可以看懂。
/etc/profile ,profile为root用户专用的。如果一般用户想修改可以到自己的$ home/.profile或$home/.cshrc下修改。
/etc/hosts ,这个文件设定了用户访问的IP地址和相应的主机名有别名的列表。
我用cat /etc/hosts发现:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
在旧版教材上有这个/etc/lilo.conf,是设置系统的引导方式,即实现多操作系统。但Fedora Core 5上好像换位置了。
/etc/login.access,用来控制用户注册权限的设定文件。具体什么东东,没怎么看懂,到下次复习的时候再解决吧。
/etc/motd 是root给一般用户消处的地方,英文全称为:Message OOf The Day ,它包含系统相关的信息,如瘊定在什么时候执行什么命令,什么时候系统升级等 。通常,该文件记录了用户在注册前显示的信息。
/etc/inittab,文件用来配置系统启动文件的,前有相关描述。
/etc/services ,是一个配置所有服务程序的列表:我用 cat /etc/services了一下,没想到一大堆,目前还不知道这是不是正在运行的服务,如果是这样,还也太多了点儿嘛,怎么优化呢?暂进还不知道。
*****/etc/wtmp 以前这个文件是记录了所有用户记录的数据库,会不断增大。每隔段时间最好用root将其删除后重新touch生成一个新文件即可。但现在在Fedora Core 5里换位置了。等 会再找。
/etc/csh.cshrc 和 /etc/csh.login 特别说明:only root 才能读取,一般帐户不能读取到。 一般用户通常只注意到自己的主目录有这两个文件,即:.cshrc和.login,实际上是称执行/etc/csh.login再执行用用户主目录下的那两个文件。对应的有:.logout,即退出的时候,在.logout中输入些信息,或执行一些命令,当用户退出时就会执行。
/etc/DIR_COLORS,相信这个很容易理解吧,呵呵。
今天气温都37度了,感觉就像是被 放在蒸箱里的馒头(乡里,没空调,这个时候风扇的角色就像是烧烤时那种,越扇越热),呵呵。
下面这两个文件比较有意思:
/etc/at.deny,记录了哪些用户不能使用at 命令。
/etc/at.allow,记录了哪些用户可以使用at命令。系统通常是:每5分钟(默认)执行一次at命令。at命令先看有汉有/etc/at.allow,如果有的话,就只有被 记录了的用户才能使用at,如果没有的话,at去/etc/at.deny检查,若无的话,则所有用户可使用at。在/var/spool/cron/crontabs/root文件中,在一个记录,大意为:run at 5分钟一次。但我用了:
[root@localhost ~]# cat /var/spool/cron/crontabs/root
cat: /var/spool/cron/crontabs/root: 没有那个文件或目录。
看来Fedora Core 5里又换位置了,哎,怎么这么爱换嘛!
/etc/nologin 这个文件一般情况下是不存在的。,比如说我用shutdown的时候,说明系统要关机了,所以就要用人再登陆了。另外,比如说root只想其一个人使用这个电脑的时候,他也可以让其nologin嘛。
/etc/group 就如同/etc/passwd一样,它记录了系统中关于组的信息,相关量还是比较大,要看的话用more好些。
root可以用groupadd、groupdel或groupmod来操作这个帐户,但我可能用得比较少,暂时不看了,用的时候再说吧。
/mnt目录,mnt为:mount的缩写,是为加载文件系统用的,可参加如果使用mount命令,对/mnt会更理解些。(当年为了庆祝会用mount我第一时间就买了一个40G的移动硬盘,160的台式机移动硬盘,z1数码相机,还是rh9的时候,一试成功,还有mount安wps2005 linux版)
/tmp目录,主要是作为新建和安装程序的起点,而并非存放无用的文件。
/home目录,用来存放所有用户的主目录,但root的主目录为:/,/home目录还有ftp.httpd之类的目录,它们是提供相应的服务给用户使用。
/usr目录,用来存放所有与系统用户直接相关的程序和文件,它是Linux系统中占用空间最大的目录。
[gisde@localhost usr]$ ls
bin games kerberos libexec sbin src X11R6
etc include lib local share tmp
/usr/X11R6是用来存放所有与X Windows有关的文件和程序的。它是对X Windows的第11次版本的第6次修改。
/usr/bin,用来存入系统用户所用到的大部分应程序。记得开始安装的realplay就在这里头,可执行文件的位置为:/usr/bin/realplay,但是我不知道是不是所有realplay的文件都在这里面,另外,/usr/bin里头好多文件哦,为什么不归下类呢?
/usr/sbin,用来存入root使用的系统管理程序,这些程序与/bin和/sbin文件中的程序在功能、类型上都是相同的。
/usr/doc,存放所有Linux系统的文档,对才入门的朋友还说这就是一个知识库,但大多都是鸟语,EN文好的多看下。
/usr/lib,用来存放系统的动态链接库和静态文档库,在系统安装时,它便已经安装好的。
/usr/src,用来存放系统中的源代码,如系统内核源代码就是放在/usr/src/linux下的。
/usr/man,用来存放系统的在线帮助文件。
/usr/dict,它下面的/usr/dict/words文件就是系统的词典文件,
/usr/local文件是让用户安装新软件用的。这时,我查看了一下,发现的realplay的主文件被安装在此,应此,我个人理解原来/usr/bin下的realplay只是为了方便在终端下调用而新建的。
/usr/include,存放的是为了开发和编译程序的头文件(很多都是以.h结尾的头文件)。
/var目录,用来存放经常要变动的文件,与/tmp类似,不过,它有一定的组织结构。
/var/log/,保存大量的系统信息,用户可用dmesg查看最近一次系统引导信息。到底那些文件会越来越大呢?是不是可以全部删除呢?
/var/catman,经常被清除,就象除临时文件一样。
/var/lib,正常运行时要改变的文件。
/var/local,存放安装程序的可变数据。
/var/lock,锁定文件。这样其它程序将不会试图使用该设备或文件
/var/log,各种程序的log文件,应定期清理。/var/log/wtmplog为所有的系统登录和注销;/var/log/message里布储所有核心和系统信息。
/var/run,保存到下次引导前有效的关于系统的信息文件。例如当前登录的用户信息。
/var/spool,电子邮件、新闻组、打印队列和其它队列,都有各自己子目录。
/var/tmp,允许大或时间较长的临时文件。
/boot目录,存放有关引导信息的地方,通常 LILO在引导系统时会从该文件调用有关信息。
/dev目录,保存所有设备的场所,它会根据硬件设备的不同,有很大不同。但应知道所有的硬件设备可以分两类:块设备(以1024bytes为单位进行数据传输)和字符设备(以byte为单位传输的)。在它中有两个特殊的文件。 /dev/full(读取设备时,系统产生一系列的堆字节)和/dev/null(像回收一个垃圾站,把所有的输出清空)。
/proc目录,是一个虚拟的目录。系统中启动时生成这个文件。系统每时每该的变化都 显示在/proc文件中,用户可以通过查看它来获取相关信息。/proc不暂用磁盘,它由核心在内存中产生。
/proc/1,关于进程1的信息目录,每一下进程在/proc下有一个名为其进程号的目录。(那样说,如果我想获取正在运行的系统信息,就要和/proc打交到吗?)
/proc/dma,显示当前使用的DMA通道。
/proc/devices,当前运行的核心配置的设备驱动列表
/proc/filesystems,核心配置的文件系统。
/proc/ioports,当前使用的I/O端口。
/proc/kcore,系统物理内存映象,与物理内存大小完全一样,但实际上并不占用这么多内存。
/proc/kmsg,核心输出的消息,也被 送到syslog。
/proc/ksyms,核心符号表。
/proc/loadavg,系统“平均负载”,指示系统当前的工作量
/proc/modules,当前加载的核心模块。
/proc/net,网络协议状态信息。
/proc/stat,系统的不同状态。
/proc/uptime,系统启动的时间长度。
还记得14号写的:
4、查看系统信息
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
现在终于明白是这是怎么回事了,呵呵。
/lost+found目录,only root,这个文件是用来存放系统发生意外的文件的。如停电或死机时,它是在生成新文件系统时生成。
小结:能大致了解linux的文件组织结构,很是高兴。今天能Linux也算是更加深入了一些。我把这个信息用备注保存到相应的文件夹中,加之自已书写时的记忆,大致知道是怎么回事了。但还有一些文件我的资料上没有相关资料,待有机会一定要了补上。
天渐凉下来了,出去放松一下。
晚上给一个朋友发邮件,可朋友说收到的内容、标题都是乱码,我是用evolution发送的,于是我设置了默认为简体中文后,内容为中文正常了,但标题还是乱码。明天得把它解决了,呵呵。 |
|