实操篇-压缩和解压类
【实操篇-压缩和解压类】
打包(归档)和压缩
归档,也称为打包,指的是一个文件或目录的集合,而这个集合被存储在一个文件中。归档文件没有经过压缩,因此,它占用的空间是其中所有文件和目录的总和。
通常,归档总是会和系统(数据)备份联系在一起,不过,有关数据备份的内容,留到后续章节讲,本章仅学习归档命令的基本使用。
和归档文件类似,压缩文件也是一个文件和目录的集合,且这个集合也被存储在一个文件中,但它们的不同之处在于,压缩文件采用了不同的存储方式,使其所占用的磁盘空间比集合中所有文件大小的总和要小。
压缩是指利用算法将文件进行处理,已达到保留最大文件信息,而让文件体积变小的目的。其基本原理为,通过查找文件内的重复字节,建立一个相同字节的词典文件,并用一个代码表示。比如说,在压缩文件中,有不止一处出现了 “C语言中文网”,那么,在压缩文件时,这个词就会用一个代码表示并写入词典文件,这样就可以实现缩小文件体积的目的。
由于计算机处理的信息是以二进制的形式表示的,因此,压缩软件就是把二进制信息中相同的字符串以特殊字符标记,只要通过合理的数学计算,文件的体积就能够被大大压缩。把一个或者多个文件用 ...
实操篇-文件权限和搜索查找类命令
【实操篇-文件权限和搜索查找类命令】
文件权限类
权限管理的重要性
和 Windows 系统不同,Linux 系统为每个文件都添加了很多的属性,最大的作用就是维护数据的安全。举个简单的例子,在你的 Linux 系统中,和系统服务相关的文件通常只有 root 用户才能读或写,就拿 /etc/shadow 这个文件来说,此文件记录了系统中所有用户的密码数据,非常重要,因此绝不能让任何人读取(否则密码数据会被窃取),只有 root 才可以有读取权限。
此外,如果你有一个软件开发团队,你希望团队中的每个人都可以使用某一些目录下的文件,而非团队的其他人则不予以开放。通过前面章节的学习我们知道,只需要将团队中的所有人加入新的群组,并赋予此群组读写目录的权限,即可实现要求。反之,如果你的目录权限没有做好,就很难防止其他人在你的系统中乱搞。
比如说,本来 root 用户才能做的开关机、ADSL 拨接程序,新增或删除用户等命令,一旦允许任何人拥有这些权限,系统很可能会经常莫名其妙的挂掉。而且,万一 root 用户的密码被其他人获取,他们就可以登录你的系统,从事一些只有 root 用户才能执行的操作,这是 ...
跨域初识
【跨域初识】
同源策略
同源策略(Same-Origin Policy)最早由Netscape 公司提出,是浏览器的一种安全策略
同源: 协议、域名、端口号必须完全相同
跨域: 违背同源策略就是跨域
如何解决跨域
JSONP
jsonp只支持get请求不支持post请求
1) JSONP 是什么
JSONP(JSON with Padding),是一个非官方的跨域解决方案,纯粹凭借程序员的聪明
才智开发出来,只支持get 请求。
2) JSONP 怎么工作的?
在网页有一些标签天生具有跨域能力,比如:img link iframe script。
JSONP 就是利用script 标签的跨域能力来发送请求的。
3) JSONP 的使用
html代码
123456789//1. 创建 script 标签const script = document.createElement('script');//2. 设置标签的 src 属性script.src = 'http://127.0.0.1:8000/check-username?callback=a ...
实操篇-时间日期类 用户和用户组管理
【实操篇-时间日期类 用户和用户组管理】
时间日期类
显示当前日期
基本语法
date (功能描述:显示当前时间)
date +%Y(功能描述:显示当前年份)
date +%m(功能描述:显示当前月份)
date +%d (功能描述:显示当前是哪一天)
date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)
date +%s (功能描述:显示当前日期时间戳)
应用实例
案例1:显示当前时间信息 date
案例2:显示当前时间年月日 date "+%Y-%m-%d"
案例3:显示当前时间年月日时分秒 date "+%Y-%m-%d %H:%M:%S"
案例3:显示当前时间戳 date "+%s"
12[root@localhost ~]# date +%s1660892982
显示非当前时间
1)基本语法
(1)date -d ‘1 days ago’ (功能描述:显示前一天时间)
(2)date -d ‘-1 days ago’ (功 ...
Fetch的概述和基本使用
【Fetch的概述和基本使用】
XMLHttpRequest缺点
浏览器提供了原生的AJAX实现类XMLHttpRequest,基于该类实例,我们可以实现在网页上发送AJAX请求到服务端。
但是XMLHttpRequest的设计并不完美,主要体现在以下几个方面:
HTTP请求,响应都被耦合在XMLHttpRequest实例上,结构不够简单明了
采用事件回调的方式获取HTTP响应,可能会产生回调地狱
如果HTTP响应数据过大,则会占用大量内存
最后一点就是,XMLHttpRequest实现AJAX的步骤太零碎了
Fetch 的优点
fetch和XMLHttpRequest一样,也是浏览器原生的,用于发送AJAX请求。
XMLHttpRequest之后诞生的,它旨在解决XMLHttpRequest的不足,所以XMLHttpRequest的缺点就是它的优点,具体优点如下
语法简单,结构清晰明了
支持Promise获取异步的HTTP响应
HTTP响应支持流式获取,内存友好
fetch被设计为函数,通过fetch函数调用即可发起AJAX,而不需要像XMLHttpRequest那样创建实例 ...
实操篇-文件目录类命令
【实操篇-文件目录类命令】
pwd 显示当前工作目录的绝对路径
pwd:print working directory 打印工作目录
到现在为止,我们还不知道自己在系统的什么地方。在浏览器上,我们能够通过导航栏上的url,了解到自己在互联网上的具体坐标。相似的功能,是由pwd命令提供的,它能够输出当前的工作目录。
pwd命令是非常非常常用的命令,尤其是在一些命令提示符设置不太友好的机器上。另外,它也经常用在shell脚本中,用来判断当前的运行目录是否符合需求。
有很多线上事故,都是由于没有确认当前目录所引起的。比如rm -rf *这种危险的命令。在执行一些高危命令时,随时确认当前目录,是个好的习惯。
1[root@www ~]# pwd [-P]
选项与参数:
-P :显示出确实的路径,而非使用链接 (link) 路径。
实例:单纯显示出目前的工作目录:
12[root@www ~]# pwd/root <== 显示出目录啦~
我们使用root用户默认登陆后,就停留在/root目录中。Linux中的目录层次,是通过/进行划分的。
实例显示出实际的工作目录,而非链接 ...
Axios的概述和基本使用
【Axios的概述和基本使用】
Axios 是什么?
前端最流行的Ajax请求库
react/vue 官方都推荐使用 axios 发ajax 请求
文档: https://github.com/axios/axios
Axios 特点
基于 xhr + promise 的异步 ajax请求库
浏览器端/node 端都可以使用
支持请求/响应拦截器
支持请求取消
请求/响应数据转换
批量发送多个请求
Axios 常用语法
axios(config): 通用/最本质的发任意类型请求的方式
axios(url[, config]): 可以只指定url 发get 请求
axios.request(config): 等同于axios(config)
axios.get(url[, config]): 发get 请求
axios.delete(url[, config]): 发delete 请求
axios.post(url[, data, config]): 发post 请求
axios.put(url[, data, config]): 发put 请求
axios.defaults.x ...
实操篇-帮助命令 文件目录管理基础知识
【实操篇-帮助命令 文件目录管理基础知识】
帮助命令
通常linux命令都十分简单,但是有些还是有些复杂度的。比如find,ps这种命令,如果要照顾到所有的场合,可能需要非常巨大的篇幅。但是,万一用到这种偏门的场合怎么办?
全面了解一下是非常有必要的,以便在使用的时候能够唤起记忆中最浅显的印象。然后剩下的,就可以交给类似于man 的这种命令了。Linux上的每一个命令,都会有配套的帮助文件,这远比网络上那些转来转去的信息,正确的多。
正式介绍一下下面的两个命令:
man 用来显示某个命令的文档信息。比如:man ls
info 你可以认为和man是一样的,虽然有一些能够互补的内容。它们会在内容中进行提示的
--help 很多命令通过参数--help提供非常简短的帮助信息。这通常是最有用最快捷的用例展示。如果你根本就记不住一个非常拗口的单词,那就找找这些地方吧
注意:这些帮助信息,仅集中在命令的作用域本身。对于它的组合使用场景,并没有过多信息。也就是说,它教会了你怎么用,但并没有告诉你用它能够来做什么。
TAB补全
现在,在终端里,输入ca,然后快速按2次<TAB> ...
AJAX概述和基本使用
【AJAX概述和基本使用】
AJAX简介
AJAX 全称为Asynchronous JavaScript And XML,就是异步的JS 和XML
通过AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据
AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式
AJAX 的特点
AJAX 的优点
可以无需刷新页面而与服务器端进行通信
允许你根据用户事件来更新部分页面内容
AJAX 的缺点
没有浏览历史,不能回退
存在跨域问题(同源)
SEO 不友好
HTTP相关问题
MDN 文档
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Overview
HTTP 请求交互的基本过程
前后应用从浏览器端向服务器发送HTTP 请求(请求报文)
后台服务器接收到请求后, 调度服务器应用处理请求, 向浏览器端返回HTTP响应(响应报文)
浏览器端接收到响应, 解析显示响应体/调用监视回调
HTTP 报文
HTTP(hypertext transport protocol)协议『超文本传输协议』,协议详 ...
基础篇-系统管理
【基础篇-系统管理】
Linux 中的进程和服务
计算机中,一个正在执行的程序或命令,被叫做“进程”(process)。
启动之后一只存在、常驻内存的进程,一般被称作“服务”(service)。
详细操作后面说明
systemctl 服务管理
service 服务管理(CentOS 6 版本-了解)
systemctl (CentOS 7 版本-重点掌握)
CentOS 7使用Systemd管理守护进程。centos7采用 systemd管理,服务独立的运行在内存中,服务响应速度快,但占用更多内存。独立服务的服务启动脚本都在目录 /usr/lib/systemd/system里。Systend的新特性:
系统引导时实现服务的并行启动;
按需激活进程;
系统实现快照;
基于依赖关系定义服务的控制逻辑;
systemctl可用于内省和控制“systemd”系统和服务管理器的状态。centos7.x系统环境下我们经常使用此命令启停服务,实际上此命令除了其他独立服务还有很多其他用途。
systemctl参数说明
基本语法:systemctl start | stop | rest ...