成为进阶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常见命令

[root@localhost ~]#

其中,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\][\u@\h \W]\\$\[\e[0m\]"

猜你喜欢

转载自blog.csdn.net/Lucien010230/article/details/112685826