Linux操作系统:
完整的类UNIX操作系统
Linux内核+ GNU工具=Linux/GNU
1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
- slackware:SUSE Linux Enterprise Server (SLES) , OpenSuse桌面
- debian: ubuntu,deepin(深度),mint
- redhat: RHEL: RedHat Enterprise Linux, 每18个月发行一个新版本
- CentOS: Community Enterprise Operating System 兼容RHEL的格式
- 中标麒麟:中标软件
- Fedora:每6个月发行一个新版本
- Alpine: 一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,只有 5M左右大小
- ArchLinux:轻量简洁,遵循K.I.S.S.原则( keep it simple and stupid ),Manjaro
- Gentoo:极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件
- LFS:Linux From scratch 自制Linux,只是一个说明书
- Android:kernel+busybox(工具集)+java虚拟机
2、安装Centos8.3,7.9和ubuntu操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。
分区设置:200G / 100G xfs /boot 1G ext4 /data 50G xfs swap 2G
centos8.3安装
centos7.9安装:跟CentOS8.3基本差不多,就是布局有点点变化
ubuntu安装:
3、配置环境变量,实现执行history的时候可以看到执行命令的时间。
临时修改:HISTTIMEFORMAT="%F %T "
永久修改:HISTTIMEFORMAT="%F %T " 写入到配置文件
4、总结Linux哲学思想。
- 一切都是一个文件(包括硬件):可以使用同一套机制来处理Linux系统中的大多数资源。比如系统调用:open(), read(), write(), close(), delete(), create()
- 小型,单一用途的程序:程序代码更轻量,更高效;出现错误更容易定位
- 链接程序,共同完成复杂的任务:程序的功能延展更具灵活性
- 避免令人困惑的用户界面:易于以编程的方式实现自动化任务;为自动化运维,乃至DevOps日后的发展奠定了基础。
- 配置数据存储在文本中:方便管理者对应用软件进行配置、检查工作,而且为避免服务因修改配置中断,多数应用程序也会针对配置文件的更改提供不中断服务的reload操作,这也是Linux系统运行比Windows稳定的一个因素。
5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令
whoami: 显示当前登录有效用户
who: 系统当前所有的登录会话
w: 系统当前所有的登录会话及所做的操作
echo :命令可以将后面跟的字符进行输出:echo [-neE][字符串] -E (默认)不支持 \ 解释功能 -n 不自动换行 -e 启用 \ 字符的解释功能
功能:显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加 上换行号
显示变量:
screen:可以实现会话管理,如:新建会话,共享会话等
screen命令常见用法: 创建新screen会话: screen –S [SESSION] 加入screen会话 screen –x [SESSION] 退出并关闭screen会话 exit 剥离当前screen会话 Ctrl+a,d 显示所有已经打开的screen会话 screen -ls 恢复某screen会话 screen -r [SESSION]
当执行一个时间较长的任务时,如果连接终端的工具挂掉,则会前功尽弃。为了让在服务器上的任务不受远程终端死活的影响,我们可以使用screen工具,它还可以用于远程协助。
执行screen命令,进入终端,该终端可以在远程连接工具退出后继续执行。
ctrl+a+d:临时退出,后台执行。
使用screen -r命令可回到指定终端。若有多个终端,可使用screen -r 终端号指定终端。
date:是基本命令,可以查看时间,修改时间,支持各种自定义格式输出时间。
使用date -s +字符串修改时间
可以使用ntpdate从服务器同步时间来修改;或是通过clock命令,使用硬件时间修改。
ifconfig:查看本机网络接口的命令
export:bash设置的变量只在当前shell有效,使用export命令可使该变量成为该shell的全局变量。
6、描述Linux发行版的系统目录名称命名规则以及用途
Linux的文件系统分层结构:FHS Filesystem Hierarchy Standard
1、文件系统的目录与规则
-
- 文件和目录被组织成一个单根倒置树结构
- 文件系统从根目录下开始,用“/”表示根文件系统(rootfs):root filesystem
- 标准Linux文件系统(如:ext4),文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL
- 以 . 开头的文件为隐藏文件
- 路径分隔的 /
- 文件名最长255个字节
- 包括路径在内文件名称最长4095个字节
- 蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件
- 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引 号来引用
- 每个文件都有两类相关数据:元数据:metadata,即属性, 数据:data,即文件内容
2、常见的文件系统目录功能
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
b: block device,随机访问
c: character device,线性访问
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr: universal shared, read-only data
bin: 保证系统拥有完整功能而提供的应用程序
sbin:
lib:32位使用
lib64:只存在64位系统
include: C程序的头文件(header files)
share:结构化独立的数据,例如doc, man等
local:第三方应用程序的安装位置
bin, sbin, lib, lib64, etc, share
/var: variable data files
cache: 应用程序缓存数据目录
lib: 应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据
lock: 锁文件
log: 日志目录及文件
opt: 专用于为/opt下的应用程序存储可变数据
run: 运行中的进程相关数据,通常用于存储进程pid文件
spool: 应用程序数据池
tmp: 保存系统两次重启之间产生的临时数据
/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置