探索Linux-1-虚拟机远程登陆XShell6远程传输文件Xftp6

news2024/9/20 22:48:50

Linux是什么?

Linux是一个开源的操作系统内核,由林纳斯·托瓦兹(Linus Torvalds)于1991年首次发布。它基于Unix操作系统,但提供了更多的自由和灵活性。Linux内核是操作系统的核心部分,负责管理系统资源、处理硬件设备请求、以及管理程序运行等任务。

Linux用在哪些地方?

以下是一些主要的应用场景:

  •  个人计算:许多用户选择Linux作为他们的个人操作系统,因为它提供了高度的定制性、稳定性和安全性。
  •  软件开发:Linux提供了一个强大的开发环境,包括丰富的编程工具和库,支持多种编程语言,是许多开发者的首选平台。
  • 图形设计和多媒体制作:Linux上有许多专业的图形设计和多媒体制作软件,如GIMP、Kdenlive、Blender等。
  •  教育:Linux因其开源特性和教育价值,常被用于学校和大学的教学环境中。
  • 游戏:虽然游戏通常与Windows系统关联更紧密,但Linux上也有越来越多的游戏支持,特别是通过Steam和Wine等平台。
  • 家庭媒体中心:Linux可以作为家庭媒体中心的操作系统,用于播放音乐、视频和照片。
  • 个人服务器:Linux是构建个人服务器的理想选择,无论是用于文件共享、网站托管还是其他服务-Linux在服务器领域的应用是最强的,免费,稳定,高效
  • 隐私保护:对于注重隐私的用户,Linux提供了更多的隐私保护选项,如使用Tor网络浏览等。
  • 虚拟化和容器技术:Linux是虚拟化和容器技术(如Docker)的理想平台,允许用户在同一台机器上运行多个操作系统或应用程序。
  • 科学计算和数据分析:Linux提供了强大的科学计算和数据分析工具,如Python、R语言和MATLAB等。
  • 移动设备和嵌入式系统:虽然在智能手机领域Android占主导地位,但Linux也在其他移动设备和嵌入式系统中有所应用。
  • 桌面环境和界面:Linux提供了多种桌面环境和用户界面,如GNOME、KDE Plasma、XFCE等,满足不同用户的使用习惯。

Linux在个人桌面领域的应用非常灵活,可以根据用户的需求和偏好进行定制,这也是它受欢迎的原因之一。

Linux和Unix的关系

Unix的由来

Unix是一个开创性的操作系统,其起源可以追溯到20世纪60年代末。最初,Unix是由AT&T贝尔实验室的Ken Thompson和Dennis Ritchie共同开发的,目的是创建一个多用户、多任务的分时系统 。Unix的早期开发受到了他们参与设计的Multics系统的影响,Multics是一个更为复杂的操作系统项目,但最终由于种种原因被终止 。

Unix系统的开发始于1969年,最初是在PDP-7微型机上进行的 。1971年,Unix被移植到了PDP-11计算机上,但当时它只支持16KB内存,并且大多数代码是用汇编语言编写的,这限制了其可移植性 。为了解决这个问题,Ken Thompson创建了一种名为"B"的高级语言,随后Dennis Ritchie基于"B"语言开发了C语言,使得Unix能够用高级语言重写,从而提高了其可移植性 。

Unix的广泛应用得益于其开源特性和灵活性。1974年,Thompson和Ritchie在Communication of ACM上发表了论文,正式向外界披露了UNIX系统 。随后,UNIX系统被广泛配备于美国各大学的PDP-11系列计算机上,为UNIX的广泛应用创造了条件 。Unix的设计哲学,如“小即是美”和“万物皆为文件”,对其发展产生了深远影响 。

Unix系统以其稳定性、安全性和高度的自定义性而受到青睐,广泛应用于服务器、超级计算机和嵌入式设备等领域 。它采用分时操作系统理念,实现了多用户同时交互式作业,并展现出卓越的多用户和多任务处理能力 。Unix系统的成功也为后来的操作系统,包括Linux,奠定了基础 。

Linux的由来

Linux的起源可以追溯到1991年,由芬兰程序员林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学读书时开始的一个个人项目。以下是Linux发展的主要历程:

初始动机:
   - 林纳斯·托瓦兹最初是想为他的个人电脑编写一个操作系统,因为他对当时可用的操作系统不满意。

Minix的影响:
   - 托瓦兹在大学期间学习了操作系统课程,使用的是Andrew S. Tanenbaum教授开发的Minix系统。Minix是一个类Unix操作系统,主要用于教学目的。托瓦兹对Minix的局限性感到不满,决定开发一个更强大的系统。

Linux内核的诞生:
   - 1991年,托瓦兹开始编写Linux内核。最初,他只是将其作为一个业余项目,但很快这个项目吸引了其他开发者的兴趣。Linux内核的第一个版本(0.01)于1991年9月发布。

开源和社区贡献:
   - 托瓦兹将Linux内核以开源许可证发布,允许任何人自由地使用、修改和分发。这种开放性迅速吸引了全球开发者的注意,他们开始为Linux贡献代码和改进。

GNU项目的影响:
   - Linux内核的开发受益于GNU项目,特别是Richard Stallman领导的自由软件运动。GNU项目提供了许多工具和库,如GCC编译器和Glibc库,这些工具对Linux的开发至关重要。

Linux发行版的出现:
   - 随着Linux内核的成熟,各种基于Linux的操作系统发行版开始出现。这些发行版提供了完整的操作系统,包括内核、应用程序和用户界面。早期的发行版如Slackware和Debian逐渐发展成今天广泛使用的Ubuntu、Fedora和Red Hat Enterprise Linux等。

商业化和广泛应用:
   - 随着Linux的普及,许多企业和组织开始采用Linux作为服务器和桌面操作系统。Linux因其稳定性、安全性和可定制性而受到青睐。此外,Linux在嵌入式系统和移动设备中也有广泛应用。

持续发展:
   - 至今,Linux内核仍在不断更新和改进。全球的开发者社区继续为Linux贡献代码,使其成为一个不断进化的操作系统。

Linux的成功不仅在于其技术优势,还在于其开放和协作的开发模式,这种模式使得Linux能够迅速适应不断变化的技术需求。

Linux与Unix的关系

Linux和Unix之间有着紧密但明确的关系,主要体现在以下几个方面:

  • 技术灵感:
  •    - Linux的设计受到了Unix的强烈启发。Unix的设计理念、工具和哲学对Linux的创建者林纳斯·托瓦兹有着深远的影响。
  • 类Unix系统:
  •    - Linux通常被归类为一个类Unix系统。这意味着它在很多方面与Unix相似,包括其命令行界面、文件系统结构、以及多用户多任务的操作系统特性。
  • 兼容性:
  •    - Linux旨在与Unix兼容,特别是在应用程序编程接口(API)和用户界面方面。这使得许多Unix程序能够在Linux上运行,尽管两者在底层实现上有所不同。
  • 开源和自由软件:
  •    - 与许多Unix变种一样,Linux是开源的,遵循自由软件的原则。这意味着任何人都可以查看、修改和分发Linux的源代码。
  • 社区驱动:
  •    - Linux的开发类似于Unix的早期发展,是由一个全球开发者社区共同推动的。这种开放和协作的开发模式促进了Linux的快速成长和多样化。
  • Unix哲学:
  •    - Linux继承了Unix的一些核心哲学,如“小即是美”、“让每个程序都做好一件事”以及“万物皆文件”等。
  • 法律和许可:
  •    - 尽管Linux和Unix在技术上有很多相似之处,但它们在法律和许可方面是独立的。Linux是独立开发的,不包含Unix的专有代码。
  • Unix的分支:
  •    - 一些Unix的分支,如BSD,对Linux的发展也产生了影响。例如,Linux早期使用了BSD的一些网络代码。
  • 替代和补充:
  •    - 在某些情况下,Linux被用作Unix系统的替代品,特别是在需要成本效益和灵活性的场景中。同时,Linux也被用作Unix系统的补充,例如在Unix系统上运行Linux应用程序。
  • 共同的遗产:
  •     - Linux和Unix共享着许多相同的工具和实用程序,如grep、sed、awk等,这些都是Unix遗产的一部分,也被Linux所继承。
  • 总的来说,Linux是在Unix的基础上独立发展起来的,它继承了Unix的许多优点,同时也发展出了自己的特点和优势。Linux的成功在很大程度上得益于Unix的开源精神和设计理念。

VM和Linux的安装

vmware的安装

进入wmware官方网站进行下载,需要激活码,可以自行寻找VMware Workstation Pro

centos7的下载

进入centos官方网站进行下载,直接下载,记住下载安装的位置,可以把centos理解为Linux的外壳(发行版)

在VMware中创建一个虚拟机,按照提示一步一步来,在黑屏时不要随意点击,进入下面这个界面

操作系统选择centos7安装包,网络连接选择NAT网络连接

虚拟机克隆

克隆目的:
- 快速复制环境,用于测试、开发或备份。

克隆类型:

  • 完整克隆:包含虚拟机所有数据和配置的独立副本。
  • 链接克隆:基于快照的优化克隆,节省空间但依赖原始快照。

克隆步骤:

  1. 打开VMware Workstation。
  2. 选择要克隆的虚拟机。
  3. 选择克隆选项,并决定克隆类型。
  4. 为克隆的虚拟机命名并选择存储位置。
  5. 配置网络和硬件设置(如果需要)。
  6. 启动克隆过程并等待完成。
  7. 启动克隆的虚拟机进行验证。

注意事项:

  • 克隆会占用额外存储空间,特别是完整克隆。
  • 链接克隆在运行时可能需要更多性能资源。
  • 确保原始虚拟机的快照未被删除,以维持链接克隆的完整性。
  • 检查软件许可证是否允许虚拟机克隆。

通过克隆,用户可以在不同的虚拟环境中快速部署相同的操作系统和应用程序配置,同时保持原始环境的稳定性和安全性。

右击Centos 7->点击管理->点击克隆(克隆需要在关闭虚拟机的情况下进行)

虚拟机快照

快照定义:
快照是虚拟机在某一时刻的静态副本,包括操作系统、应用程序、数据和系统配置。它类似于传统操作系统中的“系统还原点”。

快照目的:

  • 版本控制:跟踪虚拟机随时间所做的更改。
  • 测试和开发:在不影响原始环境的情况下进行测试或开发。
  • 灾难恢复:在系统故障时快速恢复到之前的状态。

快照类型:

  • 即时快照:捕获虚拟机当前状态的完整副本。
  • 差异快照(链式快照):仅记录自上一个快照以来的更改,节省存储空间。

快照过程:

  • 选择虚拟机:在虚拟化软件中选择要创建快照的虚拟机。
  • 创建快照:选择创建快照的选项,可能需要指定快照的名称和描述。
  • 等待完成:快照创建过程中,虚拟机的状态将被保存。
  • 管理快照:可以查看、重命名、删除或回退到快照。

快照使用:

  • 回退:如果需要,可以将虚拟机回退到快照状态,撤销之后所做的更改。
  • 比较:比较不同快照之间的差异,了解系统的变化。
  • 删除:不再需要的快照可以被删除,释放存储空间。

注意事项:

  • 存储空间:快照会占用额外的存储空间,尤其是即时快照。
  • 性能影响:创建和使用快照可能会对虚拟机的性能产生一定影响,尤其是在磁盘I/O密集型操作时。
  • 依赖性:链式快照依赖于之前的快照,如果删除了早期快照,后续快照可能无法正常工作。
  • 磁盘空间管理:定期清理不再需要的快照,以优化存储空间使用。

快照是虚拟化环境中的一个强大工具,它提供了一种灵活的方式来保存和恢复虚拟机的状态,非常适合需要频繁测试和配置更改的环境。然而,合理管理快照对于维护性能和存储空间至关重要。

快照管理,只需要在VMware进行操作即可

安装vmtools步骤

在VMware Workstation的菜单栏中,选择“虚拟机” -> “安装VMware Tools”
sudo su -
//切换到root用户
mount /dev/cdrom /mnt
//挂载CD-ROM驱动器
cd /mnt
tar zxf VMwareTools-*.tar.gz -C /tmp
cd /tmp/vmware-tools-distrib
./vmware-install.pl -d
//这里,-d 参数表示自动运行安装程序

reboot
//重启
vmware-toolbox-cmd
//配置vmtools的配置项

共享文件夹:

进入settings->选项->共享文件夹->进入/mnt/hgfs文件夹中,当然要和设置的主机路径是一致的才能看到相应的文件夹,注意一定要下载vmwaretools才能启动

目录结构介绍

Linux操作系统以其严格的文件系统层次结构而闻名。这种结构有助于组织文件和目录,使得系统管理更加方便。以下是Linux文件系统的基本目录结构及其主要组成部分的介绍:

1. / (根目录):
   - 所有其他目录的父目录。
   - 根目录下通常包含一些主要的系统目录。

2. /bin:
   - 存放基本的二进制文件(即可执行文件)。
   - 这些文件是系统启动和运行所必需的,如`ls`、`cp`、`mv`等。

3. /sbin:
   - 存放系统管理的二进制文件。
   - 这些文件通常由系统管理员使用,如`fdisk`、`ifconfig`、`iptables`等。

4. /etc:
   - 存放系统配置文件。
   - 几乎所有系统服务和应用程序的配置文件都存放在这里。

5. /lib:
   - 存放共享库文件。
   - 这些库文件是许多应用程序运行所必需的。

6. /media:
   - 临时挂载文件系统的挂载点。
   - 通常用于挂载可移动存储设备,如USB驱动器、CD-ROM等。

7. /mnt:
   - 临时挂载的文件系统。
   - 通常用于挂载网络文件系统或外部存储设备。

8. /boot:
   - 存放启动加载程序和内核。
   - 这些文件是系统启动时必须加载的。

9. /dev:
   - 存放设备文件。
   - 这些文件代表系统中的硬件设备,如硬盘、键盘、鼠标等。

10. /proc:
    - 虚拟文件系统,提供系统运行时的信息。
    - 这些文件不占用实际的磁盘空间,但可以提供关于系统和进程的信息。

11. /sys:
    - 另一个虚拟文件系统,提供系统硬件和驱动程序的信息。
    - 类似于/proc,但更加详细和结构化。

12. /usr:
    - 用户相关的应用程序和文件。
    - 通常包含用户安装的软件和文档。

13. /home:
    - 用户的个人目录。
    - 每个用户的主目录都存放在这里。

14. /opt:
    - 可选软件包的安装位置。
    - 通常用于安装第三方软件。

15. /tmp:
    - 临时文件存放目录。
    - 系统和应用程序的临时文件都存放在这里。

16. /var:
    - 可变数据的存放目录。
    - 包含日志文件、数据库文件、邮件队列等。

17. /root:
    - 系统管理员的家目录。
    - 通常只有root用户才能访问。

18. /srv:
    - 服务数据的存放目录。
    - 通常用于存放网站、FTP服务器等的数据。

19. /mnt:
    - 挂载文件系统的临时目录。
    - 通常用于临时挂载文件系统。

20. /run:
    - 系统运行时的系统数据。
    - 包含系统运行时的临时数据和状态信息。

这些目录构成了Linux文件系统的基础,每个目录都有其特定的用途和功能

请期待下一篇关于Linux的文章吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1951206.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【HarmonyOS】应用推送使用个推SDK如何实现?

【HarmonyOS】应用推送使用个推SDK如何实现? 前言 个推和极光都是市面上很成熟的推送第三方SDK了。今天讲讲个推SDK在鸿蒙中如何集成使用。 存在即合理,三方SDK推送给我们带来了极大的好处,首先在服务器后台处理一套API就可搞定&#xff0…

lambda 28

package Api;public class local7 {public static void main(String[] args) {Swimmimg w()->{System.out.println("方式");};} } interface Swimmimg{void run(); }/* public static void main(String[] args) {Animal a new Animal(){Overridepublic void…

基于高光谱图像的压缩感知网络

压缩感知算法原理 压缩感知(Compressed Sensing, CS)是一种信号处理技术,它允许在远低于Nyquist采样率的情况下对信号进行有效采样和重建。压缩感知理论的核心思想是利用信号的稀疏性,通过少量的线性测量重建出原始信号。以下是压…

指令重排:

目录 指令重排: 代码: 执行结果: 分析原因: 解决办法: 加入语句: 完整代码: 补充: 1.printStackTrace(); 2.yield() 指令重排: 在class文件执行的时候&#…

OAK-FFC 分体式相机使用入门介绍

概述 OAK FFC 主控板和多种可选配镜头模组非常适合灵活的搭建您的3D人工智能产品原型。由于镜头是分体式的,因此你可以根据需要测量的距离,自定义深度相机安装基线,并根据你的项目要求(分辨率、快门类型、FPS、光学元件&#xff…

【C++】选择结构-switch语句

switch 语句语法格式: switch (已定义整型或字符型变量名) { case 单个整型或字符型1: 满足这个 case 下整型或字符型执行的操作 break; case 单个整型或字符型2: 满足这个 case 下整型或字符型执行的操作 break; ...... default : 所有 ca…

SpringBoot3整合Druid报错Cannot load driver class: org.h2.Driver

报错显示springboot自带的H2数据库报错,其实是因为druid并未加载进去。如果你其它配置都没问题的话,请检查druid的依赖是什么版本的,因为springboot3刚开始是不支持druid的。 方案一: 即需要手动在resources目录下创建META-INF/s…

opencascade AIS_MouseGesture AIS_MultipleConnectedInteractive源码学习

AIS_MouseGesture //! 鼠标手势 - 同一时刻只能激活一个。 enum AIS_MouseGesture { AIS_MouseGesture_NONE, //!< 无激活手势 // AIS_MouseGesture_SelectRectangle, //!< 矩形选择&#xff1b; //! 按下按钮开始&#xff0c;移动鼠标定义矩形&…

队列--顺序队列的表示和实现

#include<stdio.h> #define MAXQSIZE 10 typedef int QElemType; typedef int Status; //顺序队列 (循环队列,有一个空间不用) typedef struct{QElemType *base;int rear;int front; }SqQueue; //初始化队列 Status InitQueue(SqQueue &Q){Q.basenew QElemType[MAX…

微信Android一面凉经(2024)

微信Android一面凉经(2024) 笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《微信Android一面凉经(2024)》。 面试职位: 微信-客户端开发工程师-基础功能(广州) And…

数据结构——二叉树性质

性质1:在二叉树的第i层上至多有2^(i-1)个结点(i>1)。 这个性质很好记忆&#xff0c;观察一下图6-5-5。 第一层是根结点&#xff0c;只有一个&#xff0c;所以2^(1-1)2^01。 第二层有两个&#xff0c;2^(2-1)22。 第三层有四个&#xff0c;2^(3-1)2^24。 第四层有八个&am…

centos7 mysql 基本测试(6)主从简单测试

centos7 xtrabackup mysql 基本测试&#xff08;6&#xff09;主从简单测试 mysql -u etc -p 1234aA~1 参考&#xff1a; centos7 时区设置 时间同步 https://blog.csdn.net/wowocpp/article/details/135931129 Mysql数据库&#xff1a;主从复制与读写分离 https://blog.csd…

【中项】系统集成项目管理工程师-第5章 软件工程-5.3软件设计

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…

800G以太网测试之FEC压力测试(FEC统计,FEC Error Injection)

目录 FEC是什么 FEC测试需要关注哪些内容 基础的 FEC 性能监测 需要测试和验证的 FEC 特性 FEC Error Injection / FEC误码压力测试 Codeword & Symbol Error Configuration Errored Symbol Per CW Configuration Bit Error Mask Configuration Loop Mode FEC 引擎…

JavaScript Let

ECMAScript 2015 ES2015 引入了两个重要的 JavaScript 新关键词&#xff1a;let 和 const。 这两个关键字在 JavaScript 中提供了块作用域&#xff08;Block Scope&#xff09;变量&#xff08;和常量&#xff09;。 在 ES2015 之前&#xff0c;JavaScript 只有两种类型的作…

为边缘开发由生成式 AI 驱动的视觉 AI 智能体

为边缘开发由生成式 AI 驱动的视觉 AI 智能体 文章目录 为边缘开发由生成式 AI 驱动的视觉 AI 智能体什么是可视化 AI 智能体&#xff1f;使用 Jetson 平台服务为边缘构建视觉 AI 智能体构建基于 VLM 的视觉 AI 智能体应用程序VLM AI 服务提示工程与 Jetson 平台服务和移动应用…

针对网络延迟与弱网下的测试

学习的时候看见大佬这样的回复 作为一个测试小白&#xff0c;我心想&#xff0c;这我不得上手试一试 大佬说的工具模拟&#xff0c;大概是指Charles和fiddler两个软件&#xff0c;都可以模拟弱网&#xff0c;但是Charles收费&#xff0c;我拿fiddler练手 另一个故意引入固定百…

21-C语言的结构体尺寸——地址对齐问题

21-C语言的结构体尺寸——地址对齐问题 文章目录 21-C语言的结构体尺寸——地址对齐问题一、CPU 字长二、 地址对齐2.1 原理和原因2.2 地址对齐的主要思想2.3 示例代码说明地址对齐 三、普通变量的M值M值的计算规则例子 四、手动干预M值4.1 规则4.2 例子 五、结构体的M值5.1 例…

每天一个设计模式之职责链模式(第一天)

特别感谢刘伟老师&#xff0c;看他的书我学到了很多东西&#xff0c;从今天开始我要开始更新啦&#xff01; 在csdn个人博客来总结知识&#xff0c;把他们变成自己的能力。 对三&#xff0c;要不起&#xff0c;张三李四王五几个人在玩斗地主&#xff0c;过过过&#xff0c;一…

谷粒商城实战笔记-错误记录-启动失败

文章目录 一&#xff0c;lombok报错二&#xff0c;Output directory is not specified 一&#xff0c;lombok报错 java: You arent using a compiler supported by lombok, so lombok will not work and has been disabled. Your processor is: com.sun.proxy.$Proxy8 Lombok …