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

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.rhkb.cn/news/384293.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS:position属性

一、属性值 1.1 fixed 固定位置的元素,相对于浏览器窗口进行定位。 元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。 网站中的固定 header 和 footer 就是用固定定位来实现的; header效果图 footer效果图 1.2 absol…

inxedu 因酷教育软件环境搭建

1 地址下载网校系统_考试系统_培训系统_直播教学系统_在线教育系统源码-因酷教育软件-北京因酷时代科技有限公司 2 在idea上的部署环境 解压后用idea打开 maven设置 java编辑器配置 将jdk设置为1.7 tomcat选择为7配置 数据库配置 修改cms上链接数据库的密码 修改端口 运行cms

可能是最好的工具网站

前些苏音在刷视频,发现了一堆好用的宝藏网站,这就赶快分享给大家。 工具网站 这个网站类似于网址导航,集合了包括工具类、资源类、软件类、AI类的合集 并且站长表示励志做体验感最好的工具网,聚焦最快解决用户的需求 首先就是办…

微信自动回复

微信自动回复 文章目录 微信自动回复自动回复步骤微信展开在微信消息区进行监测将微信聊天区截图回复信息实现多次回复(封装函数) 结语 嗨!收到一张超级美丽的风景图,愿你每天都能顺心! 我们这里主要使用pyautogui库&a…

百日筑基第二十八天-23种设计模式-行为型总汇

百日筑基第二十八天-23种设计模式-行为型总汇 文章目录 百日筑基第二十八天-23种设计模式-行为型总汇前言模板方法模式简介模板方式的特点模板方法模式结构类图模板方式模式案例分析模板方法模式应用源码分析模板方法模式的注意事项和细节 迭代器模式迭代器模式结构类图迭代器模…

MySQL 约束 (constraint)

文章目录 约束(constraint)列级约束和表级约束给约束起名字(constraint)非空约束(no null)检查约束(check)唯一性约束 (unique)主键约束 (primary key)主键分类单一主键复合主键主键自增 (auto_increment) 外键约束外什…

cpp程序设计实践,类实现树链刨分以及计算几何类

程序设计要求 是某个cq高校期末程序设计实践作业,全部自己做的比较小众分值90。  试建立一个继承结构,以栈、队列为派生类,建立它们的抽象基类-Bag类,写出各个类的声明及定义,并实现如下功能:  统一命名…

C++基础知识:函数重载相关注意事项:1.引用作为重载条件,2.2.函数重载遇见函数默认参数。

1.引用作为重载条件 #include<iostream>using namespace std;//1.引用作为重载的条件 //int 和 const int 类型不同&#xff0c;所以可以作用重载条件 void fn(int &a) //int &a10;不合法 //10放在了常量区&#xff0c;而引用要么在栈区&#xff0c;要么在堆区{…

【Python】sqlite加密库pysqlcipher3编译安装步骤

目录 说明准备工作openssl编译sqlitetcl setup.py修改quote_argumentopenssl路径 安装加密示例代码测试附录参考 说明 pysqlcipher3是针对Python 3使用的pysqlcipher的一个分支&#xff0c; 尽管仍然维护对Python 2的支持。它仍然处于测试阶段&#xff0c; 尽管这个库包含的最…

网络安全常见错误及解决办法(更新中)

# 开启代理&#xff0c;无法连接网络 把代理关掉 # 上一秒还在安装tree&#xff0c;下一秒xshell就连接不上了 —》sshd服务的key这个文件权限过高&#xff0c;跟装tree没有关系&#xff0c;装一个epel 源&#xff0c;epel-release​ 部分命令&#xff1a;chmod 600 /etc/ssh…

pikauchu之Unsafe Fileupload(不安全的文件上传)

Client check&#xff08;客户检查&#xff09; 第一步先新建一个一句话木马 <?php eval($_POST[1]);?> 然后上传文件 有限制&#xff0c;只能上传那几种类型 现在看看源代码 我们将一句话木马文件的后缀改为png 然后用burp抓包&#xff0c;将png改成php 就能上传成功 …

Android Studio导入源码

在有源码并且编译环境可用的情况下&#xff1a; 1.生成导入AS所需的配置文件 在源码的根目录执行以下命令&#xff1a; source build/ensetup.sh lunch 要编译的项目 make idegen //这一步会生成out/host/linux-x86/framework/idegen.jar development/tools/idegen/idegen.sh…

Spring Boot集成canal快速入门demo

1.什么是canal&#xff1f; canal 是阿里开源的一款 MySQL 数据库增量日志解析工具&#xff0c;提供增量数据订阅和消费。 工作原理 MySQL主备复制原理 MySQL master 将数据变更写入二进制日志&#xff08;binary log&#xff09;, 日志中的记录叫做二进制日志事件&#xff…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第五十七章 Linux中断实验

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

Spring AI (三) 提示词对象Prompt

3.提示词对象Prompt 3.1.Prompt Prompt类的作用是创建结构化提示词, 实现了ModelRequest<List<Message>>接口 Prompt(String contents)&#xff1a;创建一个包含指定内容的Prompt对象。 Prompt(String contents, ChatOptions modelOptions)&#xff1a;创建一个…

基于Qt的上位机通用框架

0.前言 最近一年多的时间一直在开发设备控制相关的软件&#xff0c;加上之前在聚光的两年时间&#xff0c;前前后后开发这种设备控制类型的上位机软件也有三年的时间了。总结出了一套基于Qt的上位机编程框架&#xff0c;核心思想类似于C#的依赖注入&#xff0c;对象的初始化都…

java计算机毕设课设—记账管理系统(附源码和安装视频)

这是什么系统&#xff1f; java计算机毕设课设—记账管理系统&#xff08;附源码和安装视频&#xff09; 记账管理系统主要用于财务人员可以从账务中判断公司的发展方向。对个人和家庭而言&#xff0c;通过记账可以制定日后的 消费计划&#xff0c;这样才能为理财划出清晰合理…

ATF-541M4全解析(一)

目录 一、描述二、规格三、各参数最大值四、25℃下的典型值 一、描述 安华高科技 (Avago Technologies) 的 ATF-541M4 是一款高线性度、低噪声、单电源供电的E-PHEMT&#xff0c;封装在一个微型无引脚封装中。 ATF-541M4 的小尺寸和低外形使其非常适合用于混合模块和其他空间…

C++:类和对象2

1.类的默认成员函数 默认成员函数就是用户没有显示实现编译器会自动生成的成员函数称为默认成员函数。一个类&#xff0c;我们在不写的情况下编译器会默认生成6个默认成员函数&#xff0c;分别是构造函数&#xff0c;析构函数&#xff0c;拷贝构造函数&#xff0c;拷贝赋值运算…

Spark RPC框架详解

文章目录 前言Spark RPC模型概述RpcEndpointRpcEndpointRefRpcEnv 基于Netty的RPC实现NettyRpcEndpointRefNettyRpcEnv消息的发送消息的接收RpcEndpointRef的构造方式直接通过RpcEndpoint构造RpcEndpointRef通过消息发送RpcEndpointRef Endpoint的注册Dispatcher消息的投递消息…