linux就该这么学 第一天学习笔记
题外话
在每天的网上冲浪中,一次无意间的点击,发现了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就该这么学 第一天学习笔记的更多相关文章
- Linux就该这么学(1)-系统概述(学习笔记)
一.热门的Linux系统开源许可协议 GNU GPL(GNU General Public License,GNU 通用公共许可证) BSD(Berkeley Software Distributio ...
- 《Linux内核分析》第一周学习笔记
<Linux内核分析>第一周学习笔记 计算机是如何工作的 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/c ...
- linux内核分析第一周学习笔记
linux内核分析第一周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...
- 《Linux内核分析》第八周学习笔记
<Linux内核分析>第八周学习笔记 进程的切换和系统的一般执行过程 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163 ...
- 《Linux内核分析》第七周学习笔记
<Linux内核分析>第七周学习笔记 可执行程序的装载 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...
- 《Linux内核分析》第六周学习笔记
<Linux内核分析>第六周学习笔记 进程的描述和创建 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/co ...
- 《Linux内核分析》第三周学习笔记
<Linux内核分析>第三周学习笔记 构造一个简单的Linux系统MenuOS 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.stud ...
- [未完成]WebService学习第一天学习笔记
[未完成]WebService学习第一天学习笔记[未完成]WebService学习第一天学习笔记
- 《Linux内核分析》第五周学习笔记
<Linux内核分析>第五周学习笔记 扒开系统调用的三层皮(下) 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.c ...
随机推荐
- Java实现 LeetCode 659 分割数组为连续子序列 (哈希)
659. 分割数组为连续子序列 输入一个按升序排序的整数数组(可能包含重复数字),你需要将它们分割成几个子序列,其中每个子序列至少包含三个连续整数.返回你是否能做出这样的分割? 示例 1: 输入: [ ...
- Java实现 蓝桥杯VIP 算法训练 成绩的等级输出
输入一个百分制的成绩t后,按下式输出它的等级.等级为:90100为A,8089为B,7079为C,6069为D,0~59为E. 样例输入 98 样例输出 A import java.util.Scan ...
- Java实现 LeetCode 287 寻找重复数
287. 寻找重复数 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数.假设只有一个重复的整数,找出这个重复的数. 示例 ...
- Java实现旅行商问题
1 问题描述 何为旅行商问题?按照非专业的说法,这个问题要求找出一条n个给定的城市间的最短路径,使我们在回到触发的城市之前,对每个城市都只访问一次.这样该问题就可以表述为求一个图的最短哈密顿回路的问题 ...
- java实现递归连续数
递归连续数 以下程序打印出0~9的数字,请补充缺少的代码. public class MyTest { public static void f(int begin, int end) { _____ ...
- Java实现第九届蓝桥杯测试次数
测试次数 题目描述 x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机. 各大厂商也就纷纷推出各种耐摔型手机.x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后 ...
- jstat监控JVM内存使用、GC回收情况
jstat -gcutil 2388 3000 6 每隔3秒打印一次pid为2388的堆内存的使用情况,共打印6次 S0— Heap上的 Survivor space 0 区已使用空间的百分比 S1 ...
- UBoot配置编译及Makefile分析
一. UBoot配置编译初步分析 1. UBoot源码结构 (1)UBoot工程项目中的文件可以分为3类 ① 第1类目录:与处理器体系结构或开发板硬件直接相关 ② 第2类目录:一些通用的函数或驱动程序 ...
- arduino 的analogRead() 和analogWrite()
模拟输入analogRead()函数的返回值范围是0 到1023; 而模拟输出analogWrite()函数的输出值范围是0 到255; 所以: val = analogRead(potpin); / ...
- 从linux源码看socket(tcp)的timeout
从linux源码看socket(tcp)的timeout 前言 网络编程中超时时间是一个重要但又容易被忽略的问题,对其的设置需要仔细斟酌.在经历了数次物理机宕机之后,笔者详细的考察了在网络编程(tcp ...