题外话

在每天的网上冲浪中,一次无意间的点击,发现了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实现 LeetCode 706 设计哈希映射(数组+链表)

    706. 设计哈希映射 不使用任何内建的哈希表库设计一个哈希映射 具体地说,你的设计应该包含以下的功能 put(key, value):向哈希映射中插入(键,值)的数值对.如果键对应的值已经存在,更新 ...

  2. (Java实现) 车站

    题目描述 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人.从第3站起( ...

  3. Java实现蓝桥杯VIP算法训练 纪念品分组

    试题 算法训练 纪念品分组 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值 相对均衡, ...

  4. Java实现 蓝桥杯VIP 算法训练 平方计算

    问题描述 输入正整数a, m,输出a2%m,其中表示乘方,即a^2表示a的平方,%表示取余. 输入格式 输入包含两个整数a, m,a不超过10000. 输出格式 输出一个整数,即a^2%m的值. 样例 ...

  5. Javascript实现万年历(日历表)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. Android中如何使用对话框(单选对话框和多选对话框)

    在主XML中声明两个Button,声明Id package com.example.myapplication; import androidx.appcompat.app.AlertDialog; ...

  7. Java实现第九届蓝桥杯猴子分香蕉

    猴子分香蕉 题目描述 5只猴子是好朋友,在海边的椰子树上睡着了.这期间,有商船把一大堆香蕉忘记在沙滩上离去. 第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉. 第2只 ...

  8. ntpq无法查询同步信息,显示The specified class was not found

    年初时工班发现工作站和服务器都没办法用ntpq看时钟同步了,如下图所示.输入ntpq-p 就显示"The specified class was not found" 通过排查,发 ...

  9. 6.keras-基于CNN网络的Mnist数据集分类

    keras-基于CNN网络的Mnist数据集分类 1.数据的载入和预处理 import numpy as np from keras.datasets import mnist from keras. ...

  10. 移动UI系列 - 简单地使用半衰期算法来预测手势的滑动方向与速度

    前言 有一个问题, 给定一个物体的运动轨迹, 包含时间和坐标的数组, 如何使用这个数据来预测物体未来的运动走势?? 本文提供了一个很简单的方式去实现这个算法. 效果够用, 又简单, 有一定的准确程度. ...