第一周


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相关的安全策略等信息的存储位置