一、Linux发行版描述。

Linux发行版主要有三个分支:Slackware、Debian、Redhat;

(1) Slackware:

  SUSE:基于Slackware二次开发的一款Linux,主要用于商业桌面、服务器;

  SUSE Linux Enterprise Server:企业服务器操作系统,是唯一与微软系统兼容的Linux操作系统;

  OpenSuse:由suse发展而来,旨在推进linux的广泛使用,主要用于桌面环境,用户界面非常华丽,而且性能良好。

(2) Debian:三大发行版中唯一以社区形式运作,不以商业公司形式运作。是一个致力于创建自由操作系统的合作组织。而且debian开发者所创建的操作系统中绝大部分基础工具来自于GNU工程。

  Ubuntu:是一个以桌面应用为主的linux操作系统。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统;

  Linux mint:基于Debian和Ubuntu的Linux发行版,致力于桌面系统对个人用户每天的工作更易用,更高效,且目标是提供一种更完整的即刻可用体验;

(3) RedHat:

  RHEL(RedHat Enterprise Linux):Red Hat公司发布的面向企业用户的Linux操作系统,是Redhat的一个重要节点。每18个月发行一个新版本;

  CentOS:是一个基于Redhat linux 提供的可自由使用源代码的企业级linux发行版本。目前Centos已被收购,成为redhat旗下的一个组织。每个版本的Centos都会获得十年的支持(通过安全更新的方式)。新版本的Centos大约每两年发行一次,而每个版本的Centos会定期(大概6个月)更新一次,以支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的Linux环境。

  中标麒麟:中标软件

  Fedora:基于Red Hat Linux终止发行后,红帽公司计划以Fedora来取代Red Hat Linux在个人领域的应用。每6个月发行一个新版本,可视为Redhat的技术测试版,被认为可用的技术最终会加入到Red Hat Enterprise Linux中;

(4) 其它发行版本

  Gentoo:基于linux的自由操作系统,它能为几乎任何应用程序或需求自动地作出优化和定制。追求极限的配置、性能,以及顶尖的用户和开发者社区,都是Gentoo体验的标志特点, Gentoo的哲学是自由和选择。得益于一种称为Portage的技术,Gentoo能成为理想的安全服务器、开发工作站、专业桌面、游戏系统、嵌入式解决方案或者别的东西--你想让它成为什么,它就可以成为什么。由于它近乎无限的适应性,可把Gentoo称作元发行版。

  Aech Linux(或称Arch):遵循KISS原则,以轻量简洁为设计理念的Linux发行版。其开发团队秉承简洁、优雅和代码最小化的设计宗旨

  LFS:Linux From scratch 自制Linux
  Android:kernel+busybox(工具集)+java虚拟机

二、Centos7.6(1810)安装

1.在vwware中新建一个自定义虚拟机,并在光驱中设置好ISO路径,准备安装;

2.虚拟机开机,会直接进入光盘安装系统,如下图:

3.选择第一项"Install CentOS7"进行安装界面,选择安装语言,直接 Continue 下一步,如下图:

4.之后会进行安装向导,对各个选项进行设置,如下图:

5.设置时区为中国shanghai,键盘类型为English(US),语言支持为English(United States)

6.在SOFEWARE下的SOFEWARE SELECTION中选择安装类型,此处选GNOME Desktop

7.在SYSTEM中的第一项INSTALLATION SOURCE中进行磁盘分区,如下图:

8.在SYSTEM中的第二项KDUMP中关闭KDUMP功能,默认开启,关闭时取消Enable kdump处的对勾,如下图

9.在SYSTEM中的第三项NETWORK&HOSTNAME中设置网络,网络可先开启DHCP或装完系统自己再设置也可,hostname也是一样,这里我设置成了centos7.localdomain,如下图

10.SYSTEM中的第四项SECURITY POLICY可先不设置,之后点击Begin Installation开始安装

11.安装过程中,可设置管理员root的密码以及新建一个普通用户,如下图

12.安装完成后,点击Reboot重启,重启后会进入一个许可信息的页面,接受即可,如下图

13.之后会进入登录界面,默认为普通用户登录,当然也可切换到管理员root登录,登录后进行一些简单的设置即可进入系统,如下图

三、配置环境变量,实现执行history命令时可以看到执行命令的时间

  将环境变量HISTTIMEFORMART设置为HISTTIMEFORMAT="%F %T ",此时只会临时生效,如要生效需写入配置文件中,在/etc/profile.d/目录下新建一个 env.sh 文件,并写入HISTTIMEFORMAT="%F %T "即可永久生效,或写入/etc/profile文件中亦可。

[root@centos7 ~]# HISTTIMEFORMAT="%F %T "
[root@centos7 ~]# history
-- :: ifconfig
-- :: ls
-- :: ls /
-- :: cd /data

  history命令:  

    -c: 清空命令历史
    -d offset: 删除历史中指定的第offset个命令
    n: 显示最近的n条历史
    -a: 追加本次会话新执行的命令历史列表至历史文件
    -r: 读历史文件附加到历史列表
    -w: 保存历史列表到指定的历史文件
    -n: 读历史文件中未读过的行到历史列表
    -p: 展开历史参数成多行,但不存在历史列表中(执行命令但不加入历史列表)
    -s: 展开历史参数成一行,附加在历史列表中(不执行命令但加入历史列表,伪造历史)

[root@centos7 ~]# history
-- :: cd /data
-- :: cd
-- :: history
[root@centos7 ~]# history -d
[root@centos7 ~]# history -p `hostname`
centos7
[root@centos7 ~]# history
-- :: ls
-- :: cd /data
-- :: cd
-- :: history -d
-- :: history
[root@centos7 ~]# history -s "rm -rf /*"
[root@centos7 ~]# history
-- :: history
-- :: rm -rf /*
744 2019-10-30 11:52:43 history 3

  命令历史相关的环境变量:

    HISTSIZE:命令历史记录的条数
    HISTFILE:指定历史文件,默认为~/.bash_history
    HISTFILESIZE:命令历史文件记录历史的条数
    HISTTIMEFORMAT=“%F %T “ 显示时间
    HISTIGNORE=“str1:str2*:... “ 忽略str1命令,str2开头的历史

  控制命令历史的记录方式:

    环境变量:HISTCONTROL
      ignoredups 默认,忽略重复的命令,连续且相同为“重复”
      ignorespace 忽略所有以空白开头的命令
      ignoreboth 相当于ignoredups, ignorespace的组合
      erasedups 删除重复命令

四、总结Linux哲学思想

  (1) 一切皆文件

   在Linux中,不仅普通的文件,目录、字符设备、块设备、 套接字等在Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面。配置数据存储也都在文本中,无论什么配置修改都只需修改其配置文件即可。

  (2) 小型,单一用途的程序,共同完成复杂功能

   在Linux中,程序和可执行文件不要太复杂,每一个命令都是对应一个功能,通过不同的参数来完成不同的要求,通过繁多的小的命令来完成大型的要求,这样才能保证了linux内核的高效运行。

  (3) 自由与分享

   Linux是自由软件,当然它不是无限自由的,之所以它使用GNU的General Public License作为限制,是为了让更多的人享受这种修改和其他权利,是为了更好的实现最大自由化。Linux kernel在经过不断的发展过程中,从最初的很小容量的操作方式成为了炙手可热的操作系统,不得不承认,内核源代码的共享和互联网上的协作开发是其走向成功的重要途径。在英文单词中,“share”是一个很重要的词语,分享技术,分享每个人对内核的认识和修改。

五、常用命令的使用

(1) echo:显示字符

  选项:
    -E (默认)不支持\解释功能
    -n 不自动换行
    -e 启用\字符的解释功能
    启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出,如
\a 发出警告声
      \b 退格键
      \c 最后不加上换行符号
      \e escape,相当于\033
      \n 换行且光标移至行首
      \r 回车,即光标移至行首,但不换行
      \t 插入tab
      \\ 插入\字符

[root@centos7 ~]# echo -n "hello world ";echo "welcome"
hello world welcome
[root@centos7 ~]# echo -ne "hello world\b";echo "welcome"
hello worlwelcome

(2) screen:创建会话

  创建新screen会话:screen –S [SESSION]
  加入screen会话:screen –x [SESSION]
  退出并关闭screen会话: exit
  剥离当前screen会话:Ctrl+a,d
  显示所有已经打开的screen会话: screen -ls
  恢复某screen会话: screen -r [SESSION]

[root@centos7 ~]# screen -S help   #创建一个新会话
[root@centos7 ~]# screen -ls #显示会话
There is a screen on:
.help (Attached)
Socket in /var/run/screen/S-root.
[root@centos7 ~]# screen -x help #在另一窗口可加入会话
[root@centos7 ~]# screen -r help #恢复会话

(3) date:显示和设置系统时间

   date [OPTIONS] [+FORMAT]
  常用选项:
    -s:设置时间 如 date -s "2019-10-30 13:00:00"
    -d:指定字符串时间并显示,如date -d "2019-10-20 11:23:45"
  常用时间格式:
    %F:显示日期,格式为2019-10-30,类似%Y-%m-%d
    %T:显示时间,格式为12:20:23,类似%H:%M:%S
    %Y:显示年份,如2019
    %y:显示年,如19
    %m:显示月,01-12
    %M:显示分钟,00-59
    %d:显示日,01-31
    %D:显示日期,格式为10/30/19,类似%m/%d/%y
    %H:显示小时,00-23
    %I:显示小时,00-12
    %S:显示秒,00-59
    %s:显示秒数,从1970-01-01 00:00:00 UTC到目前经过的秒数,时间戳
    %w:显示周,0-6,0代表星期日
    %W:显示当前周是一年中的第几周

[root@centos7 ~]# date
Wed Oct :: CST
[root@centos7 ~]# date -s "2019-10-20 11:23:45"
Sun Oct :: CST
[root@centos7 ~]# date "+%F %T"
-- ::

  hwclock:显示硬件时钟
    -s, --hctosys 以硬件时钟为准,校正系统时钟
    -w, --systohc 以系统时钟为准,校正硬件时钟

(4) ifconfig:查看当前网卡配置信息,启用或禁用网卡

  ifconfig IFNAME up|down 启用或禁用网卡(临时生效)

[root@centos7 ~]# ifconfig
eth0: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
inet 172.16.236.134 netmask 255.255.255.0 broadcast 172.16.236.255
inet6 fe80::518d:c0dd::2a93 prefixlen scopeid 0x20<link>
ether :0c::0b::fb txqueuelen (Ethernet)
RX packets bytes (13.6 KiB)
RX errors dropped overruns frame
TX packets bytes (22.8 KiB)
TX errors dropped overruns carrier collisions eth1: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
inet 192.168.214.7 netmask 255.255.0.0 broadcast 192.168.255.255
inet6 fe80::20c:29ff:fe0b: prefixlen scopeid 0x20<link>
ether :0c::0b:: txqueuelen (Ethernet)
RX packets bytes (378.3 KiB)
RX errors dropped overruns frame
TX packets bytes (546.0 KiB)
TX errors dropped overruns carrier collisions
[root@centos7 ~]# ifconfig eth0 down

(5) export:设置或显示环境变量

  export [-fnp] [变量名称]="变量值"
    -f:代表[变量名称]中为函数名称
    -n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中
    -p:列出所有的shell赋予程序的环境变量

[root@centos7 ~]# export -p    #查看系统的环境变量
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE=""
declare -x HOME="/root"
declare -x HOSTNAME="centos7"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
......
[root@centos7 ~]# export NAME=xiaoming
[root@centos7 ~]# echo $NAME
xiaoming

第一周作业—N42-虚怀若谷的更多相关文章

  1. Java第一周作业

    Java第一周作业 本周作业: 参考<<教材学习指导(http://www.cnblogs.com/rocedu/p/7911138.html)) 学习第一章视频 参考<<使用 ...

  2. 2018-2019-1 20189221《Linux内核原理与分析》第一周作业

    Linux内核原理与分析 - 第一周作业 实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂 ...

  3. C语言--第一周作业评分和总结(5班)

    作业链接:https://egdu.cnblogs.com/campus/hljkj/CS2017-5/homework/963 一.评分要求 * 要求1 (5分):博客中给出安装软件的截图(得分点1 ...

  4. C语言-第一周作业

    要求1: 请在你的PC或者移动设备上安装词典,该词典工具能对计算机术语进行翻译.需要在你的博客中给出安装软件的截图,请确保阅读者能从截图判断出你的被安装的设备是PC或者移动设备.(5经验值) 要求2: ...

  5. 2017-2018-1 Java小组-1623 第一周作业

    2017-2018-1 Java小组-1623 第一周作业 <构建之法>学习笔记及团队成员介绍 1. 学习内容 概论 个人技术和流程 软件工程师的成长 两人合作 团队和流程 敏捷流程 实战 ...

  6. 2019-2020-1 20199303 《Linux内核原理分析》 第一周作业

    2019-2020-1 20199303 <Linux内核原理分析> 第一周作业 1. 环境准备 在众多的Linux发行版中,Ubuntu,小红帽还有类Unix系统的BSD系统,我选择了目 ...

  7. C语言1-2019秋第一周作业

    第一周作业 1.你对软件工程专业或者计算机科学与技术专业了解是怎样? 软件技术专业是计算机科学的一个分支,和软件科学与技术专业相比较,软件技术专业的侧重点在开发和技术的实际应用,而对软件开发的理论要求 ...

  8. 初入计算机专业,学习c语言的第一周作业问答

    2019年9月17日下午3点30,我来到了1117教室准备上我进入大学的第一堂计算机专业课,并需要完成以下作业. 2.1 你对软件工程专业或者计算机科学与技术专业了解是怎样? 我所了解的计算机就是一台 ...

  9. C语言I—2019秋作业第一周作业

    1.你对软件工程专业或者计算机科学与技术专业了解是怎样? 软件工程专业是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设 ...

  10. C语言1-2019级秋季作业第一周作业

    1.你对软件工程专业或者计算机科学与技术专业了解是怎样? 软件工程专业是指对计算机的软件方面灵活掌控,开发软件的工程.软件工程其中会用到计算机科学.数学方面构建模型与算法:软件工程的目标就是开发出能够 ...

随机推荐

  1. LintCode之主元素

    题目描述: 分析:由题目可知这个数组不为空且该主元素一定存在,我选用HashMap来存储,HashMap的存储结构是”键—值对“,”键“用来存储数组元素,”值“用来存储这个元素出现的次数,然后循环遍历 ...

  2. form submission

    https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms This module provides a series of articles ...

  3. science_action

    w import random import pprint import math import matplotlib.pyplot as plt def gen_random(magnify_=10 ...

  4. elasticsearch 集群搭建及启动常见错误

    1.系统环境 三台服务器(最好是单数台,跟master选举方式有关),确保机器互相ping的通,且都需要装了jdk 8环境,机器IP和 elasticsearch 的节点名称如下: cluster n ...

  5. scrapy电影天堂实战(二)创建爬虫项目

    公众号原文 创建数据库 我在上一篇笔记中已经创建了数据库,具体查看<scrapy电影天堂实战(一)创建数据库>,这篇笔记创建scrapy实例,先熟悉下要用到到xpath知识 用到的xpat ...

  6. 【MM系列】SAP KP26 报工出错

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP KP26 报工出错   前言 ...

  7. Git015--标签管理

    Git--标签管理 本文来自于:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/ ...

  8. Maven系列学习(二)Maven使用入门

    Maven使用入门 通过上一节的学习,我们已经了解和配置好了Maven,接下来需要编写代码了 1.POM(Project Object Model,项目对象模型) 和Make的Makefile类似,M ...

  9. Pair Testing

    All-Pairs Testing is a test design method to deal with the combinatorics problem of defining test ca ...

  10. Ubuntu12.04下安装Subversion并进行配置

    Ubuntu下安装Subversion还是很简单的,只要输入sudo apt-get install Subversion就可以安装了. 主要的难点在于对权限的配置上. 安装完subversion后, ...