Linux 档案属性:
熟悉档案
假如您已经安装好了 Linux ,并且已经以 root 的身份登入了这架主机,那接下来要做些啥?我想,你应该先试着了解一下 Linux 的主要档案属性,以免不小心砍了一些重要的档案,或者当以一般使用者身份登入时,产生无法进入一些没有权限之目录的情况!
首先,进入 Linux 之后,你可以如下输入一个可以观看档案属性的指令: ls -al
[root @tsai root]# ls -al -rw-r--r-- 1 root root 1422 Jun 18 17:20 .Xdefaults -rw-r--r-- 1 root root 24 Jun 18 17:20 .bash_logout -rw-r--r-- 1 root root 230 Jun 18 17:20 .bash_profile -rw-r--r-- 1 root root 124 Jun 18 17:20 .bashrc drwxr-xr-x 3 root root 4096 Jun 18 17:20 .kde -rw-r--r-- 1 root root 435 Jun 18 17:20 .kderc -rw-r--r-- 1 root root 3394 Jun 18 17:20 .screenrc drwxr-xr-x 5 root root 4096 Jun 18 17:20 Desktop lrwxrxwrwx 1 root root 10 Jun 18 17:21 link_file - /home/vbird/test -rw-rw-rw- 1 root root 238 Jun 18 17:22 test.txt 第一栏 二 三 四 五 六 七 [档案属性][档案数][拥有者][所有者群组][大小][建档日期][档名]
ls 是『list』的意思,而参数『-al』则表示列出所有的档案(包含隐藏档)。如上所示,在你第一次登入 Linux 时,假如你输入指令后,应该有上列的几个东西,先解释一下上面七个栏位个别的意思:
1.第一栏代表这个档案的属性,仔细看的话,你应该可以发现这一栏其实共有十个属性,第一个属性代表这个档案是『目录、档案或连结档』当为[d]则是目录;为[-]则是档案,若是[l]则表示为连结档(link file)。接下来的属性中,三个为一组,且均为『rwx』的三个参数的组合。其中,[r]代表可读、[w]代表可写、[x]代表可执行,而第一组为『所有人的权限』、第二组为『同群组的权限』、第三组为『其他非本群组的权限』,若有一个档案的属性为『-rwxr-xr--』,简单的可由下面说明之:
[-][rwx][r-x][r--] 1 234 567 890 1 为:代表这个档名为目录或档案(上面为档案) 234为:拥有人的权限(上面为可读、可写、可执行) 567为:同群组使用者权限(上面为可读可执行) 890为:其他使用者权限(上面为仅可读)
2.上面的情况代表一个档案、这个档案的拥有人可读可写可执行、但同群组的人仅可读与执行,非同群组的使用者仅可读的意思!
3.第二栏表示有多少档案在这个目录(若为1则通常为档案);
4.第三栏表示这个档案(或目录)的『拥有人』;
5.第四栏表示拥有人的群组;
这里解释一下,在 Linux 中,你的 ID (如 root 或 vbird 等帐号均是 ID)即是你的身份,而且你还有附属在一个群组之下,例如你有一个团体(即群组)代号为 bird,且这个群体里有四个人,其代号分别是 bird1, bird2, bird3, bird4,则这四个人为同一群组即 bird!若看上面的情况,则代表所有人为 root 且群组为 root (群组与所有人名称可以相同)
6.第五栏为这个档案的大小;
7.第六栏为这个档案的建档日期,分别为月份、日期及时间;
8.第七栏为这个档案的档名,假如档名之前多一个『 . 』,则代表这个档案为『隐藏档』,例如上表第二行的『.Xdefaults』档名即是隐藏档,由于我们有下一个参数为 ls -al,所以连隐藏档都列出来,假如你只输入 ls 则档名有加『 . 』的档案就不会被显示出来!
举个例子来说,假如有下面的两个档案:
-rw-r--r-- 1 root root 238 Jun 18 17:22 test.txt -rwxr-xr-- 1 bird1 bird 5238 Jun 19 10:25 ping_tsai
则档案『 test.txt 』只有 root 可以读写,其他人仅可以读;而另一个档案『 ping_tsai 』所有人 bird1 可读可写可执行,而 bird2, bird3, bird4 这三个与 bird1 同样是 bird 群组的仅可读可执行但不能写(亦即不能修改),至于非 bird 这一个群组的人则仅可以读,不能写也不能执行!
连结档
另一个比较有趣的档案是连结档。假如你经常将应用程式捉到桌面来的话,你就应该知道在 Windows 底下有所谓的『捷径』,你可以将 linux 下的连结档简单的视为一个档案或目录的捷径。但是基本上这两个东西是不一样的!在 Windows 系统的捷径中,你将无法修改主程式,但是在 Linux 中,连结档可以直接连结到主程式,因此你只要改了这个连结档,则主程式亦被改变了!
一些档案的分别
通常在 Linux 底下会有颜色来显示每一种档案型态,主要有底下几种档案型态:
·一般档案:档案的第一个属性显示 - ;
·目录: 假如你只输入 ls -l 来察看档案的时候,可以看到档案第一个属性为 d;
·可执行档:可以看到档案属性会有 x 这个属性;
·压缩档:基本上,只要档案是 .Z .z .gz .zip .tgz 都是压缩档喔!
Linux 档案配置:
假如你是以系统治理员(root)的身份登入这部 Linux 机器,则你的路径应该是在 [root@tsai root]# 底下,这时你可以输入:
[root @tsai root]# cd ..
会回到根目录『/』下,再输入刚刚学过的指令『ls -al』则会看到如下的画面:
[root@tsai /]$ ls -al total 117 drwxr-xr-x 2 root root 4096 May 10 06:50 bin drwxr-xr-x 3 root root 1024 Mar 16 18:37 boot drwxr-xr-x 7 root root 36864 Jul 8 04:02 dev drwxr-xr-x 42 root root 4096 Jul 9 15:21 etc drwxr-xr-x 35 root root 4096 Jul 9 15:20 home drwxr-xr-x 4 root root 4096 Jan 29 22:55 lib drwxr-xr-x 2 root root 16384 Jan 29 22:52 lost+found drwxr-xr-x 6 root root 4096 Mar 27 19:10 mnt drwxr-xr-x 2 root root 4096 Aug 24 1999 opt dr-xr-xr-x 60 root root 0 Jul 1 12:52 proc drwxr-x--- 12 root root 4096 Jun 7 14:21 root drwxr-xr-x 3 root root 4096 May 10 06:50 sbin drwxrwxrwt 6 root root 4096 Jul 11 01:04 tmp drwxr-xr-x 23 root root 4096 Sep 16 2000 usr drwxr-xr-x 23 root root 4096 Jan 29 17:11 var drwxr-xr-x 6 root root 4096 Jan 1 1970 win98se
要说明的是,这里的目录为 RedHat 6.1 的配置,在 RedHat 7.0 中有稍做改变,但其实也是差不多的!底下针对上面几个路径来做说明:
·/bin :这是放例如: ls, mv, rm, mkdir, rmdir, gzip, tar, telnet, 及 FTP 等等常用的执行档的地方(这些执行档的执行方法会在后面提到),而通常这个档案的内容与 /usr/bin 是一样的(有时候甚至会使用连结档哩);
·/boot :记得我们在之前的 多重开机设定 那一部份有提到你的开机档所在位置吧!没错,这里就是放置你 Linux 核心与开机相关档案的地方
·/dev :摆放一些与装置有关的档案。
基本上 Unix 或 Linux 系统均把装置当成是一个档案来看待,例如 /dev/fd0 代表软碟,亦即 Windows 系统下的 A 槽,而 /dev/cdrom 则代表光碟,等等!
·/etc :系统在开机过程中需要读取的档案均在这个目录中,例如 Lilo 的参数、人员的帐号与密码、系统的主要设定、http 架站的参数内容、你所要开启的服务项目等等都在这个目录中,所以在这个目录下工作的时候,请记得一定要备份,否则档案被改掉了可是很麻烦的!
·/etc/rc.d :这个路径主要在记录一些开关机过程中的 scripts 档案, scripts 有点像是 DOS 下的批次档(.bat档名);
·/etc/xinetd.d :这个路径在 RedHat 7.0 以后的版本才有,由于 RedHat 6.1 用来开启服务的档案是 inetd.conf ,但是在 7.0 以后的版本中,开启服务的项目已经变成使用 xinetd.conf 这个档案,因此,你若需要启动一些额外的服务的话,在 7.0 以后就要到 /etc/xinetd.d 这个目录下了;
·/etc/X11 :这是与 X windows 有关的设定档;
·/home :基本上,这是系统预设的使用者的家目录( home Directory ),另外,在 RedHat 6.1 版中,httpd及 ftp 等程式的家目录也在这个目录下!
·/lib :在 Linux 执行或编译核心的时候,均会使用到一些函式库(library),就在这个目录下;
·/lost+fount :系统不正常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。例如你加装一棵硬碟于 /disk 中,那在这个目录下就会自动产生一个这样的目录 /disk/lost+found,这是砍不掉的目录喔;
·/mnt :这是软碟与光碟接挂点的地方;通常软碟挂在 /mnt/floppy 下,而光碟挂在 /mnt/cdrom 下;
·/proc :系统核心与执行程序的一些资讯;
·/root :系统治理员的家目录;
·/sbin :放置一些系统治理常用的程式,例如: fdisk, mke2fs, fsck, mkswap, mount 等等;
·/tmp :这是让一般使用者暂时存放档案的地方,例如你在安装 Linux 下的软体时,可能软体预设的工作目录就是 /tmp ,所以你要定期的清理一下,当然,重要资料最好不要放在这里!
·/usr :这是最重要的一个目录了,里面含有相当多的系统资讯,内有许多目录,用来存放程式与指令;
·/usr/bin :放置可执行程式,如前所说,这个目