题外话

在每天的网上冲浪中,一次无意间的点击,发现了linux就该这么学的网站,然后就看了一晚上,当时还是学生的我特别想要参加培训,可是碍于眼前的经济状况,只得将这个想法深深的藏在了心里,并加了一下网站的qq学习交流群,我当时加得还是比较早,是一个G群,现在已经有三十多个群了。后来也没有再去想过这方面的事情,因为工作中并没有用到linux系统,也就没有学习这个的动力,只是从网上了解到这是一个服务器的操作系统罢了。可最近由于工作需要,必须要开始学习linux系统了,这可能就验证了那句话(曾经丢掉的知识,总有一天会补回来的)。我开始在网上寻找学习资料,但都层次不齐,我又想到了当初看的那个网站linuxprobe,想想要不要咬牙报名呢,就在我苦思冥想之际,手机的消息铃声惊醒了我,我随意的看看了手机,原来是很久以前加得一个技术群的消息,群主上传了一个文件,啊~什么?居然是linux就该这么学的px视频,我赶忙点开了那个文件,里面是一个链接和密码,我想着这该不会是真的吧?因为我不相信那么贵的视频课程居然就这么轻松的在一个群里分享了出来,也许是哪个网友抖机灵,糊弄群友呢,只是为了刷存在感也不一定呢。但我还是按奈不住心中那份激动,毕竟我现在真的很需要学习资源啊,于是我轻轻的复制粘贴到浏览器,输入密码,里面是一个独立的文件夹,上面赫然写着几个醒目的大字,linux就该这么学xx期课程视频,我立即用手指将文件夹点开,里面具有真的有视频,而且还按章节分门别类了,太感动了,再看看视频大小,足足好几百兆,应该是真的了,这时候我相信这应该是上天给我的一次翻身的机会,过去的霉运都是为了等待这一次的好运,真的太棒了,我一定要好好珍惜这次的学习机会,将linux学懂,学透,并将自己的学习笔记和心得通过网络的方式分享给互联网的朋友们,因为我知道,我的这一切都是在互联网上学习到的,我不能忘记互联网朋友对我的恩惠,特此立贴为证,将自己所知所学分享众人,不求名流千史,只愿问心无愧!

linux的前世今生

我最初接触linux系统应该是在大学最后一学期的网络安全课程上吧,那是老师让我们在虚拟机中进入一个系统,进去后发现和平时接触的window系统非常不一样,菜单栏在最上面,桌面也没什么图标,操作都是需要打开黑糊糊的终端窗口,只记得当时就会一个命令ifconfig查看ip地址,其他的就全忘记了。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

linux创始人:林纳斯·托瓦兹(芬兰人),大二时编写的操作系统
linux分类:个人用户(ubuntu debian)服务器级(redhat、opensuse)

linux的系统选择和安装

linux系统的种类很多,但是主要就分为两派,一个是桌面个人版,一个是企业服务器版,如果喜欢绚丽的画面,刺激的视觉体验可以选择Ubuntu系统,如果用户企业服务器环境就要用到redhat系列的系统了,这里为了公司企业的服务器学习,所以我们选择redhat 7 版本进行学习,等对linux熟练掌握后,我们可以选择Ubuntu这样的个人系统用作日常办公使用。

安装系统第一步:下载系统镜像 百度网盘,密码:j94c,或者选择官网下载

由于没有介绍linux的分区概念,所以暂时选择自动分区,等后续章节学习后,在来尝试自定义分区

注意:

虚拟机选择时应该选择稍后安装操作系统,否则它会直接自动安装,无法达到学习的目的

安装时需要创建用户和设置密码,密码如果设置得不符合密码原则,需要点击两次完成

linux软件安装

在linux中软件安装和window有很大的不同,linux的软件安装方式大致可以分为两种,rpm包安装和源代码安装

源代码安装

源代码安装即是去软件官网下载获取得到软件的源代码,然后复制到系统中进行解压、编译、安装的过程。

源代码安装首先需要部署编译环境,因为你的代码是没有进行编译的,是不能直接安装在系统中的,所以需要下载编译软件,

一般如果是c语言的程序,需要下载gcc编译器进行编译。

其次是源代码安装包由于只有该软件的源代码,没有其所依赖的相关程序,我们在安装源代码之前,还需要将它的所以依赖安装完成

进入下载的源代码包目录,执行./configure进行软件的配置和检查,这一步所做的事情主要是:

  • 定义需要的功能选项

  • 检测系统环境是否符合安装要求

  • 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑

执行make 编译 若编译失败可以执行make clean清空临时文件,只有编译安装才会创建新的文件

再执行make install 编译安装 向安装目录写入内容

至此源代码安装就成功了,通常源代码包的安装位置都是选择在/usr/local/软件名/下,不过源代码安装的软件启动只能通过绝对路径的方式进行启动。

虽然也可以更改成通过service启动,但并不推荐。

rpm包安装

什么是rpm包呢?rpm包全名叫做redhat package manager红帽包管理器,它虽然有红帽的标志,但它的设计理念是开放式的,大多数linux系统都可以用rpm包。

解释了rpm是什么,我们就来说说它有什么特点或好处。通过刚才的源代码安装介绍,相信大家都知道了源代码安装的不足,首先就是源代码安装需要配置编译环境,

并且编译的过程也是一个十分耗时的过程,有些大的软件甚至需要好几个小时进行编译,而且如果在编译过程中报错也很难解决,因为这个代码不是我们自己写的,

对报错信息肯定也无法确定是什么问题引起的报错,但我们的rpm包就是为了解决这一问题而诞生的,rpm包它是直接将软件的源代码进行编译后再发布的,所以我们

获取到rpm包后无需再进行复杂的编译过程,并且安装时它会默认安装到指定的位置,以方便系统其它服务的调用,并且可以通过service来启动。它会建立统一的数据库文件,

详细记录软件信息并能够自动分析依赖关系,我们可以通过rpm相关命令查看它所依赖的包。

rpm包默认安装路径 描述
/etc/ 配置文件安装目录
/usr/bin/ 可执行的命令安装目录
/usr/lib/ 程序使用的函数库保存位置
/usr/share/doc/ 基本的软件使用手册保存位置
/usr/share/man/ 帮助文件保存位置

具体的安装过程后续会介绍,这里只需要知道rpm是什么东东就可以了。

yum安装

什么是yum仓库呢?其实就是将大量的rpm包和依赖关系组成的一个仓库。它能够在你安装某个软件的时候自动分析当前软件所需依赖,并直接自动安装相关依赖和所需的包,

基本可以实现一键操作,即一条命令就安装完成一个软件。不过要想使用yum,你必须要有这个仓库才行啊,所以我们就需要配置我们的yum源,让它知道我们使用yum的时候去

哪里寻找rpm包和依赖关系。

yum源分为网络yum源和本地yum源,网络yum源即是从网络中去下载软件,而本地yum源则是通过本地光盘中的yum源进行安装软件。

配置yum源在后续章节会详细介绍,这里你只需要知道yum安装是怎么一回事就足够了。

systemd初始化进程

初始化进程作为Linux系统的第一个进程,它需要完成Linux系统中相关的初始化工作,为用户提供合适的工作环境。

systemd初始化进程服务采用了并发启动机制,开机速度得到了不小的提升。

具体内容后续章节会再一一介绍。

linux就该这么学 第一天学习笔记的更多相关文章

  1. Linux就该这么学(1)-系统概述(学习笔记)

    一.热门的Linux系统开源许可协议 GNU GPL(GNU General Public License,GNU 通用公共许可证) BSD(Berkeley Software Distributio ...

  2. 《Linux内核分析》第一周学习笔记

    <Linux内核分析>第一周学习笔记 计算机是如何工作的 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/c ...

  3. linux内核分析第一周学习笔记

    linux内核分析第一周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...

  4. 《Linux内核分析》第八周学习笔记

    <Linux内核分析>第八周学习笔记 进程的切换和系统的一般执行过程 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163 ...

  5. 《Linux内核分析》第七周学习笔记

    <Linux内核分析>第七周学习笔记 可执行程序的装载 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...

  6. 《Linux内核分析》第六周学习笔记

    <Linux内核分析>第六周学习笔记 进程的描述和创建 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...

  7. 《Linux内核分析》第三周学习笔记

    <Linux内核分析>第三周学习笔记 构造一个简单的Linux系统MenuOS 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.stud ...

  8. [未完成]WebService学习第一天学习笔记

    [未完成]WebService学习第一天学习笔记[未完成]WebService学习第一天学习笔记

  9. 《Linux内核分析》第五周学习笔记

    <Linux内核分析>第五周学习笔记 扒开系统调用的三层皮(下) 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.c ...

随机推荐

  1. Java实现 蓝桥杯 算法训练 My Bad(暴力)

    试题 算法训练 My Bad 问题描述 一个逻辑电路将其输入通过不同的门映射到输出,在电路中没有回路.输入和输出是一个逻辑值的有序集合,逻辑值被表示为1和0.我们所考虑的电路由与门(and gate, ...

  2. Java实现 LeetCode 241 为运算表达式设计优先级

    241. 为运算表达式设计优先级 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果.你需要给出所有可能的组合的结果.有效的运算符号包含 +, - 以及 * . 示例 ...

  3. Java实现 LeetCode 11 盛最多水的容器

    11. 盛最多水的容器 给定 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) ...

  4. Java实现堆排序问题(变治法)

    问题描述 用基于变治法的堆排序算法对任意一组给定的数据进行排序 2.1 堆排序原理简介 堆可以定义为一颗二叉树,树的节点中包含键(每个节点是一个键),并且满足下面两个条件: (1)树的形状要求--这颗 ...

  5. 03-Python基础2

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 温故知新 1. 集合 主要作用: 去重 关系测 ...

  6. Python 图像处理 OpenCV (9):图像处理形态学开运算、闭运算以及梯度运算

    前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...

  7. Java——int、double型数组常用操作工具类

    学了数组之后,感觉有好多操作需要经常去写,很不方便,因此自己做了一个工具类,方便调用,方法可能不全,希望大家可以添加,让我使用也方便一点儿. public class ArrayUtils { //求 ...

  8. CocosCreator实现微信排行榜

    1. 概述 不管是在现实生活还是当今游戏中,各式各样的排名层出不穷.如果我们做好一款游戏,却没有实现排行榜,一定是不完美的.排行榜不仅是玩家了解自己实力的途径,也是游戏运营刺激用户留存的一种途径.在微 ...

  9. [每日一题2020.06.10]Codeforces Round #644 (Div. 3) ABCDEFG

    花了5个多少小时总算把div3打通一次( 题目链接 problem A 题意 : 两个x*y的矩形不能重叠摆放, 要放进一个正方形正方形边长最小为多少 先求n = min(2x, 2y, x+y) 再 ...

  10. 使用三台云服务器搭建真正的Redis集群

    三台云服务器搭建redis集群# 今天花了一天的时间弄集群redis:遇到了很多坑,从头开始吧 环境讲解: 两台配置:1核2G,另一台:1核1G: 操作系统:Centos 7.6 Redis:3.2. ...