Linux 基础入门

=====================================================================

概述:


=====================================================================

操作系统

 1.简介

OS: Operating System,通用目的的软件程序

操作系统的内核(kernel):

  • 操作系统其实也是一组程序。这组程序的重点在于管理计算机的所有活动及驱动系统中的所有硬件;

  • 总之硬件的所有操作都必须要通过这个操作系统来完成;

  • 内核主要在于管理硬件与提供相关的能力。非常重要,因此,内核程序所放置到内存当中的区块是受保护的,并且开机后就一直常驻在内存当中。

内核的功能:

  • 系统调用接口;

  • 程序管理;

  • 内存管理;

  • 文件系统管理;

  • 设备驱动


操作系统(OS)分类:

  • 服务器OS:RHEL, CentOS,WindowsServer,AIX

  • 桌面OS:windows 10,windows 7,Mac OS,fedora

  • 移动设备OS:Andriod,IOS,YunOS

Linux哲学思想

  • 一切都是一个文件(包括硬件)

  • 小型,单一用途的程序

  • 链接程序,共同完成复杂的任务

  • 避免令人困惑的用户界面

  • 配置数据存储在文本中

 3.Linux获取发行版(镜像站点)

  • http://mirrors.aliyun.com

  • http://mirrors.sohu.com

  • http://mirrors.163.com

Linux基础入门

 1.操作系统与硬件

无论Linux、OSX、Windows操作系统,他们都是有以下部分组成(分层结构):

  • 最底层:硬件;

  • 底层之上:将硬件接口抽象成系统调用(kernel)

  • 再之上:库;

  • 再此之上:应用程序

程序的运行有两种方式

  • 开机自动运行;

  • 用户通过交互式接口登录或者连接系统上去,来手动运行程序。

用户可以通过交互式接口对系统及程序进行操作、配置管理。

注意:

  • 系统的运行独立与用户的交互式接口,接口有无,都不影响系统及程序的运行,所以交互式接口不是必需的。但是有些程序是建立在交互式接口之上的。 

 2.终端(terminal)

定义:

  • 终端:用户与主机交互,是必然用到的设备,但是对于服务器来说,非必要不见;

分类:

物理终端:

  • 是直接在主机之上,是本机自带的,直接连入的,也称之为物理控制台(console

  • 表示:/dev/console 

  • 只有在特殊情况下才会用到,如:单用户模式;

虚拟终端:

  • Linux提供给我们6个虚拟终端,这些虚拟终端是附加在物理终端之上的,用软件方式虚拟实现的终端,CentOS默认启用6个虚拟终端,可以通过快捷键来切换。

  • 表示:/dev/tty# [1,6]

  • 切换方式:Ctrl+Alt+F[1-6]

图形终端

  • 也是附加在物理终端之上,用软件方式虚拟实现的终端,但额外会提供桌面环境,也是虚拟终端的一种切换方式。

  • 切换方式:CentOS 6 :Ctrl+Ait+F7 

                         CentOS 7:在哪个虚拟终端启动,即位于哪个虚拟终端

                         命令切换方式:~]# chvt 1...

  • 启动GUI:在某一虚拟终端接口运行命令:startx &

伪终端(模拟终端):

  • 图形界面下打开的命令行接口,还有基于ssh协议telent协议等远程打开的命令行界面。

  • 表示:/dev/pts/#

查看当前的终端设备命令

  • ~]# tty

1
2
[root@CentOS6 ~] # tty
/dev/pts/0

注意:

  • 在启动设备之后,在其上关联一个用户接口程序,即可实现与用户交互;

  • 终端实际上是一个设备,一个设备要想与系统进行交互,必须有交互接口,当我们开启一个终端时,系统会自动的在终端上运行(附加)一个交互式程序

 3.交互式程序的接口

交互式程序有两类:GUI和CLI

GUI:图形化界面,是基于X协议实现的窗口管理器(桌面、按钮的作用等)

Linux桌面系统有:

  • GNOME(C程序开发,gtk 开发库)

  • KDE  (C++程序开发,qt开发库)

  • XFCE (轻量级桌面)

CLI:命令行界面:

  • 对应的叫做shell程序,用户要想与系统交互,必须通过shell,不同的程序员开发的程序不一样但是都可以实现同样的功能(就是交互式功能),所以说shell程序也有很多种,如:Sh,csh,Ksh,Bash,zsh;

  • Shell又被称为Linux的命令解释器;

获取当前环境使用的shell是那种shell

  • # echo $SHELL

显示当前环境所使用的所有的shell

  • # cat /etc/shells

演示:

1
2
3
4
5
6
7
8
9
10
11
12
# 获取当前环境使用的shell
[root@CentOS6 ~] # echo $SHELL  
/bin/bash
 
#显示所有的shell
[root@CentOS6 ~] # cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh