1. 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别
2. 安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。
3. 配置环境变量,实现执行history的时候可以看到执行命令的时间。
4. 总结Linux哲学思想。
5. 总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令

1、按系列罗列linux的发行版,并描述不同发行本之间的联系与区别

Linux 发行版本:
Slackware:SUSE ,linux Enterprise Server(SLES) OpenSuse 桌面
Debian:Ubuntu,deepin(深度),mint
Redhat:redhat enterprise linux ,centos ,fedora
Archlinux:轻量简洁,遵循K.L.S.S原则,(keep IT simple and stupid)
Gentoo:极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件
LFS:linux From sxrath 自制linux
Android:kernel+busybox(工具集)+Java虚拟机

不同发行版本之间的联系:完整的Linux系统都是由Linux内核加上各种应用程序组成

区别:

Red Hat ,是redhat自己的发行的企业版,是redhat的一个重要节点。
Fedore是一款基于linux的操作系统,也是一组维持计算机正常运行的软件集合。由红帽公司赞助。
suse linux,针对个人用户。
红旗linux的发行版,包括桌面版、工作站版、数据中心服务器版、HA集群版和红旗嵌入式linux等产品,
是中国较大、较成熟的linux发行版之一。
Debian,三大发行版中唯一以社区形式运作,不以商业公司形式运作。是一个致力于创建自由操作系统
的合作组织。而且debian开发者所创建的操作系统中绝大部分基础工具来自于GNU工程。
Ubuntu,是一个以桌面应用为主的linux操作系统。Ubuntu的目标在于为一般用户提供一个最新的、同时
又相当稳定的主要由自由软件构建而成的操作系统。
Centos,是一个基于redhat linux 提供的可自由使用源代码的企业级linux发行版本。目前Centos已被收购,
成为redhat旗下的一个组织。

2、安装centos7.6操作系统,创建一个自己的名字的用户名,并可以正常登陆,将主要步骤截图

[root@localhost ~]# useradd tk
[root@localhost ~]# passwd tk
Changing password for user tk.
New password: 
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password: 
passwd: all authentication tokens updated successfully.

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

在/etc/profile 下找到HISTSIZE并在下面添加 HISTTIMEFORMT=”%F%T” 
或者HISTTIMEFORMT=”%y-%m-%d %H:%M:%S”,注意格式%S后面最好有空格这样显示的时候格式
好看 即可,如下:
[root@tk ~]# vim /etc/profile

[root@tk~]# source /etc/profile
[root@tk ~]# history

4、总结linux哲学思想

a.一切都是一个文件(包括硬件)
b.小型,单一用途的程序
c.链接程序,共同完成复杂的任务
d.避免令人困惑的用户界面
e.配置数据存储在文本中

5、总结linux常用的命令使用格式,并用实例说明,列如echo、screen、date、ifconfig、export等命令

Screen:

screen用于命令行终端切换
用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作
是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
会话恢复:只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别
有用——即使网络连接中断,用户也不会失去对已经打开的命令 行会话的控制。只要再次登录到主机上
执行screen  -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里
面的程序正常运行的情况下让Screen挂起(切换到后 台)

语法:
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]
选项:

-A  将所有的视窗都调整为目前终端机的大小。
-d <作业名称>  将指定的screen作业离线。
-h <行数>  指定视窗的缓冲区行数。
-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称>  恢复离线的screen作业。
-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s  指定建立新视窗时,所要执行的shell。
-S <作业名称>  指定screen作业的名称。
-v  显示版本信息。
-x  恢复之前离线的screen作业。
-ls或--list  显示目前所有的screen作业。
-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

常用screen参数:

screen -S yourname -> 新建一个叫yourname的session
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session
在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。
C-a ? -> 显示所有键绑定信息
C-a c -> 创建一个新的运行shell的窗口并切换到该窗口
C-a n -> Next,切换到下一个 window
C-a p -> Previous,切换到前一个 window
C-a 0..9 -> 切换到第 0..9 个 window
Ctrl+a [Space] -> 由视窗0循序切换到视窗9
C-a C-a -> 在两个最近使用的 window 间切换
C-a x -> 锁住当前的 window,需用用户密码解锁
C-a d -> detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows)
丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process
(无论是前台/后台)都在继续执行,即使 logout 也不影响。
C-a z -> 把当前session放到后台执行,用 shell 的 fg 命令则可回去。
C-a w -> 显示所有窗口列表
C-a t -> time,显示当前时间,和系统的 load
C-a k -> kill window,强行关闭当前的 window
C-a [ -> 进入 copy mode,在 copy mode 下可以回滚、搜索、复制就像用使用 vi 一样
C-b Backward,PageUp
C-f Forward,PageDown
H(大写) High,将光标移至左上角
L Low,将光标移至左下角
0 移到行首
$ 行末
w forward one word,以字为单位往前移
b backward one word,以字为单位往后移
Space 第一次按为标记区起点,第二次按为终点
Esc 结束 copy mode
C-a ] -> paste,把刚刚在 copy mode 选定的内容贴上
安装screen
流行的Linux发行版(例如Red Hat Enterprise Linux)通常会自带screen实用程序,如果没有的话,可以从
GNU screen的官方网站下载。
[root@localhost ~]# yum -y install screen

实例:

创建 screen 终端
#screen //创建 screen 终端 
创建 screen 终端 并执行任务
#screen vi ~/main.c //创建 screen 终端 ,并执行 vi命令
使用描述性名称启动屏幕会话是一个很好的做法,这样你可以轻松地记住会话中正在运行的进程。要使用
会话名称创建新会话,请运行以下命令:
screen -S name #将 “name” 替换为对你会话有意义的名字。
从 screen 会话中分离
要从当前的 screen 会话中分离,你可以按下Ctrl-A 和 d。所有的 screen 会话仍将是活跃的,你之后可以
随时重新连接。
重新连接到 screen 会话
如果你从一个会话分离,或者由于某些原因你的连接被中断了,你可以使用下面的命令重新连接:
screen -r
如果你有多个 screen 会话,你可以用 ls 参数列出它们。
screen -ls
There are screens on:
7880.session    (Detached)
7934.session2   (Detached)
7907.session1   (Detached)
3 Sockets in /var/run/screen/S-root.
在我们的例子中,我们有三个活跃的 screen 会话。因此,如果你想要还原 “session2” 会话,你可以执行:
screen -r 7934
或者使用 screen 名称。
screen -r -S session2
中止 screen 会话
有几种方法来中止 screen 会话。你可以按下 Ctrl+d ,或者在命令行中使用 exit 命令。
要查看screen命令所有有用的功能,你可以查看 screen 的 man 手册。man screen

echo:

字符串输出
命令格式:
echo string

实例:

普通字符串输出

[root@localhost ~]# echo IM taokui
IM taokui
[root@localhost ~]# echo "IM taokui"
IM taokui
[root@localhost ~]# echo 'IM taokui'
IM taokui

显示转义字符

[root@localhost ~]# echo \"IM taokui\"
"IM taokui"
[root@localhost ~]# echo ""\"IM taokui\"
"IM taokui"

显示变量

read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量
[root@localhost ~]# vim test.sh
#!/bin/sh
read name
echo "$name IM taokui"
[root@localhost ~]# sh test.sh 
wo
wo IM taokui

显示换行

[root@localhost ~]# echo -e "tk \n" #-e开启转义,\n表示换行,以下是换行和不换行的效果
tk 
[root@localhost ~]# echo IM tk
IM tk

显示不换行

[root@localhost ~]# vim test.sh
#!/bin/sh
echo -e “tk \c” #-e开启转义 \c不换行
echo "IM taokui"
[root@localhost ~]# sh test.sh 
tk IM taokui

显示结果指定向文件

[root@localhost ~]# echo IM taokui >a.txt
[root@localhost ~]# cat a.txt 
IM taokui

原样输出字符串,不进行转义或取变量(用单引号)

[root@localhost ~]# echo '$name\'
$name\
[root@localhost ~]# echo "$name\" #如果用双引号会是不能原样输出的

显示命令执行结果

[root@localhost ~]# echo date #这里用的是反引号(`)而不是单引号(’),如果用单引号或者双引号
都只会原样输出
Sun Dec 1 19:16:05 CST 2019

export:

命令用于设置或显示环境变量,可新增,修改或删除环境变量,供后续执行的程序使用,xeport的效力仅限于该次登录操作

语法:

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

列出当前所有的环境变量

[root@localhost ~]# export -p #列出当前所有环境变量 ,由于篇幅原因这里我只复制前半部分
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="localhost"
declare -x LANG="en_US.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"

定义环境变量赋值

[root@localhost ~]# export tk=love
[root@localhost ~]# export -p #会看到刚刚定义的变量
declare -x USER="root"
declare -x XDG_RUNTIME_DIR="/run/user/0"
declare -x XDG_SESSION_ID="4"
declare -x tk="love"

定义环境变量

[root@localhost ~]# export TK #定义变量的时候需要大写
[root@localhost ~]# export -p
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"
declare -x TK

date:

用来显示或者设定系统的时间和日期
若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数。

语法:

date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

参数说明:

-d datestr : 显示 datestr 中所设定的时间 (非系统时间)
--help : 显示辅助讯息
-s datestr : 将系统时间设为 datestr 中所设定的时间
-u : 显示目前的格林威治时间
--version : 显示版本编号

date命令的用法 :

date +%Y-%m-%d, date +%y-%m-%d 年月日 
date +%H:%M:%S = date +%T 时间 
date +%s 时间戳 
date -d @1504620492 时间戳换算
date -d “+1day” 一天后 
date -d “-1 day” 一天前 
date -d “-1 month” 一月前 
date -d “-1 min” 一分钟前 
date +%w, date +%W 星期

查看当前时间

[root@tk ~]# date
2019年 12月 04日 星期三 02:18:19 CST

查看系统日期

[root@tk ~]# cal
十二月 2019 
日 一 二 三 四 五 六
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

查看当前年份(四位显示)

[root@dl-001 shell]# date +%Y 
2019

查看当前年份(简化显示)

[root@tkl~]# date +%y 
19

查看当前 年 月 日 时 分 秒 星期

[root@tk ~]# date "+%Y-%m-%d %H:%M:%S %w" 
2019-12-04 02:24:44 3

查看当前时间是一年的第几周

[root@tk ~]# date +%W 
48

查看时间戳(显示从1970年1月1日00:00:00到目前经历的秒数)

[root@tk ~]# date +%s
1575397686

时间戳的换算

[root@tk ~]# date -d @1575397686
2019年 12月 04日 星期三 02:28:06 CST

打印指定日期和时间

[root@tk ~]# date -d "-2 day" +%d
02
[root@tk ~]# date -d "-1 year -3 month -1 day" +%Y-%m-%d
2018-09-03

手动设置当前时间

[root@tk ~]# date -s "2019-12-4 02:37:40"
2019年 12月 04日 星期三 02:37:40 CST
[root@tk ~]# date
2019年 12月 04日 星期三 02:37:44 CST

同步网络时间

[root@tk~]# yum install -y ntp
[root@tk ~]# ntpdate ntp.ubuntu.com
4 Dec 02:38:48 ntpdate[19778]: the NTP socket is in use, exiting
[root@tk ~]# date
2019年 12月 04日 星期三 02:38:53 CST

Ifconfig:

用于显示或者设置网络

语法:

ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

参数说明:

add<地址> 设置网络设备IPv6的IP地址。
del<地址> 删除网络设备IPv6的IP地址。
down 关闭指定的网络设备。
<hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
io_addr<I/O地址> 设置网络设备的I/O地址。
irq<IRQ地址> 设置网络设备的IRQ。
media<网络媒介类型> 设置网络设备的媒介类型。
mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
mtu<字节> 设置网络设备的MTU。
netmask<子网掩码> 设置网络设备的子网掩码。
tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
up 启动指定的网络设备。
-broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
-pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
-promisc 关闭或启动指定网络设备的promiscuous模式。
[IP地址] 指定网络设备的IP地址。
[网络设备] 指定网络设备的名称。

实例:

启动关闭指定网卡

#ifconfig eth0 down# ifconfig eth0 up

为网卡配置和删除IPv6地址

ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //为网卡诶之IPv6地址
#ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //为网卡删除IPv6地址

用ifconfig修改MAC地址

#ifconfig eth0 down //关闭网卡# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址# ifconfig eth0 up //启动网卡# ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址 # ifconfig eth1 up //启动网卡

配置IP地址

#ifconfig eth0 192.168.1.56 //给eth0网卡配置IP地址# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 // 给eth0网卡配置IP地址,并加上子掩码# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址

启用和关闭ARP协议

ifconfig eth0 arp //开启# ifconfig eth0 -arp //关闭

设置最大传输单元

#ifconfig eth0 mtu 1500 //设置能通过的最大数据包大小为 1500 bytes

linux学习第一周的更多相关文章

  1. linux学习第一周小结

    这几天学习linux课程,安装环境,遇到不会的查询资料,在这个过程中发现了很多有意思的网页,看到了一些不一样的内容,现在对linux的学习兴趣增强了许多.学习解决问题也是很有意思的事情,解决问题的过程 ...

  2. 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第一周测验【中英】

    [吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第一周测验[中英] 第一周测验 - 深度学习简介 和“AI是新电力”相类似的说法是什么? [  ]AI为我们的家庭和办公室的个人设备供电 ...

  3. 201671010140. 2016-2017-2 《Java程序设计》java学习第一周

       java学习第一周        本周是新学期的开端,也是新的学习进程的开端,第一次接触java这门课程,首先书本的厚度就给我一种无形的压力,这注定了,这门课程不会是轻松的,同时一种全新的学习方 ...

  4. 20165213 java学习第一周

    20165213 -2018-2<Java程序设计>第一周学习总结 教材学习内容总结 java的四个特点:面向对象.平台无关性.动态性.简单. java编写程序步骤:再有jdk的情况下,先 ...

  5. linux安全第一周总结——20135227黄晓妍

    实验部分: 我将源代码做了修改,将其中一个数字修改为我学号27 2.在实验楼环境下将其保存为text.c并将其编译,得到text.s 3.将.开头的多余的语句删去了之后,我得到了32位环境的汇编代码 ...

  6. Java学习第一周

    第一周学习了JDK的安装和环境的配置,初步了解了Java与C的不同之处,学习了Java的变量.基本数据类型.以及面向对象的基础.并且自行完成了一些简单Java程序的编写. (1)学习了为什么使用抽象类 ...

  7. Java学习第一周博客

    20145307<Java程序设计>第一周学习总结 教材学习内容总结 首先学习安装Java有两种方法,一种是用Eclipse直接编辑输出,另一种方法是用记事本之后用win+G开启cmd运行 ...

  8. H5学习第一周

    已经接触H5一个周了,经过学习,总算对H5有了一些了解和认知,下面就总结一下我对H5的认知和感悟. 首先接触的是H5的常用标签[meta],它有其以下常用属性 1.charset属性.单独使用,设置文 ...

  9. linux学习第一天 (Linux就该这么学) 找到一本不错的Linux电子书,附《Linux就该这么学》章节目录

    本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值 ...

随机推荐

  1. 转载 :c# 获取net framework 版本(Environment 类)

    源链接:http://www.cnblogs.com/tobecrazy/p/3362446.html 根据自己使用情况,添加了部分备注 1.获取当前操作系统版本信息 使用Environment.OS ...

  2. 更强、更稳、更高效:解读 etcd 技术升级的三驾马车

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 | 陈星宇(宇慕 ...

  3. MySQL 高可用架构 之 MHA (Centos 7.5 MySQL 5.7.18 MHA 0.58)

    目录 简介 环境准备 秘钥互信 安装基础依赖包 安装MHA组件 安装 MHA Node组件 安装 MHA Manager 组件 建立 MySQL 一主三从 初始化 MySQL 启动MySQL 并简单配 ...

  4. HTML 创建按钮实现跳转链接

    1.使用 form<form method="get" action="/page2"> <button type="submit& ...

  5. LNMP架构介绍、MySQL和PHP安装、Nginx介绍

     6月6日任务  12.1 LNMP架构介绍12.2 MySQL安装12.3/12.4 PHP安装12.5 Nginx介绍 扩展Nginx为什么比Apache Httpd高效:原理篇 http://w ...

  6. 转:linux 安装 Elasticsearch5.6.x 详细步骤以及问题解决方案

    在网上有很多那种ES步骤和问题的解决 方案的,不过没有一个详细的整合,和问题的梳理:我就想着闲暇之余,来记录一下自己安装的过程以及碰到的问题和心得:有什么不对的和问题希望及时拍砖. 第一步:环境 li ...

  7. JavaScript+HTML+CSS 无缝滚动轮播图的两种方式

    第一种方式 在轮播图最后添加第一张,一张重复的图片. 点击前一张,到了第一张,将父级oList移动到最后一张(也就是添加的重复的第一张),在进行后续动画. 点击下一张,到了最后一张(也就是添加的重复的 ...

  8. 拓展KMP分析

    拓展kmp是对KMP算法的扩展,它解决如下问题: 定义母串S,和字串T,设S的长度为n,T的长度为m,求T与S的每一个后缀的最长公共前缀,也就是说,设extend数组,extend[i]表示T与S[i ...

  9. Selenium选择web元素

    获取html片段可以用来做什么? 可以用来分割,也可以分析HTML文档 beautifulsoup用法? 安装beautifulsoup库: pip install beautifulsoup4 因为 ...

  10. 【重温基础】11.Map和Set对象

    本文是 重温基础 系列文章的第十一篇. 今日感受:注意身体,生病花钱又难受. 系列目录: [复习资料]ES6/ES7/ES8/ES9资料整理(个人整理) [重温基础]1.语法和数据类型 [重温基础]2 ...