分享

Linux文件目录笔记

 GoTop 2008-05-14
在Linux中,所有的文件与目录都由根目录 / 开始。
反正开头不是 / 就属于相对路径的写法
.:表示当前目录,也可以使用 ./ 来表示。
..:表示上一层目录,也可以 ../ 来表示。
 

目录

应放置的文件内容

/

根目录root/),一般建议在根目录下面只有目录,不要直接有文件。根目录是启动时系统第一个载入的分区,所以,所有启动过程会用到的文件应该都放在这个分区中。举例来说,/etc/bin/dev/lib/sbin5个子目录都应该要与根目录连在一起,不可独立成为某个分区

/bin,
/usr/bin,
/usr/local/bin

除了 /bin之外,/usr/local/bin/usr/bin也是放置“用户可执行的二进制文件的目录”。举例来说,lsmvrmmkdirrmdirgziptarcatcpmount等重要命令都放在这个目录中

/boot

这个目录的主要目的是放置Linux系统启动会用到的文件。启动会用到Linux的核心文件。这个目录下面的文件vmlinuz就是Linux的核心。非常重要。如果引导程序(loader)选择grub,那么这个目录内还有 /boot/grub子目录

/dev

在Linux系统上,任何设备都以文件类型存在于这个目录中。存取这个目录下面的某个文件,就等于存取某个设备。设备又分为字符设备(character device),例如键盘、鼠标等;以及块设备(block device),例如硬盘、光盘等等。在此目录下的文件会多出两个属性,分别是主设备号(major device number)与辅设备号(minor device number)。系统核心就是通过这两个号码来判断设备的。重要的文件有 /dev/null、/dev/tty[1-6]、/dev/ttyS*、/dev/lp*、/dev/hd*、/dev/sd* 等等

/etc

系统主要的设置文件几乎都放在这个目录内,例如人员的账号密码文件、各种服务的起始文件等等。一般来说,这个目录下的各文件属性是可以让一般用户查看的,但只有root有权修改。并且,在此目录下的文件几乎都是ASCII的纯文本文件。不过,FHS建议不要在这个目录中放置可执行文件。比较重要的文件有:/etc/inittab/etc/init.d//etc
/modprobe.conf
/etc/X11/etc/fstab
/etc/sysconfig/ 等等。另外,其下重要的目录有:

·          /etc/init.d/所有服务的默认启动脚本都放在这里,例如要启动或者关闭iptables的话:

/etc/init.d/iptables start

/etc/init.d/iptables stop

 

·          /etc/xinetd.d/:这就是所谓的超级守护程序(super daemon管理的各项服务的设置文件目录。

·          /etc/X11:与X Window有关的各种设置文件都在这里,尤其是xorg.conf或XF86Config这两个X Server的设置文件

/home

这是系统默认的用户家目录(home directory)。在新增一般用户账号时,默认的用户家目录都会放到这里。比较重要的是,家目录有两种代号:

~:表示当前这个用户的家目录,而

~dmtsai:则表示dmtsai的家目录

/lib,
/usr/lib,
/usr/local/lib

系统会使用到的函数库的目录。程序在运行过程中,可能会调用一些额外的功能参数,这需要函数库的协助。这些函数库就放在此处。比较重要的是 /lib/modules目录内会放核心的相关模块

/lost+found

系统出现异常,产生错误时,会将一些遗失的片段放于此目录下,通常这个目录会自动出现在某个分区最顶层的目录下。例如在 /disk中加装硬盘,在这个目录下就会自动产生一个这样的目录: /disk/lost+found

/mnt

/media

这是软盘与光盘的默认载入点;通常软盘挂在 /mnt/floppy下,而光盘挂在 /mnt/cdrom下,不过也不一定。随便找一个地方来载入也可以。另外,当前也规划出另一个 /media的目录。与 /mnt有点类似

/opt

这是给主机额外安装软件所放的目录。举例来说,FC4使用Fedora团体开发的软件,如果今天想要自行安装新的KDE桌面软件,可以将该软件安装在这个目录下。不过,以前的Linux系统中,我们还是习惯放在 /usr/local目录下

/proc

这个目录本身是一个“虚拟文件系统”。它放置的数据都在内存中,例如系统核心、形成信息、外部设备的状态及网络状态等等。因为这个目录下的数据都在内存中,所以本身不占任何硬盘空间。比较重要的文件有/proc/cpuinfo/proc/dma/proc/ interrupts/proc/ioports/proc/net/* 等等

/root

系统管理员(root)的家目录。之所以放在这里,是因为我们提过,系统第一个启动就载入的分区为 /,而我们希望 /root能够与 / 放在同一块分区上

/sbin,
/usr/sbin,
/usr/local/sbin

放一些系统管理员才会用到的执行命令,例如:fdisk、mke2fs、fsck、mkswap、mount等等。与 /bin不太一样的地方是,这几个目录是给root等系统管理用的。但本目录下的执行文件还是可以让一般用户用来“查看”而不能设置

/srv

一些服务启动之后,这些服务所需要取用的数据目录。举例来说,WWW服务器需要的网页数据就可以放在 /srv/www

/tmp

这是让一般用户或者是正在执行的程序临时放置文件的地方。这个目录是任何人都能存取的,所以需要定期清理。当然,重要数据不可放在此目录

/usr

根据FHS规范的第二层内容,在 /usr目录下,包含系统的主要程序、图形界面所需要的文件、额外的函数库、本机自行安装的软件,以及共享的目录与文件等等。事实上,它有点像Windows操作系统中的“Program files”与“WinNT”这两个目录的结合。在此目录下的重要子目录有:

·          /usr/bin, /usr/sbin:一般身份用户与系统管理员可执行的文件放置目录。

·          /usr/includec/c++ 等程序语言的文件头(header)与包含文件(include)放置处,当以tarball方式(*.tar.gz的方式安装软件)安装某些数据时,会使用到里头的许多包含文件。

·          /usr/lib:各应用软件的函数库文件放置目录。

·          /usr/local:本机自行安装的软件默认放置的目录。当前也适用于 /opt目录。在安装完Linux之后,基本上所有的配置都有了,但软件总是可以升级的,例如要升级代理服务,则通常软件默认的安装地方就是在 /usr/locallocal是“当地”的意思),同时,安装完毕之后所得到的执行文件,为了与系统原执行文件有分别,升级后的执行文件通常放在 /usr/local/bin。建议将后来才安装的软件放在这里,便于管理

 

·          /usr/share:共享文件放置的目录,例如下面两个目录:

n             /usr/share/doc:放置一些系统帮助文件的地方,例如安装了grub,那么在该目录下面找一找,就可以查到lilo的帮助文件了。很方便。

n             /usr/share/manmanpage的文件文件目录。就是使用man的时候查询的路径。例如使用man ls命令时,就会查出 /usr/share/ man/man1/ls.1.gz帮助文件的内容。

Ÿ    /usr/srcLinux系统相关的程序代码放置目录,例如 /usr/ src/linux为核心源码。

Ÿ    /usr/X11R6:系统内的X Window System所需的执行文件几乎都放在这里

/var

这个目录也很重要,也是FHS规范的第二层目录内容。它主要放置系统执行过程中经常变化的文件。举例来说,例如缓存(cache)或者是随时更改的登录文件(log file)。此外,某些软件执行过程中会写入的数据库文件,例如MySQL数据库,也都写入这个目录中。很重要。它下面的重要目录有:

·          /var/cache:程序文件在运行过程当中的一些暂存盘。

·          /var/lib:程序执行的过程中,需要使用到的数据文件放置的目录。举例来说,locate数据库与MySQLrpm等数据库系统,都写在这个目录内。

·          /var/log:登录文件放置的目录。很重要。例如 /var/log/ messages就是总管所有登录文件的文件。

·          /var/lock:某些设备具有一次性写入的特点,例如tab(磁带机),此时,为了避免被其他人干扰而破坏正在运行的操作,因此,会将该设备lock(锁)起来,以确定该设备只能被单一程序所用。

·          /var/run:某些程序或者是服务启动后,会将它们的PID放在这个目录下。

·          /var/spool:是一些队列数据存放的地方。举例来说,主机收到电子邮件后,就会放到 /var/spool/mail中,若信件暂时发不出去,就会放到 /var/spool/mqueue目录下,用户工作任务分配(cron)则是放在 /var/spool/cron

 
cd是Change Directory(改变目录)的缩写,这是用来切换工作目录的命令。
 
pwd是Print Working Directory(显示工作目录)的缩写,也就是显示当前所在目录,
加上pwd -P的参数后,会不以连接文件的数据显示,而是显示正确的完整路径。
 
mkdir(make directory,生成目录)。请注意,在默认情况下,目录需要一层一层的建立。
就是加上 -p参数。直接使用命令:“mkdir -p /home/bird/testing/test1”,系统会自动帮你将 /home、/home/bird、/home/bird/testing按顺序建立起目录。并且,如果该目录本来就已经存在时,系统也不会显示错误信息。
 -m强制给一个新目录相关的属性,例如上面的列表中,通过 -m 711给新目录赋予drwx--x--x属性。
 
rmdir(删除“空”目录)
目录需要一层一层删除才行。而且被删除的目录里,必定不能有其他目录或文件。这也是空目录(empty directory)的含义。如果要将所有目录下的东西都删除,就必须使用rm -rf test。
 
在执行命令时,系统会按照PATH的设置,去每个PATH定义的路径下搜索执行文件,先搜索到的命令先执行。
 
 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多