计算机基础与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 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

Linux 基础知识 | 文件压缩与解压缩

linux 基础入门 系统服务 systemctl 与 xinted的运用

装机预备技能,命令行基础,目录和文件管理-云计算学习

Linux和安卓具体是存在啥关系

Linux系统介绍与环境搭建准备