avatar
文章
51
标签
75
分类
31

Archives
Tags
Categories
Link
About
Hiyoung'blog
搜索
Archives
Tags
Categories
Link
About

Hiyoung'blog

Aria2+AriaNG配置使用
发表于2022-09-01|更新于2025-05-21|实用工具教程

Aria2是Linux下的一个下载工具,这里介绍Windows下的安装与配置,官方Aria2没有GUI界面所以配合AriaNG直接在Web界面进行操作.

AriaNg 是一个让 aria2 更容易使用的现代 Web 前端. AriaNg 使用纯 html & javascript 开发, 所以其不需要任何编译器或运行环境.

下载Aria2+AriaNG最新安装包

首先先在官网下载安装包

  • Aria2的Github地址
    • Aria2官方文档
  • AriaNG的Github地址
    • AriaNG官方文档

Aria2选择对应的操作系统下载压缩包即可,AriaNG解压后放在Aria2文件夹即可

AriaNg 现在提供三种版本, 标准版、单文件版和 AriaNg Native.

标准版适合在 Web 服务器中部署, 提供资源缓存和按需加载的功能.

单文件版适合本地使用, 您下载后只要在浏览器中打开唯一的 html 文件即可.

AriaNg Native 同样适合本地使用, 并且不需要使用浏览器.

添加配置文件

将文件解压至该目录下后,你需要再新创 4 个空文件(可以先建一个空 txt 文件然后修改后缀名):

  • Aria2.log (日志文件)
  • aria2.session (用于记录下载历史,以便断点续传)
  • aria2.conf (配置文件)
  • HideRun.vbs (隐藏 cmd 窗口运行用到的)

修改配置文件

  1. 打开刚才创建的 aria2.conf 空文件,将以下内容填入(用记事本打开即可)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
## '#'开头为注释内容, 选项都有相应的注释说明, 根据需要修改 ##
## 被注释的选项填写的是默认值, 建议在需要修改时再取消注释 ##

## 文件保存相关 ##

# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=E:\Aria2Download
# 日志文件的保存路径
log=D:\aria2-1.36.0-win-64bit-build1\Aria2.log
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
#disk-cache=32M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
#file-allocation=none
# 断点续传
continue=true

## 下载连接相关 ##

# 最大同时下载任务数, 运行时可修改, 默认:5
#max-concurrent-downloads=5
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=5
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
#split=5
# 整体下载速度限制, 运行时可修改, 默认:0
#max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0
#max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0
#max-upload-limit=0
# 禁用IPv6, 默认:false
#disable-ipv6=true
# 连接超时时间, 默认:60
#timeout=60
# 最大重试次数, 设置为0表示不限制重试次数, 默认:5
#max-tries=5
# 设置重试等待的秒数, 默认:0
#retry-wait=0

## 进度保存相关 ##

# 从会话文件中读取下载任务
input-file=D:\aria2-1.36.0-win-64bit-build1\aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=D:\aria2-1.36.0-win-64bit-build1\aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
#save-session-interval=60

## RPC相关设置 ##

# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许非外部访问, 默认:false
rpc-listen-all=true
# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select
# RPC监听端口, 端口被占用时可以修改, 默认:6800
#rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
#rpc-secret=<TOKEN>
# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-user=<USER>
# 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-passwd=<PASSWD>
# 是否启用 RPC 服务的 SSL/TLS 加密,
# 启用加密后 RPC 服务需要使用 https 或者 wss 协议连接
#rpc-secure=true
# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件,
# 使用 PEM 格式时,您必须通过 --rpc-private-key 指定私钥
#rpc-certificate=/path/to/certificate.pem
# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件
#rpc-private-key=/path/to/certificate.key

## BT/PT下载相关 ##

# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true
# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413
# 单个种子最大连接数, 默认:55
#bt-max-peers=55
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=false
# 打开IPv6 DHT功能, PT需要禁用
#enable-dht6=false
# DHT网络监听端口, 默认:6881-6999
#dht-listen-port=6881-6999
# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=false
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=false
# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0.7
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# BT校验相关, 默认:true
#bt-hash-check-seed=true
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true

注意:你需要将下面四行的内容修改为你自己的对应文件位置:

1
2
3
4
5
6
7
8
# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=E:\Aria2Download
# 日志文件的保存路径
log=D:\aria2-1.36.0-win-64bit-build1\Aria2.log
# 从会话文件中读取下载任务
input-file=D:\aria2-1.36.0-win-64bit-build1\aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=D:\aria2-1.36.0-win-64bit-build1\aria2.session

最后两行的内容是保存下载历史的,如果有时 Aria2 不能启动的话,清空里面的内容就可以了。

  1. 修改 HideRun.vbs 文件

打开HideRun.vbs文件,向其中添加

1
CreateObject("WScript.Shell").Run "aria2c.exe --conf-path=aria2.conf",0

接下来点击运行 HideRun.vbs 文件,(注意一定是 HideRun.vbs 文件而不是那个可执行文件!!),如果没有报错的话可以直接跳过下面这段:
注意一下,这里也可以在文件前添加具体的文件目录前缀,但是前缀的文件目录中一定不要有空格
例如:
1
CreateObject("WScript.Shell").Run "C:\Users\he ne\Downloads\aria2c.exe --conf-path=aria2.conf",0

但是由于 he ne 这一文件夹里面包含空格,就导致了系统不识别,类似的常见错位位置还多见于:D:Program Files (x86),这里也是存在空格的,解决方式就是将这一前缀去除即可(但需要该 vbs 文件位于该 aria2 文件夹下)

  1. 打开index.html

Aria2+AriaNG配置使用_1

打开里面的 index.html 文件,如果显示 “已连接”,则表明搭建成功

  1. 添加开机自启

创建 HideRun.vbs 文件的快捷方式,放入 windows 的开机自启目录即可:

在资源管理器窗口中输入:shell:startup

这里便会打开自启目录文件夹,然后将该快捷方式拖入即可


参考文章:
Aria2+AriaNG 配置指南(Win10 篇)
AriaNG文档

Aria2AriaNG
萌百黑幕CSS代码
发表于2022-08-22|更新于2025-05-21|前端CSS

萌百黑幕CSS代码

代码来自互联网,仅copy下来以方便自己使用,没错就是抄袭(bushi)

在HTML中在<head>的<style>中直接引入即可;
在MD中直接添加<style>即可

使用例:

1
<span class="heimu" title="黑幕小弹框里的字">你需要隐藏的文字</span>

具体代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

<style>
/*黑幕实现*/
.heimu, .heimu a, a .heimu, .heimu a.new
{
background-color: #252525;
color: #252525;
text-shadow: none;
}
.heimu:hover, .heimu:active,
.heimu:hover .heimu, .heimu:active .heimu
{
color: white !important;
}
.heimu:hover a, a:hover .heimu,
.heimu:active a, a:active .heimu
{
color: lightblue !important;
}
.heimu:hover .new, .heimu .new:hover, .new:hover .heimu,
.heimu:active .new, .heimu .new:active, .new:active .heimu
{
color: #BA0000 !important;
}
</style>

在Hexo中自定义CSS

首先,在主题的样式文件的source文件夹下找到css文件夹,打开main.styl(next主题下)或者index.styl(butterfly主题下)文件,在最后添加:
路径是:Hexo\themes\butterfly\source\css

1
2
3
//My Layer
//--------------------------------------------------
@import "_my/mycss";

新建自定义样式

找到样式文件夹css 新建_my文件夹,在其中新建mycss.styl文件,之后就可以按照stylus的格式自定义样式了。

路径是:\Hexo\themes\next\source\css\ _my

css
CSS笔记
发表于2022-08-18|更新于2025-05-21|前端CSS

近日为实现萌娘百科上的小黑条功能,特学习一番CSS,已经实现了捏

一、CSS语法

1.基本属性

  1. CSS 规则集(rule-set)由选择器和声明块组成:
    h1 {color:red;font-size:14px;}
    • h1->选择器
    • color->属性
    • red->属性值
    • {color:red;}->声明
  • 选择器指向您需要设置样式的 HTML 元素。
  • 声明块包含一条或多条用分号分隔的声明。
  • 每条声明都包含一个 CSS 属性名称和一个值,以冒号分隔。
  • 多条 CSS 声明用分号分隔,声明块用花括号括起来。
实例1.1

在此例中,所有 <p>元素都将居中对齐,并带有红色文本颜色

1
2
3
4
5

p {
color: red;
text-align: center;
}

2.CSS选择器

1. 分类

CSS 选择器用于“查找”(或选取)要设置样式的 HTML 元素。

我们可以将 CSS 选择器分为五类:

  • 简单选择器(根据名称、id、类来选取元素)
  • 组合器选择器(根据它们之间的特定关系来选取元素)
  • 伪类选择器(根据特定状态选取元素)
  • 伪元素选择器(选取元素的一部分并设置其样式)
  • 属性选择器(根据属性或属性值来选取元素)

2. CSS元素选择器

元素选择器根据元素名称来选择 HTML 元素

实例1.2

在此例中,所有 <p>元素都将居中对齐,并带有红色文本颜色

1
2
3
4
5

p {
color: red;
text-align: center;
}

3. CSS id 选择器

id 选择器使用 HTML 元素的 id 属性来选择特定元素。

元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素!

要选择具有特定 id 的元素,请写一个井号(#),后跟该元素的 id。

注意:id 名称不能以数字开头。

实例1.3

这条 CSS 规则将应用于 id=”para1” 的 HTML 元素:

1
2
3
4
5
6
7
8

#para1 {
text-align: center;
color: red;
}

<p id="para1">Hello World!</p>
<p>本段不受样式的影响。</p>

4. CSS 类选择器

类选择器选择有特定 class 属性的 HTML 元素。

如需选择拥有特定 class 的元素,请写一个句点(.)字符,后面跟类名。

注意:类名不能以数字开头!

实例1.4

在此例中,所有带有 class=”center” 的 HTML 元素将为红色且居中对齐:

1
2
3
4
5
6
7
8

.center {
text-align: center;
color: red;
}

<h1 class="center">居中的红色标题</h1>
<p class="center">居中的红色段落。</p>

实例1.5

也可以指定只有特定的 HTML 元素会受类的影响。

在这个例子中,只有具有 class=”center” 的 <p>元素会居中对齐:

1
2
3
4
5

p.center {
text-align: center;
color: red;
}
实例1.6

HTML 元素也可以引用多个类。

在这个例子中,

元素将根据 class=”center” 和 class=”large” 进行样式设置:

1
2

<p class="center large">这个段落引用两个类。</p>

Tips:class和id的区别
>
id是一个标签,只能用在一个结构或内容上,用于区分不同的结构和内容

class是一个样式,可以用在任何结构和内容上
>

5. CSS 通用选择器

通用选择器(*)选择页面上的所有的 HTML 元素。

实例1.7

下面的 CSS 规则会影响页面上的每个 HTML 元素:

1
2
3
4
5

* {
text-align: center;
color: blue;
}

6. CSS 分组选择器

分组选择器选取所有具有相同样式定义的 HTML 元素

如需对选择器进行分组,请用逗号来分隔每个选择器

实例1.8

在这个例子中,<h1>,<h2>,<p> 具有相同的属性

1
2
3
4
5

h1, h2, p {
text-align: center;
color: red;
}

7. 总结

选择器 例子 例子描述
.class .intro 选取所有 class="intro" 的元素
#id #firstname 选取 id="firstname" 的那个元素
* * 选取所有元素。
element p 选取所有<p>元素
element,element,.. div, p 选取所有 <div> 元素和所有 <p> 元素

二、如何添加CSS

有四种插入样式表的方法:

  • 外部(链接方式) CSS
  • 内部(嵌入方式) CSS
  • 行内 CSS
  • 导入(导入方式) CSS

    外部CSS

通过使用外部样式表,只需修改一个文件即可改变整个网站的外观

每张 HTML 页面必须在 <head>部分的<link>元素内包含对外部样式表文件的引用

外部样式表必须以 .css 扩展名保存,外部 .css 文件不应包含HTML标签,仅需写入css代码即可

外部CSS是目前使用最多的引入CSS的方式,比较推荐使用此方式添加CSS

注意:请勿在属性值和单位之间添加空格(例如margin-left: 20 px;)正确的写法是:margin-left: 20px;

实例2.1
1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<body>

<h1>This is a heading</h1>
<p>This is a paragraph.</p>

</body>
</html>

内部CSS

如果一张 HTML 页面拥有唯一的样式,那么可以使用内部样式表。

内部样式是在<head>部分的<style>元素中进行定义,直接在style中添加css代码即可

实例2.2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-color: linen;
}

h1 {
color: maroon;
margin-left: 40px;
}
</style>
</head>
<body>

<h1>This is a heading</h1>
<p>This is a paragraph.</p>

</body>
</html>

行内CSS

行内样式(也称内联样式)可用于为单个元素应用唯一的样式。

如需使用行内样式,请将 style 属性添加到相关元素。style 属性可包含任何 CSS 属性。

并不建议使用此方式

实例2.3
1
2
3
4
5
6
7
8
9
10
<!-- 行内样式在相关元素的 "style" 属性中定义: -->
<!DOCTYPE html>
<html>
<body>

<h1 style="color:blue;text-align:center;">This is a heading</h1>
<p style="color:red;">This is a paragraph.</p>

</body>
</html>

导入CSS

导入方式指的是使用 CSS 规则引入外部 CSS 文件。
非必要情况下建议使用外部CSS(link标签引入),原因如下:

  • link 属于 HTML,通过 标签中的 href 属性来引入外部文件,而 @import 属于 CSS,所以导入语句应写在 CSS 中,要注意的是导入语句应写在样式表的开头,否则无法正确导入外部文件;

  • @import 是 CSS2.1 才出现的概念,所以如果浏览器版本较低,无法正确导入外部样式文件;

  • 当 HTML 文件被加载时,link 引用的文件会同时被加载,而 @import 引用的文件则会等页面全部下载完毕再被加载;
实例2.4
1
2
3
<style>
@import url(style.css);
</style>
CSS
PS脚本自动处理图片
发表于2022-08-18|更新于2025-05-21|实用工具教程

使用PS自动化脚本批量处理图片

  1. 点击菜单栏的 窗口->动作(快捷键alt+F9)
  2. 再选项卡底部点击新建文件夹(新建组),取名为修改图片大小(可以自己重命名)
  3. 再点击旁边的创建新动作,我们可以看到底部原点变为红色

    blog_使用PS自动化脚本批量处理图片_1

  4. 点击文件、打开,打开我们要处理的其中一张图片,修改图片大小,再点击确定,然后另存为,取个名字,存储。(不要使用导出,否则无法录入动作导致陷入死循环)

  5. 点击文件、自动、批处理
  6. 设置
    1. 播放处选择组和动作
    2. 源 选择需要修改的图片文件地址
    3. 目标 选择修改后的图片保存地址
    4. 勾选 “覆盖动作中的’打开’命令” 和 “覆盖动作中的‘存储为’命令”

blog_使用PS自动化脚本批量处理图片_2


内容部分参考自互联网

实用小技巧
云服务器部署code-server
发表于2022-08-15|更新于2025-05-21|实用工具教程

部署 code-server

  1. 首先,我们需要下载 code-server,我们这里需要下载最新版本的 code-server
  2. 之后,我们使用 tar 工具解压下载得到的压缩包,之后进入解压好的文件目录中:
1
2
3
4
5
6
# 解压缩 tar.gz 压缩包
tar xf code-server-3.1.1.tar.gz #3.1.1版本为例,具体按照包名而定

# 进入解压得到的文件夹
cd code-server-3.1.1-linux-x86_64

  1. 设置登录密码启动
1
2
3
4
5
export PASSWORD="设置登录密码" 
#这里我们是在服务器上面设置了名为 PASSWORD 的环境变量为 {YOUR_CODE_SERVER_PASSWORD}
#这样后面 code-server 启动后就会直接读取这一环境变量并将之作为你的登录密码。

./code-server --host="0.0.0.0" #启动服务
  1. 验证登录

之后,code-server 进程就在远程服务器上启动并开始监听 8080 端口了,同时可以看到 code-server 正在使用我们自定义的密码(custom password)作为认证密码。这里,我们还需要将 code-server 默认监听的 8080 端口在服务器防火墙中设置开放,之后我们才能直接通过 {服务器 IP 地址}:{code-server 端口} 的 URL 地址在浏览器中直接访问 code-server。

如果一切顺利,此时我们在 iPad 上面用浏览器直接访问 {服务器 IP 地址}:{code-server 端口},输入刚刚设置的密码,就能够打开一个完整的在线版 VS Code:

云服务器部署code-server1

Docker部署

1
2
3
4
5
6

docker run -it -d -p 8080:8080 \
-v "$PWD:/home/coder/project" \
-e PASSWORD='设置你的登录密码' \
-u "$(id -u):$(id -g)" \
codercom/code-server:latest

引用: https://www.bbsmax.com/A/x9J2YBAKz6/

博客视频外链引用
发表于2022-08-11|更新于2025-05-21|前端网站建设

现在主流流媒体网站都支持外链嵌入代码,但是B站(什么时候倒闭?)现在(2022/8/11)自带的外链引用默认为360P,且不能调节清晰度,非常的恶心,与Youtube相比高下立判,下面重点介绍一下B站的引用外链的参数和方法:

Bilibili外链引用参数key
具体视频演示

Bilibili外链引用

原版引用链接:

1
<iframe src="//player.bilibili.com/player.html?aid=80433022&bvid=BV1GJ411x7h7&cid=137649199&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

修改后引用链接:

1
<iframe src="//player.bilibili.com/player.html?aid=80433022&bvid=BV1GJ411x7h7&cid=137649199&page=1&as_wide=1&high_quality=1&danmaku=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

哔哩哔哩外链key说明:

key 说明
aid 之前 B 站使用的 AV 号
bvid 目前的 BV 号
page 第几个视频, 起始下标为 1 (默认值也是为 1)就是 B 站视频, 选集里的, 第几个视频
as_wide 是否宽屏 【1: 宽屏, 0: 小屏】
high_quality 是否高清 【1: 高清(最高1080p) / 0: 最低视频质量(默认)】
danmaku 是否开启弹幕 【1: 开启(默认), 0: 关闭】
vd_source=XXX&t=XXX 可加精准空降地址

YouTube外链引用

使用默认的YouTube外链即可,更高级功能可自己去官方教程学习

1
<iframe width="560" height="315" src="https://www.youtube.com/embed/OgcCOwj7wNY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

视频演示

Youtube

Bilibili(修改前)

Bilibili(修改后)


参考资料: Sanarous博客和谷歌外链API教程

使用Git上传文件至Github
发表于2022-08-03|更新于2025-05-21|实用工具教程

最近经常要使用Github保存我学习过程中的代码,发现无法直接上传文件夹,遂在网上查了一下使用Git上传,所以写个博文记录一下

Github端操作

1. 复制仓库地址

使用Git上传文件至Github_1

本地端操作

1. 在本地新建一个空文件夹

使用Git上传文件至Github_2

我这里已经clone完成

2. 在文件夹内呼出Git Bash框

使用Git上传文件至Github_3

3. Clone远程仓库

1
2
git clone + 你的仓库地址
git clone https://github.com/hiyoung3937/study_code.git //示例

4. 直接将需要上传的文件拖入即可

5. 上传

1
2
3
4
5
cd  study_code.git   //根据自己的远程仓库名输入
git init
git add .
git commit -m “你的提交信息”
git push

命令说明

clone + 仓库地址 克隆你的仓库至本地
cd + 你的远程仓库名 进入到远程仓库内(根据自己的仓库名输入)
git init 初始化Git
git add . 将工作区的文件添加到暂存区
("."是当前目录下的所有文件,也可只输入文件夹名称)
git commit -m "你的提交信息" 将暂存区的文件添加到本地仓库
git push 提交到远程仓库(可能需要你输入帐号和密码)
git pull <远程库名> <远程分支名>:<本地分支名> 拉取远程仓库分支内容到本地分支
git pull 命令等同于先做了git fetch ,再做了git merge
GitGithub
系统学习Linux笔记
发表于2022-08-01|更新于2025-05-21|学习笔记Linux

笔记中命令在无特殊说明情况下以CentOS 7为准

(参考视频:https://www.bilibili.com/video/BV1WY4y1H7d3?p=1)

一、基础篇

1.1 Linux文件系统目录结构

系统学习Linux笔记_1
来源:菜鸟教程</figcaption></figure>

系统学习Linux笔记_2

图中小箭头表示该文件实际位置在别处
  • /bin:
    bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
  • /boot:
    这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev :
    dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
  • /etc:
    etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  • /home:
    用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
  • /lib:
    lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
  • /lost+found:
    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /media:
    linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
  • /mnt:
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
  • /opt:
    opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  • /proc:
    proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:echo 1 > /proc/sys/net/ipv4/icmp\_echo\_ignore\_all
  • /root:
    该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin:
    s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
  • /selinux:
     这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
  • /srv:
     该目录存放一些服务启动之后需要提取的数据。
  • /sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
  • /tmp:
    tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
  • /usr:
     usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
  • /usr/bin:
    系统用户使用的应用程序。
  • /usr/sbin:
    超级用户使用的比较高级的管理程序和系统守护程序。
  • /usr/src:
    内核源代码默认的放置目录。
  • /var:
    var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /run:
    是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

1.2 文件基本属性

1.2.1 基本属性

在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为 d 则是目录
  • 当为 - 则是文件;
  • 若是 l 则表示为链接文档(link file);
  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 。

每个文件的属性由左边第一部分的 10 个字符来确定(如下图)。

363003\_1227493859FdXT

从左至右用 0-9 这些数字来表示。

第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;

第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

1.2.2 Linux文件属主和属组

1、chgrp:更改文件属组

语法:

chgrp [-R] 属组名 文件名

参数选项

  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

2、chown:更改文件属主,也可以同时更改文件属组

语法:

chown [–R] 属主名 文件名

chown [-R] 属主名:属组名 文件名

进入 /root 目录(~)将install.log的拥有者改为bin这个账号:

[root@www ~] cd ~

[root@www ~]# chown bin install.log

[root@www ~]# ls -l

- rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

将install.log的拥有者与群组改回为root:

[root@www ~]# chown root:root install.log

[root@www ~]# ls -l

- rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

3、chmod:更改文件9个属性

Linux文件属性有两种设置方法,一种是数字,一种是符号。

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

先复习一下刚刚上面提到的数据:文件的权限字符为: -rwxrwxrwx , 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

  • r:4
  • w:2
  • x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx--- 分数则是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= --- = 0+0+0 = 0

所以等一下我们设定权限的变更时,该文件的权限数字就是 770。变更权限的指令 chmod 的语法是这样的:

 chmod [-R] xyz 文件或目录

选项与参数:

  • xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
  • -R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更

举例来说,如果要将 .bashrc 这个文件所有的权限都设定启用,那么命令如下:

[root@www ~]# ls -al .bashrc

- rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc

[root@www ~]# chmod 777 .bashrc

[root@www ~]# ls -al .bashrc

- rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。

4、符号类型改变文件权限

还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:

  • user:用户
  • group:组
  • others:其他

那么我们就可以使用 u, g, o 来代表三种身份的权限。

此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:

chmodu
g
o
a
+(加入)
-(除去)
=(设定)
r
w
x
文件或目录

如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:

#  touch test1    // 创建 test1 文件

\# ls -al test1    // 查看 test1 默认权限

- rw-r--r-- 1 root root 0 Nov 15 10:32 test1

\# chmod u=rwx,g=rx,o=r  test1    // 修改 test1 权限

\# ls -al test1

- rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:

#  chmod  a-x test1

\# ls -al test1

- rw-r--r-- 1 root root 0 Nov 15 10:32 test1

1.3 vim文本编辑

1.3.1 vim的三种模式

基本上 vi/vim 共分为三种模式,分别是命令模式、编辑模式和一般模式

系统学习Linux笔记_5

1.3.2 vim快捷命令

参考外部网站:https://www.runoob.com/linux/linux-vim.html

1.4 网络配置

1.4.1 VMware的三种网络连接模式

桥接模式:虚拟机直接连接外部网络(对外部网络可见),主机起到网桥的作用,虚拟机的地位和主机相同,从路由器分配独立的IP地址。

NAT模式:主机和虚拟机构建一个专用网络,使用NAT对虚拟机进行IP转换(虚拟机对外部网络不可见)。此时虚拟机单独组成一个局域网,此时主机和虚拟机并不在一个网段,无法进行通信,所以又虚拟一个网卡(VMnet8)来连接至虚拟机所在的局域网。

仅主机模式:这种模式仅仅只让虚拟机与主机通信,不连接至Internet

系统学习Linux笔记_6

系统学习Linux笔记_7

1.4.2 配置静态IP

参考博客文章:在虚拟机中设置静态IP(centos为例)

1.4.3 配置主机名

hostname #查看当前主机名

vim /etc/hostname  #修改主机名

#修改后重启即可显示新主机名

#方法二

hostnamectl set-hostname ...

#实时生效
#修改hosts文件

vim /etc/hosts

1.5 系统管理

1.5.1 service 服务管理

一个正在执行的程序或命令,称为“进程”

启动后一直存在、常驻内存的进程,一般称为“服务”

systemctl start|stop|restart|status servicename #基本语法

/usr/lib/systemd/system/    #服务所在目录

1.5.2 系统的运行级别

系统学习Linux_8

1. CentOS 7的运行级别简化为:

multi-user.target == 原运行级别3(多用户有网,无GUI)
garphical.target == 原运行级别5(多用户有网,有GUI)

2. 查看当前默认运行级别
1
systemctl get-default
3. 切换运行级别
1
2
init 3 //switch runlevel 3
init 5 //switch runlevel 5

1.5.3 配置服务开机自启

1. CentOS 7之前
1
2
3
4
5
chkconfig --list //Centos 7之前查看自启服务(SysV)

chkconfig network off/on //关闭network开机自启

chkconfig --level 3 network off/on //针对某一运行级别设置开机自启

系统学习Linux_9

2. CentOS 7之后
1
2
3
4
systemctl list-unit-files //查看开机自启服务

systemctl disable/enable NetworkManager(SerciseName)
//对于CentO S 7及以上使用systemctl控制开机自启(这里以NetworkManager为例)
3.练习_设置防火墙
1
2
3
systemctl status firewalld.service //CentOS 7之前防火墙为iptables

systemctl disable firewalld.service //turn off firewalld Auto-start

1.5.4 关机重启

系统学习Linux_10

选项 功能
-H 相当于--halt,停机
-r shurdown -r == reboot 重启
参数 功能
now 立刻执行
时间 多少时间后执行(单位是分钟)

二、实操篇

2.1 帮助命令

1. 基本语法
1
man [命令或配置文件]  //获取帮助信息(全)

系统学习Linux笔记_11

使用例:man ls

2. 内置命令和外部命令
  • Linux中命令分为内置命令(cd、exit等),外部命令(ls)。直接使用man查询内置命令会显示Bash(内置命令内嵌在Bash中),查询内置命令时可以使用 man -f [命令]

  • 便捷查询:

    • 内置命令: help [命令](help只能查询内置命令)
    • 外置命令: [命令] --help
3. 常用快捷键
快捷键 功能
ctrl+c 停止进程
ctrl+l 清屏,等同于clear
↑,↓ 查询执行过的命令
tab 补全命令或文件名

2.2 常用基本命令——文件目录类

1. pwd: 显示当前工作目录的绝对路径

1
2
[hiyoung@VM-4-10-centos ~]$ pwd
/home/hiyoung

2. cd: 切换路径

1
2
3
4
5
6
7
8
9
10
11
12
#使用绝对路径切换
[hiyoung@VM-4-10-centos network-scripts]$ cd /home/hiyoung/
[hiyoung@VM-4-10-centos ~]$ pwd
/home/hiyoung
#使用相对路径切换
[root@VM-4-10-centos home] cd hiyoung/
[root@VM-4-10-centos hiyoung] cd ../www/
[root@VM-4-10-centos www] pwd
/home/www
#cd -: 切换到上一次浏览的目录
[root@VM-4-10-centos www] cd -
/home/hiyoung

Linux
《恋爱节拍器》——路人女主的结束
发表于2022-07-04|更新于2025-05-21|二次元《路人女主的养成方法》

为何加藤惠会是第一女主

  初次结缘路人女主应该是在三四年前了,也算是初次正式接触丸户史明的作品(白色相簿2久仰大名)。加藤惠最为我最喜欢的女主之一,甚至影响了我的择偶标准,正好以看完《恋爱节拍器》为契机,我觉得我应当为这部作品写点什么。

  在看路人女主之前也并没有接触过原作,作为一个单纯的动画观众,路人女主给我的观感确实是不错的。现在想来,当初应当是入宅不久。并且作为纯爱战士(现在也已经扭曲了(悲)),也没有感觉路人女主是后宫但确实是党争,或者说这只是披着后宫皮的纯爱故事吧。

  从故事总体来看,主线故事正是加藤惠从路人到女主的转变。按照与男主相识的时长来看,英梨梨>学姐>加藤惠,所以在故事的前中期男主伦也喜欢的还是英梨梨,但在经历学姐和英梨梨的“背叛”之后,伦也明白了一直陪伴的身边的只有加藤惠。在经历英梨梨的第二次“背叛”之后,这里也是伦也和加藤惠关系正式由暗转明的开始,伦也也在这里开始正视他的女主。

  诚然,加藤惠为何会接受初次见面的伦也的邀请来担当游戏的女主角请求也并不明确。(实际上在男主第一次邂逅时惠就已经记住男主,故事背景中伦也与惠同班,并且也并称丰之崎三大怪人也早为惠所知)依我来说,应当可以从故事背景中看出端倪,在故事设定中惠应当是属于好看的那一档,设定上不如学姐和英梨梨那样引人注目,但在侦探坡吸引伦也来看,她的相貌其实不逊于学姐、英梨梨的。在前期一直强调惠的“路人”这一属性,这是贯彻整部作品的标签;与之并列的“女主”则是贴在惠身上的另一个标签,不同于路人环境赋予惠的标签,女主是伦也一直强调的并且只属于惠一个人的标签。或许这种偏爱正是为何惠会接受男主的邀请,一开始或许并没有喜欢的情感,正是这份偏爱让惠会愿意继续了解伦也,从而继续故事的发展。

加藤惠

关于在学姐外传中不敢让加藤惠出场这件事

  据传闻英梨梨外传中就因为惠出场导致被腰斩(败犬在个人线也是败犬啊 悲~),为什么英梨梨会从第一女主沦为败犬的形象代表呢? 或许,有人说是因为她的傲娇属性,然而我认为她无法于惠相比的有两点——陪伴和自知之明。学姐在原作中是主动认输,她知道惠喜欢伦也并且对他的占有欲很强,他也知道伦也对她并没有男女之情,更多的是崇拜之情(在这里我就想提一嘴了,学姐个人线中最后确定伦理表白确认关系我也觉得很突兀,我甚至更喜欢相乐真由一些)。学姐输在那一点呢?除开最后的背叛来说,我认为是在“痴”上。原作中学姐无疑是一个痴女(仅对伦理来说,这也是萌点之一啊),因为她的痴女形象
  说回英梨梨,在三女中她与伦也相识最久,陪在伦也身边的时间相较于其他两人来说是最长的,这里说的陪伴并不是时间上的长短,更多的是在伦也低落和失意的时候无条件陪在他身边(应该不会有男人不喜欢惠这种女生吧?)

路人女主的养成方法霞之丘诗羽完结读评加藤惠完结后有感丸户史明
搭建hexo错误记录
发表于2022-06-24|更新于2025-05-21|前端网站建设

搭建中遇到的问题

两次连接都遇到免密登录失败的问题。
首先按照教程操作

在本地Git设置个人信息:

1
2
git config --global user.name "user.name"
git config --global user.email "user@gmail.com"

生成密钥:

1
ssh-keygen -t rsa -C "你刚刚设置的邮箱"

本地SSH keys: 路径: C:\Users\(你的用户名).ssh

找到id_rsa.pub文件,用记事本打开,复制其内容。

!!注意:这里复制到服务器上后要看后面的邮箱的 “” 有没有去掉和前面是不是ssh-rsa (两次都是这里出错)!!

然后就是按照教程设置权限等

2024/7/18记录

遇到了测试ssh -T git@github.com时Connection closed by 20.205.243.166 port 22
并且在部署hexo是也出现了hexo Connection closed by 20.205.243.166 port 22

解决方法:
先测试一下ssh -T -p 443 git@ssh.github.com是否能连通
如果可以
这时候在hexo的配置文件中把deploy:下的rpeo从git@...改为https://
然后重新部署(可能需要本地开代理)即可

教程
1…456
avatar
Hiyoung
若无闲事挂心头,便是人间好时节
文章
51
标签
75
分类
31
Follow Me
公告
网站破后重生,变得更加花哨!
最新文章
飞牛NAS备忘录2025-10-20
安卓实用软件记录2025-10-15
github pages 使用自定义域名2025-05-21
hexo引用站内文章2025-05-21
MacOS上配置Hexo教程2025-05-21
分类
  • 二次元1
    • 《路人女主的养成方法》1
  • 前端11
    • CSS2
    • 网站建设9
  • 学习笔记8
    • C++2
    • Linux2
标签
nas飞牛OS路人女主的养成方法霞之丘诗羽完结读评加藤惠完结后有感丸户史明游戏制作,游戏叙事CppC++CcppSTLstring字符串HexohexoMacOSMarkdown
归档
  • 十月 20252
  • 五月 20253
  • 一月 20251
  • 十二月 20246
  • 十月 20241
  • 七月 20241
  • 三月 20242
  • 一月 20241
网站资讯
文章数目 :
51
已运行时间 :
本站总字数 :
96.2k
最后更新时间 :
©2020 - 2026 By Hiyoung
Love from nobody!
搜索
数据库加载中