Linux基础命令Linux的目录结构
/,根目录是最顶级的目录了
Linux只有一个顶级目录:/
路径描述的层次关系同样适用/来表示
/home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt
ls命令功能:列出文件夹信息
语法:ls [-l -h -a] [参数]
参数:被查看的文件夹,不提供参数,表示查看当前工作目录
-l,以列表形式查看
-h,配合-l,以更加人性化的方式显示文件大小
-a,显示隐藏文件
隐藏文件、文件夹在Linux中以.开头的,均是隐藏的。
默认不显示出来,需要-a选项才可查看到。
pwd命令功能:展示当前工作目录
语法:pwd
cd命令功能:切换工作目录
语法:cd [目标目录]
参数:目标目录,要切换去的地方,不提供默认切换到当前登录用户HOME目录
HOME目录每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。
普通用户的HOME目录,默认在:/home/用户名
root用户的HOME目录,在:/root
FinalShell登陆终端后, ...
实战章节:在Linux上部署各类软件前言为什么学习各类软件在Linux上的部署在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,但是并没有一些具体的实操能够串联起来这些知识点。
所以,现在我们设计了各类软件在Linux上部署安装的实战章节,可以让同学们:
对前面学习的各类操作命令进行复习和练习,从而深度掌握它们
本章节中演示部署的软件,包含了IT行业各类岗位中所必须使用的,如:Java后台、大数据开发、运维开发、测试、AI等。无论学习Linux后从事什么岗位,这些内容都会给你带来帮助
对于零基础学员,实战课程中所讲解的软件大概率多数大家并不了解。
所以,课程仅涉及到安装部署,不对软件的使用做详细说明。
同学们在这个过程中,可能会遇到各种各样的错误,不要怕,解决它,将会给你带来极大的提升。
学习目标对于本部分的内容学习,我们设计两个目标:
对于零基础或未从业的学员,不要求深入理解所安装部署的软件是什么,仅仅能够跟随课程成功的将其部署安装并运行成功即可
在这个过程中,主要锻炼大家对Linux操 ...
理清 prototype 和 __proto__ 的关系先看一个比喻:「图纸」和「产品」
prototype(原型对象) = 工厂里的「图纸」图纸上规定了所有产品共有的特性(比如手机图纸规定所有手机都有屏幕、按键)。
__proto__ = 每个产品身上的「溯源码」扫一下就能找到它是根据哪张图纸造出来的(通过这个码能找到对应的 prototype)。
具体到 JavaScript 中:假设我们要造一批「人」(对象),步骤如下:
1. 先画图纸(定义构造函数 + prototype)12345678910// 构造函数 = 生产线(用来造对象的工具)function Person(name) { this.name = name; // 每个实例独有的属性(比如每个人名字不同)}// 图纸(prototype):所有实例共享的特性Person.prototype.sayHi = function() { console.log(`我叫${this.name}`); // 所有人都会打招呼};Person ...
一、深浅拷贝深浅拷贝的概念仅适用于引用类型。
(一)浅拷贝
核心概念:浅拷贝是指拷贝对象的地址。
用法
对象拷贝:可使用 Object.assign() 方法或者展开运算符 {...obj} 来实现。
数组拷贝:通过 Array.prototype.concat() 方法或者展开运算符 [...arr] 达成。
案例:当拷贝对象为单层结构时,浅拷贝通常能满足需求。但若是多层嵌套的对象,由于只是拷贝地址,可能会在对新对象操作时影响到原对象。例如:
12345678910111213// 单层对象浅拷贝示例let obj1 = { a: 1 };let obj2 = {...obj1 };obj2.a = 2;console.log(obj1); // { a: 1 }console.log(obj2); // { a: 2 }// 多层对象浅拷贝示例let nestedObj1 = { b: { c: 3 } };let nestedObj2 ...
所有的对象里面都有 __proto__ 对象原型 指向原型对象
所有的原型对象里面有 constructor, 指向 创造改原型对象的构造函数
一、编程思想:从面向过程到面向对象(一)面向过程
核心逻辑:聚焦 “步骤”,将问题拆解为一系列连续的操作,用函数实现每个步骤,最终按顺序调用完成任务。
案例
:制作蛋炒饭
函数 1:准备食材(米饭、鸡蛋、葱花)
函数 2:热油(锅、油)
函数 3:炒鸡蛋(鸡蛋、油)
函数 4:混合翻炒(米饭、鸡蛋、盐)
执行顺序:准备食材() → 热油() → 炒鸡蛋() → 混合翻炒()
适用场景:简单任务(如计算器、单步骤工具),逻辑直接但扩展性差。
(二)面向对象
核心逻辑:聚焦 “对象”,将问题拆解为具有特定功能的对象,通过对象间的协作完成任务。每个对象包含 “数据”(属性)和 “操作”(方法)。
三大特性
封装性:对象内部数据和方法被包裹,仅暴露必要接口(如 “手机” 对象封装了 “芯片”“电池” 等内部组件,只暴露 “打电话”“发消息” 等方法)。
继承性:子类可复用父类的属性和方法(如 “智能手机” 继承 “手机” 的 “通话” ...
一、学习目标
理解面向对象编程的基础概念,明确构造函数的作用。
体会 JavaScript “一切皆对象” 的语言特性。
熟练掌握常见对象属性和方法的使用。
二、知识要点(一)深入对象构造函数
核心概念:构造函数是用于创建对象的函数,使用new关键字调用的函数即为构造函数。
用法及案例
123456<script> function foo() { console.log('通过 new 也能调用函数...'); } new foo;</script>
总结拓展
使用new关键字调用函数称为实例化。
实例化构造函数无参数时可省略()。
构造函数返回值为新创建的对象,内部return返回值无效。
习惯将构造函数首字母大写以区分普通函数。
实例成员
核心概念:通过构造函数创建的对象为实例对象,其属性和方法是实例成员。
用法及案例
123456789101112<script> function Person() { this.name = '小明 ...
学习作用域、变量提升、闭包等语言特征,加深对 JavaScript 的理解,掌握变量赋值、函数声明的简洁语法,降低代码的冗余度。
理解作用域对程序执行的影响
能够分析程序执行的作用域范围
理解闭包本质,利用闭包创建隔离作用域
了解什么变量提升及函数提升
掌握箭头函数、解析剩余参数等简洁语法
作用域
了解作用域对程序执行的影响及作用域链的查找机制,使用闭包函数创建隔离作用域避免全局变量污染。
作用域(scope)规定了变量能够被访问的“范围”,离开了这个“范围”变量便不能被访问,作用域分为全局作用域和局部作用域。
局部作用域局部作用域分为函数作用域和块作用域。
函数作用域在函数内部声明的变量只能在函数内部被访问,外部无法直接访问。
123456789101112<script> // 声明 counter 函数 function counter(x, y) { // 函数内部声明的变量 const s = x + y console.log(s) // 18 } // 设用 counter 函数 counter(10, ...
一、正则表达式正则表达式(Regular Expression)是一种字符串匹配的模式(规则)。
(一)使用场景
验证表单:如手机号表单要求用户只能输入 11 位数字(匹配)。
过滤页面内容中的敏感词(替换),或从字符串中获取特定部分(提取)等。
(二)正则基本使用
定义规则:
1const reg = /表达式/
/ / 是正则表达式字面量。
正则表达式也是 对象。
使用正则:
test() 方法用来查看正则表达式与指定的字符串是否匹配。
如果正则表达式与指定的字符串匹配,返回 true,否则返回 false。
123456789101112<body> <script> // 正则表达式的基本使用 const str = 'web前端开发' // 1. 定义规则 const reg = /web/ // 2. 使用正则 test() console.log(reg.test(str)) // true 如果符合规则匹配上则返回true console.log(reg.t ...
window 对象(一)核心概念BOM(Browser Object Model)即浏览器对象模型,window对象是 BOM 的顶级对象,也是 JavaScript 中的全局对象。
(二)用法
document、alert()、console.log()等都是window的属性,基本 BOM 的属性和方法大多是window的,调用时可省略window。
所有通过var定义在全局作用域中的变量、函数都会变成window对象的属性和方法。
(三)案例略(笔记中相关属性和方法调用示例较多)
(四)拓展window对象还有一些其他属性和方法,如window.innerWidth获取窗口内部宽度,window.open()打开新窗口等,在网页布局和交互中有广泛应用。
定时器 - 延迟函数(一)核心概念setTimeout是 JavaScript 内置的用于延迟执行代码的函数,只执行一次;setInterval为间歇函数,每隔一段时间执行一次。
(二)用法setTimeout语法:setTimeout(回调函数, 延迟时间),延迟时间单位为毫秒。
123let timerId = setTim ...
一、日期对象掌握 Date 日期对象的使用,动态获取当前计算机的时间。
ECMAScript 中内置了获取系统时间的对象 Date。与 console 和 Math 等内置对象不同,使用 Date 时需借助 new 关键字。
(一)实例化12345// 1. 实例化// const date = new Date(); // 获取系统默认时间const date = new Date('2020-05-01'); // 指定时间// date 变量即所谓的时间对象console.log(typeof date);
(二)方法123456// 1. 实例化const date = new Date();// 2. 调用时间对象方法// 通过方法分别获取年、月、日,时、分、秒const year = date.getFullYear(); // 四位年份const month = date.getMonth(); // 0 ~ 11
**getFullYear**:获取四位年份。
**getMonth**:获取月份,取值范围为 0(代表一月)到 11(代表十二月 ...