2020-02-10 第一周作业

▲就业班和全程班的小伙伴看这里:(学习老王视频的作业第1-2节)

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

Linux发行版=Linux内核+GNU工具软件。目前主要有三大流派及其他发行版

一、三大流派及其发行版

1、slackware

SUSE Linux Enterprise Server (SLES); OpenSuse。其中OpenSuse 类似于CentOS

2、Debian

三大发行版中唯一以社区形式运作,不以商业公司形式运作。是一个致力于创建自由操作系统的合作组织。主要包括:

ubuntu:是一个以桌面应用为主的linux操作系统。

mint:Linux Mint 是一款基于 Ubuntu 与 Debian 开发的 Linux 操作系统发行版,非常适合个人日常办公或开发电脑使用。

3、Redhat

RHELRedHat Enterprise Linux,是Redhat自己的发行的企业版,是Redhat的一个重要节点。每18个月发 行一个新版本

CentOS是一个基于Redhat linux 提供的可自由使用源代码的企业级linux发行版本。兼容RHEL的格式

中标麒麟中标软件

Fedora:每6个月发行一个新版本,可视为Redhat的技术测试版,被认为可用的技术最终会加入到RedHat Enterprise Linux中

二、其他发行版

ArchLinux:轻量简洁

Gentoo:极致性能,不提供传统意义的安装程序

LFS:Linux From scratch 。类似于一本自制Linux的说明书,根据LFS可以自制Linux系统

Android: kernel+busybox(工具集)+java虚拟机

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

安装说明:以前使用VMware,Hyper-V 均安装过Centos系统。所以对安装过程并不陌生。安装Xshell6.0并且可以通过ssh方式登录Centost系统。

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

(1)临时生效:定义变量 HISTTIMEFORMAT="%F %T "

(2)永久生效,写入文件。

# vim .bashrc

HISTTIMEFORMAT="%F %T "

:wq

# . .bashrc


4、总结Linux哲学思想。

1)一切都是一个文件(包括硬件)

2)小型,单一用途的程序

3)链接程序,共同完成复杂的任务

4)避免令人困惑的用户界面

5)配置数据存储在文本中

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

(一)screen命令:

1)]创建新screen会话           screen –S [SESSION]

2)加入screen会话             screen –x [SESSION]

3)退出并关闭screen会话        exit

4)剥离当前screen会话         Ctrl+a+d

5)显示所有已经打开的会话      screen -ls

6)恢复某screen会话            screen -r [SESSION]

【举例】

场景一:有重要的数据需要备份,为防止备份过程中ssh连接意外中断,可使用screen方式来实现备份的连续性。

# screen            //新建一个screen窗口

# ping 192.168.37.7   //在screen窗口内运行测试命令。

关闭xshell连接,并使用ssh方式重新登录

# ps aux            //查看ping 进程仍在运行

# screen -r          //恢复screen会话

# exit

场景二:A、B 两个用户同时用root身份登录同一台Linux服务器。用户A需要B的协助。

A用户 :

# screen  -S  NeedHelp-A

B用户 : 

# screen  -ls

# screen  -x  NeedHelp-A

# Ctrl+a+d             //B用户临时有任务需要处理,暂时剥离会话

# screen  -x  NeedHelp-A

# exit

(二)echo命令:

1)功能:显示字符

2)语法:echo [-neE][字符串]

3)说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开,并在最后加上换行号

4)选项:

Ø  -E (默认)不支持 \ 解释功能

Ø  -n 不自动换行

Ø  -e 启用 \ 字符的解释功能

5)显示变量

echo "$VAR_NAME” 变量会替换,弱引用

echo '$VAR_NAME’ 变量不会替换,强引用

6)启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出

\a 发出警告声  |  \b 退格键  |  \c 最后不加上换行符号

\e escape,相当于\033  |  \n 换行且光标移至行首

\r 回车,即光标移至行首,但不换行  |  \t 插入tab

\\ 插入\字符  |  \0nnn 插入nnn(八进制)所代表的ASCII字符

\xHH插入HH(十六进制)所代表的ASCII数字(man 7 ascii)

7)命令行扩展:$( ) 或 ``:把一个命令的输出打印给另一个命令的参数

#echo "This system's name is $(hostname) "

结果:This system's name is server1.example.com

#echo "i am `whoami` "

结果:i am root

8)括号扩展:{ }

打印重复字符串的简化形式

echo file{1,3,5} 结果为:file1 file3 file5

【举例】:

① echo -e '\033[43;31;5mmagedu\e[0m'


②  echo -e '[\e[32m OK \e[0m]' 


③ echo {1..10}

 

④   echo {000..20..2}

 

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

date +%s

date -d @1509536033

hwclock,clock: 显示硬件时钟

-s, --hctosys 以硬件时钟为准,校正系统时钟

-w, --systohc 以系统时钟为准,校正硬件时钟

u    时区:/etc/localtime

u    显示日历:cal –y

【举例】:

# ntpdate 172.16.10.1     ------与时间同步服务器同步时间

 # date -d “-2 day”+%F     -------查看前天是几号

# date -s “13:14:15 2019-03-02”      ------------------自定义设置系统时间

(四)history命令:

1)history [-c] [-d offset] [n]

2)history -anrw [filename]

3)history -ps arg [arg...]

-c: 清空命令历史  |  -d offset: 删除历史中指定的第offset个命令

n: 显示最近的n条历史  |  -a: 追加本次会话新执行的命令历史列表至历史文件

-r: 读历史文件附加到历史列表  |  -w: 保存历史列表到指定的历史文件

-n: 读历史文件中未读过的行到历史列表

-p: 展开历史参数成多行,但不存在历史列表中

-s: 展开历史参数成一行,附加在历史列表后

HISTSIZE:命令历史记录的条数,HISTFILE:指定历史文件,默认为~/.bash_history

HISTFILESIZE:命令历史文件记录历史的条数

HISTTIMEFORMAT=“%F %T “ 显示时间

HISTIGNORE=“str1:str2*:… “ 忽略str1命令,str2开头的历史

变量:HISTCONTROL

Ø ignoredups 默认,忽略重复的命令,连续且相同为“重复”

Ø ignorespace 忽略所有以空白开头的命令

Øignoreboth 相当于ignoredups, ignorespace的组合

Ø erasedups 删除重复命令

Ø export 变量名=”值”。存放在/etc/profile 或 ~/.bash_profile

(五)bash的主要快捷键:

Ctrl + l 清屏,相当于clear命令

Ctrl + s 阻止屏幕输出,锁定  |Ctrl + q 允许屏幕输出

Ctrl + c 终止命令

Ctrl + u 从光标处删除至命令行首

Ctrl + k 从光标处删除至命令行尾

你可能感兴趣的:(2020-02-10 第一周作业)