第一周
1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
slackware系列:SUSE Linux Enterprise Server (SLES)
OpenSuse桌面
debian系列: ubuntu,deepin(深度),mint
redhat系列: RHEL: RedHat Enterprise Linux 每18个月发行一个新版本
CentOS:兼容RHEL的格式
中标麒麟:中标软件
Fedora:每6个月发行一个新版本
ArchLinux:轻量简洁,遵循K.I.S.S.原则( keep it simple and stupid )
Gentoo:极致性能,不提供传统意义的安装程序,下载源代码在本机上编译安装软件
2、安装Centos7.9和ubuntu操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。
3、配置环境变量,实现执行history的时候可以看到执行命令的时间。
编辑bash_profile配置文件,文件中新加一行代码HISTTIMEFORMAT='%F_%T'
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
HISTTIMEFORMAT='%F_%T'
export PATH
4、总结Linux哲学思想。
1. 一切皆文件。几乎把所有的资源系统抽象为文件形式:包括硬件设备,甚至通信接口等。作用:提高资源管理效率。例如
- 物理终端:/dev/console
- 虚拟终端:/dev/tty#(#为1~6)
- 串行终端:/dev/ttyS#
- 伪终端:/dev/pts/#
2. 由众多功能单一的程序组成:一个程序只做一件事,并且做好;组合小程序完成复杂任务。
作用:程序分工明确,运行后方便进程管理。程序代码也轻量化,高效,容易修复错误。
小程序易于理解,维护,消耗系统资源较少,易于与其他工具结合实现更多的功能
3. 尽量避免跟用户交互。使用命令行接口执行效率更高,易于以编程的方式实现自动化任务
4. 使用文本文件保存配置信息。文本文件易于阅读和编辑。
5. 提供机制而非策略。
- 机制,是实现某个功能需要的原语操作和结构
- 策略,是某功能的具体实现
- 提供机制,而非策略,指的就是要给用户充分的自主可调配性
5、总结Linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令
COMMAND [OPTIONS...] [ARGUMENTS...] /命令+选项+参数
1.选项:用于启用或关闭命令的某个或某些功能
短选项:-c 例如:-l, -h
长选项:--word 例如:--all, --human-readable
2.参数:命令的作用对象,比如文件名,用户名等
echo命令用法:
echo $PS1
echo -e "\e[1;32mhello\e[0m"
screen命令
利用screen 可以实现会话管理,如:新建会话,共享会话等
创建新screen会话
screen –S [SESSION]
加入screen会话
screen –x [SESSION]
退出并关闭screen会话
exit
剥离当前screen会话
Ctrl+a,d
显示所有已经打开的screen会话
screen -ls
恢复某screen会话
screen -r [SESSION]
date命令:打印和设置系统时间
命令格式:date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
date +%F
date '+%F %T'
date -d '-1 day' +%F
ifconfig 配置网络接口命令
ifconfig
-a 显示网络所有配置
export 命令用于设置或显示环境变量。在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
hash 查看最近缓存的命令
man命令:用户命令手册查找(/etc/man_db.conf)
man echo
info命令:适合通用文档参考查询
6、描述Linux发行版的系统目录名称命名规则以及用途。
Linux各种发行版都遵循LSB(Linux Stadards Base)规则,使用一致的相关的基础目录名称,使用根目录系统结构(root filesystem),使用FHS(Files Hierarchy Standard)层次结构
/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相关的安全策略等信息的存储位置