2020-11-27

代码目录与linux目录以及手机内部的目录的区别,并说明linux根目录文件夹所遵循的规则

1.linux的几个目录说明

首先我们得知道几个目录的区别:1:linux根目录,2:咱们的代码目录(比如咱们打开一套安卓系统的代码,下面的目录),3:整个机器连接上adb 以后ls所看到的目录。

最开始我傻的认为咱们的代码目录就是Linux根目录,遵循的就是liunx的一些规则!其实我这么想对了后半句,确实式遵循linux的规则。为什么这么说呢!!因为我们的代码是安卓系统,而安卓系统就是一种基于linux的自由及开放源代码的操作系统。所以当然遵循linux的一些规则了。

而咱们整个机器里面的目录呢!这个目录基本上是跟代码的out\target\product\hi3630下的目录一样的!

2:Linux文件目录的规则产生缘由:

为了防止出现各个公司所开发的软件无法移植兼容使用,诞生了FHS机构,对linux做一些基本要求,希望使用者可以了解到已安装的软件通常放置在那个目录下!!所以希望所有的开发着,操作者都遵循FHS标准。总体上的标准如下图:

在这里插入图片描述

对上述关键词的解释:

1.可分享的:

可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据, 是能够分享给网络上其他主机挂载用的目录;

2.不可分享的:

自己机器上面运作的装置文件或者是与程序有关的socket文件等, 由于仅与自身机器有关,所以当然就不适合分享给其他主机了。

3.不变的:

有些数据是不会经常变动的,跟随着distribution而不变动。 例如函式库、文件说明文件、系统管理员所管理的主机服务配置文件等等;

4.可变动的:

经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等。

事实上,FHS针对目录树架构仅定义出三层目录底下应该放置什么数据而已,分别是底下这三个目录的定义:

/ (root, 根目录):与开机系统有关;

/usr (unix
software resource):与软件安装/执行有关;

/var
(variable):与系统运作过程有关。

根目录的意义

根目录跟系统软件的开机/还原/系统修复等动作有关,由于系统开机时需要特定的开机软件,核心软件,开机所需的程序,函式库等,若系统错误,根目录也得会修复。因此FHS机构要求哥们不睦不能放太大的分区,因为越大,东西就越多,越容易出错!说白了就是希望根目录下文件夹少一些,就像我们的c盘一样,一般不会直接将软件安装在c盘的根目录下。

3:根目录下的子目录规则:

/bin:放置执行档的目录,在bin下的指令式在单人维护模式下还能够被操作的指令。也可以被root与一般账号所使用,主要有cat,chmod,chown,date,mv,mkdir,cp,bash等常用的指令。

/boot:主要放置开机会使用的档案。包括Linux核心档案以及开机选单与开机所需设定档等等。Linux kernel常用的档名为:vmlinuz ,如果使用的是grub这个开机管理程式,则还会存在/boot/grub/这个目录。

/dev: 在Linux系统上,任何装置与周边设备都是以档案的型态存在于这个目录当中。
只要通过存取这个目录下的某个档案,就等于存取某个装置。比要重要的档案有/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等。

/etc:系统主要的设定档几乎都放置在这个目录内,例如人员的帐号密码档、各种服务的启始档等等。
一般来说,这个目录下的各档案属性是可以让一般使用者查阅的,但是只有root有权力修改。

/home:用户目录的默认位置,也就是linux的家目录。比如新增的账号就是在此目录下。

/lib:放置的则是在开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库。什么是函式库呢?妳可以将他想成是外挂,某些指令必须要有这些外挂才能够顺利完成程式的执行之意。
尤其重要的是/lib/modules/这个目录,因为该目录会放置核心相关的模组(驱动程式)。

/media:这个目录看单词意思就知道了,放置的就是可移除的装置。 包括软碟、光碟、DVD等等装置都暂时挂载于此。
常见的档名有:/media/floppy, /media/cdrom等等。

/mnt:如果妳想要暂时挂载某些额外的装置,一般建议妳可以放置到这个目录中。在古早时候,这个目录的用途与/media相同啦。 只是有了/media之后,这个目录就用来暂时挂载用了。

/opt:这个是给第三方协力软体放置的目录 。 什么是第三方协力软体啊?举例来说,KDE这个桌面管理系统是一个独立的计画,不过他可以安装到Linux系统中,因此KDE的软体就建议放置到此目录下了。
另外,如果妳想要自行安装额外的软体(非原本的distribution提供的),那么也能够将你的软体安装到这里来。
不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下。

/root:系统管理员(root)的家目录。 之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分区中。

/sbin:Linux有非常多指令是用来设定系统环境的,这些指令只有root才能够利用来设定系统,其他使用者最多只能用来查询而已。放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。至于某些伺服器软体程式,一般则放置到/usr/sbin/当中。至于本机自行安装的软体所产生的系统执行档(system binary),则放置到/usr/local/sbin/当中了。常见的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。

/srv:srv可以视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。
常见的服务例如WWW, FTP等等。
举例来说,WWW伺服器需要的网页资料就可以放置在/srv/www/里面。

/tmp:这是让一般使用者或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要资料不可放置在此目录啊。 因为FHS甚至建议在开机时,应该要将/tmp下的资料都删除。

/sys: 是一个虚拟的档案系统,主要也是记录与核心相关的资讯。 包括目前已载入的核心模组与核心侦测到的硬体装置资讯等等。 这个目录不占硬盘容量。

/lost+found:
这个目录是使用标准的ext2/ext3档案系统格式才会产生的一个目录,目的在于当档案系统发生错误时,将一些遗失的片段放置到这个目录下。
这个目录通常会在分割槽的最顶层存在,例如你加装一个硬盘于/disk中,那在这个系统下就会自动产生一个这样的目录/disk/lost+found.

/proc: 这个目录本身是一个虚拟文件系统(virtual filesystem)喔。 他放置的资料都是在内存当中,例如系统核心、行程资讯(process)(是进程吗?)、周边装置的状态及网络状态等等。因为这个目录下的资料都是在记忆体(内存)当中,所以本身不占任何硬盘空间。比较重要的档案(目录)例如: /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports,
/proc/net/*等等。

4:这几个目录的说明

linux根目录:当我们连接上一个linux服务器以后,一直cd …。到发现前面的目录只剩下/的时候就是linux的根目录了。ls就能查看到上述所说的各个目录。
家目录: 在linux根目录下有一个home的文件夹,该文件夹就是你的家目录,每次新建立的账号就在此目录下。
代码目录:(也就是安卓目录)在家目录下打开里面某一个项目的代码,这个目录就是安卓的代码的目录。
在此完结了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值