一linux系统结构


1. linux系统结构是倒树型


wKiom1b33OvieNrfAAGt_-7FMP8089.jpg

2.系统挂载相关

     Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了。分区在Linux和其他设备一样都只是一个文件。要使用一个分区必须把它加载到文件系统中。这可能难于理解,继续往下看。
Linux中树形的文件结构,最顶层是/ 目录。在安装系统时,你必须选择把一个主分区挂载在/ 目录下,因为系统需要安装在/挂载的主分区下。否则系统会提示你。这里又一次提到了挂载。所以挂载就是把目录和分区连接起来,和上面说的WINDOWS下的映射关系是一样的。不同的是WINDOWS是把分区映射到一个盘符,而LINUX下是映射到一个目录。 这是理解他们不同最重要的地方,而导致不同的是因为文件系统结构不同。
上面说了Linux的文件系统是树形的,安装的系统必须是在/ 目录下,因为/目录下挂载了一个主分区。/目录是树形的根,其他所有目录都是他的子节点。 我们安装系统的时候已经把分区1挂载到 / 目录下了. 而这个时候没有挂载其他任何分区,所以/ 目录下的所有其他目录都在这个分区下,也就是说,我在任何目录下读写操作实际都是操作的这个1号分区。如果我们想使用其他分区,就必须把这个分区挂载到一个目录下,这个目录可以是已经存在的目录,比如/home,也可以是我们自己建立的目录,比如/oracle。当然有些目录比如/lib, /dev, /etc, /usr这些都不能挂载其他分区,因为他们都存放着系统需要的文件,一旦被挂载其他分区,那没OS就无法找到所需的文件,系统就会崩溃。比如我们把分区2挂载到/usr/X11目录下时,系统就无法通过X11目录找到分区1上的文件,这个时候系统图形界面就无法使用了. 虽然文件还在硬盘上。前面说过,目录 --- 分区 是通过挂载吧他们联系起来。你更换了分区,也就破坏了联系,就无法在找到之前的文件了。我们在看分区5和分区6,我们把它挂载到/home/ftp 和 /oracle目录下,这个时候我们在操作这2个目录是,就是操作对用的分区了.
        而WINDOWS就没这么复杂,她不是采用树形的结构,每个分区对应一个盘符,一旦建立映射关系就无法在修改。实际上,LINUX的每个挂载了分区的目录就相当于WINDOWS系统中的盘符,比如上面的,/home/ftp 和 /oracle目录我们就可以把她看做一个盘符和一个分区关联,只是因为LINUX文件系统,使得她更加灵活,所以也更复杂和难以理解。
df 命令可以查看分区挂载情况, fdisk 命令可以查看系统分区情况。
LINUX下所有设备都被认为是文件,而/dev目录存放所有系统设备文件的,而一个分区就是一个文件,名字就是分区的名字.
2.1、通过mount挂载文件 来挂载磁盘分区(或存储设备)
mount挂载文件  [-t  文件系统 ]  [-o  选项]  设备  目录
-t 通过这个参数,我们来指定文件系统的类型,一般的情况下不必指定有时也能识别
-o 这个选项,主要选项有权限、用户、磁盘限额、语言编码等
设备 指存储设备,比如/dev/hda1, /dev/sda1 ,cdrom 等...至于您的系统中有哪些存储设备,主要通过 fdisk -l 或者查看 /etc/fstab 或 dmesg ;一般的情况下光驱设备是/dev/cdrom ;软驱设备是/dev/fd0 ;硬盘及移动硬盘以 fdisk -l 的输出为准;
2.1.1)对光驱和软驱的挂载;
我们先建一个目录,然后执行Linux mount挂载文件 命令,这样cdrom 就挂在 /mnt/cdrom 中了;我们就可以在/mnt/cdrom 中查看光盘中资料和文件;这个目录您想怎么建就怎么建。用什么目录不是最重要的。重要的是您知道自己在做什么就行了。比如我们也可以把这个目录建成 dvdrom ;然后用 Linux mount挂载文件 /dev/cdrom /mnt/dvdrom 来挂载;
2.1.2)挂载硬盘和移动硬盘的文件系统;
一个分区只有创建了文件系统后才能使用,前面我们说过了,我们在Linux大多用的是ext2 、ext3、reiserfs、fat32、msdos 、ntfs等;
[1]挂载Linux文件系统;
首先我们得建一个文件系统挂载的目录;我们前面已经提到了;一个有文件系统的分区要挂到系统中,必须要有一个挂载点;这个挂载点就是一个目录;比如我们通过fdisk -l 得知hda5 是Linux分区,并且创建了文件系统,比如是reiserfs 文件系统吧;
步骤:
先创建一个挂载目录;比如/mnt/hda5
设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入; 
通过-t reiserfs 来指定/dev/hda5是reiserfs 文件系统, 并且挂载到/mnt/hda5目录; 
假如我们不知道hda5上reiserfs 文件系统,我们可以用 -t auto 让系统定夺,然后挂载到/mnt/hda5  
不加任何参数,直接 Linux mount挂载文件   /dev/hda5 到/mnt/hda5;系统自动判断分区文件系统; 
通过df -lh 来查看是不是被挂载了;

 

3.linux根目录

/bin     ##二进制可执行文件也就是系统命令

/sbin    ##系统管理命令存放位置

/boot    ##启动分区,负责系统启动

/dev     ##设备管理文件

/etc     ##大多数系统管理文件

/home    ##普通用户的家目录

/lib     ##32位系统库文件存放位置             

/lib64   ##64位系统库文件存放位置

/media   ##系统临时设备挂载点

/mnt     ##系统临时设备挂载点

/run     ##系统临时设备挂载点

/opt     ##第三方软件安装位置

/proc    ##系统信息

/root    ##超级用户家目录

/srv/var     ##系统数据

/sys     ##系统管理,主要是关于内核的

/tmp     ##系统临时文件存放位置   

/usr     ##系统用户相关信息数据及用户自定义软件存放位置

 

4.系统文件路径

   4.1绝对路径

     文件在系统的真实位置,文件名字以“/”开头

   4.2相对路径

     文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值


5.命令

 5.1 pwd      ##显示但前在系统的位置  print work directory

 5.2 cd       ##chage directory ##进入目标目录中

 5.3 ls       ##list列出目标文件,或者列出目录中的内容

         -a   ##列出所有

         -l   ##列出文件属性

         -s   ##列出文件大小

         -R   ##第归列出

         -d   ##指定目录本身

 5.4  stat file 查看

 5.5  touch   ##新建文件,修改时间:

            -a       change only the access time   

            -m       change only the modification time

            -t STAMP     use [[CC]YY]MMDDhhmm[.ss]  

 5.5 rm -f   #强制删除文件

     rm -fr  #强制删除目录

 5.6  cp  被复制文件  目的地

         -r  ##第归复制,用与复制目录

 5.7  移动:  相同磁盘移动只是重命名

              不同磁盘间是数据的备份重建

    mv    被移动文件    目的地

    mv    老名字        新名字

    mv test/file .     ##test/file移动到当前 

 5.8 mkdir

     make directory    ##建立目录

     -p                ##第归建立目录

 5.9

    .  当前目录

    ~+ 当前目录

    .. 上级目录

    ~- 之前目录

    ~  用户家目录

    username 进入到指定用户家目录