基础篇第一版---Linux 文件属性与目录配置 <摘自鸟哥的私房菜>

Linux 文件属性:

 

[root@tsai root]# ls -al
total 64
drwxr-x---    4 root     root         4096 Feb 14 22:02 .
drwxr-xr-x   23 root     root         4096 Feb 16 13:35 ..
-rw-r--r--    1 root     root         1210 Feb 10 06:03 anaconda-ks.cfg
-rw-------    1 root     root        12447 Feb 14 23:22 .bash_history
-rw-r--r--    1 root     root           24 Jun 11  2000 .bash_logout
-rw-r--r--    1 root     root          234 Jul  6  2001 .bash_profile
-rw-r--r--    1 root     root          217 Feb  9 22:06 .bashrc
-rw-r--r--    1 root     root          210 Jun 11  2000 .cshrc
drwx------    2 root     root         4096 Feb 14 21:54 .gnupg
-rw-------    1 root     root            8 Feb 14 22:05 .mysql_history
drwx------    2 root     root         4096 Feb 10 00:44 .ssh
-rw-r--r--    1 root     root          196 Jul 11  2000 .tcshrc
-rw-r--r--    1 root     root         1126 Aug 24  1995 .Xresources

 第一栏      二  三       四            五      六        七 
[文件属性][档案数][拥有者][所有者群组][大小][建檔日期][檔名]

 

ls 是『list』的意思,与在早期的 DOS 年代的 dir 类似功能。而参数『-al』则表示列出所有的档案(包含隐藏档,就是档名前面第一个字符为 . 的那种档案)。如上所示,在你第一次以 root 身份登入 Linux 时,如果你输入指令后,应该有上列的几个东西,先解释一下上面七个字段个别的意思:

 

  1. 第一栏代表这个档案的属性:这个地方最需要注意了!仔细看的话,你应该可以发现这一栏其实共有十个属性:

 

  • 第一个属性代表这个档案是『目录、档案或链接文件』:
    • 当为[ d ]则是目录,例如上表的第 11 行;
    • 为[ - ]则是档案,例如上表的第  5 行;
    • 若是[ l ]则表示为连结档(link file);
    • 若是[ b ]则表示为装置文件里面的可供储存的接口设备;
    • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。

 

  • 接下来的属性中,三个为一组,且均为『rwx』的三个参数的组合。其中,[ r ]代表可读、[ w ]代表可写、[ x ]代表可执行:
    • 第一组为『拥有人的权限』,以第五行为例,该档案的拥有人可以读写,但不可执行;
    • 第二组为『同群组的权限』;
    • 第三组为『其他非本群组的权限』。

 
范例:若有一个档案的属性为『-rwxr-xr--』,简单的可由下面说明之:
 

[-][rwx][r-x][r--]
 1  234  567  890
     1 为:代表这个文件名为目录或档案(上面为档案)
    234为:拥有人的权限(上面为可读、可写、可执行)
    567为:同群组用户权力(上面为可读可执行)
    890为:其他用户权力(上面为仅可读)

 
上面的属性情况代表一个档案、这个档案的拥有人可读可写可执行、但同群组的人仅可读与执行,非同群组的使用者仅可读的意思!
 

  • 除此之外,需要特别留意的是 x 这个标号!若文件名为一个目录的时候,例如上表中的 .ssh 这个目录:

 
drwx------    2 root     root         4096 Feb 10 00:44 .ssh
 

可以看到这是一个目录,而且只有 root 可以读写与执行。但是若为底下的样式时,请问非 root 的其他人是否可以进入该目录呢?

 
drwxr--r--    2 root     root         4096 Feb 10 00:44 .ssh
 

咦!似乎好像是可以喔!因为有可读[ r ]存在嘛!『错!』答案是非 root 这个账号的其他使用者均不可进入 .ssh 这个目录,为什么呢?因为 x 与 目录 的关系相当的重要,如果您在该目录底下不能执行任何指令的话,那么自然也就无法执行 ls, cd 等指令,所以啰,也就无法进入了,因此,请特别留意的是,如果您想要开放某个目录让一些人进来的话,请记得将该目录的 x 属性给开放呦
 

  • 另外,你也必须要更加的小心的是,在 Windows 底下一个档案是否具有执行的能力是藉由『附檔名』来执行的,例如:.exe, .bat, .com 等等,但是在 Linux 底下,我们的档案是否能执行,则是藉由是否具有 x 这个属性来决定的!所以,跟档名是没有绝对的关系的!这点还请特别留意呢!


 

  • 第二栏表示为连结占用的节点 (i-node) ( 若为目录时,通常与该目录底下还有多少目录有关 )这部分将在介绍连结 link 档案时 (下一节) 再深入的介绍;
     
  • 第三栏表示这个档案(或目录)的『拥有人』;
     
  • 第四栏表示拥有人的群组;
    这里再次解释一下,在 Linux 中,你的 ID ( 如 root 或 test 等账号均是所谓的 ID ) 即是你的身份,而且你还有附属在一个或多个群组之下,例如刚刚我们上面提到的,你有一个团体 ( 即群组 ) 代号为 testgroup ,且这个群体里有三个人,其代号分别是 test1, test2, 与 test3,则这三个人为同一群组即 testgroup!那么如果以上图的[-rwxrwx---]的文件属性来看,如果该档案属于 test1 所有,那么 test2, test3 亦有读、写、执行的权力,因为他们都属于同一个 group 呀!而如果您不是属于 test1, test2, test3 的任何一个人,也不属于 testgroup 这个群组时,那么您将不具备读、写、执行这个档案的权限了!
     
  • 第五栏为这个档案的大小;
     
  • 第六栏为这个档案的建档日期或者是最近的修改日期,分别为月份、日期及时间。请特别留意,如果您是以繁体中文来进行安装您的 Linux 时,那么预设的语系可能会被改为中文。而由于中文无法显示在文字型态的终端机上面,所以这一栏会成为怪怪的乱码,这个时候,请修改一下 /etc/sysconfig/i18n 这个档案,里面的『 LC_TIME 』修改为:『 LC_TIME=en 』再储存离开,再登入一次,就可以得到英文字形显示的日期了!那么如何修改该档案呢?呵呵!以 root 身份用 vi 修改! ;
     
  • 第七栏为这个档案的档名,如果档名之前多一个『 . 』,则代表这个档案为『隐藏档』,例如上表第 6 行的『.bashrc_history』档名即是隐藏档,由于我们有下一个参数为 ls -al,所以连隐藏档都列出来,如果你只输入 ls 则档名有加『 . 』的档案就不会被显示出来!
     

对于更详细的 ls 用法,还记得怎么查询吗?对啦!使用 man ls 或 info ls 去看看他的基础用法去!自我进修是很重要的,因为『师傅带进门,修行在个人!』,自古只有天才学生,没有天才老师呦!加油吧! ^_^

 

  • 例题一:如果有下面的两个档案: 


-rw-r--r--   1 root     root          238 Jun 18 17:22 test.txt 
-rwxr-xr--   1 test1    testgroup    5238 Jun 19 10:25 ping_tsai
请说明两个档案的拥有者与其相关的权限为何?
答:

    • 档案『 test.txt 』的拥有人为 root ,群组为 root 。至于权限方面则只有 root 这个账号可以存取此档案,其他人则仅能读此档案;
    • 另一个档案『 ping_tsai 』的拥有人为 test1 ,而群组为 testgroup。其中, test1 可以针对此档案具有可读可写可执行的权力,而同群组的 test2, test3 两个人与 test1 同样是 testgroup 的群组账号,则仅可读可执行但不能写 (亦即不能修改),至于非 testgoup 这一个群组的人则仅可以读,不能写也不能执行!

  

  • 例题二:如果我的目录为底下的样式:


drwxr-xr--   1 test1    testgroup    5238 Jun 19 10:25 groups/
请问 testgroup 这个群组的成员与其他人( others )是否可以进入本目录?
答:

    • 档案拥有者 test1 可以在本目录中进行任何工作;
    • 而 testgroup 这个群组的账号,例如 test2, test3 亦可以进入本目录进行工作,但是不能在本目录下进行写入的动作;
    • 至于 other 的权限中虽然有 r ,但是由于没有 x 的权限,因此 others 的使用者,并不能进入此目录!

 

Linux 文件属性的重要性:
与 Windows 系统不一样的是,在 Linux 系统(或者说 Unix-Like 系统)当中,每一个档案都多加了很多的属性进来,尤其是群组的概念,这样有什么用途呢?基本上,最大的用途是在『安全性』上面的。举个简单的例子,在你的 系统中,关于系统服务的档案通常只有 root 才能读写,或者是执行,例如 /etc/shadow这一个账号管理的档案,由于该档案记录了你的系统中的所有账号的数据,因此是很重要的一个信息文件,当然不能让任何人读取,只有 root 才能够来读取啰!所以该档案的属性就会成为 [ -rw------- ]啰!
 
那么,如果你有一个开发团队,在你的团对中,你希望每个人都可以使用某一些目录下的档案,而非你的团队的其他人则不予以开放呢?以上面的例子来说,testgroup 的团队共有三个人,分别是 test1, test2, test3 !那么我就可以将 test1 的文件属性订为 [ -rwxrwx--- ]来提供给 testgroup 的工作团队使用啰!这可是相当重要的。
 
再举个例子来说,如果你的目录权限没有作好的话,可能造成其他人都可以在你的系统上面乱搞啰!例如本来只有 root 才能做的开关机、ADSL 的拨接程序、新增或删除用户等等的指令,若被你改成任何人都可以执行的话,那么如果使用者不小心给你重新启动啦!重新拨接啦!等等的!那么你的系统不就 会常常莫名其妙的挂掉啰!而且万一你的用户的密码被其他不明人士取得的话,只要他登入你的系统就可以轻而易举的执行一些 root 的工作!可怕吧!因此,在你修改你的 linux 档案与目录的属性之前,一定要先搞清楚,什么是可变的,什么是不可变的!千万注意啰!

如何改变档案权限

chgrp :改变档案所属群组
chown :改变档案所属人
chmod :改变档案的属性、 SUID 、等等的特性

 

l  改变所属群组, chgrp:
改变一个档案的群组也真是很简单的,直接以 chgrp 来改变即可,咦!这个指令就是 change group 的缩写嘛!对啦!这样就很好记了吧! ^_^。不过,请记得,要改变成为的组名必须要在 /etc/group 里面存在的名字才行,否则就会显示错误!例如底下的例子中,我们要将 tmp 的群组改变一下,其中, users 这个群组本身已经存在 /etc/group 当中了,但是 testing 这个群组名字就不存在 /etc/group 当中,所以就会有错误讯息发生啦!

语法:
chgrp 组名 档案或目录

范例:
[root@test root]# chgrp users tmp
[root@test root]# ls –l
drwx------    2 root     root         4096 Oct 19 11:43 drakx/
drwx------    2 root     users        4096 Oct 19 21:24 tmp/
[root@test root]# chgrp testing tmp
chgrp: invalid group name `testing'   <==发生错误讯息啰!

  • 改变档案拥有者, chown:
    好了,那么如何改变一个档案的拥有者呢?很简单呀!既然改变群组是 change group ,那么改变拥有者就是 change owner 啰!BINGO,对啦!那就是 chown 这个指令的用途,要注意的是,用户必须是已经存在系统中的,也就是在 /etc/passwd 这个档案中有纪录的用户名称才行改变。 chown 的用途还满多的,他还可以顺便直接修改群组的名称呢!此外,如果要连目录下的所有次目录或档案同时更改档案拥有者的话,直接加上 –R 的参数即可!我们来看看语法与范例:

语法:
chown [ -R ] 账号名称 档案或目录
chown [ -R ] 账号名称:组名 档案或目录

范例:
[root@test root]# chown test tmp
[root@test root]# ls -l
total 28
drwx------    2 root     root         4096 Oct 19 11:43 drakx/
drwx------    2 test     users        4096 Oct 19 21:24 tmp/
[root@test root]# chown –R root:root tmp 
[root@test root]# ls –l
drwx------    2 root     root         4096 Oct 19 11:43 drakx/
drwx------    2 root     root         4096 Oct 19 21:24 tmp/

 
嗯!知道如何改变档案的群组与拥有者了,那么什么时候要使用 chown 或 chgrp 呢?!或许您会觉得奇怪吧?!是的,确实有时候需要变更档案的拥有者的,最常见的例子就是在 copy 档案给你之外的其他人时,我们使用最简单的 cp 来说明好了,

语法:
cp 来源档案 目标文件

  假设您今天要将 .bashrc 这个档案拷贝成为 .bashrc_test ,且是要给 test 这个人,您可以这样做:

[root@test root]# cp .bashrc .bashrc_test
[root@test root]# ls –al .bashrc*
-rw-r--r--    1 root     root          226 Feb 16  2002 .bashrc
-rw-r--r--    1 root     root          226 Oct 21 14:24 .bashrc_test

  哇!怎么办? .bashrc_test 还是属于 root 所有,如此一来,即使你将档案拿给 test 这个使用者了,那他仍然无法修改的( 看属性就知道了吧! ),所以你就必须要将这个档案的拥有者与群组修改一下啰!知道如何修改了吧!?呵呵!
 


  • 改变九个属性 ( chmod ):
     
    数字类型改变档案权限
    其实, Linux 档案的属性不只九个呦!不过这里不打算写的太复杂!先说一些简单的,较难的以后有空再说吧!先复习一下刚刚上面说的:
     

-rwxrwxrwx

 
这九个属性是三个三个一组的!其中,我们可以使用数字来代表各个属性,各属性的对照表如下:
 

r:4
w:2
x:1
 

由于同一组的数字是相加的!例如当属性为 [ -rwxrwx--- ] 则是:
 

owner  = rwx  = 4+2+1 = 7
group  = rwx  = 4+2+1 = 7
others = ---  = 0+0+0 = 0

 
所以,这样的属性造成的数值就是 770 啰!而更改属性的指令为 chmod,他的语法为:


 

语法:
chmod [-R] xyz 档案或目录
xyz 为同三组 rwx 属性数值的相加


举例来说,如果要将 .bashrc 这个档案所有的属性都打开,那么就下达:


 

[root@test root]# ls –al .bashrc
-rw-r--r--    1 root     root          226 Feb 16  2002 .bashrc
[root@test root]# chmod 777 .bashrc
[root@test root]# ls –al .bashrc
-rwxrwxrwx    1 root     root          226 Feb 16  2002 .bashrc

 
看到了吗?属性改变了喔!由于一个档案有三组属性,所以你可以发现上面 777 为三组,而由于我们将所有的属性都打开,所以数字都相加,亦即『r+w+x = 4+2+1 = 7』。
 
那如果要将属性变成『 -rwxr-xr-- 』呢?那么就成为 [4+2+1][4+0+1][4+0+0]=754 啰!所以你需要下达 chmod 754 filename。最
 
常发生的一个问题就是,常常我们以 vi 编辑一个 shell 的文本文件后,他的属性通常是 -rw-rw-rw- 也就是 666 的属性,如果要将他变成可执行文件,并且不要让其他人修改此一档案的话,那么就需要 -rwxr-xr-x 这一个 755 的属性,所以 chmod 755 test.sh 就需要这样做啰!

另外,有些档案你不希望被其他人看到,例如 -rwxr-----,那么就下达 chmod 740 filename 吧!

符号类型改变档案型态
还有一个改变属性的方法呦!从之前的介绍中我们可以发现,基本上就九个属性分别是(1)user (2)group (3)others 三群啦!那么我们就可以藉由 u, g, o 来代表三群的属性!此外, a 则代表 all 亦即全部的三群!那么读写的属性就可以写成了 r, w, x 啰!也就是可以使用底下的方式来看:

chmod

u
g
o
a

+(加入)
-(除去)
=(设定)

r
w
x

档案或目录

  来实作一下吧!假如我们要『设定』一个档案的属性为『-rwxr-xr-x』时,基本上就是:
 

  • u:   具有可读、写、执行
  • g 与 o:  具有读与执行

 
所以就是:

[root@test root]# chmod u=rwx,og=rx .bashrc
[root@test root]# ls –al .bashrc
-rwxr-xr-x    1 root     root          226 Feb 16  2002 .bashrc

 
请注意, r=rwx,og=rx 这一段文字之间并没有空格符隔开呦!不要搞错啰!那么假如是『 -rwxr-xr-- 』?可以使用『 chmod u=rwx,g=rx,o=r filename 』来设定。此外,如果我不知道原先的文件属性,而我只想要增加 .bashrc 这个档案的每个人均可写入的权限,那么我就可以使用:


 

[root@test root]# ls –al .bashrc
-rwxr-xr-x    1 root     root          226 Feb 16  2002 .bashrc
[root@test root]# chmod a+w .bashrc
[root@test root]# ls –al .bashrc
-rwxrwxrwx    1 root     root          226 Feb 16  2002 .bashrc*

 
而如果是要将属性去掉而不更动其他的属性呢?!例如要拿掉所有人的 x 的属性,则


 

[root@test root]# chmod a-x .bashrc
[root@test root]# ls –al .bashrc
-rw-rw-rw-    1 root     root          226 Feb 16  2002 .bashrc

 


知道 +, -, = 的不同点了吗?对啦! + 与 – 的状态下,只要是没有指定到的项目,则该属性『不会被变动』,例如上面的例子中,由于仅以 – 拿掉 x 则其他两个保持当时的值不变!呵呵!多多实作一下,你就会知道如何改变属性啰!

Linux 目录配置:

在 Linux 系统的默认状态下,你在根目录中输入『 ls -l 』应该可以看到如下的画面:

[vbird@tsai vbird ]$ cd /
[vbird@tsai /]$ ls -l
total 153
drwxr-xr-x    2 root     root         4096 Feb 10 02:06 bin
drwxr-xr-x    3 root     root         4096 Feb 10 00:05 boot
drwxr-xr-x   17 root     root        77824 Feb 11 14:45 dev
drwxr-xr-x   41 root     root         4096 Feb 16 15:18 etc
drwxr-xr-x    8 root     root         1024 Feb  9 22:44 home
drwxr-xr-x    2 root     root         4096 Jun 22  2001 initrd
drwxr-xr-x    6 root     root         4096 Feb 10 02:12 lib
drwxr-xr-x    2 root     root        16384 Feb 10 05:35 lost+found
drwxr-xr-x    2 root     root         4096 Aug 30 00:10 misc
drwxr-xr-x    3 root     root         4096 Feb  9 22:05 mnt
drwxr-xr-x    2 root     root         4096 Aug 24  1999 opt
dr-xr-xr-x  102 root     root            0 Feb 11 22:45 proc
drwx------    4 root     root         4096 Feb 16 15:25 root
drwxr-xr-x    2 root     root         4096 Feb 14 21:28 sbin
drwxrwxrwt    2 root     root         4096 Feb 16 15:40 tmp
drwxr-xr-x   16 root     root         4096 Feb 10 01:28 usr
drwxr-xr-x   20 root     root         4096 Feb 14 21:41 var

 
由属性的角度来看,上面的档名每个都是『目录名称』,较为特殊的是 root ,由于 root 这个目录是管理员 root 的家目录,这个家目录可重要了!所以一定要设定成较为严密的 700 ( rwx------ )这个属性才行吶!如果以较为完整的树状目录来视察的话,可以将整个 Linux 的树状目录会制程下图:

 

请注意,每个目录都是依附在 / 这个根目录底下的,所以我们在安装的时候一定要有一个 / 对应的 partition 才能安装的原因即在于此!这也就是我们俗称的『树状目录』啰!
 
每个目录的大致内容如下表所示:

 

/bin

这是放例如: ls, mv, rm, mkdir, rmdir, gzip, tar, telnet, 及 ftp等等常用的执行档的地方(这些执行档的执行方法会在后面提到),有时候这个

目录的内容与 /usr/bin 是一样的(有时候甚至会使用连结档哩),是给一般

用户使用的执行程序放置的所在!

/boot

没错,这里就是放置你 Linux 核心与开机相关档案的地方,这个目录底下的 vmlinuz-xxx 就是 Linux 的 Kernel 啦!粉重要的东西!而如果你的开机管理程序选择 grub 的话,那么这个目录内还有 /boot/grub 这个次目录呦!

/dev

摆放一些与装置有关的档案。基本上 Unix 或 Linux 系统均把装置当成是一个档案来看待,例如 /dev/fd0 代表软盘,亦即 Windows 系统下的 A 槽,而 /dev/cdrom 则代表光盘,等等!而如上所述,在这个目录底下的档案型态通常分为两种喔,分别是管理磁盘 Input/Output 的 Block 档案与周边的 Character 档案。

/etc

系统在开机过程中需要读取的档案均在这个目录中,例如 Lilo 的参数、人员的账号与密码、系统的主要设定、http 架站的参数内容、你所要开启的服务项目等等都在这个目录中,所以在这个目录下工作的时候,请记得一定要备份,否则档案被改掉了可是很麻烦的!

/etc/rc.d

这个路径主要在记录一些开关机过程中的 scripts 档案, scripts 有点像是 DOS 下的批处理文件(.bat檔名)

/etc/rc.d/init.d

所以服务预设的启动 scripts 都是放在这里的,例如要启动与关闭 iptables 的话,可以: 
/etc/rc.d/init.d/iptables start
/etc/rc.d/init.d/iptables stop

/etc/xinetd.d

这个路径在较新的 Linux distribution 当中才有,由于早期的版本用来开启服务的档案是 inetd.conf ,但是在较新的版本中,开启服务的项目已经变成使用 xinetd.conf 这个档案,因此,你若需要启动一些额外的服务的话,在 Mandrake 9.0 或者是 Red Hat 7.0 以后就要到 /etc/xinetd.d 这个目录下了。

/etc/X11

这是与 X windows 有关的配置文件所在的目录,尤其里面的 XF86Config-4 更是重要呢!

/home

基本上,这是系统默认的用户的家目录( home directory ),在你新增一般使用者账号的时候,默认的用户家目录都在这里设定好啰!

/lib

在 Linux 执行或编译一些程序的时候,均会使用到一些函式库(library),就在这个目录下

/lost+found

系统不正常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。例如你加装一棵硬盘于 /disk 中,那在这个目录下就会自动产生一个这样的目录 /disk/lost+found

/mnt

这是软盘与光盘默认挂载点的地方;通常软盘挂在 /mnt/floppy 下,而光盘挂在 /mnt/cdrom 下,不过也不一定啦!只要你高兴,随便找一个地方来挂载也可以呀!

/proc

系统核心与执行程序的一些信息。例如你的网络状态的问题啦!这个目录将在启动 Linux 的时候自动的被挂上,而且该目录底下不会占去硬盘空间!因为里面都是『内存』内的数据啦

/root

系统管理员的家目录

/sbin

放置一些系统管理常用的程序,例如: fdisk, mke2fs, fsck, mkswap, mount 等等。与 /bin 不太一样的地方,这个目录下的程序通常是给 root 等系统管理员使用的程序喔!

/tmp

这是让一般使用者暂时存放档案的地方,例如你在安装 Linux 下的软件时,可能软件默认的工作目录就是 /tmp ,所以你要定期的清理一下,当然,重要数据最好不要放在这里!

/usr

这是最重要的一个目录了,里面含有相当多的系统信息,内有许多目录,用来存放程序与指令等等。这个目录有点像是 Windows 底下的『Program Files』那个目录说~

/usr/bin

放置可执行程序,如前所说,这个目录的档案与 /bin 几乎是相同的。

/usr/include

一些套件的header檔。基本上,当我们在以 tarball 方式( *.tar.gz 的方式安装软件)安装某些数据时,会使用到的一些函式库都在这个目录底下喔!

/usr/lib

内含许多程序与子程序所需的函式库。

/usr/local

在你安装完了 Linux 之后,基本上所有的配备你都有了,但是软件总是可以升级的,例如你要升级你的 proxy 服务,则通常软件默认的安装地方就是在 /usr/local 中( local 是『当地』的意思),同时,安装完毕之后所得到的执行文件,为了与系统原先的执行文件有分别,因此升级后的执行档通常摆在 /usr/local/bin 这个地方。 

给个建议啦,通常 VBird 都会将后来才安装上去的软件放置在这里,因为便于管理呦!

/usr/sbin

放置管理者使用程序,与 /sbin 类似的功能

/usr/share/doc

放置一些系统说明文件的地方,例如你安装了 lilo 了,那么在该目录底下找一找,就可以查到 lilo 的说明文件了!很是便利!

/usr/share/man

放置一些程序的说明文件的地方,那是什么?呵呵!就是你使用 man 的时候,会去查询的路径呀!例如你使用 man ls 这个指令时,就会查出 /usr/share/man/man1/ls.1.bz2 这个说明档的内容啰!

/usr/src

这是放置核心原始码的默认目录,未来我们要编译核心的时候,就必须到这个目录底下呦!

/usr/X11R6

X Window System存放相关档案的目录

/var

这个目录可就重要了!所有服务的登录文件或错误讯息档案(log files)都在 /var/log 里面,此外,一些数据库如 MySQL 的数据库则在 /var/lib 里头,此外,使用者未读邮件邮件的预设放置地点为 /var/spool/mail !呵呵!你说重不重要呀!?

 

  • 需要注意的目录


在 Linux 系统中,有几个目录是特别需要注意的,以下提供几个需要注意的目录,以及默认相关的用途:
 

    • /etc:这个目录相当重要,如前所述,你的开机与系统数据文件均在这个目录之下,因此当这个目录被破坏,那你的系统大概也就差不多该死掉了!而在往后的文件中,你会发现我们常常使用这个目录下的 /etc/rc.d/init.d 这个子目录,因为这个 init.d 子目录是开启一些 Linux 系统服务的 scripts (可以想成是 批处理文件 )的地方。而在 /etc/rc.d/rc.local 这个档案是开机的执行档,有点像是旧 Windows 系统下的 autoexec.bat 及 config.sys 檔。所以,如果你有需要在开机加载的服务或执行档案,可以写在这个档案的最后一行,则开机时就会自动帮你加载执行档了!

 

    • /bin, /sbin, /usr/bin, /usr/sbin:这是系统默认的执行文件的放置目录,例如 root 常常使用的 userconf, netconf, perl, gcc, c++ 等等的数据都放在这几个目录中,所以如果你在提示字符下找不到某个执行档时,可以在这四个目录中查一查!其中, /bin, /usr/bin 是给系统用户使用的指令,而 /sbin, /usr/sbin 则是给系统管理员使用的指令!

 

    • /usr/local:这是系统默认的让你安装你后来升级的套件的目录。例如,当你发现有更新的 Web 套件(如 Apache )可以安装,而你又不想以 rpm 的方式升级你的套件,则你可以将 apache 这个套件安装在 /usr/local 底下。安装在这里有个好处,因为目前大家的系统都是差不多的,所以如果你的系统要让别人接管的话,也比较容易上手呀!也比较容易找的到数据喔!因此,如果你有需要的话,通常我都会将 /usr/local/bin 这个路径加到我的 path 中。

 

    • /home:这个是系统将有账号的人口的家目录设置的地方。

 

    • /var:这个路径就重要了!不论是登入、各类服务的问题发生时的记录、以及常态性的服务记录等等的记录目录,所以当你的系统有问题时,就需要来这个目录记录的档案数据中察看问题的所在啰!而 mail 的预设放置也是在这里,所以他是很重要的喔!

 

    • /usr/share/man, /usr/local/man:这两个目录为放置各类套件说明档的地方,例如你如果执行 man man,则系统会自动去找这两个目录下的所有说明文件,如果有相同的数据就会叫出来给你幽!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值