好的开始是成功的一半(第一周)
- Redhat,应该称为Redhat系列
RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本。
Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)
CentOS(RHEL的社区克隆版本,免费)。Redhat应该说是在国内使用人群最多 的Linux版本,甚至有人将Redhat等同于Linux
Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用, 但是Fedora Core的稳定性较差,最好只用于桌面应用。 - Debian,或者称Debian系列,包括Debian和Ubuntu等
Debian是社区类Linux的典范,是迄今为止最遵循GNU规范 的Linux系统。Debian最早由Lan 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是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo 被称为最完美的Linux发行版本的原因之一
Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统 ——Portage包管理系统。
不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软 件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux 发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。 - FreeBSD并不是一个Linux系统,但FreeBSD与Linux的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致,所采用的软件也比较类似,所以可以将FreeBSD视为一个Linux版本来比较。
FreeBSD拥有两个分支: stable和current。stable是稳定版,而current则是添加了新技术的测试版。FreeBSD采用Ports包管理系统,与Gentoo类似,基于源代码分发,必须在本地机器编后后才能运 行,但是Ports系统没有Portage系统使用简便,使用起来稍微复杂一些。FreeBS的最大特点就是稳定和高效,是作为服务器操作系统的最佳选 择,但对硬件的支持没Linux完备,所以并不适合作为桌面系统。
二、安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。
按照自己安装方式:
安装contos7.6
查看hostname
安装完成配置ip,dns,使用Xshell登录
完成配置环境和版本查看
三、配置环境变量,实现执行history的时候可以看到执行命令的时间。
在、/etc/bashrc下添加:Histtimeformat
四、总结Linux哲学思想。
这里也就学习马哥课程主要内容,并添加自己的想法Linux的哲学思想:
- 一切皆文件:
把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;
open(), read(), write(), close(), delete(), create()(内核中系统调用) - 由众多功能单一的程序组成;一个程序只做一件事,并且做好;
组合小程序完成复杂任务; - 尽量避免和用户交互;
目标:易于以编程的方式实现自动化任务; - 使用文本文件保存配置信息;将配置信息传递参数给执行文件(JSON、YAML等轻量化格式)
五、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令
[ ~]# 命令[选项][参数]
一般[]表示可以省略,Linux崇尚极简就是精炼
Echo命令
echo - display a line of text
SYNOPSIS
echo [SHORT-OPTION]... [STRING]...
echo LONG-OPTION
已输出屏幕的方式显示echo后面的内容。Screen命令
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
Screen一般是没有安装的,需要yum install screen
安装完成后,直接敲命令screen就可以启动它。
配置一个名称:~]# screen -S mage
查看窗口和窗口名称:打开多个窗口后,可以使用快捷键Ctrl+a w列出当前所有窗口。
会话分离与恢复:那么在screen窗口键入Ctrl+a d,Screen会给出detached回话将会分离,使用screen -r #(隔离时提示数字)
更多更为详细内容,man screenDate命令
NAME
date - print or set the system date and time
SYNOPSIS
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
date命令可以按照指定格式显示日期,只键入date则以默认格式显示当前时间,如果需要以指定的格式显示日期,可以使用“+”开头的字符串指定其格式,详细格式如下
%n : 下一行
%t : 跳格
%H : 小时(00-23)
%I : 小时(01-12)
%k : 小时(0-23)
%l : 小时(1-12)
%M : 分钟(00-59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00-60)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
%a : 星期几 (Sun-Sat)
%A : 星期几 (Sunday-Saturday)
%b : 月份 (Jan-Dec)
%B : 月份 (January-December)
%c : 直接显示日期与时间
%d : 日 (01-31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001-366)
%m : 月份 (01-12)
%U : 一年中的第几周 (00-53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0-6)
%W : 一年中的第几周 (00-53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000-9999)
上述格式不必全都记住,只需要掌握几个常用的即可。例如%Y表示年,%m表示月,%d表示日,%H表示小时,%M表示分钟,%S表示秒,%s表示从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数,相当于time函数,%w表示一周中的第几天。Ifconfig命令
ifconfig - configure a network interface
以我自己电脑为例
给eth0网卡配置IP地:192.168.120.56
ifconfig eth0 192.168.200.201
给eth0网卡配置IP地址:192.168.200.201 ,并加上子掩码:255.255.255.0
ifconfig eth0 192.168. 200.201 netmask 255.255.255.0
给eth0网卡配置IP地址:192.168.20.201,加上子掩码:255.255.255.0,加上个广播地址: 192.168.120.255
ifconfig eth0 192.168.200.201 netmask 255.255.255.0 broadcast 192.168.200.255
ifconfig只是简单为用户临时配置ip而使用。- Export命令:
在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。
SYNOPSIS
export [-fnp][变量名称]=[变量设置值]
参数说明:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
Export -p 列出当前所有的环境变量