一、Linux的发行版,并描述不同发行版之间的联系与区别
1、slackware: 是由 Patrick Volkerding 开发的 GNU/Linux 发行版,于 1993 年创建,最初基于 Softlanding Linux System(SLS),主要版本有SUSE Linux Enterprise Server (SLES) , OpenSuse桌面
2、debian: ubuntu,deepin(深度),mint
3、redhat:
(1)RHEL: RedHat Enterprise Linux, 每18个月发行一个新版本
(2)CentOS: Community Enterprise Operating System 兼容RHEL的格式
(3)中标麒麟:中标软件
(4)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虚拟机。
重要版本介绍
ubuntu:
Ubuntu(乌班图)是一个基于Debian的以桌面应用为主的Linux操作系统,据说其名称来自非洲南部祖鲁语或科萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,
是非洲传统的一种价值观。Ubuntu的目标在于为一般用户提供一个最新同时又相当稳定,主要以自由软件建构而成的操作系统。Ubuntu目前具有庞大的社区力量支持,用户可以方便地
从社区获得帮助。
Manjaro:
Manjaro 有着一个好用的图形安装界面。所以那些想要尝试 Arch 但是又被它的高难度操作所困扰的人们可以去试试 Manjaro,Manjaro 很容易安装并且有着一个友好的用户界面。
CentOS:
CentOS是免费的、开源的、可以重新分发的开源操作系统 [1] ,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,但是
已宣告死亡 。
二、配置环境变量,实现执行history的时候可以看到执行命令的时间
修改环境变量HISTTIMEFORMAT的值:可以直接在/etc/profile里修改
也可以如下方式添加:echo 'HISTTIMEFORMAT="%F %T "' > /etc/profile.d/env.sh
执行效果如下
[root@centos8 ~]# history |tail -5
114 2021-12-25 11:27:16 cd /
115 2021-12-25 11:27:16 ll
116 2021-12-25 11:27:16 arch
117 2021-12-25 11:27:19 history
118 2021-12-25 11:30:07 history |tail -5
三、Linux哲学思想
1、一切皆是文件:把几乎所有资源统统抽象为文件形式,包括硬件设备,甚至通信接口等,便于统一管理和定义
2、由众多小型、单一用途的程序组成:一个程序只做一件事情
3、组合相关程序完成复杂的事情
4、避免用户界面
5、配置数据保存在文件中
四、Linux常用命令使用格式
常用的命令格式为: COMMAND [OPTIONS...] [ARGUMENTS...]
OPTIONS(选项):用于启用或关闭命令的某个或某些功能
短选项:UNIX 风格选项,-c 例如:-l, -h
长选项:GNU风格选项,--word 例如:--all, --human
BSD风格选项: 一个字母,例如:a,使用相对较少
ARGUMENTS(参数):命令的作用对象,比如:文件名,用户名等
[root@centos8 ~]# echo -n anaconda-ks.cfg
anaconda-ks.cfg[root@centos8 ~]# ###不换行输出信息
五、Linux发行版的系统目录名称命名规则以及用途
1、文件和目录被组织成一个单根倒置树结构
2、文件系统从根目录下开始,用“/”表示
3、根文件系统(rootfs):root filesystem
4、标准Linux文件系统(如:ext4),文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL
以 . 开头的文件为隐藏文件
5、路径分隔的 /
6、文件名最长255个字节
7、包括路径在内文件名称最长4095个字节
8、蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件
9、除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引
号来引用
10、每个文件都有两类相关数据:元数据:metadata,即属性, 数据:data,即文件内容
常见的文件系统目录功能
/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: 保证系统拥有完整功能而提供的应用程序
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相关的安全策略等信息的存储位置