Hi!请登陆

成为进阶Linux大佬的第一步

2021-1-23 21 1/23

一、操作系统

1、操作系统为接口的示意图

2、不同领域的主流操作系统

桌面操作系统

服务器操作系统

嵌入式操作系统

移动设备操作系统

3、虚拟机

二、操作系统的发展史

1、Unix

2、Minix

3、Linux

三、Linux版本

1、Linux内核版本

2、Linux发行版本

四、Linux常见命令

一、操作系统

1、操作系统为接口的示意图

没由安装操作系统的计算机,被称为 裸机。

如果在 裸机 上运行自己所编写的程序,就必须用计算机语言书写程序。

如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级语言开发程序。

2、不同领域的主流操作系统

桌面操作系统

windows系列

用户群体大

macOS

适合开发人员

Linux

应用软件少

服务器操作系统

Linux

安全、稳定、免费

占有率高

Windows Server

付费

占有率低

嵌入式操作系统

Linux

移动设备操作系统

IOS

Android(基于Linux)

3、虚拟机

虚拟机指通过软件模拟的具有完整硬件功能的、运行在一个安全隔离环境中的完整计算机系统。

虚拟系统通过生成现有的操作系统的全新虚拟镜像,具有真实操作系统完全一样的功能

进入虚拟系统后,所有操作系统都是在这个全新的独立的虚拟环境里面运行,可以独立安装进行安装进行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响

而且能够在现有系统与虚拟镜像之间灵活切换的一类操作系统

二、操作系统的发展史

1、Unix

1965年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘、显示器),连接一台电脑。

为了解决数量不够用的问题

1965年左后由贝尔实验室加入了麻省理工学院以及通用电气合作的计划–该计划要建立一套多使用者(multi-user)、多任务(multi-processor)、多层次(multi-level)的MULTICS操作系统,想让大型主机支持300台终端

1969年前后这个项目进度缓慢,资金短缺,贝尔实验室退出了研究

1969年从这个项目中退出的 Ken Thompson 当时在实验室无聊时,为了让一台空闲的电脑上能够运行"星际旅行(Space Travel) "游戏,在8月份左右趁着其妻子探亲的时间,用了1个月的时间,使用汇编写出了Unix操作系统的原型

1970年,美国贝尔实验室的 Ken Thompson,以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母) ,并且他用B语言写了第一个UNIX操作系统

1971年,同样酷爱·星际旅行(Space Travel) 的Dennis M.Ritchie为了能早点儿玩上游戏,加入了Thompson 的开发项目,合作开发UNIX,他的主要工作是改造B语言,因为B语言的跨平台性较差

1972年,Dennis M.Ritchie 在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言

1973年初,C语言的主体完成,,Thompson 和Ritchie 迫不及待地开始用它完全重写了现在大名鼎鼎的Unix操作系统

C语言

在把UNIX移植到其他类型的计算机上使用时,C语言强大的移植性(Portability)在此显现

机器语言和汇编语言都不具有移植性,为x86开发的程序,不可能在Alpha、SPARC和ARM等机器上运行

而c语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后格C源代码编译、连接成目标二进制文件之后即可运行

2、Minix

因为AT&T (通用电气) 的政策改变,在Version 7 Unix 推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不再能使用UNIX源代码

Andrew S.Tanenbaum (塔能鲍姆)教授为了能在课堂上教授学生操作系统运作的细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议以小型UNIX (mini-UNIX)之意,格它称为MINIX

3、Linux

1991年林纳斯(Linus)就读于赫尔辛基大学期间,对Unix产生浓厚兴趣,尝试着在Minix上做一些开发工作

因为Minix只是教学使用,因此功能并不强,林纳斯经常要用他的终端仿真器(Terminal Emulator)去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了Linux第一个内核的雏形,当时,他年仅21岁!

林纳斯利用GNU的bash当做开发环境, qcc当做编译工具,编写了Linux内核,一开始Linux并不能兼容Unix

即Unix上跑的应用程序不能在Linux上跑,即应用程序与内核之间的接口不一致

一开始Linux只适用于386,后来经过全世界的网友的帮助,最终能够兼容多种硬件

三、Linux版本

1、Linux内核版本

内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在视设备与应用程序间的抽象层

Linux内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环

稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序

开发版:由于要试验各种解决方案,所以变化很快

内核源码网址: http//www.kernel.org.

2、Linux发行版本

Linux发行版(也被叫做GNU/Linux发行版)通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件

常见的发行版本如下

Ubuntu

Redhat

Fedora

opensUSE

Linux Mint

Debian

Manjaro

Mageia

Centos

Arch

四、Linux常见命令

[[email protected] ~]#

其中,root代表当前是管理员身份登录,lacalhost是当前主机名称。# 表示为管理员登录,$ 表示为普通用户登录。

切换用户

su 用户名 #切换后所在目录不变

su - 用户名 #切换后所在目录变成用户家目录

查看当前主机的完整名称

hostname

临时设置主机名

hostname 主机名

永久设置主机名

hostnamectl set-hostname 主机名

vi /etc/hostname(设置完后需重启系统才生效)

按i键先删除旧主机名,再输入新主机名(只有第一行有效)

按ESC键,再按SHIFT + “:” 组合键,输入 wq ,再按回车键退出

查看当前系统版本信息

cat /etc/redhat-release

cat /etc/*release

查看当前内核版本

uname -r

临时修改网卡IP

ifconfig ens33 192.168.80.3/24 或

ifconfig ens33 192.168.80.3 netmask 255.255.255.0

永久修改网卡IP

vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet #设置网卡类型,“Ethernet”表示以太网

DEVICE=ens33 #设置网卡的名称

ONBOOT=yes #设置网卡是否在 Linux 操作系统启动时激活

BOOTPROTO=static #设置网卡的配置方式,“static”表示使用静态IP地址,“dhcp”时表示动态获取地址

IPADDR=192.168.80.3 #设置网卡的 IP 地址

NETMASK=255.255.255.0 #设置网卡的子网掩码

GATEWAY=192.168.80.2 #设置网卡的默认网关地址

DNS1=192.168.80.2 #设置DNS服务器的 IP 地址

重启网卡

systemctl restart network #重启所有的网卡

ifdown ens33 ; ifup ens33

ifdown ens33 #关闭某个网卡

ifup ens33 #启动某个网卡

ifconfig ens33 down #临时禁用某个网卡

ifconfig ens33 up #重新激活某个网卡(不会更新IP地址)

查看网卡地址

ifconfig

ip a

测试网络连接

ping

traceroute (静态跟踪)

mtr (动态跟踪)

重启系统

reboot

init 6 shutdown -r now

关机

poweroff

shutdown -h now

init 0

给命令行提示字符加颜色

PS1="\[\e[1;35m\][\[email protected]\h \W]\\$\[\e[0m\]"

相关推荐