1.列出Linux 的主要发行版本,并描述不同版本之间的联系与区别
Linux的发行版的演化可访问:http://futurist.se/gldt/
redhat系列:
redhat: RHEL: RedHat Enterprise Linux 红帽公司包装发行linux+GNU+安装程序、服务收费
Centos: Conmmunity Enterprise Operating System 社区企业级操作系统(已经被红帽公司收购) 去掉了红帽公司的标识重新编译打包
Fedora: 每6和月发行一个新版,追求新功能
Debian系列:
ubuntu 是完全由自由软件组成的类unix 操作系统,其包含的多数软件使用GNU通用公共许可(GPL)协议授权,并由Debian计划的参与者组织成团队进行打包,开发与维护
Slackware系列:
SUSE Linux Enterprise Server 企业版
OpenSuse 桌面版
2.安装CentOS-7.9和ubuntu-18.04.5,创建一个自己名字的用户,并可以正常登录操作系统,将主要步骤截图
CentOS-7.9
上下键 选择 Install Centos 7
保持默认
这里要进行选择相应的配置:时区 语言支持 键盘布局 软件选择(最小化安装) 磁盘分区布局 网络配置主机名 kdump
每配置完一项 点击 左上角的 Done
时区 选择 亚洲上海 日期和时间可以进行调整
语言支持把 简体中文也选择上
最小化安装 右侧 可以勾选软件包组
选择磁盘 选择手工分区 默认是自动分区
选择标准分区 不使用 lvm
/boot 1G 注意文件系统 用 ext4 默认是xfs
交换分区 2G
/分区 100G
/data 分区 50G
分区完成查看
Accept Changes
关闭 kdump 不勾选 Enable kdump
配置主机名称 网卡 ON
网卡自动获取了IP地址 是因为有DHCP 服务器 自动分配了IP地址
网卡开机自启动
给网卡 ens32 配置ipv4 静态地址 网关 DNS
点击 右下角 Begin Installtation
软件包开始安装 点击 root password 设置 root 用户 口令 点击 user creation 创建新用户
root 用户口设置
创建一个普通用户 gonghairong
软件包安装完成 重启操作系统
普通用户 gonghairong 登录
ubuntu 安装过程比较复杂
ubuntu-18.04.5
默认 English
选择不安装更新
默认
手工配置网卡
默认DHCP服务器自动分配了IP地址 选择 ens32 网卡 Edit IPv4 手工配置网卡
配置静态IP地址
查看配置结果 网卡 ens32 static 地址
代理 不配置 默认
空格键 选择 Custom storage lagout 自定义分区
选择 200G的磁盘 ADD GPT Partition
创建第一个分区 /boot 1G 文件系统 ext4
/swap 分区 2G
/分区 100G 文件系统 xfs
/data 分区 50G 文件系统 xfs
图忘截了 方法与 / 分区方法一样
分区完成之后 查看下没有问题了 Done
Continue
创建普通用户 ubuntu 默认不让 root 用户直接登陆 需要创建一个普通用户 sudo -i 到root 用户
这里 空格键 选择 Install OpenSSH Server 不要直接 Done
默认
这里开始安装系统
完成安装 重启系统
普通用户 gonghairong 登录系统
普通用户 sudo -i 切换到 root 管理员用户 需要提供普通用户 gonghairong 的密码
3.配置环境变量,实现执行 history命令的时候可以看到执行命令的时间
临时生效
[root@centos79 ~]# export HISTTIMEFORMAT="[%F %T ] "
写入文件永久生效 vi 新建文件 写入如下配置 ESC 键 :wq 保存退出
[root@centos79 ~]# vi /etc/profile.d/env.sh
export HISTTIMEFORMAT="[%F %T ] "
[root@centos79 ~]# chmod u+x /etc/profile.d/env.sh
4.总结Linux哲学思想
1.一切皆文件(硬件也是文件)
2.小型、单一的用途的程序
3.链接程序、共同完成复杂任务
4.命令行字符界面
5.配置数据存储在文件中
5.总结Linux常用命令使用格式,并用实例说明,例如 echo date ifconfig export screen 等命令
echo [-neE] [arg ...]
-n 不附加换行符
-e 启用对以下反斜线转义的解释
\b 退格键
\t 水平制表符
\n 换行光标移至行首
[root@centos79 ~]# echo -e "www.qq.com.cn\bqq"
www.qq.com.cqq
[root@centos79 ~]# echo -e "magedu is good\nhairong is ok "
magedu is good
hairong is ok
[root@centos79 ~]# echo -e "www.qq.com\tqq"
www.qq.com qq
显示当前PATH环境变量
[root@centos79 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
显示当前使用的 shell
[root@centos79 ~]# echo $SHELL
/bin/bash
date [OPTION]... [+FORMAT]
-d --date=STRING 显示由 STRING 描述的时间,而不是“现在”
%F %F 完整日期; 与 %Y-%m-%d 相同
%T 时间; 与 %H:%M:%S 相同
%Y 年
%m 月
%d 日
%H 时
%M 分
%S 秒
[root@centos79 ~]# echo $(date +%F)
2021-08-24
[root@centos79 ~]# echo $(date +%F'-'%T)
2021-08-24-01:43:07
[root@centos79 ~]# echo $(date +%Y-%m-%d-%H-%M-%S)
2021-08-24-01-43-41
[root@centos79 ~]# echo $( date -d "1days" +%F_%T)
2021-08-25_01:45:19
[root@centos79 ~]# echo $( date -d "-1days" +%F_%T)
2021-08-23_01:45:28
[root@centos79 ~]# echo $( date -d "-1year" +%F_%T)
2020-08-24_01:45:58
查看所有的网卡
[root@centos79 ~]# ifconfig -a
查看网卡 ens32
[root@centos79 ~]# ifconfig ens32
导出变量 LANG
[root@centos79 ~]# export LANG=en
查看cpu 信息
[root@centos79 ~]# lscpu
[root@centos79 ~]# cat /proc/cpuinfo
查看内存大小
[root@centos79 ~]# free -m
[root@centos79 ~]# cat /proc/meminfo
查看磁盘和分区
[root@centos79 ~]# lsblk
[root@centos79 ~]# cat /proc/partitions
查看系统架构
[root@centos79 ~]# arch
x86_64
查看内核版本
[root@centos79 ~]# uname -r
3.10.0-1160.el7.x86_64
查看系统发行版本
[root@centos79 ~]# cat /etc/redhat-release
[root@centos79 ~]# cat /etc/os-release
[root@centos79 ~]# cat /etc/issue
[root@centos79 ~]# lsb_release -a
用于找出哪个包提供了某些功能或文件
[root@centos79 ~]# yum provides lsb_release
安装软件包
[root@centos79 ~]# yum install redhat-lsb-core
显示硬件时钟
[root@centos79 ~]# clock
以系统时间为准 校正硬件时钟
[root@centos79 ~]# clock -w
以硬件时钟为准 校正系统时钟
[root@centos79 ~]# clock -s
时区配置文件
[root@centos79 ~]# ll /etc/localtime
显示当前时间设置
[root@centos79 ~]# timedatectl status
显示已知时区
[root@centos79 ~]# timedatectl list-timezones
设置系统时区 亚洲/上海
root@ubuntu1804:~# timedatectl set-timezone Asia/Shanghai
关机
[root@centos79 ~]# shutdown
重启
[root@centos79 ~]# reboot
10分钟后关机
[root@centos79 ~]# shutdown +10
取消 10分钟后的关机
[root@centos79 ~]# shutdown -c
11点20分关闭机器
[root@centos79 ~]# shutdown 11:20
查看当前所在的终端
[root@centos79 ~]# tty
/dev/pts/3
显示系统当前所有的登录会话及所做的操作
[root@centos79 ~]# w
显示系统当前所有的登录会话
[root@centos79 ~]# who
登录系统时候的提示信息
[root@centos79 ~]#cat /etc/motd
打印与当前有效用户id关联的用户名
[root@centos79 ~]# whoami
root
设置主机名 临时生效
[root@centos79 ~]# hostname centos79.mgedu.org
查看主机名
[root@centos79 ~]# hostname
centos79.mgedu.org
设置主机名永久生效 写入配置文件/etc/hostname
[root@centos79 ~]# hostnamectl set-hostname centos79.mgedu.org
[root@centos79 ~]# cat /etc/hostname
centos79.mgedu.org
查看命令是内部命令还是外部命令
[root@centos79 ~]# type hostname
hostname is hashed (/usr/bin/hostname)
[root@centos79 ~]# type cd
cd is a shell builtin
显示hash 缓存
[root@centos79 ~]# hash
查看系统中的命令别名
[root@centos79 ~]# alias
创建别名netcfg
[root@centos79 ~]# alias netcfg='cd /etc/sysconfig/network-scripts'
取消命令别名
[root@centos79 ~]# unalias netcfg
查看当前工作目录
[root@centos79 network-scripts]# pwd
/etc/sysconfig/network-scripts
回到家目录
[root@centos79 network-scripts]# cd
[root@centos79 ~]#
切换到指定用户的家目录
[root@centos79 ~]# cd ~gonghairong
.. 当前目录的上一级目录
. 当前目录
cd .. 切换到上级目录
cd - 在当前目录与上次所在的目录之间来回切换
!* 引用上个命令的全部参数
ESC 键 . 应用上个命令的最后一个参数
`` 命令扩展
() 命令扩展
{} 扩展
[] 可选择项只能选其一
[root@centos79 ~]# echo `hostname `
centos79.mgedu.org
[root@centos79 ~]# echo $(ls -l)
1到10
[root@centos79 ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
1到10 步长为2
[root@centos79 ~]# echo {1..10..2}
1 3 5 7 9
小写字母a-z
[root@centos79 ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
命令历史
[root@centos79 ~]# history
清空命令历史
[root@centos79 ~]# history -c
列出文件
ls [OPTION]... [FILE]...
-l 长格式显示
-R 递归列出子目录
-t 根据修改时间排序
-r 倒序
-S 根据文件大小排序
-d 只列出目录本身
-h 以人类可读格式打印尺寸 K M G
-a 列出隐藏文件 以 . 开头的文件是隐藏文件
-A 列出隐藏文件 但不显示 . ..
-1 每行列出一个文件
-F 将指示符(*/=>@| 之一)附加到条目
列出文件 以长格式显示 根据文件的修改时间排序 最新改变的文件显示在最底下
[root@centos79 ~]# ls -lrth
[root@centos79 ~]# ls -ld /etc/
drwxr-xr-x. 82 root root 8192 Aug 24 09:14 /etc/
只列出隐藏文件
[root@centos79 ~]# ls -d .*
[root@centos79 ~]# ls -1
abc.txt
anaconda-ks.cfg
a.txt
[root@centos79 ~]# ls -ldF mgedu
drwxr-xr-x. 2 root root 6 Aug 24 09:36 mgedu/
查看命令的简单帮助
[root@centos79 ~]# whatis echo
内部命令查看帮助
[root@centos79 ~]# help cd
外部命令查看帮助
[root@centos79 ~]# hostname --help
[root@centos79 ~]# man ls
6.描述Linux发行版本的系统目录名称命名规则以及用途。
Linux 文件和目录被组织成一个倒置的树型结构,文件系统从根目录下开始 用 "/" 表示
Linux的文件系统分层结构: FHS Filesystem Hierarchy Standard
参考文档:https://www.pathname.com/fhs/
/boot 引导文件存放目录,内核文件vmlinuz、引导加载器(bootloader grub)都存放在此目录下
/bin 所有用户使用的基本命令
/sbin 管理类的基本命令
/lib 启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64 专用于x86_64 系统上的辅助共享文件存放位置
/etc/ 配置文件目录
/home/USERNAME 普通用户的家目录
/root 管理员 root 用户的家目录
/media 便携式移动设备挂载点
/mnt 临时文件系统挂载点
/dev 设备文件及特殊文件的存放位置
b: block device 块设备文件 随机访问 例如磁盘
c: character device 字符设备,线性访问 例如键盘
/opt 第三方应用程序的安装位置
/srv 系统上运行的服务用到的数据
/tmp 临时文件存储位置
/usr/include : C 程序包含的头文件
/var 存放变化的数据 例如日志
/run 系统运行时的数据
/proc 用于输出内核与进程信息相关的虚拟文件系统
/sys 用于输出当前系统上硬件设备相关信息虚拟文件系统