linux总结
Linux简介
Linux是一套免费使用和自由传播的开放源码的类Unix操作系统。
是一个多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的UNIX工具软件、应用程序和网络协议。
它支持32位和64位硬件。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机
多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能
linux内核:内核它负责管理系统的进程、内存、设备驱动程序、文件和网络系统等是操作系统的核心,操作系统则是linux内核再加上像shell或图形界面和其他的实用软件
Linux和unix:
Unix出现最早,linux和linux都是参考unix开发的,UNIX 是商业软件,而 Linux 是开源软件
linux代码语言:Linux内核大部分是用C语言编写的,还有部分是用汇编语言写的,Linux的一些组件系统和附加应用程序是用C、C++、Python、perl等语言写的。
linux发行版概述
Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本
前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。
Redhat系列:
包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。
特点就是使用人群数量大,资料非常多
Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,最好只用于桌面应用。
Debian系列
包括Debian和Ubuntu等,Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。
Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。Debian的资 料也很丰富,有很多支持的社区
Ubuntu
Ubuntu是基于Debian的unstable版本加强而来,可以这么说,Ubuntu就是 一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。
特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。
CentOS
主流:
目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS
免费:
RedHat 和CentOS差别不大,基于Red Hat Linux 提供的可自由使用源代码的企业CentOS是一个级Linux发行版本
更新方便:
CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!
linux目录介绍
/:根目录
bin (binaries)存放二进制可执行文件,linux常用的命令目录
boot 存放用于系统引导时使用的各种文件
dev (devices)用于存放设备文件,包含了所有linux系统中使用的外部设备。
sbin (super user binaries)存放二进制可执行文件,只有root才能访问
etc:(Editable Text Configuration可编辑文本配置)各种配置文件
home 存放用户文件的根目录,如果建立一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。
lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
media:有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。
mnt:这个目录一般是用于存放挂载储存设备的挂载目录的
opt:这里主要存放那些可选的程序。
proc:可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。
root 超级用户目录
run:里面的东西是系统运行时需要的
sbin:System Binary。大多是涉及系统管理的命令的存放,是root的可执行命令存放地
srv: 服务启动后,所需访问的数据目录
sys :查看和设定内核参数功能之外,还有为 Linux 统一设备模型作为管理之用。
tmp (temporary)临时文件目录,用来存放不同程序执行时产生的临时文件。
usr: (Unix System Resource) 这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。比如安装jdk,tomcat
var:这个目录的内容是经常变动的,看名字就知道,可以理解为vary的缩写,比如log日志
修改网卡的目录:/etc/sysconfig/network-scripts
修改环境变量的目录:/etc/profile
修改主机名的目录:/etc/sysconfig/network
使用:
在home路径下创建自己的路径存放tomcat,例如:
/home/fifedu/kyxl/server/stat-consumer-6001
日志文件可以放到usr目录下,例如:
/usr/fifedu/kyxl/logs
自己安装的软件可以放在usr下,例如:
/usr/local/bin
usr目录介绍
usr:全称 Unix System Resource指unix 系统资源”,要用到的应用程序和文件几乎都在这个目录
/usr/X11R6 存放X window的目录
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库
内核空间和用户空间
Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间。
一部分核心软件独立于普通应用程序,运行在较高的特权级别上,它们驻留在被保护的内存空间上,拥有访问硬件设备的所有权限,Linux将此称为内核空间。
内核空间可以访问受保护的内存空间
运行在用户空间的应用程序只能看到允许它们使用的部分系统资源,也不能直接访问内核空间和硬件设备,以及其他一些具体的使用限制。
能防止质量低劣的用户程序的侵害,从而使系统运行得更稳定可靠。
在内核态下,进程运行在内核地址空间中,此时 CPU 可以执行任何指令。运行的代码也不受任何的限制,可以自由地访问任何有效地址,也可以直接进行端口的访问。
在用户态下,进程运行在用户地址空间中,被执行的代码要受到 CPU 的诸多检查,它们只能访问映射其地址空间的页表项中规定的在用户态下可访问页面的虚拟地址
文件句柄说明
1.只有windows中才有句柄,windows中的句柄是指针的指针,因为windows中对象的经常会在内存中移动(如进行垃圾回收后),所以地址值经常会变,所以就对外提供一个指针的指针即句柄给用户,句柄的地址是不会变的。
2.linux中是没有文件句柄的,只有文件描述符,只是大家习惯把它说成句柄。
3,linux中, 每当进程打开一个文件时,系统就为其分配一个唯一对应的整型文件描述符(从0开始),用来标识这个文件。linux 操作系统通常对每个进程能打开的文件数量有一个限制。默认是1024。

浙公网安备 33010602011771号