Linux学习一概述和环境搭建(入门概述,环境搭建,走近Linux系统)

article/2025/9/1 11:34:05

此文档学习来自b站遇见狂神说,自己做的学习笔记整合。

狂神说Linux

继续Java全栈开发的Linux,而不是运维级别!
我们为什么要在这个时间学习Linux?Java全栈开发的我们要掌握哪些知识?需要准备什么工作?

Java开发之路:JavaSE、MySQL、前端(HTML、Css、JS)、JavaWeb、SSM框架(很多人就开始找工
作了!)、SpringBoot、Vue、SpringCloud~、(MP Git)
Linux (CentOS 7) 操作系统:Window 、Mac!
消息队列(Kafka、RabbitMQ、RockeetMQ),缓存(Redis),搜索引擎(ES)
集群分布式(需要购买多台服务器,如果没有服务器我们就只能使用虚拟机!)!

我们这个课程基于CentOS 7版本的学习!
Linux 一切皆文件:文件就 读、写、 (权限)

学习方式:
1、认识Linux
2、基本的命令(重点:Git讲了一些基本的命令(文件操作、目录管理、文件属性、Vim编辑器、账号管理、磁盘管理,))
3、软件的安装和部署!(java、tomcat、docker)
Linux(基础)–Redis–Docker

入门概述

我们为什么要学习Linux

linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展都有其局限性都有其天花板。就如同在国内再搞一个社交软件取代腾讯一样,想想而已基本不可能,因为用户已经习惯于使用微信交流,不是说技术上实现不了解而是老百姓已经习惯了,想让他们不用,即使他们自己不用亲戚朋友还是要用,没有办法的事情。

用习惯了windows操作系统,再让大家切换到别的操作系统基本上是不可能的事情,改变一个人已经养成的习惯太难。没有办法深入到普通老百姓的生活中,并不意味着linux就没有用武之地了。在服务器端,在开发领域linux倒是越来越受欢迎(很多大型项目都是部署在Linux上面),很多程序员都觉得不懂点linux都觉得不好意思,linux在开源社区的地位依然岿然不动。
尤其是作为一个后端程序员,是必须要掌握Linux的,因为这都成为了你找工作的基础门槛了,所以不得不学习!

Linux 简介

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux 是一套免费使用和自由传播的类 Unix 操作系统(MAC也是类Unix操作系统),是一个基于 POSIX(可移植操作系统接口) 和UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux 发行版

Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。
Kali linux:安全渗透测试使用!(有兴趣做安全的同学可以了解一下!)

在这里插入图片描述
目前市面上较知名的发行版有:Ubuntu(乌班图)、RedHat(红帽)、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
社会的生存法则;优胜劣汰!
在这里插入图片描述

Linux 应用领域

今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。

目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。

  • 巴西联邦政府由于支持 Linux 而世界闻名。

  • 有新闻报道俄罗斯军队自己制造的 Linux 发布版的,做为 G.H.ost 项目已经取得成果。

  • 印度的 Kerala 联邦计划在向全联邦的高中推广使用 Linux。

  • 中华人民共和国为取得技术独立,在龙芯处理器中排他性地使用 Linux。

  • 在西班牙的一些地区开发了自己的 Linux 发布版,并且在政府与教育领域广泛使用,如 Extremadura 地区的 gnuLinEx 和 Andalusia 地区的 Guadalinex。

  • 葡萄牙同样使用自己的 Linux 发布版 Caixa Mágica,用于 Magalh?es 笔记本电脑和 e-escola 政府软件。

  • 法国和德国同样开始逐步采用 Linux。

Linux vs Windows

在这里插入图片描述

环境搭建

Linux 的安装,安装步骤比较繁琐(操作系统本身也是一个软件),现在其实云服务器挺普遍的,价格也便宜,如果直接不想搭建,也可以直接买一台学习用用!

安装CentOS (在本地安装,这个不太建议,如果没有经济来源的话,可以考虑在本地搭建)

Linux是一个操作系统,你也可以把自己电脑安装成双系统!(双系统不推荐,会占用很多资源)
可以使用虚拟机(VMware下载(收费的,注册码!):360一键安装(推荐,小白分分钟安装成功!)!)

在这里插入图片描述

官网下载:(太慢了 还是用360或者是你电脑自带的软件商城下载)
在这里插入图片描述
安装完成后打开软件有如下界面:
在这里插入图片描述
在虚拟机上安装CentOS7

1、可以通过镜像进行安装! 下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/,下载完成后安装即可!安装操作系统和安装软件是一样的,注意:Linux磁盘分区的时候需要注意分区名即可!/boot /home

2、也可以使用我已经制作好的镜像!(狂神制作好的一个自己的镜像!)使用百度云链接下载即可!

链接:https://pan.baidu.com/s/1e0YEzN3BW0DDXFtMscvvVA
提取码:716m
复制这段内容后打开百度网盘手机App,操作更方便哦

在这里插入图片描述
然后把这个解压的CentOS文件夹放在VirtualMachine目录下
在这里插入图片描述

3、安装 VMware 虚拟机软件,然后打开我们的镜像即可使用!
打开后的样子:
在这里插入图片描述

在这里插入图片描述
VMware的使用方式:
点击屏幕进入虚拟机、Ctrl + Alt 将聚焦退出虚拟机!
开机后的页面:
在这里插入图片描述
默认的用户是:kuangshen 密码是 123456
root用户:root-123456
大家下载完毕后,可以安装系统,然后根据我们的账号密码,来自己测试登录!
那我们的本地Linux环境就准备好了!
在这里插入图片描述

购买云服务器(有经济来源的话,可以购买阿里云服务器,因为这才是最近接公司中原生环境的!)

关于服务器的购买可以看:服务器购买及宝塔部署环境说明(阿里云为例)

云服务器就是一个远程电脑,服务器一般不会关机!
虚拟机安装后占用空间,也会有些卡顿,我们作为程序员其实可以选择购买一台自己的服务器,这样的话更加接近真实线上工作;
1、阿里云购买服务器:https://www.aliyun.com/minisite/goods?userCode=0phtycgr
2、购买完毕后,获取服务器的ip地址,重置服务器密码,就可以远程登录了
在这里插入图片描述

  • 获取公网IP地址!在这里插入图片描述

  • 修改自己的登录密码

在这里插入图片描述

关于安全组的说明: (在阿里云这个很重要,自己需要开放什么端口来这里配置就好啦,我们在后面安装环境的时候会再次说明)
在这里插入图片描述
在这里插入图片描述
3、下载 xShell 远程连接工具22,进行远程连接使用!建议使用360一键下载!还需要下载一个 xFtp 文件上传21!
在这里插入图片描述
下载完毕后,直接打开即可!
4、使用Xshell连接远程服务器!
在这里插入图片描述
登录用户名和密码之后,登录成功就是如下界面:
在这里插入图片描述
这里就是我们的Linux操作系统了!以后的操作都在这里操作,项目也在这里进行发布!
Ctrl + 鼠标滚轮,放大和缩小字体!
上传文件使用xftp即可!
在这里插入图片描述
在这里插入图片描述
测试可以通过Xftp复制到远程服务器,然后解压tomcat包
在这里插入图片描述
在这里插入图片描述
进bin目录启动。
在这里插入图片描述
需要Java环境,如果没有配置也要提前配置一下Java环境才能启动tomcat

Tomcat 需要 Java环境!我们后会按照JDK,到时候再测试吧,先学基本的Linux命令为主!
远程环境安装!
注意事项:
如果要打开端口,需要在阿里云的安全组面板中开启对应的出入规则,不然的话会被阿里拦截!

如果前期不好操作,可以推荐安装宝塔面板,傻瓜式管理服务器

安装教程:https://www.bt.cn/bbs/thread-19376-1-1.html
1、开启对应的端口
2、一键安装
3、安装完毕后会得到远程面板的地址,账号,密码,就可以登录了
4、登录之后就可以可视化的安装环境和部署网站!

关于域名

如果自己的网站想要上线,就一定要购买一个域名然后进行备案;
备案的话需要一些认证和时间,备完完毕后,就可以解析到自己的网站了,这个时候就可以使用域名来
进行服务器的访问!

走近Linux系统

开机登录

开机会启动许多程序。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)
在这里插入图片描述

开机成功后,它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份,密码是不显示的,输完回车即可!
在这里插入图片描述

一般来说,用户的登录方式有三种:

  • 命令行登录 (直接通过Root密码)
  • ssh登录 (Xshell)
  • 图形界面登录(本地的虚拟机)

最高权限账户为 root,可以操作一切!

关机

在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

关机指令为:shutdown ;不过在关机之前都会先sync同步数据
在这里插入图片描述

Linux中没有错误就代表操作成功

sync # 将数据由内存同步到硬盘中。
shutdown # 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
shutdown –h 10 # 这个命令告诉大家,计算机将在10分钟后关机
shutdown –h now # 立马关机
shutdown –h 20:25 # 系统会在今天20:25关机
shutdown –h +10 # 十分钟后关机
shutdown –r now # 系统立马重启
shutdown –r +10 # 系统十分钟后重启
reboot # 就是重启,等同于 shutdown –r now
halt # 关闭系统,等同于shutdown –h now 和 poweroff

最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

这个测试用本地的虚拟机测试就好了,不建议用Xshell因为Xshell刚刚说了连的是远程服务器,服务器不用重启。

系统目录结构

1、一切皆文件
2、根目录 / ,所有的文件都挂载在这个节点下

登录系统后,在当前命令窗口下输入命令:

ls /

你会看到如下图所示:
在这里插入图片描述
树状目录结构:
在这里插入图片描述
以下是对这些目录的解释:

  • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。(比如ls命令等)

  • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(不要动)

  • /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。(挂载一些U盘等)

  • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。(比如Redis、Java等配置文件)

  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。(不要动)

  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(存放突然关机的一些文件)

  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。(我们会把一些本地的文件挂载在这个目录下)

  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。(比如安装redis等东西)

  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。(不用管)

  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  • /srv:该目录存放一些服务启动之后需要提取的数据。

  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

  • /tmp:这个目录是用来存放一些临时文件的。用完即丢的文件,可以放在这个目录下,安装包!

  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin: 系统用户使用的应用程序。

  • /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。 Super

  • /usr/src: 内核源代码默认的放置目录。

  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

  • /www:存放服务器网站相关的资源,环境,网站的项目
    cd /www/server
    在这里插入图片描述


http://chatgpt.dhexx.cn/article/ckOBI43R.shtml

相关文章

CK6855M1蓝牙离线语音识别灯控模组使用说明书

CK6855M1蓝牙离线语音识别灯控模组使用说明书 一、功能说明 CK6855M1模块是一款专为灯具照明产品设计的离线蓝牙语音识别模组。模组支持红外遥控接收,支持RGBWY灯控制,支持无极调光,支持AD按键调灯以及音频上下曲的控制,支持5.1…

为什么P2P模式下载的人越多速度越快,为什么P2P伤害机械硬盘

台风来临前的夜晚,有点激动不想睡觉,看了几个电影,日本恐怖片,台风雨夜,非常不错,P2P很流畅,观察IP地址大量也是附近的,江浙沪,难道也都在迎台风看电影? 大家…

伊人在线高清视频 index.php,《天元》“畅音阁”首发飞行技能视频

直面一款网游给人感觉的优异度最大成分中的重中之重就是第一感——“视听”印象。一直以来,游戏音乐以及画面成分的优异华丽与否直接关系到了玩家对于此款游戏的好感度,无可厚非。而《天元》特别针对于此,倾情打造出一篇关于对于其所有“视听…

迅雷跃居全球BT市场第一

据torrentfreak报道,根据早些时候海盗湾公布的一些数据表明,全球BT软件的使用者,大约有三分之一来自中国,而来自美国的仅有8%,迅雷成为全球BitTorrent市场份额最大的客户端。 迅雷本身并不是一个专门使用P2P的BT客户端…

11个资源强大的网站!知乎超20万人强烈推荐,再也不怕资源难找

在我们日常工作学习中难免就需要在网站搜索资料,这时候一定需要一个能够帮你搜索一切你想要的资源,从而为你剩下一大半时间,那么今天为大家整理了11个超级好用的黑科技资源搜索网站,帮你解决因为上网找不到合适的资源而发愁&#…

Linux6.8搭建sftp服务

最近因公司工作需要用到sftp服务器,参考网上各种方法,但被网上各种方法尤其是权限设置问题搞得晕头转向,现在将自己搭建过程总结了一下,提供给大家希望有所帮助。 sftp是Secure FileTransfer Protocol的缩写,安全文件传…

107-161JS

107-161 target事件委托正则表达式捕获exec特性 this指向改变this指向ES6定义变量ES6箭头函数ES6解构赋值ES6展开运算符ES6模块化初识面向对象创建对象构造函数注意问题面向对象的原型ES6-Class面向对象继承ES6继承Aajaxajax同步异步请求方式1ajax的封装回调地狱promise基础语法…

fastjson与net.sf.json区别

在现在的开发当中&#xff0c; 绝大多数引用阿里巴巴的fastjson。 当然net.sf.json同样可以使用。 一、引入com.alibaba.fastjson包 <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency><groupId>com.alibaba</groupId>…

SftpGo:一款高性能的sftp server服务

SftpGo是一款高性能、功能齐全、易用可配置的一款sftp server 服务&#xff0c;基于go开发。目前在linux、macos下均可以稳定运行(windows个人未测试)。数据可以持久化到主流的数据库&#xff0c;诸如Mysql、PostgreSQL、Sqlilte. sftpgo主要组成 服务端主程序: sftpgosever…

SF简易IDC系统V1.0免授权

介绍&#xff1a; 提供官方EP接口&#xff08;可免费无限开通主机和CDN&#xff09; 2.站长可自己上架主机定义金额&#xff0c;更有自定义模式&#xff08;客户自己选择配置&#xff0c;根据配置进行付钱&#xff09; 3.独立支付接口 —————— 源码无后门&#xff0c;免授…

CentOS7.6-搭建SFTP服务

1.需求 搭建多账号SFTP&#xff0c;不同的用户只能够查看自己所属的目录禁止SFTP账号通过SSH连接SFTP 用户demo1、demo2&#xff0c;所属目录&#xff1a;/data/sftp/demo1、/data/sftp/demo2 2.操作步骤 创建目录 mkdir /data/sftp/{demo1,demo2} -p创建用户组sftp groupad…

Fastdfs安装(超级无敌详细版)

注&#xff1a;如果还没开始安装&#xff0c;请根据本教程完整走完&#xff0c;每个教程都有差异&#xff0c;拼拼凑凑更容易出问题。本教程各个包的版本都是亲自试过没问题的&#xff0c;熟练的半小时内即可安装好。 由于在学习阶段&#xff0c;看了许多别人的教程和视频&…

MBR引导程序源码理解

目录 MBR引导程序源码理解序参考链接 开机流程简述与MBR引导程序的关系进入 BIOS 确认开机启动磁盘获取引导磁盘第一扇区MBR数据反汇编MBR.bin源码解读00000000 EB63 jmp short 0x6500000065 FA cli00000066 90 nop00000067 90 nop00000068 F6C280 test dl,0x800000006B 7405 j…

IDEA 创建Maven Web项目

背景 公司有一个非常老的项目&#xff0c;决定进行简单重构&#xff0c;纳入自动化流水线部署的序列。原项目采用很古老的Jar包依赖模式&#xff0c;也就是直接将jar包放在项目中。同时&#xff0c;项目结构也非常奇特&#xff0c;不是标准的Web项目目录结果。 于是&#xff…

确保web地址正确解决方案

确保web地址正确 重置ie解决 1.首先&#xff0c;进行打开一个为电脑中一个ie的浏览器&#xff0c;进行双击打开即可。 2.打开了一个浏览器之后&#xff0c;进行点击右上角中的 设置 图标。 3.进行点击了设置之后&#xff0c;弹出了下拉菜单选中为 internet 选项。 4.这样就…

WebAPI简介

1、WebAPI概述 为什么要使用WebAPI&#xff1a; Web API最重要的是可以构建面向各种客户端的服务。 ASP.NET WebAPI是什么: 官方定义如下&#xff0c;强调两个关键点&#xff0c;即可以对接各种客户端&#xff08;浏览器&#xff0c;移动设备&#xff09;&#xff0c;构建ht…

深度解读互联网新时代:Web3.0

文章目录 深度解读互联网新时代——Web3.0一、Web3 —— 中心化网络的新兴名词二、Web3 “全家福”三、Web3 是互联网的货币层四、Web3 是互联网的身份层五、Web3 通过售卖数据来牟利的反击六、Web3 还拥有平台本身的一种方式七、Web3 是一种新的互联网赞助模式八、Web3 让建立…

使用Docker部署web项目

1、简介 本片文章主要介绍如何使用docker部署web项目。关于docker的安装及基本使用在笔者的另一篇文章中有相关的介绍。 链接 https://blog.csdn.net/H_porridge/article/details/123609120 2.准备一个web项目 自己有项目的可以用自己项目来部署&#xff0c;笔者此处也有一个…

CTFshow web17

萌新计划 进入题目&#xff0c;是一行php代码&#xff0c;发现c传参过滤掉了php&#xff0c;尝试一下日志文件包含漏洞 nginx的日志文件位置是/var/log/nginx/access.log 发现日志文件记录了User-Agent 那么我们就在User-Agent中写入一句话木马 上传成功&#xff0c;接下来我…

【计算机网络】Web服务器的配置

目录 课题描述 需求分析 2.1 WEB服务器基本构架 2.1.1 WEB服务器和浏览器 2.2 HTTP协议 2.2.1 HTTP简介 2.2.2 HTTP工作原理 2.3 FTP协议 2.3.1 FTP简介 2.3.2 FTP工作原理 2.4 ISS服务作用 概要设计 3.1 ISS服务器的安装与配置 3.2 详细设计 结果分析 4.1 We…