初始Linux操作系统

一、操作系统

在这里插入图片描述

1、操作系统概述

操作系统(operation system,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

在这里插入图片描述

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

  • 如果在 裸机 上运行自己所编写的程序,就必须用计算机语言书写程序。
  • 如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级语言开发程序。

2、操作系统分类

(1)桌面操作系统

  • Windows系列用户群体大
  • macOS适合于开发人员
  • Linux应用软件少

(2)服务器操作系统
Linux

  • 安全、稳定、免费
  • 占有率高
    Windows server
  • 付费
  • 占有率低

(3)嵌入式操作系统

  • Linux

(4)移动设备操作系统

  • iOS
  • 安卓Android(基于Linux)

3、虚拟机

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

  • 虚拟系统通过生成现有操作系统的全新虚拟镜像,具有真实操作系统完全一样的功能
  • 进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响
  • 而且能够在现有系统与虚拟镜像之间灵活切换的一类操作系统

二、操作系统的发展史

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操作系统
    在这里插入图片描述

2、C语言

  • 在把UNIX移植到其他类型的计算机上使用时,C语言强大的移植性(Portability)在此显现
    • 机器语言和汇编语言都不具有移植性,为x86开发的程序,不可能在Alpha、SPARC和ARM等机器上运行
  • 而c语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后格C源代码编译、连接成目标二进制文件之后即可运行
    在这里插入图片描述

3、minix

  • 因为AT&T (通用电气) 的政策改变,在Version 7 Unix 推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不再能使用UNIX源代码
  • Andrew S.Tanenbaum (塔能鲍姆)教授为了能在课堂上教授学生操作系统运作的细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议以小型UNIX (mini-UNIX)之意,格它称为MINIX
    在这里插入图片描述

4、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常见命令

1、命令行提示字符

[root@localhost ~]#
[当前登录系统的用户@主机名称 当前所在的目录]#
# 表示为管理员登录
$ 表示为普通用户登录

2、切换用户

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

3、查看当前主机的完整名称

hostname

4、设置主机名

-------临时设置主机名--------
hostname 主机名

--------永久设置主机名---------
hostnamectl set-hostname 主机名
或
vi /etc/hostname(设置完后需重启系统才生效)
按i键先删除旧主机名,再输入新主机名(只有第一行有效)
按ESC键,再按SHIFT +:” 组合键,输入 wq ,再按回车键退出

5、查看当前系统和内核版本

---------查看当前系统版本信息-----------
cat /etc/redhat-release
或
cat /etc/*release

----------查看当前内核版本-----------
uname -r

6、修改网卡IP

----------临时修改网卡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 地址

7、重启网卡

----------重启网卡----------
systemctl restart network  #重启所有的网卡
ifdown ens33 ; ifup ens33
ifdown ens33     #关闭某个网卡
ifup ens33      #启动某个网卡

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

8、查看网卡地址

ifconfig
或
ip a

9、添加静态路由条目

临时添加路由(重启network服务失效)

----------临时添加路由(重启network服务失效)----------
方法一:
route add -net 192.168.3.0/24 gw 192.168.8.2 [dev ens33]
-net:指定目标网段的地址
gw:指定下一跳路由器的 IP 地址
dev: 为路由指定的输出接口

-----------查看路由表条目--------
route -n

------------删除静态路由条目----------
route del -net 192.168.3.0/24


方法二:
ip route add 192.168.15.0/24 via 192.168.80.2 [dev ens33]

永久添加路由(重启network服务生效)


--------永久添加路由(重启network服务生效)---------
方法一:
vi /etc/sysconfig/static-routes
any net any gw 192.168.80.2
any net 192.168.3.0/24 gw 192.168.80.2
any net 10.0.0.0 netmask 255.0.0.0 gw 192.168.80.2
any host 192.168.100.100 gw 192.168.80.2

systemctl restart network

方法二:
vim /etc/sysconfig/network-scripts/route-ens33
default via 192.168.80.2 dev ens33  #默认路由,另一种格式 0.0.0.0/0 192.168.14.254 dev ens33
10.211.6.0/24 via 192.168.80.2 dev ens33
192.168.100.200  via 192.168.14.254 dev ens33

systemctl restart network

10、测试网络连接

ping 
traceroute (静态跟踪)
mtr   (动态跟踪)

11、重启系统

reboot  
init 6
shutdown -r now

12、关机

poweroff
init 0
shutdown -h now

shutdown -c

13、小知识:给命令行提示字符加颜色

PS1="\[\e[1;34m\][\u@\h \W]\\$\[\e[0m\] "

PS1="\[\e[1;35m\][\[\e[1;34m\]\u\[\e[1;36m\]@\[\e[1;34m\]\h \[\e[1;31m\]\w\[\e[1;35m\]]\[\e[1;36m\]\\$\[\e[0m\] "

\[\e[1;35m\][ ====> 定义左边的"["
\[\e[1;34m\]\u ====> 定义用户名
\[\e[1;36m\]@ ====> 定义"@"
\[\e[1;34m\]\h ====> 定义第一个点(.)之前的主机名
\[\e[1;31m]\w ====> 定义目录完整路径
\[\e[1;35m]] ====> 定义"]"
\[\e[1;36m\]\\$ ====> 定义"#""$"
\[\e[0m\] ====> 一段不显示字串的结束

在这里插入图片描述

14、补充:设置DNS服务器的IP地址及DNS域名

/etc/resolv.conf
是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名。最多可以指定3个不同的DNS服务器地址,优先使用第一个 DNS 服务器。对该文件所做的修改将会立刻生效。
nameserver 192.168.80.2     #定义DNS服务器的IP地址

注意:此配置文件与网卡配置文件的DNS1参数作用相同,哪个最后修改或重启,系统就使用哪个配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值