第一周作业

作业

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

一 Linux简述

目前在商用的服务器领域,有三种流行的操作系统,Linux,Unix和Windows,其中Linux因其稳定、开源等诸多优点,受多数企业所青睐。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

二 Linux的发行版

Linux是一个内核,是系统的主要基本部件之一,许多公司或社团将内核、源代码及相关的应用程序组织构成一个完整的操作系统,即所谓的发行版,供一般用户使用。

目前三大主流发行版分别是Debian、RedHat、SUSE。
Debian
Debian是社区类Linux的典范,在服务器和桌面电脑领域都有着广泛的应用,特色的是apt-get/dpkg包管理方式,其分支之一Ubuntu受到多开发人员喜爱。
RedHat
RedHat Linux系列是红帽公司研发的Linux发行版,包括RHEL、Fedora、CentOS和Oracle Linux多种版本。RHEL是红帽公司有偿提供技术的版本,系统使用免费,许多大型公司使用;Fedora相比RHEL,打包了更多的软件包,多样化的社区参与Fedora的建设;CentOS就是RHEL的免费版本,使用RHEL的源代码再次编译并替换logo和标识为CentOS标识,多用户活动、演示和实验。
SUSE
SUSE、SLES和openSUSE的关系类似于Fedora、RHEL和CentOS的关系。

三 安装Centos7.6操作系统

  1. 使用VMware Workstation点击【创建新的虚拟机】


  2. 在向导中选择安装类型


  3. 选择【稍后安装操作系统】


  4. 选择操作系统版本


  5. 编辑虚拟机名称和安装位置


  6. 指定虚拟机占用的磁盘大小


  7. 确认安装参数,点击【完成】


  8. 点击【编辑虚拟机设置】


  9. 挂载iso镜像文件,编辑内存大小,网络模式


  10. 启动虚拟机后进入安装界面,选择【Install CentOS 7】


  11. 选择安装时使用的语言和键盘布局,并非系统语言和键盘布局


  12. 点击【DATE & TIME】设置日期和时间


  13. 点击【SOFTWARE SELECTION】选择安装的环境和程序包


  14. 点击【INSTALLATION DESTINATION】选择到哪个磁盘,如自定义分区请勾选【I will configure partioning】


  15. 创建分区,至少包含三个分区,swap分区大小内存的1.5至2倍,不超过32G


  16. 选择【Accept Change】格式化分区


  17. 点击【NETWORK & HOST NAME】设置网络参数,点击【Configure】进行ens33网卡的配置


  18. 在【General】选项中勾选【Automatically ...】,网卡会开机启动


  19. 在【IPv4 Settings】选项中设置IP配置方法为Manual(手动),及IP地址,因为在虚拟机设置中网卡模式为桥接模式,此处配置为物理机同网段的IP即可


  20. 点击【Begin Installation】开始安装


  21. 设置密码和添加用户


  22. 安装完成后,点击【Reboot】重启,进入系统


  23. 输入用户名密码即可登陆,因为在第19步中没配DNS,所有没有ping同外网域名地址,加上DNS地址即可和物理机一样连接外网,至此系统安装完成。


四 history 命令的使用

history命令可以显示和管理曾经执行过的命令列表,输出结果有默认的格式,如图:

可以修改history命令相关的变量来修改显示的格式,相关变量如下:

变量 说明
HISTSIZE 命令历史记录的条数
HISTFILE 指定历史文件,默认为~/.bash_history
HISTFILESIZE 命令历史文件记录历史的条数
HISTTIMEFORMAT 显示时间,示例:HISTTIMEFORMAT="%F %T "
HISTIGNORE 指定在历史中不记录的命令
HISTCONTROL 控制命令历史的记录方式,可设置的值:ignoredups,ignorespace,ignoreboth,erasedups

配置 HISTTIMEFORMAT="%F %T " ,实现执行history的时候可以看到执行命令的时间。

五 总结Linux哲学思想。

  1. 一切皆文件:
  2. 由众多功能单一的程序组成;一个程序只做一件事,并且做好;
  3. 尽量避免跟用户交互;
  4. 使用文本文件保存配置信息
  5. 提供机制,而非策略

六 总结Linux常用命令

  • uname 显示内核版本
[shizhilei@localhost ~]$ uname -r
3.10.0-957.el7.x86_64
  • 显示操作系统发行版本
[shizhilei@localhost ~]$ cat /etc/system-release
CentOS Linux release 7.6.1810 (Core) 
  • hostname 设置主机名
[root@abc ~]# hostname ABC
[root@abc ~]# hostname
ABC
  • lscpu 显示cpu型号
[root@abc ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 142
Model name:            Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
...
  • lsblk 查看硬盘和分区
[root@abc ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    4G  0 part [SWAP]
└─sda3   8:3    0 15.8G  0 part /
sr0     11:0    1  4.3G  0 rom  
  • exit 退出登陆
  • init6、reboot、shutdown -r now 重启
  • init0、halt、poweroff、shutdown -h now 关机
  • date 显示和设置系统时间
[root@abc ~]# date
Sun Apr 19 17:05:52 CST 2020
[root@abc ~]# date +'%F'
2020-04-19
  • whoami 显示当前登陆的用户
[root@abc ~]# whoami
root
  • echo 打印至标准输出
[root@abc ~]# echo hello
hello
  • screen 是一个可以在多个进程之间复用一个物理终端的全屏幕窗口管理器(需要安装screen程序包)
    用法
    Use: screen [-opts] [cmd [args]]
    or: screen -r [host.tty]
    常用screen参数
    screen -S session_name # 新建一个叫session_name的session
    screen -x session_name # 加入一个叫session_name的session
    screen -ls(或者screen -list) # 列出当前所有的session
    screen -r session_name # 回到session_name这个session
    screen -d session_name # 远程detach某个session
    screen -d -r session_name # 结束当前session并回到session_name这个session
  • ifconfig 网卡管理,CentOS7中需安装net-tools包
Usage:
  ifconfig [-a] [-v] [-s]  [[] 
] [add
[/]] [del
[/]] [[-]broadcast [
]] [[-]pointopoint [
]] [netmask
] [dstaddr
] [tunnel
] [outfill ] [keepalive ] [hw
] [mtu ] [[-]trailers] [[-]arp] [[-]allmulti] [multicast] [[-]promisc] [mem_start ] [io_addr ] [irq ] [media ] [txqueuelen ] [[-]dynamic] [up|down] ...

显示网络设备信息

[root@abc ~]# ifconfig
ens33: flags=4163  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::c14f:c1:4e5a:dc76  prefixlen 64  scopeid 0x20
        ether 00:0c:29:87:7e:99  txqueuelen 1000  (Ethernet)
        RX packets 38142  bytes 30819530 (29.3 MiB)
        RX errors 0  dropped 19  overruns 0  frame 0
        TX packets 12052  bytes 1211111 (1.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 34  bytes 2786 (2.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 34  bytes 2786 (2.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

关闭和启用网卡

ifconfig ens33 down
ifconfig ens33 up
  • export 新增,修改或删除环境变量
    用法
    export [-fnp][变量名称]=[变量设置值]

列出所有环境变量

export -p
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="abc"
declare -x LANG="en_US.UTF-8"
...

设置环境变量并赋值

[root@abc ~]# export ABC=123
[root@abc ~]# echo $ABC
123

你可能感兴趣的:(第一周作业)