计算机基础与linux文件系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机基础与linux文件系统相关的知识,希望对你有一定的参考价值。
1、描述计算机的组成及其功能。
计算机主要有五个部分组成:
(1)控制器:CPU —>协调计算机各部分工作及内存与外设的访问;
(2)运算器:CPU —>对数据进行运算处理;
(3)存储器: —>存储程序和各种数据
(a)内部存储
内存(RAM):因硬盘与CPU的运算速度差别较大,内存从硬盘中提取数据给CPU,用来提高运算速度,断电后数据会丢失;
(b)外部存储
硬盘、U盘、光驱等(ROM):存储数据,断电后数据不会丢失;
(4)输入设备:键盘、网卡等; 将数据输入电脑中。
(5)输出设备: 显示器、打印机等;将电脑中的数据输出。
2、描述内核功能以及作用:
内核是给应用程序提供接口的程序;是操作系统的核心 ;
主要的作用有:设备管理、硬件驱动管理、网络管理、文件系统管理、内存管理、安全管理等等;
3、按系列罗列常见Linux的发行版,并描述不同发行版之间的联系与区别。
大体主流的Linux发行版主要有三种,Redhat、S.u.S.E、Ubuntu;这三种是属于三个分支:
1、Debian,--->他的二次发行版有Ubuntu,Knopix等,三次发行版流行的有mint,Debian是唯一一支社区发行版,没有商业组织包装发行;
2、Slackware--->他的二次发行版有S.u.S.E(SLES--SUSE Linux企业版),三次发行版流行的有OpenSuse(Suse的社区版),
3、RedHat --->他的二次发行版有Fedora,CentOS原先是参照Redhat发行版重新编译的社区版,后来被RedHat收购,RedHat9.0 后分为两支:
RedHat Enterprise Linux:RHEL----RedHat的企业版,
Fedora Core,RedHat的社区版,每半年发行一次;
4、描述常见的开源协议(GPL,LGPL, BSD,Apache等)以及开源协议的区别
GPL:是GNU General Public License的缩写,即GNU通用公共许可证;它规定了如果一个程序员开发的程序使用了遵循GPL协议的程序中一段代码,那么这个程序也必须要遵循GPL协定,公开源代码;
LGPL:是宽松的GPL协议,采用LGPL的代码,一般情况下它本身就是一个第三方库,这时候开发人员仅仅用到了它的功能,而没有对库本身进行任何修改,那么开发人员也不必公布自己的商业源代码。但是如果你修改了这个库的代码,那么对不起,你修改的代码必须全部开源,并且协议也是LGPL,但除了库源码之外的商业代码,仍不必公布。
BSD:比GPL和LGPL更宽松,即程序员使用了遵循BSD的程序的代码后,这个程序必须遵循三个原则:
a、如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
b、如果再发布的只是二进制和库软件,则需要在软件的文档和版权声明中包含原来代码中的BSD协议。
c、不可以用开源代码的作者、机构名字和原来产品的名字做市场推广。
Apache:和BSD协议类似,如果你修改了代码,需要在被修改的文件中说明。在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
5、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
1、一切皆文件;所有的资源全为文件,包括硬件设备,通信接口等;
2、组合小程序完成复杂任务,由众多功能单一的程序组成;
3、尽理避免跟用户交互,自动化功能强大;
4、所有配置信息皆以文本格式保存;
6、描述linux目录结构以及目录结构命名规定。
linux的目录结构是遵循FHS结构定义的。
FHS----Filesystem Hierarchy Standard (文件系统层级结构标准)
/
#根,文件系统的开始,一切文件皆从根开始;
/etc
#配置文件目录,系统的所有配置文件均保存在此目录下,为单独的层级目录;
/root
#root的家目录
/home
#普通用户的家目录
/dev
#设备文件目录;设务有两种类型 :字符设备(键盘、显示器等)也叫线性设备,有时序的;块设备(硬盘、内存)等,也叫随机设备;
/tmp
#临时文件目录,存在此目录下的文件默认情况下一个月以后删除,所有用户都有执行、写的操作;
/boot
#引导加载器必须用到的各静态文件;例如:kernel、initramfs(initrd)、grub等;
/bin
#二进制程序目录,存放基本命令程序文件
/sbin
#二进制程序目录,存放系统命令程序文件
/usr
#usr—shareable read-only data,可共享的只读数据目录,有独立的层级结构;
/usr/bin
#用户管理命令,附加应用程序的二进制程序
/usr/sbin
#系统管理命令
/usr/lib
#存放基本共享库和内核模块;为/usr/bin和/usr/sbin提供库文件的目录
/usr/lib64
#64位的库文件;
/usr/include
#存放C程序头文件的目录;
/usr/share
#命令手册页和自带文档的等架构特有的文件的存储位置
/usr/local
#目前存放本地或第三方程序的安装目录;为层次目录;
/usr/local/bin
#第三方程序安装文件的命令文件目录;
/usr/local/sbin
#第三方程序的系统管理命令存放目录;
/usr/local/lib
#第三方程序的库文件目录;
/usr/local/lib64
#第三方程序的64位库文件目录;
/usr/local/etc/
##第三方程序的配置文件目录;
/lib
#存放基本共享库和内核模块;为系统启动和/bin、/sbin提供库文件的目录,里面的文件libc.so.*是动态链接的c库,lb*是运行时链接器和加载器;moud
/lib64
#64位系统里的共享库和内核模块;
/var
#经常发生变化的数据文件目录;例如:日志、缓存数据等;
/var/cahe
#存放缓冲程序的数据文件;
/var/lib
#可变状态信息的数据文件存放目录;
/var/local
#/usr/local目录下程序的可变数据存放目录;
/proc
#基于内存的虚拟文件系。用于为内核及进程存储其相关信息,它们多为内核参数。例如:net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward,存储于/proc/sys/,因此其完整路径为/proc/sys/net/ipv4/ip_forward;如果没有程序运行的情况下,目录为空;
/sys
#虚拟文件系统提供了一种比proc更为理想的访问内核 数据的路径,其主要作用在于为管理 linux 设备提供一种统一模型接口。
/media
#挂载目录;挂载便捷式设备,例:光盘,U盘等;
/mnt
#其他文件系统的临时挂载点;
/opt
#第三方附加应用程序的安装目录;非关键目录;
/srv
#为当前系统提供数据的目录;
以上是关于计算机基础与linux文件系统的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段