Linux入门第一天——基本概述与环境搭建
一、Linux简介
1.历史
Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
【更新】:在线练习Linux命令:https://bellard.org/jslinux/
必不可少的鸟哥的私房菜:http://linux.vbird.org/
链接:http://pan.baidu.com/s/1nv65xgd 密码:bvw3
2.版本
Linux分为内核版本和发行版本:
Linux内核是计算机操作系统的核心。所有内核版本均可在其官网找到:https://www.kernel.org/
2.x之前的版本各内核版本号的意义(r.x.y:r大版本号;x次版本号,偶数稳定奇数开发版,y修订次数),3之后的版本已经舍弃此命名方式,改为主线版本和长期版本,具体请参见如下鸟哥私房菜的介绍:
●奇数、偶数版本分类 在2..x版本以前,托瓦茨将核心的发展趋势分为两股,并根据这两股不同的发展分别给予不同的核心编号,那就是: ●主、次版本为奇数:发展中版本(development) 如2..xx,这种核心版本主要用在测试与发展新功能,所以通常这种版本仅有核心工程开发师才会使用。如果有新增的核心程序代码,会加到这种版本当中。等到众多工程师测试没问题后,才加入下一版的稳定核心中。 ● 主、次版本为偶数:稳定版本(stable) 如2..xx,等到核心功能发展成熟后会加到这类的版本中,主要用在一般家用电脑以及企业版本中。 重点在于提供使用者一个相对稳定的Linux作业环境平台。 至于释出版本则是在主、次版本架构不变的情况下,新增的功能累计到一定的程度后所新释出的核心版本。而由于Linux核心是使用GPL的授权,因此大家都能够进行核心程序代码的修改。因此,如果你有针对某个版本的核心修改过部分的程序代码,那么那个被修改过的新的核心版本就可以加上所谓的修改版本了。 ● 主线版本、长期维护版本(longterm version) 不过,这种奇数、偶数的编号格式在3.0推出之后就失效了。从3.0版开始,核心主要依据主线版本(MainLine)来开发,开发完毕后会往下一个主线版本进行。例如3.10就是在3.9的架构下继续开发出来的新的主线版本。通常新一版的主线版本大约在2~3个月会被提出喔!之所以会有新的主线版本,是因为有加入新功能之故。现在(/)最新的主线版本已经来到4.0版了喔!好快! 而旧的版本在新的主线版本出现之后,会有两种机制来处理,一种机制为结束开发(End of Live, EOL),亦即该程序代码已经结束,不会有继续维护的状态。另外一种机制为保持该版本的持续维护,亦即为长期维护版本(Longterm),这个版本的程序代码会被持续维护,若程序代码有Bug或其他问题,核心维护者会持续进行程序代码的更新维护喔! 所以咯,如果你想要使用Linux核心来开发你的系统,那么当然要选择长期支援的版本才行!要判断你的Linux核心是否为长期支援的版本,可以使用[ uname -r]来查阅核心版本,然后对照下列链接来了解其对应值喔!
Linux发行版包括了内核与一些其他与文件相关的操作,用户管理系统,和软件包管理器等一系列软件。各发行版本可参见 https://linux.cn/share/distro/
内核版本的CentOS(服务器领域Redhat是老大,CentOS功能与Redhat几乎一样且不收费)
CentOS镜像下载地址:http://www.centoscn.com/CentosSoft/iso/
3.开源软件简介
使用的自由 研究的自由 散布及改良的自由
4.应用领域
企业服务器 嵌入式应用
5.学习方法
技术提问的艺术请参见:http://bbs.csdn.net/topics/390623576
6.与Windows的不同
> Linux严格区分大小写
> Linux所有内容以文件形式保存,包括硬件
> 不靠拓展名区分文件类型(依靠权限),有一些约定俗成的类型:
> windows的程序无法直接在Linux中直接运行(防病毒)
7.字符界面的优势
- 占用系统资源少
- 减少出错和被攻击的可能性
二、系统的安装
1.虚拟机的安装
VMware虚拟PC软件:https://www.vmware.com/cn.html
(此处不选择在官网下,请自行寻找网盘等资源下载安装,此处安装12版本)
开启虚拟化方法:开启虚拟化共功能方法:开机--》BIOS--》Configuration--》Intel Virtualization Technology --enable 回车
若出现卸载不干净无法完全卸载的情况,请使用卸载工具:http://www.linuxidc.com/Linux/2012-11/73744.htm
启动时请尽量通过右键使用管理员身份运行!
2.虚拟机的使用
> 新建虚拟机
典型和高级相差也不大,作为入门,我们选择典型
> 选择镜像
//这里如果直接选择CentOS的镜像将会执行简易安装(过程全自动化),也就失去了学习的意义,
并且也不符合学习的环境要求,这里暂且选择稍后安装操作系统,先安装一个空白的。
> 选择安装系统类型
//当然,这里是Linux了,版本选择CentOS
> 自定义名称和位置
> 分配空间
//并不是分配多少个G就马上占用多少个G,而是实际使用多少再用多少
> 查看虚拟机情况
这样,虚拟机就新建完成了!
//当然,这还只是一个空壳
2.虚拟机的硬件配置
> 双击上图设备中任意选项或工具栏点击虚拟机->设置打开设置页
- 内存不能小于628M,这里就使用默认的1G
- “处理器数量”表示虚拟机使用的CPU个数,一般是1个;
“每个处理器的核心数量”表示虚拟机使用的CPU是几核的,总共就分配了1G,可以采用默认的一CPU一核
虚拟化Intel将真实CPU映射到虚拟机处请谨慎选择,选择后将大幅占用系统资源,但虚拟机性能也大幅提升,适用于大量数据运算!
//核心数可以通过属性,设备管理器查看到:(所以这里选择4核)——WIN+X打开设备管理器
- 硬盘可以重新分配调整
- CD/DVD这个已连接的勾请勾上,连接当然选择ISO的镜像,
ISO阿里镜像下载地址:https://mirrors.aliyun.com/
镜像使用如下:
网络的设置
// 设置桥接时配置简单,但是会占用系统的IP,不光可以和真实机通信,还可以和其它网络通信,这里选择这张模式方便做实验(如果有时候发现桥接还是上不了网时,可以勾选下面的复制物理网络连接状态来copy网卡信息)
选择NAT可以上网——比较稳定,便于配置静态IP
选择 主机模式将不能上网
更多网络配置请参见 :https://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646007.html
:http://www.cnblogs.com/ct20150811/p/5143711.html
其它配置暂时不进行设置
开启的时候出现如下错误信息,参考:http://www.jb51.net/article/97386.htm
3.其它小技巧
> 设置快照
各版本大同小异,这里以12pro版本为例,打开虚拟机,快照,拍摄快照
//这样,任何时候如果虚拟机崩溃了,可以转到此快照版本
> 克隆
打开虚拟机,管理,克隆。
链接克隆(原始克隆不能删除) 完整克隆
4.系统分区
> 分区类型
//逻辑分区只能从5开始
> 格式化
格式化的目的是写入文件系统
写入文件系统把整个分区分成了等大小的数据块,在分区列表里建立文件信息表格(I node, 权限, 修改时间)。而写入文件系统前必须清除数据,以前认为格式化就是单纯的清空数据,现在知道清空只是格式化为达到写入文件系统必做的一件事。
> 硬件设备文件名
Linux中一切皆文件
> 挂载(类似分区)
分区请不要手动输入/boot、swap等,请下拉等通过选择下拉来选取!
/, /boot, /home, swap四个分区
目录称做挂载点
Swap分区,即交换区,系统在物理内存不够时,与Swap进行交换。
其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。
Swap分区参考阅读:https://www.cnblogs.com/kerrycode/p/5246383.htm
以上为早期机器的版本(swap应该用不到为最好!),真实的swap的使用与分区参见鸟哥私房菜(第四版)第7章介绍!
5.Linux系统的安装
实际安装时时一定要修改BIOS的启动顺序的,第二次再改回硬盘启动,虚拟机不需要是因为虚拟机是智能的,会智能判断与修改
注意一定要鼠标点进去才能操作虚拟机(Ctrl+Alt调出鼠标)
下拉选择——简体中文
时区选择——亚洲上海
手动分区(比如这里可以选择 /home)
再给boot创建一个标准分区用于启动
给出ubuntu安装的推荐分区:
陆续添加分区后(文件系统选择xfs就没毛病的):
点击软件包选择,来到安装选择界面
网络和主机中可以直接开启和设置!!
一般情况下是选择最小化安装(右边可以把开发工具进行勾选),但这里为了学习被迫选择基本服务器安装,这样基本的功能会带有
最小安装注意需要自己安装一些东西,例如bash-completion——安装完成之后,注销终端,重新登录即可。
yum install -y bash-completion
例如vim
yum install -y vim*
其他最小化安装之后需要的一些操作,参考:http://blog.csdn.net/f_srion/article/details/54910943
这样安装后重启进行登陆,就来到了CentOS界面了!
安装日志
脚本之家的安装图文教程:http://www.jb51.net/article/97386.htm
三、xShell的安装使用与常见问题
常见问题与xshell连接相关已,抽取为随笔,参见:http://www.cnblogs.com/jiangbei/p/8041713.html
四、用户添加
一般地,不要使用root来登录(除非一些特殊情况 ),就像老大一般是不所有事都亲力亲为的,一般的都交给小弟,特殊情况才需要老大出马。
完整用户管理,参加用户管理相关随笔!
所以我们有必要使用一般用户来使用
授权:
http://www.linuxidc.com/Linux/2016-11/137549.htm
切换用户:
使用su命令实现用户属性的转换
普通用户切换到root用户:方法有多重 )su->回车->输入root密码
)su -root->回车->输入root密码 root用户切换到普通用户: su "普通用户名"
cc密码为:c20171124#
#请不要使用过于简单的密码
【更新】:Linux单用户模式修改root密码:http://www.runoob.com/linux/linux-forget-password.html
Linux入门第一天——基本概述与环境搭建的更多相关文章
- Linux学习之CentOS(一)--CentOS6.4环境搭建
Linux学习之CentOS(一)--CentOS6.4环境搭建http://www.cnblogs.com/xiaoluo501395377/archive/2013/03/31/CentOs.ht ...
- Linux下Jenkins+git+gradle持续集成环境搭建
Linux下Jenkins+git+gradle持续集成环境搭建 来源:IT165收集 发布日期:2014-08-22 21:45:50 我来说两句(0)收藏本文 一.项目介绍 和 linux ...
- 写给前端同学的C++入门教程(一):概述和环境搭建
说明:本人是前端er,因为最近对 UE4(一个游戏开发引擎)产生了兴趣,而这个引擎源开发游戏时需要用到 C++ ,所以就开始入坑 C++ 了.现将自己学习 C++ 的笔记整理并分享出来,以便一些想入门 ...
- Unix/Linux环境C编程入门教程(17) Gentoo LinuxCCPP开发环境搭建
1. Gentoo Linux是一套通用的.快捷的.完全免费的Linux发行,它面向开发人员和网络职业人员.与其他发行不同的是,Gentoo Linux拥有一套先进的包管理系统叫作Portage.在B ...
- Unix/Linux环境C编程入门教程(9) unbntu CCPP开发环境搭建
1. 首先启动VMware,如果没有安装,请查看前面VMware的安装视频 2 启动虚拟机向导,选择自定义 3 单击下一步 4 选择稍后安装操作系统 5 .选择unbntu 64linux ...
- Linux下使用VsCode进行Qt开发环境搭建
最近在Linux上搞Qt, vim环境还用不太习惯, QtCreator之前使用时莫名其妙崩溃然后丢失代码之后就被我彻底放弃了, 于是研究了一下用VsCode进行Qt开发. 首先是系统环境和下载安装包 ...
- 01_Struts2概述及环境搭建
1.Struts2概述: Struts2是一个用来开发MVC应用程序的框架. Struts2提供了web应用程序开发过程中一些常见问题的解决方案; 对用户输入的数据进行合法性验证 统一的布局 可扩展性 ...
- Linux+Apache+Mysql+PHP简单的测试环境搭建
系统版本为:Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x ...
- Duilib第一步(I)-简介与环境搭建
Primus gradus et cognoscetis veritatem et veritas liberabit vos. --Johannes 8:32 Introduction Duili ...
随机推荐
- php性能调优
第一章 针对系统调用过多的优化 我这次的优化针对syscall调用过多的问题,所以使用strace跟踪apache进行分析. 1. apache2ctl -X & 使用-X(debug)参 ...
- 51nod 1403 有趣的堆栈
题目看这里 主要是能分析出这样一个结论: 每个pop根据这个元素上面被压过多少个元素,可以知道他是在前面哪个pop之前被push的. 根据这些信息可以求得每个pop到上一个pop之间有多少个push, ...
- python操作mysql二
游标 游标是一种能从包括多条数据记录的结果集中每次提取一条记录的机制,游标充当指针的作用,尽管游标能遍历结果中的所有行,但它一次只指向一行,游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行 ...
- css实现文字裁切效果
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 洛谷 P4705 玩游戏
题目分析 题目要求的是: \[ \sum_{i=1}^n\sum_{j=1}^m(a_i+b_j)^x(x\in [1,T]) \] 利用二项式定理化式子, \[ \begin{aligned} &a ...
- 程序人生:02我来告诉你,一个草根程序员如何进入BAT
本文摘自左潇龙博客,原文出处:http://www.cnblogs.com/zuoxiaolong/p/life54.html 引言 首先声明,不要再问LZ谁是林萧,林萧就是某著名程序员小说的主角名字 ...
- 2、Dubbo-核心概念
dubbo核心概念 2.1).简介 Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能.轻量级的开源Java RPC框架, 它提供了三大核心能力:面向接口的远程方法调用 ...
- ps基础练习
1. 直接把图片拖进来 2. F 键 视窗全屏快捷键 3. 此时的图片是“背景”层,不能直接编辑,双击该背景层,就变成了“图层”,就可以编辑了 4. 5. 6. 7. 魔棒工具,在需要去掉的点一下, ...
- Java类加载机制与Tomcat类加载器架构
Java类加载机制 类加载器 虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类.实现这 ...
- Git--查看,删除,添加远程分支
1. 查看远程分支: $ git branch -a 2. 删除远程分支: $ git push origin --delete <branch name> 或者 git push --d ...