1.Linux常见发行版
Linux发行版有三大主流分支:Debian、Slackware、Redhat,包含的主要发行版分别如下:
-
Debian
-
Ubuntu
Linux mint
- Knopix
-
Slackware
-
S.u.S.E
SLES-SuSE Linux Enterprise
OpenSuSE
-
Redhat
-
RHEL-RedHat Enterprise Linux
CentOS-Community ENTerprise
- Fedore Core
除了三大主流分支,还有两种比较流行的发行版:
- Gentoo
- ArchLinux
Linux发行版之间的关系
- Fedora是基于RHEL,CentOS,Scientific Linux, 和Oracle Linux的社区版本。相比RHEL,Fedora打包了显著的更多的软件包。其中一个原因是,多样化的社区参与Fedora的建设;它不只是一家公司。在这个过程中,CentOS用于活动,演示和实验,因为它是对最终用户免费提供的,并具有比Fedora的一个更长的发布周期(通常每隔半年左右发布一个新版本)。
- SUSE, SUSE Linux Enterprise Server (SLES), 和openSUSE 之间的关系类似于 Fedora, Red Hat Enterprise Linux, 和CentOS的关系。
- Debian是包括Ubuntu在内许多发行版的上游,而Ubuntu又是Linux Mint及其他发行版的上游。Debian在服务器和桌面电脑领域都有着广泛的应用。Debian是一个纯开源计划并着重在一个关键点上,稳定性。它同时也提供了最大的和完整的软件仓库给用户。
Linux发行版分类
Linux发行版都是基于同一内核,所以除了外观和名字不一样外,其他地方的区别不是很大,按用途大致分为桌面版和企业版:
-
桌面版:
Ubuntu、Debian、Fedora、CentOS、openSUSE等。由于安装了图像界面,界面美观、操作方便,比较适合新手,但相对于企业版来说较消耗资源。
-
企业版:
RHEL、CentOS、Debian、Ubuntu、openSUSE、SLES等。系统稳定性好,资源消耗较小,满足企业需求,但基本都是命令行界面,需要有一定的基础才能上手操作。
按照维护方式分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。
-
商业公司维护:
RHEL、CentOS、SLES等
-
社区组织维护:
Debian、Ubuntu等
Linux各发行版特点
各发行版的思想,如图:
-
Redhat,应该称为Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。Redhat应该说是在国内使用人群最多 的Linux版本,甚至有人将Redhat等同于Linux,而有些老鸟更是只用这一个版本的Linux。所以这个版本的特点就是使用人群数量大,资料非 常多,言下之意就是如果你有什么不明白的地方,很容易找到人来问,而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用, 但是Fedora Core的稳定性较差,最好只用于桌面应用。
-
Debian,或者称Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范 的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经 过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是 稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。Debian的资料也很丰富,有很多支持的社区,有问题求教也有地方可去:)
Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,可以这么说,Ubuntu就是 一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。根据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的 Xubuntu。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。
-
Gentoo,伟大的Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo 被称为最完美的Linux发行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美 FreeBSD的广受美誉的ports系统 ——Portage包管理系统。
不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软 件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux 发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。
-
最后,介绍一下FreeBSD,需要强调的是:FreeBSD并不是一个Linux系统!但FreeBSD与Linux的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致,所采用的软件也比较类似,所以可以将FreeBSD视为一个Linux版本来比较。
FreeBSD拥有两个分支: stable和current。顾名思义,stable是稳定版,而 current则是添加了新技术的测试版。FreeBSD采用Ports包管理系统,与Gentoo类似,基于源代码分发,必须在本地机器编后后才能运 行,但是Ports系统没有Portage系统使用简便,使用起来稍微复杂一些。FreeBSD的最大特点就是稳定和高效,是作为服务器操作系统的最佳选 择,但对硬件的支持没有Linux完备,所以并不适合作为桌面系统。
2.centos7.9安装
选择自定义,不然就自己去安装了,安装出来的不是想要的。
把虚拟机安装的位置尽量调离c盘。
磁盘大小可以写大一点,
不要把立即分配所有磁盘空间打勾,打勾的会立刻在磁盘划分一块位置来放这个虚拟机。
这个镜像还没选,加电开机什么都不会有的。
选择使用的镜像
选择安装centos7
选英文就好
选时区
选择最小安装
左边这个是系统自动分配,选右边,手动分配
点done,
点下边的 + 添加分区
/data可以自己放文件用。
Swap分区可以是自己分配内存的两倍
剩下一点空间一后系统内创建分区用
/boot把分区类型改为ext4
点done
把打勾取消掉,这个是红帽工程师看系统出问题维用的,centos没有红帽维护。
把网络打开,把主机名改为自己想要的名字这个名字很长只会显示 点 之前的
开始安装
安装的过程中还可以设置账号和密码
这里我新建了一个用户叫 ln
也可以通过xshell来连接
Centos8安装与centos7安装类似
3.ubuntu18.04安装
依旧使用VMware workstation,前边就不截图了,和centos7差不多只改几处位置
选英语
选择第一个
选时区
是否检测键盘布局
又问一次键盘
默认是英语
给主机起名字
然后ubuntu不允许root登录
必须要建一个账号第一个登录
然后输入两遍密码
这是你的密码太简单了,是否要继续使用
Ubuntu会获取网络,然后会获取你所在的时区,选yes就行
分区
选择手动分区manual
选择自己分配的硬盘
创建一个空的分区表
分区 200G分
/ 100G 50G
/boot 1G ext4
/data 50G
/swap 2G
我电脑空间有限,用的110G,类似的别纠结这个大小
这样/分区就分完了
Swap分区在这个位置改
分完以后选择最下面结束分区
这个是说是否需要代理上网(有的公司需要)
选第一个不更新
到这个位置敲 空格 选中
现在就开始安装了
这个是默认yes,是一个启动的重要组件
ubuntu第一次不能用root登录,我加了另一个用户ln
用命令sudo -i输入密码可以进入root用户
配置环境变量,实现执行history的时候可以看到执行命令的时间。
history可以查看曾经执行过的命令
创建 /etc/profile.d/env.sh 这个文件可以任意起名字,只要是.sh结尾就行
写入以下内容
export HISTTIMEFORMAT="%F %T "
退出登录,再次登录生效
4. Linux的哲学思想
1). 一切皆文件
把几乎所有资源统统抽象为文件形式,包括硬件设备,甚至通信接口等,便于统一管理和定义;
对文件的操作有:open,read,write,close,delete,create
2). 由众多功能单一的程序组成
一个程序只做一件事,并且做好,保证了Linux内核的高效运行;
3). 组合小程序完成复杂任务
通过连接多个简单的程序实现复杂的功能;
4). 尽量避免和用户交互
更贴近编程,易于以编程的方式实现自动化任务;
5). 使用文本文件保存配置信息
修改配置信息只需要任意一款文本编辑器就可以进行。
linux发行版和哲学思想摘自以下网址
Linux学习之计算机基础入门和常见Linux发行版介绍-马哥教育「官网」-专业Linux云计算运维、SRE、Devops、容器云、Python、Go开发培训机构!1、描述计算机的组成及其功能。2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。https://www.magedu.com/74165.html
5.常见命令
终端
tty (tetypewritersda打字机)可以看到当前设备的名
who am i 可以看到当前用户和使用的终端啊编号还有时间
who 可以查看现在有谁登录
后边有地址的是远程登陆
w 能看见别人连到这台机器在做什么
ps 查看进程
ps aux
ps aux | grep bash
echo $SHELL 查看当前主机使用的shell
cat /etc/shells 查看当前主机安装的shell
hostname 查看主机名
hostname 主机名 临时修改
改配置文件 /etc/hosts 永久修改
hostnamectl set-hostname 主机名 永久修改 (只支持cent7以上版本,cent6不支持)
命令别名
alias
查看硬件信息
查看cpu
lscpu
cat /proc/cpuinfo 也是显示cpu,但是和lscpu显示不太一样,这个是每颗cpu显示,
查看内存信息
free free -h显示的人性化,
cat /proc/meminfo
查看硬盘信息
lsblk
cat /proc/partitions
查看系统版本信息
查看架构信息
arch
查看内核版本
uname -r
查看操作系统的版本
cat /etc/os-release
lsb_release -a 这个命令有的系统不一定带
cat /etc/redhat-release
查看时间
日期和时间
系统时钟 有linux内核通过cpu的工作频率进行的
硬件时钟 主板
date 系统时钟
clock 硬件时钟
date -s 'yesterday' 改为昨天,但是硬件时间不会改
改系统时钟
clock -w 把系统时钟写入硬件时钟
clock -s 把硬件时钟写入系统时钟
还能改时区,
查看日历
cal
cal 4 2021 只显示2021年的4月份,只写一个数字默认显示为公元几几年
关机和重启
关机:
halt
poweroff
重启:
reboot
-f:强制,不再用shutdown
-p:切断电源
关机或重启
sutdown [option]... [time] [message]
-r :reboot
-h:halt
-c:cancel
TIME:五指定,默认相当于+1(CENTOS7)
now相对时间表示法,几分钟之后:例如+3
hh:mm:绝对时间表示,指明具体时间
这个作为了解
screen 运行screen后杀死会话不会杀死正在运行的命令
tmux 升级版的screen
echo 显示一些内容
echo "hello world"
echo -e '\a' 会发一声,多用于任务结束后提示
echo -e 'a\tb\tc' \t是tab键 \a、\t等 需要-e否则就会被echo当作普通字符串输出
a b c
$PS1可以更改颜色
这里的颜色通过 $PS1更改
6.描述Linux发行版的系统目录名称命名规则以及用途
/ 所有目录都在根目录下
这里列举几个常用的目录
放二进制程序程序 binary
/bin /bin 和 /usr/bin 在cent7之后合并了
/sbin
启动
/boot
硬件设备 device
/dev
配置 (相当于Windows的注册表)
/etc
用户
/home
临时文件
/tmp
小根
/usr
会变化的文件(多放日志,网站...)
/var
程序库
/lib
/lib64
进程信息(数据在内存里)
/proc
和一个键相关(不是真实存在的,在内存中)
/sys
尽可能遵守目录存放的规范,不要乱放(主要是怕找不到)
目录的起名,除了斜杠和nul,所有字符都有效