一,常见发行版
Linux 系统由系统内核(kernel)和基于内核之上的软件集合组成。Linux 内核指的是一个由Linus Torvalds负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。而之上的软件集合由包管理方式,桌面环境等的不同衍生出很多不同的发行版:

Various Linux Distribution.png
总的来说,Linux的发行版主要有三大分支:
Debian
- Ubuntu: 基于Debian开发的开源Linux操作系统,主要针对桌面和服务器;
- Linux Mint: 基于Debian和Ubuntu的Linux发行版,致力于桌面系统对个人用户每天的工作更易用,更高效,且目标是提供一种更完整的即刻可用体验。
Slackware
- suse:基于Slackware二次开发的一款Linux,主要用于商业桌面、服务器。
- SLES(SUSE Linux Enterprise Server(SLES): 企业服务器操作系统,是唯一与微软系统兼容的Linux操作系统。
- OpenSUSE:由suse发展而来,旨在推进linux的广泛使用,主要用于桌面环境,用户界面非常华丽,而且性能良好。
Red Hat
- RHEL (red hat enterprise Linux): Red Hat公司发布的面向企业用户的Linux操作系统。早起版本主要用于桌面环境,免费:
- Fedora: 基于Red Hat Linux终止发行后,红帽公司计划以Fedora来取代Red Hat Linux在个人领域的应用,而另外发行的Red Hat Enterprise Linux取代Red Hat Linux在商业应用的领域。Fedora的功能对于用户而言,它是一套功能完备、更新快速的免费操作系统,而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。Fedora大约每六个月发布新版本。
- Centos: 基于Red hat Linux提供的可自由使用源代码的企业级Linux发行版本。每个版本的Centos都会获得十年的支持(通过安全更新的方式)。新版本的Centos大约每两年发行一次,而每个版本的Centos会定期(大概6个月)更新一次,以支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的Linux环境。
其他常用版本
- Gentoo: 基于linux的自由操作系统。它能为几乎任何应用程序或需求自动地作出优化和定制。追求极限的配置、性能,以及顶尖的用户和开发者社区,都是Gentoo体验的标志特点, Gentoo的哲学是自由和选择。得益于一种称为Portage的技术,Gentoo能成为理想的安全服务器、开发工作站、专业桌面、游戏系统、嵌入式解决方案或者别的东西--你想让它成为什么,它就可以成为什么。由于它近乎无限的适应性,可把Gentoo称作元发行版。
- Arch Linux(或称Arch): 以轻量简洁为设计理念的Linux发行版。其开发团队秉承简洁、优雅和代码最小化的设计宗旨。
联系与区别
- 联系:所有发行版都是使用Linux内核;都需要遵循GNU的GPL协定;所有的发行版都有自己的版本号,版本格式约定基本一样(主版本号.次版本号.发行号.修正号)。
- 区别:发行版的本质区别,在于继承不同版本的内核,库、程序的组成。不同发行版几乎采用了不同包管理器。SLES、Fedora、openSUSE、centos、RHEL使用rmp包管理系统,包文件以RPM为扩展名;Ubuntu系列,Debian系列使用基于DPKG包管理系统,包文件以deb为扩展名。
二,帮助用法
-
whatis: 使用数据库显示命令的简短描述,但是刚安装后不可立即使用,Centos7上创建whatis数据库的命令:mandb,当我们使用whatis就可以查看命令或者配置文件的帮助手册在那个章节,这有利于我们准确的知道该去那个章节去查看命令和文件的配置帮助。 -
type: 显示命令来源:内置或者外部命令 -
help: 主要用于内部命令的查看,查看方法就是help COMMAND。 -
man: 针对外部命令,用法为man [] keyword, 等价于CMD --help或者CMD -h -
info:man常用于命令参考 ,info适合通用文档参考
三,历史命令
Shell 进程会在其会话中保存此前用户提交执行过的命令,可以用它来重复执行命令;包括关机之前的指令,这种操作是通过history来实现的。
环境变量
Linux提供多个环境变量,可供用户定制历史命令的管理特性。
| 环境变量 | 用途 |
|---|---|
| HISTSIZE | shell进程可保留的命令历史的条数 |
| HISTFILE | 持久保存命令历史的文件 |
| HISTFILESIZE | 命令历史文件的大小 |
| HISTTIMEFORMAT=“%F %T “ | 显示时间 |
| HISTIGNORE=“str1:str2:… “ | 忽略str1,str2命令开头的历史 |
| HISTCONTROL | 改变记录方式,可选项有(ignoredups, ignorespace, ignoreboth, erasedups) |
常用快捷键
| 快捷键 | 用途 |
|---|---|
| !! | 执行上一条指令 |
| !-2 | 执行倒数第二条指令 |
| !n | 执行第n条指令 |
| !STRING | 再一次执行命令历史列表中最近一个以STRING开头的命令 |
| !STRING:p | 仅打印最近一个以STRING开头命令历史,而不执行 |
^string |
删除上一条命令中的第一个string
|
^string1^string2 |
将上一条命令中的第一个string1替换为string2
|
ctrl + r |
在命令历史中搜索 |
ctrl + g |
从命令搜索模式退出 |
四,关机重启
Linux的关机重启可以通过命令行终端实现,方式如下:
- 关机
halt=poweroff=init 0=shutdown -h now - 重启
reboot=init 1=shutdown -r now
练习
实现计算机晚上20:30自动关机,并提示用户
sudo shutdown -hk 20:30
五,日期时间
在Linux世界,存在硬件时钟和系统时钟两种时间记录方式。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中 的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。
- 硬件时钟
hwclock或者clock用来查询和设置硬件时钟,常用选项如下:
| 选项 | 用处 |
|---|---|
| -r | 打印显示当前时间 |
| -s | 将硬件时钟同步到系统时钟 |
| -w | 将系统时钟同步到硬件时钟 |
- 系统时钟
date命令用来显示修改系统时钟,也可以完成与硬件时钟的同步。
cal命令用来管理系统日历。
练习
打印显示当前时间,格式为:20181209211008
$ date "+%Y%m%d%H%M%S"
20190822160211