1、按系统罗列Linux的发行版,并描述不同发行版之间的联系与区别。
主要版本:CentOS、RHEL、Ubuntn、Debian、Suse、Fedora
CentOS:是一个基于Redhat linux 提供的可自由使用源代码的企业级linux发行版本。目前Centos已被收购,成为redhat旗下的一个组织。Centos兼容RHEL的格式。
RHEL:RedHat Enterprise Linux,是Redhat自己的发行的企业版,是Redhat的一个重要节点。每18个月发行一个新版本。
Ubuntn:是一个以桌面应用为主的linux操作系统。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。
Debian:三大发行版中唯一以社区形式运作,不以商业公司形式运作。是一个致力于创建自由操作系统的合作组织。而且debian开发者所创建的操作系统中绝大部分基础工具来自于GNU工程。
Suse:拥有界面友好的安装过程,还有图形管理工具,可方便地访问Windows磁盘。
Fedora:一款基于linux的操作系统,也是一组维持计算机正常运行的软件集合。由红帽公司赞助。每6个月发行一个新版本,可视为Redhat的技术测试版,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。
2、安装CentOS7操作系统,创建一个自己名字的用户名,并可以正常登陆,将主要步骤截图。
2.1、设置正确的地区时间。
2.2、对硬盘进行分区,Device Type选择Standard Partition。
2.3、打开网络连接,并为Hostname取名。
2.4、重启之后,用新建的用户登录系统。
3、配置环境变量,实现执行history的时候可以看到执行命令的时间。
通过编辑~/.bash_profile或者etc/profile文本,实现此功能。
增加 export HISTTIMEFORMAT="%F %T "
4、总结Linux哲学思想。
一切皆文件(包括硬件):所有资源(普通的文件,目录、字符设备、块设备)都被抽象成文件,这样,系统就可以通过设计统一的访问控制操作(open(), read(), write(), close(), delete(), create())接口,进一步提高内核控制源码的精简程度。
小型、单一用途的程序:一个程序只做一件事,保证内核高效运行。
链接程序,共同完成复杂的任务:复杂的任务可以通过连接多个简单的程序实现复杂的功能。对于复杂的功能linux通过许多简单程序的组合等方式实现,在保证简单功能的高效性的同时,复杂的程序也必然是高效性的。
避免令人困惑的用户界面:通过命令,修改配置文件对系统进行操作。
配置数据存储在文本中:所有数据都存放在配置文件中。
尽量避免跟用户交互:以编程的方式实现自动化任务;以脚本编程的方式实现功能管控的自动化。避免交互介入,影响自动化程度。
5、总结Linux常用命令使用格式,并用实例说明。例如echo 、screen、date、ifconfig、export等
-
echo:显示字符,将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
语法:echo(选项)(参数)
常见的echo选项用法:
echo #默认自动换行
echo -n #不换行输出
echo -e #启用 \ 字符的解释功能(激活转义字符)
实例演示:
[wu@centos8 ~]$ echo "$PATH" #显示当前PATH环境变量
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/root/bin
[wu@centos8 ~]$ echo -e "\e[1;31mThis is red text\e[0m"
This is red text
-
screen:可以实现会话管理(新建会话、共享会话...)
语法:screen(选项)(参数)
常见的screen选项用法:
screen -S [session] #创建新的screen会话
screen -x [session] #加入screen会话
screen -ls #列出所有已经打开的screen会话
screen -r [session] #恢复某screen会话
Ctrl+a ,d #剥离当前screen会话
exit #退出并关闭screen会话:
-
date:显示或设置系统时间与日期
语法:date(选项)(参数)
从世界标准时间1970年1月1日0时0分0秒开始算起。
常见的date选项用法:
date #不加选项,显示当前时间
date -d #时间经过运算的,显示字符串所指的日期与时间(字符串必须加上双引号)
date -s #根据字符串设置日期与时间,root用户有权限(字符串必须加上双引号)
实例演示:
[wu@centos8 ~]$ date +"%Y-%m-%d" #显示当前年月日
2020-11-25
[wu@centos8 ~]$ date +"%F %T" #%F=%Y-%m-%d %T=%H:%M:%S
2020-11-25 22:16:10
[wu@centos8 ~]$ date -d "+1 day" +%Y-%m-%d #显示后一天
2020-11-26
[wu@centos8 ~]$ date -d "-1 day" +%Y-%m-%d #显示前一天
2020-11-24
[wu@centos8 ~]$ date -d '3 days ago' +"%F %T" #显示2天前
2020-11-22 22:51:36
-
ifconfig:配置和显示Linux系统网卡的网络参数
配置文件存放在/etc/sysconfig/network-scripts/ifcfg-eth0路径下。
DEVICE=eth0 #网卡名称
HWADDR=00:0c:29:d9:6a:f0 #物理网卡
NAME=eth0 #网络连接名称
ONBOOT=yes #开机自动启用网络连接
TYPE=Ethernet #连接类型(以太网)
BOOTPROTO=static #获取静态ip
IPADDR=10.154.119.128 #ip地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=10.154.119.2 #网关
DNS1=8.8.8.8 #dns服务器
DNS2=8.8.4.4
实例演示:
[wu@centos8 ~]$ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.154.119.128 netmask 255.255.255.0 broadcast 10.154.119.255
inet6 fe80::20c:29ff:fed9:6af0 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:d9:6a:f0 txqueuelen 1000 (Ethernet)
RX packets 75 bytes 9358 (9.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 75 bytes 10870 (10.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
-
export:设置或显示系统环境变量
- 可以使子进程(包括孙子进程)继承父进程的变量,但是无法让父进程使用子进程的变量
- 一旦子进程修改从父进程继承的变量,将会新的值传递给孙子进程
- 一般只在系统配置文件中使用,在脚本中较少使用
语法:export (选项)(参数)
常见选项:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。