Linux发行版
众所周知,linux发展到现在,已经出现了很多的发行版,多到连有多少我们都数不清,说不定明天就有可能会出现新的Linux版本,光看下面这张图可能都会头大。
1.Ubantu
Ubantu并不算是一个独立的发行版,它是基于Debian的下的unstable版本再次优化和开发而来的,可以说是加强版,Ubantu他拥有Debian的所有优点,以及加强后的近乎完美的界面。熟悉Linux的人都知道Ubantu,他拥有华丽的外表,以及色调,他对于初学者来说可以说是个不错的选择,主题容易用,容易学,一般来说支持Linux的工具都会默认提供适合Ubantu系统使用的安装包,如果出现问题,偏门点的发行版课能找不到解决办法,但Ubantu系统在网上都能够随意的找到解决方法,这应该也是Ubantu受很多人追捧的原因吧。
Ubantu系统界面做的确实很漂亮,但在生产环境上光是好看是没有用的,生产当中讲究成本,他的界面也是需要开销,相信一般人也不会为了好看而为这宝贵的资源买单(豪土 ),当然用于个人沉浸式学习是一个挺不错的选择。
2.Red Hat系列
redhat它是一个独立的系列,(红帽公司)创建于 1993 年,是目前世界上资深的 Linux 厂商,也是最获认可的 Linux 品牌。红帽公司旗下主要产品还有RHEL(Red Hat Enterprise Linux,收费版本)和 CentOS(RHEL 的社区克隆版本,免费版本)、Fedora Core(由 Red Hat 桌面版发展而来,免费版本)。
Red Hat系列的产品目前是我国国内使用做多的Linux版本,很多企业都选择centos来搭建,其资料在国内也是非常丰富,它是基于 Red Hat Enterprise Linux 源代码重新编译、去除 Red Hat 商标的产物,各种操作使用和付费版本没有区别,且完全免费。缺点是不向用户提供技术支持,也不负任何商业责任。
3.SUSE
SuSE Linux 以 Slackware Linux 为基础,原来是德国的 SuSE Linux AG 公司发布的 Linux 版本,1994 年发行了第一版,早期只有商业版本,2004 年被 Novell 公司收购后,成立了 OpenSUSE 社区,推出了自己的社区版本 OpenSUSE。
SuSE Linux 在欧洲较为流行,在我国国内也有较多应用。值得一提的是,它吸取了 Red Hat Linux 的很多特质。
SuSE Linux 可以非常方便地实现与 Windows 的交互,硬件检测非常优秀,拥有界面友好的安装过程、图形管理工具,对于终端用户和管理员来说使用非常方便。
4.Gentoo Linux
Gentoo 最初由 Daniel Robbins(FreeBSD 的开发者之一)创建,首个稳定版本发布于 2002 年。Gentoo 是所有 Linux 发行版本里安装最复杂的,到目前为止仍采用源码包编译安装操作系统。
不过,它是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。自从 Gentoo 1.0 面世后,它就像一场风暴,给 Linux 世界带来了巨大的惊喜,同时也吸引了大量的用户和开发者投入 Gentoo Linux 的怀抱。
有人这样评价 Gentoo:快速、设计干净而有弹性,它的出名是因为其高度的自定制性(基于源代码的发行版)。尽管安装时可以选择预先编译好的软件包,但是大部分使用 Gentoo 的用户都选择自己手动编译。这也是为什么 Gentoo 适合比较有 Linux 使用经验的老手使用。
要注意的是,由于编译软件需要消耗大量的时间,所以,如果你所有的软件都由自己编译,并安装 KDE 桌面系统等比较大的软件包,则可能需要花费很长时间。
其他Linux发行版
版本名称 | 特 点 | 软件包管理器 |
---|---|---|
Debian Linux | 开放的开发模式,且易于进行软件包升级 | apt |
Fedora Core | 拥有数量庞人的用户,优秀的社区技术支持. 并且有许多创新 | up2date(rpm),yum (rpm) |
CentOS | CentOS 是一种对 RHEL(Red Hat Enterprise Linux)源代码再编译的产物,由于 Linux 是开发源代码的操作系统,并不排斥样基于源代码的再分发,CentOS 就是将商业的 Linux 操作系统 RHEL 进行源代码再编译后分发,并在 RHEL 的基础上修正了不少已知的漏洞 | rpm |
SUSE Linux | 专业的操作系统,易用的 YaST 软件包管理系统 | YaST(rpm),第三方 apt (rpm)软件库(repository) |
Gentoo Linux | 高度的可定制性,使用手册完整 | portage |
Ubuntu | 优秀已用的桌面环境,基于 Debian 构建 | apt |
Centos7.9的安装
在安装之前,首先要下载好镜像,和准备好VMware Workstation
官网下载链接:http://isoredirect.centos.org/centos/7/isos/x86_64/
阿里云站点:http://mirrors.aliyun.com/centos/7/isos/x86_64/
各个版本的ISO镜像文件说明:
CentOS-7-x86_64-DVD-1708.iso 标准安装版(推荐)
CentOS-7-x86_64-Everything-1708.iso 完整版,集成所有软件(以用来补充系统的软件或者填充本地镜像)
CentOS-7-x86_64-LiveGNOME-1708.iso GNOME桌面版
CentOS-7-x86_64-LiveKDE-1708.iso KDE桌面版
CentOS-7-x86_64-Minimal-1708.iso 精简版,自带的软件最少
CentOS-7-x86_64-NetInstall-1708.iso 网络安装版(从网络安装或者救援系统)
在VMware中设置好虚拟机基本规格便可启动
加载成功后便可进入安装界面,主要把带有红字的选线点开,然后设置即可进入下一步,当然也可以选择图形界面,下一波便是安装拉
安装成功后登录,然后创建一个用户
Ubantu的安装
官网镜像下载:https://www.ubuntu.com/download
阿里云开源镜像站:http://mirrors.aliyun.com/ubuntu-releases/21.04/
VMware虚拟机设置同Centos差不多,几点要变就是选择Ubantu系统,和镜像,接下来进入安装画面,其他的也没什么特殊的需求也就没必要去设置了,直接Continue,设置好用户密码便安装
装好之后便能登陆
配置环境变量,实现执行history的时候可以看到执行命令的时间
临时显示
[root@localhost ~]# export HISTTIMEFORMAT='%F %T '
[root@localhost ~]# history |head -n 3
1 2021-11-17 20:43:07vim /etc/sysconfig/network-scripts/ifcfg-ens33
2 2021-11-17 20:43:07vi /etc/sysconfig/network-scripts/ifcfg-ens33
3 2021-11-17 20:43:07systemctl restart network
永久显示通过编辑 “.bash.rc”文件来实现
[root@localhost ~]# cat << EOF >> ~/.bash.rc
> export HISTTIMEFORMAT='%F %T '
> EOF
[root@localhost ~]# source ~/.bashrc
Linux哲学思想
1) 一切皆文件
2) 由众多目的单一的程序完成一件比较复杂的工作,一个程序只做一件事,并且做好它。
3) 尽量避免与用户交互
4) 使用文本文件保存配置信息
5) 提供机制(可选择的策略,是一种框架),而非策略,提供最大的灵活性,策略会过时,机制不会过时。
Linux常用命令使用格式
Linux中命令的基本格式为
[root@localhost ~]# 命令[选项][参数]
命令格式中的 [] 代表可选项,也就是有些命令可以不写选项或参数,也能执行。那么,我们就用 Linux 中最常见的 ls 命令来解释一下命令的格式(有关 ls 命令的具体用法,后续章节会详细介绍)。如果按照命令的分类,那么 ls 命令应该属于目录操作命令。
选项:调整命令功能
参数:是命令的操作对象,一般文件、目录、用户和进程等可以作为参数被命令操作
在命令中执行ls,ls -l 可以看到一旦有选项,则可以显示更加丰富的数据。
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# ls -l
total 4
-rw-------. 1 root root 1510 Oct 30 17:48 anaconda-ks.cfg
但是为什么一开始 ls 命令可以省略参数?那是因为有默认参数。命令一般都需要加入参数,用于指定命令操作的对象是谁。如果可以省略参数,则一般都有默认参数。
[root@localhost ~]# vim test.txt
[root@localhost ~]# cat test.txt
Hello world
Linux发行版的系统目录名称命名规则以及用途
系统目录名称:
/bin 存放所有用户的基本命令,该目录不可以独立分区,系统启动时会使用此目录下的文件
/boot 系统启动引导文件存放此目录,内核文件以及引导加载器都存放在此目录下
/sbin 存放管理类的基本命令,该目录不能独立分区,系统启动时会使用此目录下的文件
/lib 存放系统启动时程序依赖的基本共享库文件和内核模块文件(/lib/modules)
/lib64 专用于x86_64系统上的辅助共享库文件存放的位置
/etc 配置文件目录
/home 用户的家目录
/root 管理员用户的家目录
/media 移动式设备的挂载点
/mnt 临时文件系统挂载点
/dev 设备文件和特殊文件存储位置
/opt 第三方引用程序的安装位置
/srv 系统运行的服务用到的数据
/tmp 产生临时文件的程序提供的存储临时文件的目录
/usr 全局共享的只读数据路径
/var 一些随着系统常规操作而持续改变的文件就放在这里,比如日志文件,脱机文件,还有临时的电子邮件文件
/proc 基于内存的虚拟文件系统,为内核和进程存储其相关信息,多为内核参数
/sys 系统硬件设备的信息
命名规则
1、Linux 系统区分英文字符的大小写。命名目录和命名文件的规则是相同的。
2、除非有特别的原因,否则用户创建的文件和目录名要使用小写字符。大多数的 Linux 命令也使用小写字符。
3、Linux 系统下的文件名长度最多可到256个字符。
通常情况下,文件名的字符包括:字母、数字、"."(点)、"_"(下划线)和"-"(连字符)。
4、不建议使用含有特殊意义的字符。
Linux 允许在文件名中使用除上述符号之外的其它符号, 但并不建议这样做。 有些转意字符 (即该字符被系统借用,表示某种特殊含义)在Linux 的 shell 中有特殊的含义。这样的转意字符有:"?"(问号),"*"(星号), " "(空格), “$”(货币符), “&”, 扩号等等。在文件名中应尽量避免使用这些字符。
文件名中可以有" “(空格),但建议用户用”_"(下划线)来替代。
“/” 既可代表目录树的根也可作为路径名中的分隔符,因此"/"不能出现在文件名中。
“.” 和 “…” 分别用来表示"当前目录"和"父目录", 因此它们也不能作为文件名。
在Linux下可以使用长文件名和目录名,可以给它们取任何名字,但是必须遵守以下规则: 1、除了/外,所有的字符都可以; 2、有些字符最好不用,如空格符,制表符,退格符和字符:? @ # $&()|; ‘’“”<>等; 3、避免使用+ -或.作为普通文件名的第一个字符(在Linux下以.开头的文件是属于隐藏文件); 4、在Linux下文件名大小写敏感。