什么是操作系统

计算机是一台机器,它按照用户的要求接收信息、存储数据、处理数据,然后再将处理结果输出(文字、图片、音频、视频等)。计算机由硬件和软件组成:

  • 硬件是计算机赖以工作的实体,包括显示器、键盘、鼠标、硬盘、CPU、主板等

  • 软件会按照用户的要求协调整台计算机的工作,比如Windows、Linux、Mac OS、Android等操作系统,以及Office、QQ、迅雷、微信等应用程序。

**操作系统(Operating System, OS)是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁(或者说接口、中间人、中介等)**。

操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序,例如:文件系统、设备驱动、用户界面、系统服务等

操作系统使得应用程序无法直接与硬件打交道,而是必须经由操作系统的内核,协调多个程序运行避免恶意程序破坏其他进程独占资源,保证了多任务平稳的运行

操作系统向外提供系统调用,然后系统调用被封装成库向外提供库调用,程序员只需要根据库的API接口进行编程,不用关心底层硬件的不同,便于程序的移植。

Linux系统发展史

Linux在设计之初,是一个基于POSIX的多用户、多任务并且支持多线程和多CPU的操作系统,它是由世界各地成千上万的程序员设计和开发实现。

当初开发Linux系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类Unix操作系统兼容产品。

什么是Unix

Unix是一种计算机操作系统,具有多任务、多用户的特征,是商业化的,和硬件配套使用 IBM—AIX、HP—HP-UX、SUN—Solaris

Linux系统主要特性

  1. 基本思想:一切皆文件,每个软件都有特定用途
  2. 兼容POSIX1.0标准: 可移植操作系统接口,可在其他兼容POSIX标准的系统上执行程序
  3. 多用户多任务:各个用户对于自己的文件有自己的权力,多个程序同时并独立的运行
  4. 支持多种平台:可以运行在多种硬件平台上,比如x86、680x0、SPARC、Alpha等处理器的平台
  5. 良好的界面:同时具有字符界面和图形界面
  6. 完全免费

Linux系统版本

内核版

Linux内核版本指的就是Linux的核心版本,在内核官方网站www.kernel.org发布。**内核** 指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。Linux内核的主要模块(或组件)分以下几个部分:存储管理CPU和进程管理文件系统设备管理和驱动网络通信,以及系统的初始化(引导)系统调用等。

发行版本

预先整合好的Linux系统,一般使用者不需要重新编译,直接安装后进行小幅度更改设置就可以使用

Redhat —— 最著名的Linux版本,企业级
CentOS —— 要求高稳定性服务器使用
Ubuntu —— 以桌面应用为主,多媒体
SUSE —— 连接数据库最稳定

Linux的特点

  1. 由目的单一的小程序组成;
  2. 组合小程序完成复杂任务一切皆文件
  3. 尽量避免捕获用户接口
  4. 配置文件保存为纯文本格式
  5. Linux的shell,是人机接口。Linux的shell 包括GUI和CLI两种类型。
    1. GUI指图形界面,与windows类似。比较常见的有gnome、KDE和xface等
    2. CLI是命令行界面。比较常见的有bash.csh、zsh、 ksh 和tcsh等,我们通常使用用bash。

Linux命令行基础

下面的命令行是基于 CentOS7 的版本

登录Linux

Liunx命令行登录时是没有回显的,我们只需要输入完密码回车结束就好

Linux命令提示符有两种:#$

  1. $ 号是使用普通用户登录后的提示符
  2. # 号是超级用户root登录后的提示符

使用命令行

注意Linux命令是严格区分大小写的

  1. Ctrl+C 终止当前输入和操作
  2. TAB 补全当前的命令,有的系统按一下就可以进行自动补齐,有点需要按两下
  3. Ctrl+A 使光标移到最前面
  4. Ctrl+E 使光标移到最后
  5. Ctrl+D 退出当前终端
  6. Ctrl+L 清屏
  7. Ctrl+Z 暂停当前进程,和Ctrl+C不同,Ctrl+Z暂停后可以恢复进程
  8. ifconfig 查看当前接口状态,默认为自动获取IP,默认网口为ens33
  9. ss -lnt 查看当前开放的tcp端口

Linux命令的语法

有时命令会带有一个或者多个选项。

通常选项由单个字母构成,并在字母前加一个连接符-,有时因为选项太多,我们可以使用更简单的写法如下

1
ls -a -l -t和ls -alt是一种含义

有些选项也可以是一个连续的单词,我们称为长选项,使用两个连接符加一个完整单词如ls --help
–help是多数命令的帮肋选历,可以查看命令的基本使用方式法,同时,多数命令在选项之后可以接参数,参数通常是指文件名、目录、用户名、设备。其实可以理解为命令要执行操作的对象。

总结一下,选项是告诉命令怎样执行,参数告诉命令对谁执行

Shell History

我们可以通过 history 命令来查看以前执行过的命令

!数字 执行history中对应编号的命令
!! 执行上一条命令
!?is? 执行history中包含is的命令
还可以通过上下键来选择历史命令