好的开始是成功的一半(第一周)

一、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

  1. 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的稳定性较差,最好只用于桌面应用。
  2. 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的资料也很丰富,有很多支持的社区。
  3. Ubuntu严格来说不能算一个独立的发行版本
    Ubuntu是基于Debian的unstable版本加强而来,可以这么说,Ubuntu就是 一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。根据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的Xubuntu。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。
  4. Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo 被称为最完美的Linux发行版本的原因之一
    Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统 ——Portage包管理系统。
    不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软 件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux 发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。
  5. 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的哲学思想:

  1. 一切皆文件:
    把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;
    open(), read(), write(), close(), delete(), create()(内核中系统调用)
  2. 由众多功能单一的程序组成;一个程序只做一件事,并且做好;
    组合小程序完成复杂任务;
  3. 尽量避免和用户交互;
    目标:易于以编程的方式实现自动化任务;
  4. 使用文本文件保存配置信息;将配置信息传递参数给执行文件(JSON、YAML等轻量化格式)

五、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令
[[email protected] ~]# 命令[选项][参数]
一般[]表示可以省略,Linux崇尚极简就是精炼

  1. Echo命令
    echo - display a line of text
    SYNOPSIS
    echo [SHORT-OPTION]... [STRING]...
    echo LONG-OPTION
    已输出屏幕的方式显示echo后面的内容。

  2. 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 screen

  3. Date命令
    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表示一周中的第几天。

  4. 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而使用。

  5. Export命令:
    在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。
    SYNOPSIS
    export [-fnp][变量名称]=[变量设置值]
    参数说明:
    -f  代表[变量名称]中为函数名称。
    -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
    -p  列出所有的shell赋予程序的环境变量。
    Export -p 列出当前所有的环境变量

猜你喜欢

转载自blog.51cto.com/7814301/2455183