Linux基础

一、Linux系统介绍

​ 1、UNIX系统由贝尔实验室研究员丹尼斯.里奇和肯.汤普逊合作开发,并顺便发明了C语言,现主要应用于各种大型服务器,如:电信、银行、各大公司的核心关键业务,苹果公司以它作为内核,推出了MacOS、iOS系统,该系统收费,质量比较高。

​ 2、Minix系统是UNIX精简版主要用于科学研究,Linux的作者林纳克纳.托瓦斯就是受了它的启发,引发了全世界的程序员一起完善了Linux系统。

​ 3、Linux指的是系统的内核,目前由GNU社区维护,但并不能直接使用,需要安装相应的驱动、应用、界面才能使用,安装了驱动、应用、界面的Linux被称为发行版Linux,常用的发行版有:ubuntu、debian、redhat、CentOS、UOS、深度、新支点、安卓。

二、Linux文件系统介绍

Linux系统管理硬盘的能力非常强,因此不需要显式分区,也就没有盘符,所有文件都被管理在根目录下 /,整个Linux系统的文件组织是一棵倒悬树,根就是最顶层目录(/),目录之间只能上下进入,不能左右。

bin目录:这个目录存放着一些基本的可执行命令,如ls、cp和rm等。一般来说,这些命令是所有用户都可以使用的。

sbin目录:存放系统管理命令的目录,这些命令一般只有管理员或root用户才能执行,普通的管理员用户需要sudo提权才能执行这些命令,而root用户可以直接执行。

boot目录:包含了启动Linux系统所需的文件,如内核映像文件和引导加载程序。

dev目录:该目录包含了设备文件,用于与硬件设备进行交互。例如,磁盘驱动器、打印机、键盘等设备都在/dev目录下表示为文件。

etc目录:存放系统级配置文件的目录。这些文件包括网络配置、用户账户、服务配置等。

lib目录: 这个目录包含了共享库文件(动态链接库文件,类似Windows下的.dll文件),供应用程序在运行时使用。

media目录:用于挂载可移动介质(如光盘、U盘)的目录。当插入可移动介质时,系统会自动将其挂载到该目录下的子目录中。

mnt目录:是一个常用的挂载点目录,用于挂载临时文件系统或其他设备,MNT是Mount的缩写,表示挂载。

opt目录:用于安装第三方软件的目录,一些独立安装的应用程序会将自己的文件放在/opt目录下。

proc目录:虚拟文件系统,存储了系统和进程的运行时信息。通过访问/proc目录下的特殊文件,可以获取有关系统和进程的详细信息。

root目录:超级用户(root)的主目录,与普通用户的主目录(/home)不同,root用户的主目录是/root,为了安全,ubuntu系统下的root用户默认关闭。

run目录:是一个临时文件系统(tmpfs),用于存储运行时数据和临时文件,它是在启动过程中由系统自动创建的,并在每次重新启动时清空。

usr目录:系统资源库,是 Unix Software Resource Library的缩写,或者更具体地说,它是用户相关和共享的数据文件和程序文件的根目录。

home目录:用于存放用户的主目录。每个用户在/home目录下有一个以用户名命名的子目录,用户可以在自己的主目录下创建和管理文件。

三、什么是路径

文件的地址,它描述了文件在文件系统中的位置信息。

1、绝对路径

​ 以根目录为起点,描述一个文件的位置,例如stdio.h头文件的绝对路径:/usr/include/stdio.h。

2、相对路径

​ 以当前位置(工作目录)为起点,描述一个文件的位置,例如我当前在/home目录下,stdio.h头文件的相对路径:../usr/include/stdio.h。

3、特殊路径

/ 根目录,也被作路径分隔符,windows系统的路径分隔符是
~ 用户主目录,/home/用户名/
.. 代表当前目录的上一级目录
. 代表当前目录 ./usr/xxx/xxx

- 上一次所在的工作目录

四、终端的使用技巧

Ctrl+Alt+T键:快速打开终端,第一次使用终端,可以把终端锁定到启动器

Shift+Ctrl+T键:新建终端标签页,像浏览器一样,打开若干个标签页,完成各样工作

Shift+Ctrl+加号键:放大终端字体

Ctrl+减号键:缩小终端字体

home键:光标跳转到行首

end键:光标跳转到行尾

Tab键:自动补全命令或参数,如果候选的有多个,则无法补出,此时按两次Tab键会列出所有候选

up/down键:可以调用命令的执行记录

! 可以把最近一次执行过的cmd开头的指令,再执行一次

F11 全屏/退出全屏

五、Linux系统命令

1、常用的命令

clear
功能:清理屏幕,Ctrl+l快捷键具有相同的功能

pwd
功能:显示当前所在的工作目录

cd <path>
功能:改变当前的工作目录

ls [参数] [路径]
功能:显示指定路径下有哪些文件,如果没有路径参数则显示当前工作目录下有哪些文件
	-l 显示文件的详细信息
		文件类型 权限 硬链接数 用户名 组名 文件大小 最后修改时间 文件名
	-a 显示隐藏的文件
		在Linux和UNIX系统下,以.开头的文件默认是隐藏的,Ctrl+h可以在界面浏览时显示或隐藏.开头的文件。
	ubuntu系统下重定义了:
		ls -a 为la 
		ls -al 为ll
		ls 为l
 
man [n] <key> 查看系统的帮助手册
	章节1 系统命令的说明文档
	章节2 系统函数的说明文档
	章节3 C语言标准库函数的说明文档
	如果要查的关键字多个章节同时存在,则需要指定章节号,否则优先显示章节号最小的内容。
	/key 在手册中查询,n查看下一个,u查看上一个,q退出手册
	
time <可执行文件> 
功能:执行一个程序,并记录该程序的执行时间
	real	0m0.015s 程序执行的总用时
	user	0m0.013s 用户态执行的时间
	sys		0m0.000s 内核态执行的时间
	real = user + sys + 用户态内存态切换消耗的时间

size <可执行文件>
功能:查看可执行文件的 text、data、bss 内存段的大小

strace <可执行文件>
功能:追踪程序的执行过程

wc [参数] [路径]
功能:(字数统计)命令打印文件中的行数、字数和字节数。
	-l 只打印行数
	-w 只打印字数
	-c 仅打印字节数

2、文件相关的命令

touch <filename>
功能:创建新文件

rm <filename> 
功能:删除文件,删除的文件不经过回收站,而是直接从文件系统中删除,很难恢复,删除时要慎重

cp <src> <<path>/[filename]> 
功能:复制文件,可以在复制过程中给目标文件取个新名字

mv <src> <<path>/[filename]>
功能:移动文件,也可以在移动过程中给目标文件取个新名字,并且它还具有重命名的功能

cat <filename>
功能:查看文件内容,它会把文件的所有内容都输出到屏幕上,但不适合用来查看内容比较多的文件

more <filename> 
功能:用于查看文件内容比较多的文件,默认只显示文件的第一页内容
	回车键查看下一行
	空格键查看下一页
	/key 搜索 n向下搜索 N向上搜索
	q键退出
	
head [-nx] <filename>
功能:只显示文件的前10行内容,一般用于查看代码的说明信息

tail [-nx] <filename>
功能:只显示文件的后10行内容,一般用于查看代码的版权信息

3、目录相关的命令

mkdir <dirname>
功能:创建目录
	-p 可以创建多级目录

rmdir <dirname> 
功能:删除目录,但只能删除空目录,如果目录中有内容则删除失败

rm -rf <dirname>
功能:强制删除非空目录
	
cp -r <srcdir> <<path/>[dirname]> 
功能:直接使用cp复制目录默认会忽略,需要加上r参数

mv 在移动目录和重命名目录时,不需要加任何参数,直接使用即可

4、网络相关的命令

ifconfig
功能:查看网络配置信息(windows系统使用ipconfig),使用ifconfig设置网卡时,需要管理员权限
        sudo ifconfig <name> down 禁用网卡
        sudo ifconfig <name> up 启用网卡
        sudo ifconfig <name> xxx.xxx.xxx.xxx 设置网卡的ip地址
        sudo ifconfig <name> netmask xxx.xxx.xxx.xxx 设置网卡的子网掩码
        
ping xxx.xxx.xxx.xxx
功能:测试网络的是否连通
	ping 网关的ip地址 测试本机的ip地址和子网掩码配置是否正确
		如果此时与网关是连通的,且不能上网,则说网关有问题
	ping www.baidu.com 测试本机是否能上网
	ping 127.0.0.1 测试本机网卡是否正常工作
	ping 命令在Linux系统下会连续执行,Ctrl+c快捷键结束,在windows系统下默认只执行4次,加/t参数会连接执行,同样Ctrl+c结束。
	
telnet xxx.xxx.xxx.xxx 
功能:远程登录指令,可以远程登录上服务器使用它
    采用明文传输,安全性低,但速度快,一般在公司内局域网使用该命令远程登录。
    
ssh xxx.xxx.xxx.xxx
功能:安全的远程登录命令,采用密文传输,安全性高,默认采用当前系统的用户名

ssh 用户名@xxx.xxx.xxx.xxx
功能:指定用户名远程登录,第一登录会让选择是否保存密钥。
	exit 退出登录

5、其它命令

chmod
功能:修改文件权限
	用法1:chmod mmm <filename>
            每个 m = 4r 2w 1x 都由组成一共有8种情况
            0 ---   1 --x   2 -w-   3 -wx 
            4 r--   5 r-x   6 rw-   7 rwx
            第一m 对应前三个字符 文件的主人的权限(属主)
            第二m 对应中间三个字符 与文件的主人同一级用户的权限(属组)
            第三m 对应末尾三个字符 其它用户的权限
	用法二:chmod +/- r、w、x <filename> 所有用户一起增加或减少某一项权限。
    注意:目录文件需要执行权限才能进入,常用的两种权限:644普通文件,755目录文件
    
ln <src> <link>
功能:创建链接文件(快捷方式)
    ln命令默认创建是硬链接文件,它链接的是文件的内容,当链接目标被删除后,链接文件依然能正常访问和使用。
    -s 创建的是软链接文件,当链接的目标被删除后,链接文件就不再访问了,软链接是依靠路径信息链接文件。
    注意:目录文件只能创建软件链接。
    任务:在~目录下为共享目录创建一个软链接,方便以后使用。
    
tar
功能:压缩、解压文件
    tar -zcvf pack.tar.gz <要压缩的文件或目录,可以是多个,用空格分开> 
    tar -zxvf pack.tar.gz 解压到当前目录
    tar -zxvf pack.tar.gz -C <path> 解压到指定目录

find 用于查找文件,可以根据查找条件,把符合条件文件查找出来。
    find <文件名> 可以在当前路径下查找某个文件是否存在
    find <path> -name <文件名> 可以在指定的路径下查找某个文件是否存在
    https://m.runoob.com/linux/linux-comm-find.html

grep <"key"> <[path/]文件名>
功能:查找文件的内容,也就是在指定的文件中查关键字
	-i 忽略大小写
	-r 递归搜索目录以及子目录中的所有文件的内容
	-w 仅匹配完整单词

| 管道输出到另一条命令
功能:管道 | 操作符将一条命令的输出作为输入发送到另一条命令,将它们串联起来。

六、通配符、管道、重定向

1、通配符

* 代表任意多个字符

​ 例如:

​ rm * 删除当前目录下的所有文件

​ grep -r "sprintf" /* 在当前用户的主目录以及子目录下,查找文件内容有“sprintf"的文件

​ find -name <"*key">

​ find ~ -name *txt 在当用户的主目录,查找文件名以txt结尾的文件。

? 代表一个字符

​ 例如:rm hehe.? 删除以hehe开头的,扩展名只有一个字符的文件。

2、管道

​ 把一个命令执行结果当作另一条命令的数据源,也就是把两条命令连接在一起执行

​ ls -al | grep <"key">

​ find /usr/include/ | grep "math"

3、重定向

​ 可以把命令的执行结果输出到文件中,而不显示到屏幕上。

​ ls -l > list.txt 如果list.txt文件存在则先清空文件空,如果文件不存在则创建。

​ ls -l >> list.txt 如果list.txt文件不存在则创建,如果文件存在则把内容追加到文件的末尾。

七、对终端进行配置

1、注意

​ 配置任何文件之前都要把配置文件备份一下,防止配置错误导致软件、系统无法运行。

# 对xxx配置文件进行备份
cp xxx.conf xxx_back.conf  
# 备份终端的配置文件
cp ~/.bashrc ~/.bashrc_back

2、配置终端的命令提示信息

​ 1、打开终端配置文件:gedit ~/.bashrc

​ 2、修改PS1的内容"\u@\w$",完成后Ctrl+S保存后退出

​ 3、重新加载配置文件:source ~/.bashrc 实现精简命令提示信息的效果

3、配置自定义命令

​ 1、打开终端配置文件:gedit ~/.bashrc
​ 2、在文件的末尾添加以下内容:

#创建目录并进入
mk()
{
	mkdir $1 && cd $1
}

#移动文件到回收站 需有删除过文件 路径才存在
del()
{
    mv $1 ~/.local/share/Trash/files/
}

# 返回上级目录
alias cu='cd ..'

4、删除配置项

​ 如果在~/.bashrc 文件删除的某些配置内容,保存退出配置文件。
​ 注意:此source ~/.bashrc指令无效,需要退出终端再重新打开才有效。

八、vim文本编辑器

1、vi文本编辑器介绍

​ 是一款可以在无界面的情况下编写代码的工具,所有UNIX、Linux系统自带的都有,通用性强,是在服务器上修改代码、配置文件非常好的文本编辑器。

​ 可以进行自定义、二次开发,被称为成长型的神器,vim是vi的增强版,一般Linux系统需要手动安装,ubuntu系统的安装指令是:sudo apt-get install vim

​ vim自带的使用教程:vimtutor

2、vim的基本用法

​ 1、vim <filename.c> 文件如果存在则打开,不存在就会创建
​ 2、按 i 键,可以编辑内容
​ 3、编辑完成后按 ESC 键退出编辑
​ 4、连续按两下ZZ (Shift+z),保存退出

3、vim的三大主要模式和模式切换

正常模式:是进入vim的默认模式,主要用于阅读文件,或通过快捷键修改文件

插入模式:主要用于编辑文件的内容

行底模式:主要用于对vim进行一些设置,或执行一些命令

4、模式切换方法

正常模式 切换到 插入模式i
插入模式 切换到 正常模式ESC、Ctrl+c
正常模式 切换到 行底模式:输入冒号
行底模式 切换到 正常模式ESC、Ctrl+c
​ 注意:插入模式与行底模式之间不能直接切换,必须经过正常模式中转

5、正常模式下的操作

准备工作:

cp /usr/include/stdio.h ./

vim stdio.h

在行底模式下:set nu 显示行号

光标移动:

​ h左 j下 k上 l右 光标的上下左右移动,在vim中可以使用方向键移动,但在vi中只能使用hjkl

​ page down 光标向下跳转一页

​ page up 光标向上跳转一页

​ home 光标跳转到行首

​ end 光标跳转到行尾

​ gg 光标跳转到文件的第一行

​ G/shift+g 光标跳转到文件的最后一行

G 光标跳转到第n行

up 光标向上跳转n行

down 光标向下跳转n行

​ vim file.c +n 进入vim后光标跳转到第n行

​ 注意:我们在编译代码时,如果代码出错编译器会准确报告出错代码的行号,熟练的跳转光标方便快速找到错误代码。

删除内容:

​ x 删除一个字符

x 删除n个字符

​ dw/de 删除一个单词(从当前光标开始删除到单词分隔符,_是单词的一部分)

​ dd 删除一行

​ ndd 删除n行

​ d$/D 从当前光标位置删除到行尾

​ d^ 从当前光标位置删除到行首

复制内容:

​ yw/ye 复制一个单词

​ yy/Y 复制一行

​ nyy 复制n行

​ y$ 从当前光标位置复制到行尾

​ y^ 从当前光标位置复制到行首

​ p 把复制的内容粘贴光标的后面 小写

​ P 把复制的内容粘贴光标的前面 大写

移动内容:

​ 删除的内容还存储在缓冲区,使用p/P粘贴到新位置,就达到了移动内容的效果。

替换内容:

​ r 把光标所在的字符替换成
​ cw/ce 替换一个单词(删除单词进入插入模式)
​ R 进入替换模式,按ESC、Ctrl+c退出替换模式。
​ xp 可以快速调换两字符的位置。

撤销操作:

​ u 撤销一次操作,可以连续使用多次
​ U 撤销当前行的所有操作,回到最初状态,但只能撤销一次。
​ Ctrl+r 取消撤销操作

查找内容:

​ /key 按Enter键 n向下查找,N向上查找

6、进入插入模式的多种方法

​ i 在当前光标的前面进入插入模式

​ I 光标跳转到行首进入插入模式 大写

​ a 在当前光标的后面进入插入模式

​ A 光标跳转到行尾进入插入模式

​ o 在光标下面添加一个空白行,然后进入插入械

​ O 在光标上面添加一个空白行,然后进入插入械

7、插入模式下的操作

该模式主要用于编辑内容,快捷键不多

​ Ctrl+i 相当于Tab键的功能,用于代码缩进

​ Ctrl+d 当前行代码向左移动

​ Ctrl+j 相当于回车键的功能

​ Ctrl+c 相当于ESC键的功能

​ Ctrl+h 相当于Backspace键的功能

​ Ctrl+p/n 自动补全,写代码时非常好用

​ Ctrl+s 休眠

​ Ctrl+q 醒来

​ Ctrl+z 挂起当前正在运行的程序,fg命令可以还原,是系统的快键,不是vim的。

8、行底模式下的操作

​ ! 执行系统命令

​ w 保存内容,相当于其它编辑的Ctrl+s

​ q 退出,如果内容有发生修改,用q无法退出

​ wq 保存退出

​ q! 强制退出,无法保存修改的内容

​ x 保存退出,但只保存内容,不保存密码。

​ X 加密,wq保存密码退出

​ set key= , wq保存退出,会删除掉密码

​ %s/old/new 全文替换,会在下方告诉你替换了多少次

​ >n 从光标所行开始,下面n行代码向右缩进

​ <n 从光标所行开始,下面n行代码向左缩进

​ set nu 显示行号

​ set nonu 不显示行号

9、对vim进行配置

​ 在行底模式下对vim进行的设置,只是临时有效,vim退出后就失效了,要想长期有效就要把这些设置命令写入vim的配置文件,vim的配置文件在:~/.vimrc。

" 显示行号
set number

" 设置tab键宽度
set tabstop=4

" 设置>n <n缩进时的宽度
set shiftwidth=4

" 设置代码按照C语言代码自动排列
set cindent

" 突出显示当前行
set cursorline

" 设置自动保存
set autowrite

" 设置不产生交换文件
set noswapfile

" 启用鼠标定位光标
set mouse=a

" 打开语法高亮。自动识别代码,使用多种颜色显示
syntax on

" 在底部显示,当前处于命令模式还是插入模式。
set showmode

" 命令模式下,在底部显示,当前键入的指令
set showcmd

" 使用 utf-8 编码。
set encoding=utf-8  

" 开启文件类型检查,并且载入与该类型对应的缩进规则
filetype indent on

" 由于 Tab 键在不同的编辑器缩进不一致,该设置自动将 Tab 转为空格。
set expandtab

" Tab 转为多少个空格。
set softtabstop=2

" 是否显示状态栏。0 表示不显示,1 表示只在多窗口时显示,2 表示显示。
set laststatus=2

" 光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号。
set showmatch

" 搜索时,高亮显示匹配结果。
set hlsearch

" 输入搜索模式时,每输入一个字符,就自动跳到第一个匹配的结果。
set incsearch

" 搜索时忽略大小写。
set ignorecase


" 保存退出函数
func SaveExit()
	exec 'wq'
endfunc

" 映射正常模式Ctrl+z快捷键调用 SaveExit函数
map <C-z> : call SaveExit() <CR>
" 映射插入模式Ctrl+z快捷键调用 SaveExit函数
imap <C-z> <ESC> : call SaveExit() <CR>

" 编译运行函数
func CompileRun()
	" 保存代码
	exec 'w'
	" 判断是否是.c文件
	if &filetype=='c'
		" 编译并运行当前文件
		exec '!gcc % -lm -lpthread && ./a.out'
	" 判断是否是.cpp文件
	elseif &filetype=='cpp'
		exec '!g++ % -std=gnu++17 && ./a.out'
	endif
endfunc

" 映射正常模式Ctrl+x快捷键调用 CompileRun函数
map <C-x> : call CompileRun() <CR>
" 映射插入模式Ctrl+x快捷键调用 CompileRun函数
imap <C-x> <ESC> : call CompileRun() <CR>

" 自动填充头文件和main函数
func InsertMain()
	call setline(1,"#include <stdio.h>")
	call setline(2,"int main() {")
	call setline(3,"\t")
	call setline(4,"}")
	exec "5"	
endfunc

" 当新建的是.c文件时自动调用InsertMain函数
autocmd BufNewFile *.c : call InsertMain()

func InsertCppMain()
	call setline(1,"#include <bits/stdc++.h>")
	call setline(2,"int main() {")
	call setline(3,"\t")
	call setline(4,"}")
	exec "6"	
endfunc
autocmd BufNewFile *.cpp : call InsertCppMain()

" 自动填充头文件卫士
func InsertHeadGuard()
	call setline(1, '#ifndef '.toupper(expand('%:r')).'_H')
	call setline(2, '#define '.toupper(expand('%:r')).'_H')
	call setline(3, "")
	call setline(4, '#endif//'.toupper(expand('%:r')).'_H')
	exec "3"
endfunc

" 当新建的是.h文件时自动调用InsertHeadGuard函数
autocmd BufNewFile *.h : call InsertHeadGuard()
posted @ 2024-05-05 13:29  sleeeeeping  阅读(43)  评论(0编辑  收藏  举报
  1. 1 吹梦到西洲 恋恋故人难,黄诗扶,妖扬
  2. 2 敢归云间宿 三无Marblue
吹梦到西洲 - 恋恋故人难,黄诗扶,妖扬
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 颀鞍

作曲 : 铃木航海

编曲 : 远藤直弥/冯帆

制作人 : 冯帆/铃木航海

(妖扬)

(妖扬)

无何化有 感物知春秋

秋毫濡沫欲绸缪 搦管相留

(黄诗扶)

留骨攒峰 留容映水秀

留观四时曾邂逅 佳人西洲

(妖扬)

(妖扬)

西洲何有 远树平高丘

云闲方外雨不收 稚子牵牛

(黄诗扶)

闹市无声 百态阴晴栩栩侔

藤衣半卷苔衣皱 岁月自无忧

(妖扬)

(妖扬)

驾马驱车 尚几程扶摇入画中 咫尺

(黄诗扶)

径曲桥横 精诚难通

(黄诗扶、妖扬)

(黄诗扶、妖扬)

盼你渡口 待你桥头

松香接地走

挥癯龙绣虎出怀袖

起微石落海连波动

描数曲箜篌线同轴

勒笔烟直大漠 沧浪盘虬

一纸淋漓漫点方圆透

记我 长风万里绕指未相勾

形生意成 此意 逍遥不游

(妖扬)

(妖扬)

日月何寿 江海滴更漏

爱向人间借朝暮 悲喜为酬

(黄诗扶)

种柳春莺 知它风尘不可救

绵绵更在三生后 谁隔世读关鸠

(妖扬)

(妖扬)

诗说红豆 遍南国未见人长久 见多少

(黄诗扶)

来时芳华 去时白头

(黄诗扶、妖扬)

(黄诗扶、妖扬)

忘你不舍 寻你不休

画外人易朽

似浓淡相间色相构

染冰雪先披琉璃胄

蘸朱紫将登金银楼

天命碧城灰土 刀弓褐锈

举手夜古泼断青蓝右

照我 萤灯嫁昼只影归洪流

身魂如寄 此世 逍遥不游

(黄诗扶)

(黄诗扶)

情一物 无木成林无水行舟

情一事 未算藏谋真还谬

情一人 积深不厚积年不旧

情一念 墨尽非空 百代飞白骤 划地为囚

(妖扬)

(妖扬)

蓝田需汲酒 惟琼浆能浇美玉瘦

至高者清难垢 至贵者润因愁

痴竭火 知她不能求

醉逢歌 知他不必候

只约灵犀过隙灵光暗相投

(黄诗扶、妖扬)

(黄诗扶、妖扬)

万籁停吹奏

支颐听秋水问蜉蝣

既玄冥不可量北斗

却何信相思最温柔

顾盼花发鸿蒙 怦然而梦

你与二十八宿皆回眸

系我 彩翼鲸尾红丝天地周

情之所至 此心 逍遥不游

吉他 : ShadOw

钢琴 : ShadOw

和声编写 : 冯帆

和声 : 黄诗扶

人声混音 : 徐志明

混音 : 冯帆

母带 : 冯帆

企划 : 三糙文化

出品公司 : Negia Entertainment Inc.