Linux的心得:

1)Linux由众多微内核组成,其源代码完全开源;
2)Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、 TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈;
3)Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性。
Linux的发展史:
Linux操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:Unix操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet网络。
20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和MacOS这几种。Unix价格昂贵,不能运行于PCDOS显得简陋,且源代码被软件厂商严格保密;MacOS是一种专门用于苹果计算机的操作系统。此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用。
Linux6和Linux7的区别:
(1)、系统类型:centos6的系统类型是sysvinit,centos7的系统类型是systemd;
(2)、服务管理:centos6 采用 service和chconfig管理服务,centos7 采用systemctl 管理服务,但是还可以使用service和chkconfig命令;
(3)、主机名的配置文件:centos 6 的配置文件为/etc/sysconfig/network(永久设置),centos7的配置文件为/etc/hostname(永久设置),centos7还可以使用命令永久设置,hostnamectl set-hostname centos7 # hostnamectl是新增的主机名管理工具。
Linux的相关命令:
1、date :打印或者设置系统的日期和时间
2、 stty -a:可以查看或者打印控制字符(Ctrl-C、Ctrl-D、 Ctrl-Z等);
3、 passwd:用passwd -h查看;
4、logout,login: 登录shell的登录和注销命令;
5、 more, less, head tail: 显示或部分显示文件内容;
6、 lp/lpstat/cancel, lpr/lpq/lprm: 打印文件;
7、 chmod u+x:更改文件权限;
8、 rm -fr dir:删除非空目录;
9、cp -R dir:拷贝目录;
10、 fg jobid :可以将一个后台进程放到前台;
11、 kill 的作用: send a signal to a process、 eg: kill -9 发送的是SIG_KILL信号,具体发送什么信号 可以通过 man kill 查看;
12、 ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session显示的sessionid, tpgid显示前台进程组id, comm显示命令名称)。
Linux的相关面试题:
一、简述Apache两种工作模式,以及它们之间的区别?

(1)prefork MPM使用多个子进程,每个子进程只有一个线程来处理一个http请求,直到这个TCP连接被释放。root主进程在最初建立startserver个子进程后,等待1秒钟,创建2个进程,再等待1秒钟,再创建4个进程,直到满足最小空闲进程的数量,这就是预派生的由来。这种模式可以不必在请求到来时再产生新的进程,从而提高了访问效率。

(2)worker模式使用多个子进程,每个子进程负责接收请求,该进程下多个线程来处理请求。由于线程之间共享地址空间,所以内存消耗小,而且资源利用率高,但是一个线程的崩溃会牵连到其他线程,所以一个程序在运行时必须被系统识别为每个线程都是安全的。

(3)woker和prefork的切换,cd /usr/sbin ,mv httpd httpd.prefork,mv httpd.worker httpd,service http restart

二、如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0?

#iptables -t nat -A PREROUTING -p tcp -i eth0 -d 192.168.16.1--dport

三、包过滤防火墙与代理应用防火墙有什么区别,能列举几种相应的产品吗?

①包过滤防火墙工作在网络协议IP层,它只对IP包的源地址、目标地址及相应端口进行处理,因此速度比较快,能够处理的并发连接比较多,缺点是对应用层的攻击无能为力。②应用代理防火墙将收到的IP包解封装成高层协议的通讯数据,比如http连接信息,因此能够对基于高层协议的攻击进行拦截。缺点是处理速度比较慢,能够处理的并发数比较少。事实上还有状态监测防火墙(ip_conntrack):状态监测防火墙是在当今企业中部署最为常见的。他们建立在基于防火墙保持每个活动连接状态信息的包过滤上。当有一个新的包到达防火墙时,过滤机制首先检查这个包是否是当前活动连接(前面已经授权过的)的一部分。只有当这个包没有出现在当前的活动连接列表里时,防火墙才会以它的规则库评估这个包。状态监测防火墙之所以如此常见是因为:它们是效率最高、性价比最高的防火墙,并且广泛适用于保护网络的边界。ASA、PIX、firewall
四、什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?

链接分硬链接和符号链接。符号链接可以建立对于文件和目录的链接。符号链接可以跨磁盘分区,符号链接的文件类型位是I,链接文件具有新的i节点;硬链接不可以跨磁盘分区。它只能建立对文件的链接,硬链接的文件类型位是-号,且硬链接文件的i节点同被链接文件的i节点相同。

五、NTFS与FAT的区别?

NTFS的特性相比FAT有很多优点。①提供文件和文件夹的安全性,支持加密和设置权限②高可靠性,NTFS是一种可恢复的文件系统,并且支持坏簇映射,检测出现错误的磁盘区域 ,标记并将数据存储在其他区域③NTFS支持磁盘配额管理,另外支持对文件、文件夹以及分区的压缩。④NTFS采用了更小的簇,4KB左右,避免了对磁盘空间的;浪费。那么FAT记录文件分配表的格式,缺点是仅用于单用户系统,而且没有防止碎片的措施,并且易受损害。
六、如何挂载windows共享的目录?

mount -t cifs -o username=administrator,password=admin //192.168.1.1/share/ /windows/ #optional非强制的,可选的,CIFS是公共的或开放的SMB协议版本,Common Internet File System通用网络文件系统,并由Microsoft使用,/windows/是我们的挂载点。
七、如何查看当前Linux 系统的状态,如CPU 使用,内存使用,负载情况等?

Linux 系统中/proc是个伪文件目录,不占用系统空间,及时的反应出内存现在使用的进程情况......其中许多文件都保存系统运行状态和相关信息

对于/proc中文件可使用文件查看命令浏览cat其内容,文件中包含系统特定信息:

cpuinfo 主机CPU 信息

filesystems 文件系统信息

meminfo 主机内存信息

version Linux 内存版本信息

diskstatus 磁盘负载情况

另外top 命令可以动态的显示服务器健康状况的使用情况. free 命令呢可以查看真实使用的内存 一般用free -m 。使用lsof (list open files)是一个列出当前系统打开文件的工具使用lsof -i:8080, -i 用以显示符合条件的进程情况

ps -aux 可以查看详细的每个进程的使用状况,还有uptime查看负载命令

dmesg 也是常用来查看系统性能及硬件的命令
八、cgi和fastgcgi的区别?

首先CGI是用来web服务器进程和动态网页程序交互的一种协议,fastcgi和其原理一样,不同的是fastcgi处理完一个请求后不会终止整个进程,而是出于挂起状态等待下一个请求的到来,这样它就避免了像cgi那样频繁创建进程,从而提高它的访问效率。

Linux系统资料的更多相关文章

  1. Linux系统中的Device Mapper学习

    在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...

  2. Linux 系统中的MySQL数据库默认区分大小写

    今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...

  3. Linux系统下配置环境变量

    一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...

  4. linux系统下修改文件夹目录权限

    linux系统下修改文件夹目录权限 文件夹权限问题 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何 ...

  5. 忠告初学者学习Linux系统的8点建议

    导读 新手或者说即将要入坑的小伙伴们,常常在QQ群或者在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的.例如:如何给添加的用户归属用户组,复制整个文件到另一个目录下面,磁盘合理划分,甚至 ...

  6. Linux系统值得一看的学习方法及路线图

    网络是一个很神奇的东西,现代人的生活离不开网络,网络已深入人们的工作,生活,娱乐等方方面面.网络之所以无处不在,是因为它提供了诸多的网络服务,所以网络服务是网络的灵魂. 互联网上的各种网络服务是架构在 ...

  7. 总结四条对学习Linux系统有帮助的方法

    网络是一个很神奇的东西,现代人的生活离不开网络,网络已深入人们的工作,生活,娱乐等方方面面.网络之所以无处不在,是因为它提供了诸多的网络服务,所以网络服务是网络的灵魂. 互联网上的各种网络服务是架构在 ...

  8. 高手总结的“恋爱法”学习Linux系统,效果更好。

    如果你恋爱了,那你一定非常喜欢她.了解她,知道她喜欢吃什么玩什么,知道她需要什么,在她生气的时候可以哄她开心,一切尽在你的手指中.那你想学好Linux吗?喜欢Linux吗?你懂她吗?你有喜欢Linux ...

  9. 定制自己的linux系统

    算是总结式文档,以备后忘 先说一下背景,一开始我就知道有这个任务,同时我自己也非常感兴趣,打算去研究研究 于是才同意接这个任务,但是我的原意是从头开始搭建系统,也就是lfs 但接到任务后,由于种种原因 ...

随机推荐

  1. surging 社区版本支持.net core 3.1

    简介 surging 经过两年多的研发,微服务引擎已经略有雏形,也承蒙各位的厚爱, GitHub上收获了将近2800星,fork 811,付费用户企业也有十几家,还有咨询培训, 在2020年,我们将依 ...

  2. GDAl C++ 创建Shp

    用于GDAL,C++开发环境测试. #include <iostream> #include "gdal_priv.h" #include "ogrsf_fr ...

  3. linux下文件解压缩中文乱码问题的解决

    将带中文文件名的压缩文件上传到服务器,使用unzip解压后,文件名乱码: 临时解决方法: 通过unzip行命令解压,指定字符集unzip -O CP936 xxx.zip (用GBK, GB18030 ...

  4. python的list()函数

    list()函数将其它序列转换为 列表 (就是js的数组). 该函数不会改变   其它序列 效果图一: 代码一: # 定义一个元组序列 tuple_one = (123,','abc') print( ...

  5. UVA540 Team Queue——题解 by hyl天梦

    UVA540 Team Queue 题解 题目描述:题目原题 https://vjudge.net/problem/UVA-540 Queues and Priority Queues are dat ...

  6. Entity Framework 6+ 连接Mysql

    好吧.这个博客开不开的 我感觉.. 都一样了. 前言: 公司改造Sqlserver ->Mysql Sql2016老夫对不住你啊.. 好 前沿结束. 需要的家伙: 1.mysql-for-vis ...

  7. 洛谷P3645 [APIO2015]雅加达的摩天楼

    题目描述 印尼首都雅加达市有 N 座摩天楼,它们排列成一条直线,我们从左到右依次将它们编号为 0 到 N − 1.除了这 NN 座摩天楼外,雅加达市没有其他摩天楼. 有 M 只叫做 “doge” 的神 ...

  8. SSM框架整合中,不报错,数据库只能存ID进去问题解决

    嗯,这个错误其实不能算错误,是粗心造成的,在配置文件中对于传递的参数没有写#字符,直接写的的属性名.居然错了两次,哎!!! 嗯,还有一个问题,在动态SQL中,if标签中test属性中判断时,不能用大写 ...

  9. 分层有限状态机的C++实现

    为了方便我的游戏开发,写了这么一个通用的分层有限状态机.希望在其稳定以后,可以作为一个组件加入到我的游戏引擎当中. 目前使用了std::function来调用回调函数,在未来可能会用委托机制代替. 第 ...

  10. jmeter使用—响应断言

    断言的作用:一个HTTP请求发出去,怎么判断执行的任务是否成功呢?通过检查服务器响应数据,是否返回预期想要的数据,如果是,判断任务成功,反之任务失败. 1.添加断言:选中一个取样器,右键->添加 ...