diff --git a/.obsidian/app.json b/.obsidian/app.json index 9df278c..9ad27da 100644 --- a/.obsidian/app.json +++ b/.obsidian/app.json @@ -4,10 +4,11 @@ "showLineNumber": false, "promptDelete": false, "newFileLocation": "folder", - "attachmentFolderPath": "YueQian/assets/相关网站", + "attachmentFolderPath": "./ass", "strictLineBreaks": true, - "useMarkdownLinks": true, + "useMarkdownLinks": false, "newLinkFormat": "relative", "openBehavior": "", - "newFileFolderPath": "Collection" + "newFileFolderPath": "OnGoing", + "alwaysUpdateLinks": true } \ No newline at end of file diff --git a/.obsidian/plugins/i18n/metadata.json b/.obsidian/plugins/i18n/metadata.json index 274df70..029d70c 100644 --- a/.obsidian/plugins/i18n/metadata.json +++ b/.obsidian/plugins/i18n/metadata.json @@ -1,22 +1,6 @@ { "schemaVersion": 2, "sources": { - "c0fT0euCDXLgw04AMGOXjVEbVWWo4AS7": { - "id": "c0fT0euCDXLgw04AMGOXjVEbVWWo4AS7", - "plugin": "obsidian-custom-attachment-location", - "title": "obsidian-custom-attachment-location", - "type": "plugin", - "origin": "cloud", - "isActive": true, - "checksum": "436a4050e3b4bf235a59490baf356d199a2ed483a8eabee5fe681ae3301a9508", - "cloud": { - "owner": "yunrr", - "repo": "obsidian-i18n-resources", - "hash": "6682f9726682f9726682f9726682f972" - }, - "updatedAt": 1776342489533, - "createdAt": 1776342489533 - }, "B3S674C-whT0MjQDpACrrWE79mH1TNyU": { "id": "B3S674C-whT0MjQDpACrrWE79mH1TNyU", "plugin": "obsidian-custom-frames", @@ -246,6 +230,22 @@ }, "updatedAt": 1776444516042, "createdAt": 1776444516042 + }, + "c0fT0euCDXLgw04AMGOXjVEbVWWo4AS7": { + "id": "c0fT0euCDXLgw04AMGOXjVEbVWWo4AS7", + "plugin": "obsidian-custom-attachment-location", + "title": "obsidian-custom-attachment-location", + "type": "plugin", + "origin": "cloud", + "isActive": true, + "checksum": "436a4050e3b4bf235a59490baf356d199a2ed483a8eabee5fe681ae3301a9508", + "cloud": { + "owner": "yunrr", + "repo": "obsidian-i18n-resources", + "hash": "6682f9726682f9726682f9726682f972" + }, + "updatedAt": 1776449311951, + "createdAt": 1776449311951 } } } diff --git a/.obsidian/plugins/i18n/states.json b/.obsidian/plugins/i18n/states.json index b7df989..c53d1f9 100644 --- a/.obsidian/plugins/i18n/states.json +++ b/.obsidian/plugins/i18n/states.json @@ -1,11 +1,5 @@ { "plugins": { - "obsidian-custom-attachment-location": { - "id": "obsidian-custom-attachment-location", - "isApplied": true, - "pluginVersion": "10.3.4", - "translationVersion": "2.0.0" - }, "obsidian-custom-frames": { "id": "obsidian-custom-frames", "isApplied": true, @@ -95,6 +89,12 @@ "isApplied": true, "pluginVersion": "1.4.0", "translationVersion": "1.0.0" + }, + "obsidian-custom-attachment-location": { + "id": "obsidian-custom-attachment-location", + "isApplied": true, + "pluginVersion": "10.3.4", + "translationVersion": "2.0.0" } }, "themes": {} diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 38e6d41..36360b1 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,16 +13,27 @@ "state": { "type": "markdown", "state": { - "file": "Meta/🏡HOME.md", + "file": "Archive/Collection/连~都忘记了的小知识.md", "mode": "preview", "source": false, "backlinks": false }, "icon": "lucide-file", - "title": "🏡HOME" + "title": "连~都忘记了的小知识" + } + }, + { + "id": "d19b72f3716b97c5", + "type": "leaf", + "state": { + "type": "i18n-manager-view", + "state": {}, + "icon": "layout-grid", + "title": "i18n 管理中心" } } - ] + ], + "currentTab": 1 } ], "direction": "vertical" @@ -124,13 +135,13 @@ "state": { "type": "outline", "state": { - "file": "Meta/🏡HOME.md", + "file": "Archive/Collection/连~都忘记了的小知识.md", "followCursor": true, "showSearch": false, "searchQuery": "" }, "icon": "lucide-list", - "title": "🏡HOME 的大纲" + "title": "连~都忘记了的小知识 的大纲" } } ], @@ -251,34 +262,36 @@ "obsidian-livesync:显示自定义同步": false } }, - "active": "5e96455aab22a229", + "active": "b1cf03bb19fff71c", "lastOpenFiles": [ - "Bases/元数据列表.base", + "Archive/配置备忘/Typecho插件Aplayer使用教程.md", + "Archive/Collection/连~都忘记了的小知识.md", + "Archive/Collection/KMP算法.md", + "Archive/Collection/linux命令.md", + "Archive/Collection/Markdown语法.md", + "Archive/Collection/PID控制算法.md", + "Archive/Collection/YAML用法.md", + "OnGoing/openclash配置.md", + "OnGoing/navidrome.md", + "Archive/test.md", "Collection/未命名 1.md", "Collection/未命名.md", + "Meta/🏡HOME.md", + "OnGoing", + "Bases/元数据列表.base", "Template/AutoAdd.md", "Template/Diary.md", "Diary/2026/01/2026-01-20 周二.md", "README.md", - "Meta/🏡HOME.md", "Meta/笔记元数据管理规范.md", "Diary/2026/01/2026-01-23 周五.md", "Diary/2026/01/2026-01-22 周四.md", "Diary/2026/01/2026-01-21 周三.md", "Diary/2026/01/2026-01-19 周一.md", - "Collection/YAML用法.md", - "Collection/PID控制算法.md", - "Collection/Markdown语法.md", - "Collection/linux命令.md", - "Collection/KMP算法.md", - "Collection/连~都忘记了的小知识.md", "BlogWebsite/Article/通过SSH密钥连接LINUX服务器.md", "BlogWebsite/Article/飞牛搭配mtphotos使用passnet内网穿透服务优雅快速的分享照片访问.md", "Bases/为什么会消失.md", "YueQian/assets/相关网站/相关网站_Excalidraw20260121.md", - "YueQian/相关网站.md", - "Collection/配置备忘/openclash配置.md", - "Collection/配置备忘/navidrome.md", "Meta", "未命名.canvas", "Bases/Diary.base", @@ -288,16 +301,15 @@ "Bases/Diay.base", "Diary/2026/04", "Diary/2026/01", - "Diary/2026/02", - "Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE0486404994804c5fb05039cff405656astickPicture.png", - "Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE059f0c15158165303fc0fc990a90a445image.png", - "Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE048d46d9bb04ceb46b8fe1f3cc419d92image.png", - "Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE024f291ce6ddbfc8e43e98913881be10image.png", - "Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE167c2f360443ad063a8c62e5be84ad85image.png", - "Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE1ec0d881c347298235a88359695ad942image.png", - "Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4684b7496c77366547f869ae2b65b6d7image.png", - "Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4bb07092451ff2e2b923c57cb023415dimage.png", - "Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE57ae4c50fdbe52495c1fec865fb6c5fbimage.png", - "Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE598297eb23f470b37d35d6d3f1451fe9image.png" + "Archive/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE0486404994804c5fb05039cff405656astickPicture.png", + "Archive/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE059f0c15158165303fc0fc990a90a445image.png", + "Archive/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE048d46d9bb04ceb46b8fe1f3cc419d92image.png", + "Archive/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE024f291ce6ddbfc8e43e98913881be10image.png", + "Archive/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE167c2f360443ad063a8c62e5be84ad85image.png", + "Archive/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE1ec0d881c347298235a88359695ad942image.png", + "Archive/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4684b7496c77366547f869ae2b65b6d7image.png", + "Archive/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4bb07092451ff2e2b923c57cb023415dimage.png", + "Archive/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE57ae4c50fdbe52495c1fec865fb6c5fbimage.png", + "Archive/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE598297eb23f470b37d35d6d3f1451fe9image.png" ] } \ No newline at end of file diff --git a/Collection/KMP算法.md b/Archive/Collection/KMP算法.md similarity index 99% rename from Collection/KMP算法.md rename to Archive/Collection/KMP算法.md index 0a99adc..c5eb98f 100644 --- a/Collection/KMP算法.md +++ b/Archive/Collection/KMP算法.md @@ -1,5 +1,6 @@ --- tags: + - kmp aliases: type: - Source diff --git a/Collection/Markdown语法.md b/Archive/Collection/Markdown语法.md similarity index 99% rename from Collection/Markdown语法.md rename to Archive/Collection/Markdown语法.md index 40cc174..add6d77 100644 --- a/Collection/Markdown语法.md +++ b/Archive/Collection/Markdown语法.md @@ -1,5 +1,6 @@ --- tags: + - markdown aliases: type: - Source diff --git a/Collection/PID控制算法.md b/Archive/Collection/PID控制算法.md similarity index 99% rename from Collection/PID控制算法.md rename to Archive/Collection/PID控制算法.md index d14dd5a..cadd5c9 100644 --- a/Collection/PID控制算法.md +++ b/Archive/Collection/PID控制算法.md @@ -1,5 +1,6 @@ --- tags: + - pid aliases: type: - Source diff --git a/Collection/YAML用法.md b/Archive/Collection/YAML用法.md similarity index 99% rename from Collection/YAML用法.md rename to Archive/Collection/YAML用法.md index d0c0f18..caf3d1d 100644 --- a/Collection/YAML用法.md +++ b/Archive/Collection/YAML用法.md @@ -5,7 +5,7 @@ aliases: type: - Source status: - - 🌳 Evergreen + - 💤 Archived star: false date: --- diff --git a/Collection/linux命令.md b/Archive/Collection/linux命令.md similarity index 100% rename from Collection/linux命令.md rename to Archive/Collection/linux命令.md diff --git a/Collection/连~都忘记了的小知识.md b/Archive/Collection/连~都忘记了的小知识.md similarity index 97% rename from Collection/连~都忘记了的小知识.md rename to Archive/Collection/连~都忘记了的小知识.md index fc8b304..0dd471e 100644 --- a/Collection/连~都忘记了的小知识.md +++ b/Archive/Collection/连~都忘记了的小知识.md @@ -1,6 +1,8 @@ --- tags: + - 小知识 aliases: + - 知识备忘录 type: - Concept status: diff --git a/Archive/test.md b/Archive/test.md deleted file mode 100644 index f0ac837..0000000 --- a/Archive/test.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -star: false ---- -这是一个测试这是一个测试 \ No newline at end of file diff --git a/Archive/未命名 1.md b/Archive/未命名 1.md deleted file mode 100644 index f3662e4..0000000 --- a/Archive/未命名 1.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -tags: - - empty -aliases: empty -type: - - Daily - - Concept - - Task - - Source - - Meta - - Archive -status: - - 💤 Archived -star: false -date: 2026/4/18 ---- diff --git a/Archive/未命名.md b/Archive/未命名.md deleted file mode 100644 index f3662e4..0000000 --- a/Archive/未命名.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -tags: - - empty -aliases: empty -type: - - Daily - - Concept - - Task - - Source - - Meta - - Archive -status: - - 💤 Archived -star: false -date: 2026/4/18 ---- diff --git a/Collection/配置备忘/Typecho插件Aplayer使用教程.md b/Archive/配置备忘/Typecho插件Aplayer使用教程.md similarity index 99% rename from Collection/配置备忘/Typecho插件Aplayer使用教程.md rename to Archive/配置备忘/Typecho插件Aplayer使用教程.md index 5f74a61..b468bd4 100644 --- a/Collection/配置备忘/Typecho插件Aplayer使用教程.md +++ b/Archive/配置备忘/Typecho插件Aplayer使用教程.md @@ -3,10 +3,11 @@ aliases: tags: - typecho插件 - typecho + - aplayer type: - - Concept + - Source status: - - 🌳 Evergreen + - 💤 Archived star: false date: --- diff --git a/Collection/YoudaoyunNotes/01Linux基础/00-简介.md b/Collection/YoudaoyunNotes/01Linux基础/00-简介.md deleted file mode 100644 index 97f4497..0000000 --- a/Collection/YoudaoyunNotes/01Linux基础/00-简介.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -李林峰 - -课程学习内容概览: - -第一阶段:Linux基础、C语言编程、数据结构与算法、阶段项目一(峰哥写) - -第二阶段:Linux文件IO、嵌入式平台应用、LVGL应用开发、工程管理工具(maka、cmake、git)、阶段项目二(自己写) - -第三阶段:Linux应用开发(Linux系统编程、Linux网络编程)、阶段项目三(自己写) - -第四阶段:C++编程、QT应用编程、阶段项目四(自己写) - -第五阶段:单片机开发、阶段项目五(自己做)、智能硬件开发、阶段项目六(选做) - -入学测试: - -考试酷:[https://www.examcoo.com/](https://www.examcoo.com/) - -第一次使用要注册账号,记住自己考试酷账号(昵称为自己的真名),密码设置为常用密码。 - -加入班级:班级编号 1090543 进行考试 - -上课屏幕共享软件:腾讯会议,会议号:503-055-9377 - -获取工具资料方法: - -在浏览器输入:[http://192.168.2.2:8080](http://192.168.2.2:8080) - -创建用户 - -![](images/WEBRESOURCE535aab41498c38bdf05ce87024623f1eimage.png) - -![](images/WEBRESOURCEfc33d1691fe1d4e612571e4a68207ed7image.png) - -![](images/WEBRESOURCE906e727a49dfe1ab4acec6bd2b0922c3image.png) - -作业的提交需要各位通信在作业文件夹下创建自己姓名的文件夹 - -![](images/WEBRESOURCE0e99510f866a1bb39a2d5de5d4753e73image.png) - -后续的作业提交时作业文件以world文档或者markdown文档形式进行提交命名格式:作业日期+完成情况(如“1.19-已完成.md”或“1.19-作业2未完成.md”) - -![](images/WEBRESOURCEe90e25a2d4896ff0028bde1f058872bbimage.png) - -![](images/WEBRESOURCE33e9383546495e823d3fef48d14f22b2image.png) \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/01Linux基础/01-开发环境安装.md b/Collection/YoudaoyunNotes/01Linux基础/01-开发环境安装.md deleted file mode 100644 index 2ede509..0000000 --- a/Collection/YoudaoyunNotes/01Linux基础/01-开发环境安装.md +++ /dev/null @@ -1,306 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -1. **VMware虚拟机** - -VMware 是一款虚拟化软件,可在物理计算机(宿主系统)上创建多个独立的虚拟计算机(虚拟机)。每个虚拟机可运行独立的操作系统(如 Windows、Linux、macOS 等),并共享宿主硬件资源(CPU、内存、存储等),但彼此隔离、互不干扰。 - -![](images/WEBRESOURCE39ad1c12ce8944f5baf53adf251c6152image.png) - -![](images/WEBRESOURCEbc7c70fc9bcf45a4b1faa871d65b6ae0image.png) - -右键安装包 --> 以管理员身份运行 --> 也许会提示需要重启电脑(点击重启即可) - -![](images/WEBRESOURCE68aa3091b49e412fbe48df310e878915clipboard.png) - -![](images/WEBRESOURCE11452f3b194f4e32be15f73a556b787dclipboard.png) - -![](images/WEBRESOURCE2cc68dfc42b14db284a866849fb6057cclipboard.png) - -![](images/WEBRESOURCE2674f78eee384c64b04e88582a0e5e76clipboard.png) - -![](images/WEBRESOURCE61d26be5f462481b8afa701a030e27acclipboard.png) - -![](images/WEBRESOURCE5471a94b3aef42558868d9b0ac1dc3d9clipboard.png) - -![](images/WEBRESOURCE829ca347b9cc4d3b9763e0f526c7c621clipboard.png) - -![](images/WEBRESOURCE84a4440c8f764f1e9c4a2c6bb3155de1clipboard.png) - -![](images/WEBRESOURCE52fd203d21d9464694047b5d1b5bfad4clipboard.png) - -![](images/WEBRESOURCE1d066e57d29541b1852669d9f31e8eecclipboard.png) - -1. **Ubuntu系统制作** - -Ubuntu 是基于Debian Linux的开源操作系统,由南非企业家马克・沙特尔沃思(Mark Shuttleworth)的公司 Canonical 于 2004 年推出。其名称源于非洲语 “Ubuntu”,意为 “人类互助共生”,象征系统的社区协作精神。 - -核心特点:免费开源、易用性强、安全性高,适合从新手到开发者的全场景用户。 - -应用领域:个人桌面、服务器、云计算(如 OpenStack)、物联网设备(如树莓派)等。 - -Ubuntu 通过 “开源 + 易用” 的组合,降低了 Linux 系统的使用门槛,成为连接普通用户与开源技术的桥梁。无论是个人办公、企业服务器还是技术开发,其 “稳定、安全、易维护” 的特性都能满足核心需求,堪称 Linux 生态中最具实用性和普及度的发行版之一。 - -**制作一个自己的Ubuntu** - -1. **下载** - -![](images/WEBRESOURCE85ce4d82a39f7f58a8c4a3c9752d1e53image.png) - -![](images/WEBRESOURCEdce1d39bdf30394844f8f4495a038ee3image.png) - -1. **制作自己的Ubuntu(或者下载峰哥制作好的Ubuntu)** - -使用已经制作好的系统时直接解压-->选择打开虚拟机-->找到虚拟机文件-->开启虚拟机-->选择“我已复制该虚拟机” - -![](images/WEBRESOURCE198b05f09ff54910b7754cddac25dfffimage.png) - -选择创建新的虚拟机 - -![](images/WEBRESOURCE80ef22ee4f3943d387943037287538b6image.png) - -![](images/WEBRESOURCEee8c6774c8ddf514f5e8be0b4f25c4caimage.png) - -![](images/WEBRESOURCEba91a8a84b224d58a75674ed4d98a3beimage.png) - -![](images/WEBRESOURCEaf110ccde82f4aad86243128a0aa65a2image.png) - -![](images/WEBRESOURCE5348389a4d1c4b4eb66a03f3841938f5image.png) - -![](images/WEBRESOURCE7709d0a22d554a06864909abf2732defimage.png) - -![](images/WEBRESOURCEbc70bec4ac945be15f994ecfdadcffbbimage.png) - -![](images/WEBRESOURCEc7bb8456a3a64bc698f5909f5de32357image.png) - -![](images/WEBRESOURCE62cf6c590d864cdd91e83392b7ca81f6image.png) - -![](images/WEBRESOURCE1597955388994880ae32096facd23031image.png) - -![](images/WEBRESOURCEe5e0a4a20f1026774dfaabcd050a7551image.png) - -![](images/WEBRESOURCE0cdcf4a88e6eba4375dd290569c05c2eimage.png) - -![](images/WEBRESOURCE239add8580e01ea33a9592b219ad2e9fimage.png) - -![](images/WEBRESOURCE613c5526bad54dbda610f99c1be8d3faimage.png) - -![](images/WEBRESOURCEa3c86ec3e4414dd9865a99216bca21b8image.png) - -![](images/WEBRESOURCE10ced81c01044c5d8aef0fd21f434ae2image.png) - -![](images/WEBRESOURCE9a911191d7d346488b2985c095e246c8image.png) - -密码一个点 . - -![](images/WEBRESOURCE2ccd15caf9bd42f8a2e9d24a63c5c303image.png) - -![](images/WEBRESOURCE681f699a07f3448296f962f4788959eeimage.png) - -![](images/WEBRESOURCE9d9186b70a304a4db86565fde8a8d1e2image.png) - -![](images/WEBRESOURCE76cfd724f20c4cd6b08cdacca17fbc4eimage.png) - -1. **配置Ubuntu** - -1. **汉化Ubuntu(安装时已经选择汉语可以跳过)** - -打开Ubuntu的设置 --> 选择区域与语言 - -![](images/WEBRESOURCE0fa810ce77624fe3b787d026cfa7a685image.png) - -![](images/WEBRESOURCEb0ab22fbfdce44eb8e8a1603f0f71a73image.png) - -![](images/WEBRESOURCE1606aee8ccb74f578d3399e41829455eimage.png) - -**安装完成后汉化系统注意** - -![](images/WEBRESOURCE8b764d09a9a243939568d97dfa5958faimage.png) - -1. **配置软件源(需要进行配置)** - -![](images/WEBRESOURCE0de3cb22c41147998d4d78c3280a33d3image.png) - -![](images/WEBRESOURCE9ade1b9e6431d4fa2ad97722032c0a0eimage.png) - -![](images/WEBRESOURCE95a3eb98035f4d6588a7cc60f04e3a43image.png) - -右键桌面-->在终端打开 - -![](images/WEBRESOURCEaeb2cb5c6d2343e79081336fe42953faimage.png) - -在终端输入命令:sudo apt update - -![](images/WEBRESOURCE7d9986301c4c4b7bafec0cf836334219image.png) - -1. **安装中文输入法(安装时选择的键盘是汉语键盘则默认安装中文拼音输入法)** - -安装fcitx: 打开terminal,输入指令:sudo apt install fcitx - -![](images/WEBRESOURCE6d0549ebb27d4d30833be4fa39800022clipboard.png) - -安装完成后重启Ubuntu --> 选择fcitx - -![](images/WEBRESOURCEa9760ac9399743f0ab2d4629e2817855clipboard.png) - -下载搜狗输入法 for Linux版本进行安装:通过Ubuntu的浏览器下载 - -[https://shurufa.sogou.com/linux](https://shurufa.sogou.com/linux) - -![](images/WEBRESOURCE7341f65d145e4c9292f86ee78a012940clipboard.png) - -命令行安装: - -![](images/WEBRESOURCE1c2d8f5d9912ff36f50dc01c91bfabcdimage.png) - -打开终端 - -![](images/WEBRESOURCE99c587d679ee1e89a92072ae24e5a10fimage.png) - -依次输入下列命令 - -```bash -cd ~/Download -sudo dpkg -i sogoupinyin_4.0.1.2800_x86_64.deb -``` - -若安装失败则需要安装依赖 - -sudo apt install -f - -重新安装 - -sudo dpkg -i sogoupinyin_4.0.1.2800_x86_64.deb - -安装依赖 - -sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2 - -sudo apt install libgsettings-qt1 - -将fcitx设置为开机自启动 - -sudo cp /usr/share/applications/fcitx.desktop /etc/xdg/autostart/ - -卸载ibus - - -sudo apt remove --purge ibus - - -重启即可 - -若出现输入法启动失败一一直闪烁的问题则按下列步骤解决 - -打开终端,编辑/etc/gdm3/custom.conf文件: - -```shell -sudo gedit /etc/gdm3/custom.conf -``` - -找到WaylandEnable=false这一行,并取消注释(删除前面的#号): - -```shell -#WaylandEnable=false -``` - -### 安装32位兼容库(需要安装) - -```shell -sudo apt update -sudo apt install lib32ncurses6 -sudo apt install lib32stdc++6 -sudo apt install gcc-multilib - -//将C语言源程序编译为32位可执行程序 -gcc ***.c -o *** -m32 -``` - -1. **Visual Studio Code开发工具** - -开发环境主要围绕C语言的开发环境进行,每一门编程语言都会有对应的IDE(Integrated Development Environment)即集成开发环境,是用于开发软件的工具集合,它将软件开发所需的各种功能集成在一个统一的界面中,大幅提升开发效率 - -推荐使用IDE:Visual Studio Code(采用扩展组件的方式提供丰富的功能,可以根据自己的实际情况对其进行不同的配置)+ GDB(Linux调试工具) - -Windows安装方法如下 - -![](images/WEBRESOURCE007db8830b714539aa71697daf21ed53image.png) - -Ubuntu下安装(可选) - -![](images/WEBRESOURCE78fb02ac886841f196551c49c53e4fa1image.png) - -自己手动下载安装包:[Download Visual Studio Code - Mac, Linux, Windows](https://code.visualstudio.com/Download) - -![](images/WEBRESOURCE057f344b13854390b81a5a5e901dbbb9image.png) - -1. **配置windows下的vscode** - -Ubuntu下的vscode只安装一下 - -windows下则需要进行以下配置 - -![](images/WEBRESOURCE16c29539d5944f13a304f45d4e08e462image.png) - -![](images/WEBRESOURCE3954317989534229a6f3353415673eb7image.png) - -![](images/WEBRESOURCE4668f3efeae947e88d2604137a0ea6d4image.png) - -![](images/WEBRESOURCEf401109d263b40d2bd759196994c0a1fimage.png) - -Windows下除了安装与Ubuntu一致的扩展外还需额外安装或配置编程编译环境(mingw**) - -获取mingw相关库文件 - -![](images/WEBRESOURCE79a7854aa8f7b1ca68ca73aea35fc928image.png) - - 解压到一个固定存放的位置 - - 进入到bin目录拷贝复制路径添加到系统环境变量路径中 - -![](images/WEBRESOURCE965e14afbca177da23bad4b24f218311image.png) - -配置自己系统的环境变量添加这个库文件的路径,重启vscode会自动检索系统环境变量路径,可解决在Windows下的vscode中运行C语言和C语言语法检查功能。 - -![](images/WEBRESOURCE9c4cee3e5fc04fe4bba5847c6b3d477cimage.png) - -![](images/WEBRESOURCE2954fab7a4e5446890a86e2e2689b2f5image.png) - -![](images/WEBRESOURCE3734c363be3041cdb248c340eccf6608image.png) - -Ubuntu命令行安装: - -```shell -cd ~/Download -sudo dpkg -i code_1.101.2-1750797935_amd64.deb -``` - -QtCreator(采用C++进行编写,用Qt做界面,可以调试运行C/C++语言) - -1. **在苹果电脑中安装虚拟机** - -如果使用的是苹果的Mac系统,则需要安装 VMware 对应的 MacOS 版本: - -[VMware Fusion-12.2](https://download3.vmware.com/software/fusion/file/VMware-Fusion-12.2.1-18811640_x86.dmg) - -![](images/WEBRESOURCE5383a9a6b4e54ff7bd5baae5562cb75e截图.png) - -安装完毕之后的操作基本跟  - -[Ubuntu-20.04-for-VMwareFusion.zip](https://share.weiyun.com/thRIL0Jp) - -解压上述压缩包,即可在苹果  - -1. **在windows中部署Linux子系统(不推荐)** - -【有道云笔记】WSL的使用 - -[https://share.note.youdao.com/s/G4YyaN9Y](https://share.note.youdao.com/s/G4YyaN9Y) \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/01Linux基础/02_Linux概述.md b/Collection/YoudaoyunNotes/01Linux基础/02_Linux概述.md deleted file mode 100644 index 49c4ec5..0000000 --- a/Collection/YoudaoyunNotes/01Linux基础/02_Linux概述.md +++ /dev/null @@ -1,318 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# **1. Linux简介** - -Linux最初是1991年由芬兰的Linus Torvalds发起,目的是为了避开当时的类Unix的版权问题,Linux从一开始就是开源的,由网上组织松散的开发者协作完成,并在1994年开始遵循GPL许可协议。 - -Linux、git创始人、技术狂人 —— 林纳斯·托瓦兹 - -![](images/WEBRESOURCE6f00c4094996487e8c714760360e01dfstickPicture.png) - -[内核官网](https://www.kernel.org/) - -通常谈到Linux,有两个层面的含义: - -- 一指Linux内核,它运行于整个系统内部,用户看不见摸不着,其主要功能是: - -1. 内存管理 - -1. 文件管理 - -1. 任务管理 - -1. 网络管理 - -1. 设备管理 - -- 二指Linux发行版操作系统,例如Ubuntu、RedHat、Fedora、CentOS等。所谓的发行版指的是可直接发行给用户直接使用的操作系统,它不仅包括了上述所说的内核,且包括了诸如桌面系统、编辑编译环境、Shell、浏览器等用户日常使用必备的软件。 - -![](images/WEBRESOURCE45c51d8809e541af992df6e704909de0stickPicture.png) - -各种Linux发行版操作系统 - -作为操作系统(Operating System),目前世界范围内有影响力的有: - -1. Linux(开源系统,可定制可裁剪) - -1. HarmonyOS(华为公司,先进的分布式操作系统) - -1. Windows(微软公司,针对普通家庭用户) - -1. MacOS(苹果公司,针对普通家庭用户) - -Linux与其他OS最大的区别是 - -![](images/WEBRESOURCE5296aa7dcfd14b96881247007a0e0892stickPicture.png) - -# **2. Ubuntu** - -在众多Linux发行版中,Ubuntu是用的比较多的一款。点击进入 [Ubuntu 官方主页](https://cn.ubuntu.com/download/desktop) 可以下载最新版本,Ubuntu系统每隔半年发布一个新版本,分别在每年的4月和10月,比如: - -- 2019年10月份发布的被称为:Ubuntu-19.10 - -- 2020年04月份发布的被称为:Ubuntu-20.04-LTS - -注意到  - -![](images/WEBRESOURCEec78f62ce35a4b90b4e04faf253872e0stickPicture.png) - -从网上下载了Ubuntu的 ISO 镜像文件之后,需要在虚拟机中安装了之后才能使用,以下是已经安装好并配好环境的 Ubuntu 系统,开箱即食,童叟无欺: - -- 适用于 VirtualBox: - -- Ubuntu-20.04-LTS( - -- 适用于 VMware: - -- Ubuntu-18.04-LTS( - -- Ubuntu-20.04-LTS( - -## **2.1 APT软件管理器** - -Ubuntu最大的特点是继承了Debian系统的APT软件管理体系,使得Linux下的软件管理变得非常简便。如下图所示,各种厂商在世界各地部署了Ubuntu软件服务器,统一管理Ubuntu中的deb软件包,用户只要能联网,即可从最近的服务器上直接下载安装所需的服务或软件。APT带给用户最便捷的地方在于,它能自动为用户分析和安装软件的依赖模块,从而避开了Linux软件安装中饱受诟病的依赖问题。 - -![](images/WEBRESOURCE8b9e7526b7414947be881eb4bfef5f68stickPicture.png) - -使用APT软件管理器,一般遵循如下步骤: - -1. 选择恰当的服务器(物理距离近的、速度快的) - -1. 执行 update 指令,更新服务器软件清单 - -选择完毕恰当的服务器之后,还需执行APT的  - -```shell -gec@ubuntu:~$ sudo apt update -``` - -**安装与卸载** - -```shell -# 安装 -gec@ubuntu:~$ sudo apt install xxx - -# 卸载 -gec@ubuntu:~$ sudo apt remove xxx -gec@ubuntu:~$ sudo apt remove --purge xxx #将配置文件也一并删除 - -# 修复APT管理器 -gec@ubuntu:~$ sudo apt install -f - -# 自动卸载一些已经无用的软件或服务 -gec@ubuntu:~$ sudo apt autoremove -``` - -## **2.2 Linux目录结构** - -Linux系统的目录结构中,不同的文件夹分属不同的功能,列表如下: - -Linux下一切皆文件,除网络设备 - -![](images/WEBRESOURCEbd44608fd6664867bca2f8e4561fae77image.png) - -文件1的路径:/usr/local/文件1 (根目录下的usr目录下的local的文件1) - -| 目录名 | 功能 | -| -- | -- | -| / | 根目录,所有的分区和文件的起点(类似与C盘) | -| /bin | 普通用户可用的命令所在路径 | -| /sbin | 超级用户可用的命令所在路径 | -| /etc | 各种配置文件所在路径 | -| /home | 所有普通用户的家目录所在路径 | -| /lib | 系统库文件所在路径 | -| /boot | 系统内核镜像文件所在路径 | -| /dev | 设备节点所在路径 | -| /usr | 第三方库和服务默认安装路径 | -| /proc | 系统进程数据在文件系统中的挂载路径 | -| /sys | 系统内核数据在文件系统中的挂载路径 | -| /var | 存放一些“易变”的文件,例如安装包、系统日志等 | -| /mnt | 默认的分区挂载路径 | - - -目录与目录间的关系不是分属,Linux下目录与目录或目录与文件是索引关系 - -## **2.3 命令终端** - -使用Linux的乐趣,在于其直达核心的命令终端,几乎所有的操作都可以在终端中进行,配合Linux中大量精巧的命令,真正做到让开发者敲代码时心无旁骛,摒弃任何多余的分散注意力的东西,后续课程,重点就是介绍终端中的各种命令。 - -Shell 是用户与操作系统内核之间的接口,负责 - -Shell 是一种命令行解释器(Command Line Interpreter),它接收用户输入的文本命令,将其翻译为操作系统内核能够理解的指令,并执行相应操作。 - -在Ubuntu中Shell 命令行解释器使用的是bash解释器(Bash(Bourne Again SHell)是一种命令行解释器,也是 Linux 和 macOS 系统的默认 Shell) - -命令终端(bash解释器) - -``` -1、ctrl + alt + t //打开一个终端 -2、鼠标右键打开终端 -3、点击终端图标 -``` - -![](images/WEBRESOURCE5fcadc9becb441e19779d82e2d845ea6image.png) - -终端前缀说明: - -```shell -gec@Ubuntu:~$ -``` - -> gec :当前登录的用户名称 -> Ubuntu:当前系统名称 -> ~:当前所处的路径名称(~的完整路径是"/home/gec",当用户处于自己的家目录是路径用~表示,代表这个目录是用户的主目录,不同用户的家目录是不同的) -> @ : $:这些符号的作用是用于分隔内容($表示当前用户的身份是普通用户 `#`表示当前用户身份是超级管理员用户) - - -**能用普通用户尽量不要用root** - -有许多人在使用 Linux 系统时存在一些坏习惯,比如使用  - -``` -Important: you can and should build everything as a normal user. -There is no need to be root to configure and use Buildroot. -By running all commands as a regular user, -you protect your system against packages behaving badly during compilation and installation. -``` - -翻译: - -``` -重要: 你可以且应该使用普通用户去构建所有的程序。 -没有任何必要非得要root去配置和使用系统,使用普通用户去执行命令,可以避免在程序编译和安装时出现的莫名其妙的系统错误。 -``` - -**总之** - -**终端使用小技巧** - -1. 打开相同路径下的新窗口: - -``` -ctrl + shift + n -``` - -打开相同路径下的新终端窗口 - -![](images/WEBRESOURCEa00846a6c2b74327a597f110d86d52f4stickPicture.png) - -1. 快速定位命令行光标位置: - -``` -快速定位到命令末尾: ctrl + e -快速定位到命令开头: ctrl + a -``` - -1. 快速复制、粘贴: - -``` -复制终端的文本:选中即已复制 -文本粘贴到终端:按下鼠标滚轮 -``` - -1. 自动补全单词 - -``` -在目录下唯一单词自动补全:tab -``` - -1. 历史命令浏览 - -``` -浏览上一条或下一条历史命令:方向上/下 -``` - -1. 快速切换路径 - -``` -快速切换路径到家目录:cd -快速切换路径到上一个路径位置:cd - -``` - -## **2.4 环境变量** - -环境变量是能作用于整个系统的特定变量,比如  - -下面介绍跟环境变量相关的常见操作。 - -**1) 查看系统所有的环境变量** - -命令  - -```shell -gec@ubuntu:~$ env - CLUTTER_IM_MODULE=xim - LESSCLOSE=/usr/bin/lesspipe %s %s - LANG=en_US.UTF-8 - DISPLAY=:0 - GNOME_SHELL_SESSION_MODE=ubuntu - COLORTERM=truecolor - XDG_SESSION_ID=2 - USER=gec - DESKTOP_SESSION=ubuntu - WINDOWPATH=2 - TERM=xterm-256color - SHELL=/bin/bash - VTE_VERSION=5201 - QT_IM_MODULE=fcitx - XMODIFIERS=@im=fcitx - IM_CONFIG_PHASE=2 - XDG_CURRENT_DESKTOP=ubuntu:GNOME - GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 - GNOME_TERMINAL_SERVICE=:1.82 - XDG_SEAT=seat0 - SHLVL=1 - GDMSESSION=ubuntu - GNOME_DESKTOP_SESSION_ID=this-is-deprecated - XAUTHORITY=/run/user/1000/gdm/Xauthority - XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg - HOME=/home/gec - PATH=/usr/local/arm/5.4.0/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin - XDG_RUNTIME_DIR=/run/user/1000 -gec@ubuntu:~$ -gec@ubuntu:~$ -``` - -**2) 查看某个环境变量** - -如果需要查看某个特定的环境变量的值,可以使用命令  - -```shell -gec@ubuntu:~$ echo $PATH -PATH=/usr/local/arm/5.4.0/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin -gec@ubuntu:~$ -gec@ubuntu:~$ -``` - -**3) 设置某个环境变量** - -1. 临时设置(以PATH为例): - -```shell -gec@ubuntu:~$ export PATH=$PATH:/home/gec -``` - -注意,以上设置只对当前的终端有效。 - -1. 永久设置(以PATH为例): - -1. 打开终端的配置文件 ~/.bashrc - -```shell -gec@ubuntu:~$ export PATH=$PATH:/home/gec -``` - -注意:需要执行如下命令来加载修改过的配置文件: - -```shell -gec@ubuntu:~$ source ~/.bashrc -``` \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/01Linux基础/03_文件互通.md b/Collection/YoudaoyunNotes/01Linux基础/03_文件互通.md deleted file mode 100644 index 4aa376f..0000000 --- a/Collection/YoudaoyunNotes/01Linux基础/03_文件互通.md +++ /dev/null @@ -1,279 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# **文件互通** - -做编程开发,经常需要将文件在不同的机器之间来回倒腾,比如安装了vmware之后,经常需要在宿主机(Widndows)和Ubuntu之间转移文件。 - -![](images/WEBRESOURCEc0365553cbf46976d46016c7ee3ca7d4image.png) - -## **1. 共享文件夹** - -使用共享文件来互通win和ubuntu的文件是最简单的,方法如下: - -- 点击虚拟机设置按钮,找到想要共享给虚拟机的文件夹。下图以Downloads文件夹为例,将其设置为Windows与Ubuntu的共享文件夹: - -![](images/WEBRESOURCE87605d40f8f547059d14da7cde016f1astickPicture.png) - -- 打开命令终端,输入 cd /mnt/hgfs 进入共享文件夹,通过命令ls,便可看到Downloads - -```bash -gec@ubuntu:~$ cd /mnt/hgfs/ -gec@ubuntu:/mnt/hgfs$ ls -Downloads -gec@ubuntu:/mnt/hgfs$ -``` - -- 通过在终端输入不同的命令,就可以在Ubuntu内部操作宿主机的共享文件了。 - -若重启虚拟机共享文件夹消失可[参考博客](https://blog.csdn.net/gcc110/article/details/134050511?spm=1001.2014.3001.5501) - -``` -在Ubuntu创建一个脚本文件:gnome-text-editor mount_hgfs -将 sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other 写入mount_hgfs文件中 -ctrl+s保存后关闭软件在终端给文件添加权限:chmod +x mount_hgfs -将文件移动到/bin:mv mount_hgfs /bin -重启系统后在终端输入命令:mount_hgfs 即可将消失的共享文件重新加载 -``` - -## **2. samba文件共享** - -samba是Linux下的一款网络磁盘服务,在ubuntu安装samba,并做好恰当的配置,即可在其他系统中方便地访问ubuntu系统的文件。 - -![](images/WEBRESOURCEe2fd4c540d704f1c9530a4d4ecb9e21estickPicture.png) - -**安装 samba** - -```cpp -gec@ubuntu:~$ sudo apt install samba -``` - -**配置 samba** - -``` -gec@ubuntu:~$ sudo vi /etc/samba/smb.conf - -# 在上述samba的配置文件的末尾追加如下信息: -# [share] 是 Windows 主机看到的samba文件夹的名称,可以任意修改 -# path 是 Ubuntu 主机通过 samba 共享出去的路径 -[share] -path=/home/gec/shareDir -browseable=yes -writable=yes -public=yes -available=yes -``` - -上述配置文件追加的信息中[share]是对共享文件的重命名,可以随意修改,path就是通过 samba 服务共享出去的目录路径。 - -**重启 samba** - -配置好smb.conf之后,重新加载配置文件并重启samba服务: - -``` -gec@ubuntu:~$ sudo service smbd reload -gec@ubuntu:~$ sudo service smbd restart -``` - -**连接 samba** - -以上述配置为例,在网络配置通畅的情况下,在windows系统中可以在运行窗口直接输入ubuntu系统的网络IP来直接访问ubuntu系统中的 /home/gec/shareDir 目录: - -访问ubuntu中的samba共享目录(假设ubuntu的IP地址是160) - -![](images/WEBRESOURCE6a19fe5c92be4a82b3da492a6e02d38astickPicture.png) - -**注意** - -``` -gec@ubuntu:~$ sudo chmod 777 /home/gec/shareDir -``` - -另外注意到,Windows 的共享文件夹本质上也是 samba 服务,因此在 Ubuntu 中也可以通过 samba 访问。 - -![](images/WEBRESOURCEecb316b50a0142919418cf4383305defstickPicture.png) - -**在windows中设置共享文件夹** - -要想把某个文件夹共享给 ubuntu,只需要右键设置指定文件夹的共享属性即可,选择“特定用户”,在弹出的窗口中选择“Everyone”即可,如下图所示: - -![](images/WEBRESOURCEe544d03066fb43a595fa2645f30b1ea7image.png) - -**在ubuntu中访问共享文件夹** - -安装 smbclient 工具: - -``` -gec@ubuntu:~$ sudo apt install smbclient -``` - -查看windows中共享的文件夹: - -``` -# 命令格式 -gec@ubuntu:~$ smbclient -L windows主机IP -U 用户名%密码 - -# 例如: -gec@ubuntu:~$ smbclient -L 192.168.90.2 -U Administrator%12345678 - - Sharename Type Comment - --------- ---- ------- - ADMIN$ Disk 远程管理 - C$ Disk 默认共享 - IPC$ IPC 远程 IPC - Users Disk - xyz Disk -gec@ubuntu:~$ -gec@ubuntu:~$ - -``` - -可以看到,上述共享出来的文件夹  - -**挂载windows的共享文件夹分区** - -``` -# 命令格式: -gec@ubuntu:~$ sudo mount -t cifs -o rw -o username=xxx,password=xxx //windows主机IP/共享文件夹名称 挂载点 - -# 例如: -gec@ubuntu:~$ sudo mount -t cifs -o rw -o username=Administrator,password=12345678 //192.168.90.2/xyz /opt/ -``` - -这样,就可以在ubuntu中访问windows的共享文件夹了。CQ2402 (file://Gec-li/cq2402) - -## **3. FTP文件传输** - -FTP是一种网络协议,在文件传输领域被广泛使用,采用该协议的各种FTP服务端和客户端不胜枚举,例如Linux下的vsftpd服务器,Windows下的FlashXP客户端。 - -Ubuntu中的 vsftpd 的含义是 very security FTP daemon(即非常安全的FTP服务器),我们可以在ubuntu中配置vsftpd服务端,然后在windows中使用FTP客户端来达到文件互联互通的目的。 - -![](images/WEBRESOURCE1cfd0409b18343c5aa0e4a742863553dstickPicture.png) - -通过 FTP 上传下载文件 - -**安装 vsftpd** - -``` -gec@ubuntu:~$ sudo apt install vsftpd -``` - -**配置 vsftpd** - -``` -gec@ubuntu:~$ sudo vi /etc/vsftpd.conf - -# 在上述配置文件中,找到 write_enable=YES ,将其前面的井号去掉就可以了 -``` - -**重启 vsftpd** - -``` -gec@ubuntu:~$ sudo service vsftpd reload -gec@ubuntu:~$ sudo service vsftpd restart -``` - -**查看运行状态** - -``` -gec@ubuntu:~$ sudo service vsftpd status -vsftpd.service - vsftpd FTP server - Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled) - Active: active (running) since Mon 2021-06-07 15:31:08 CST; 9s ago - Process: 25797 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS) - Process: 25805 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS) - Main PID: 25806 (vsftpd) - Tasks: 1 (limit: 4631) - CGroup: /system.slice/vsftpd.service - └─25806 /usr/sbin/vsftpd /etc/vsftpd.conf - -6月 07 15:31:08 aidevelop-vm systemd[1]: Starting vsftpd FTP server... -6月 07 15:31:08 aidevelop-vm systemd[1]: Started vsftpd FTP server. -gec@ubuntu:~$ -// 卸载软件 -gec@ubuntu:~$ sudo apt remove --purge vsftpd -``` - -注意到,上述输出信息中有active(running)字样,表示ubuntu中的vsftpd已经在正常运行,这时就可以启动windows中的ftp客户端去连接FTP服务了。 - -![](images/WEBRESOURCE7295dea05fc1433a8128ebc8ec091265stickPicture.png) - -下载 FlashFXP54_3970_Setup.exe(7MB): - -- - -- - -# 「课堂练习1」 - -在ubuntu中安装并配置好vsftpd,使用一款windows的FTP客户端工具(比如winScp)跟ubuntu互联互通。 - -![](images/WEBRESOURCE26ef4b2a78ff2c28a0dacd2f72cd1fceimage.png) - -### 使用WinSCP文件传输(推荐) - -在Ubuntu安装ssh服务 - -```bash -gec@ubuntu:~$ sudo apt install ssh -``` - -SCP是文件传输中非常常用的命令,他可以在Linux和Windows之间传输文件,但该命令需要输入复杂的命令行参数,因此我们推荐使用图形界面的WinSCP工具。 - -下载 WinSCP-5.17.10-Setup.exe(10MB): - -- - -- - -使用 WinSCP 连接 Ubuntu - -打开 WinSCP,输入ubuntu的IP地址、用户名、密码,点击登录按钮,即可连接到ubuntu: - -![](images/WEBRESOURCE911e5cc27c401553aa3ef8b3f7a8d352image.png) - -成功连接到远程 Ubuntu 系统: - -![](images/WEBRESOURCEe54e5e49800c59dd7043655d8afddc0aimage.png) - -使用 WinSCP 传输文件 - -连接成功后,就可以在ubuntu和windows之间传输文件了,如下图所示: - -![](images/WEBRESOURCEabbcafc8a41effea663a62f333e9a737image.png) - -## **4. TFTP文件传输** - -在开发板与电脑网络互通的情况下,采用tftp的方式来传输文件是最高效的一种方式,tftp的全称是 tiny FTP,可见此工具专用于文件传输,其所为tiny意指匿名传输,是一种轻量级的FTP工具。 - -1. 在windows中安装tftp服务器,可根据系统实际情况下载对应版本: - -- tftpd32.zip - -- tftpd64.zip - -1. 启动tftpd,选择准备传送到开发板的文件的所在目录和与开发板联通的网卡: - -tftpd配置界面 - -![](images/WEBRESOURCEeab95646301b4b9093879917fcf38fffstickPicture.png) - -1. 假设在上述 C:\EFI 文件夹下有文件example.txt,在开发板中可执行如下命令下载该文件: - -``` -[root@root:~]# tftp 192.168.9.65 -gr example.txt -``` - -1. 如果想要将开发板的文件发送到tftpd服务端,命令如下: - -``` -[root@root:~]# tftp 192.168.9.65 -pr example.txt -``` \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/01Linux基础/04_命令行编辑与编译.md b/Collection/YoudaoyunNotes/01Linux基础/04_命令行编辑与编译.md deleted file mode 100644 index 84de01f..0000000 --- a/Collection/YoudaoyunNotes/01Linux基础/04_命令行编辑与编译.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# **1. 编辑器** - -## **1.1 图形编辑器** - -平时常见的编辑器都是图形编辑器,比如记事本、notepad、office、wps等,图形编辑器的意思就是这些编辑器带有图形界面,有菜单选项。比如最简单的Windows的记事本: - -![](images/WEBRESOURCEaf43058e62b1433f8f86ddae338e1a9a截图.png) - -记事本 - -当然,编程时不可能使用记事本来写代码,常用的专业编程IDE有vsCode、qtCreator等,常用的专业编辑器有sumlime、notepad++、vim等,它们各有所长。其中,在嵌入式开发领域,vim是不可或缺的一款字符界面型的高效编辑器,下面着重来介绍vim的安装和使用。 - -## **1.2 字符编辑器vi** - -字符编辑器的意思是这种编辑器没有提供图形界面,因此也不需要用鼠标去点击菜单栏,字符编辑器的所有操作都是只需键盘就能达到的,这种设定可以让人在编程时注意力专注于代码,将程序思维直接流向键盘,行云流水,无需任何多余的菜单、鼠标的干扰,极大提高效率。在字符编辑器中,vi就是其中的典型代表。 - -![](images/WEBRESOURCE166fbcc666024e3c83bcb4a876265bfc截图.png) - -### **vim的安装** - -编辑器vi是Ubuntu系统默认已经安装好了的,但vi的初始版本功能各方面都较弱,一般都需要升级到vim版本,下载安装vim版本的命令是: - -```shell -gec@ubuntu:~$ sudo apt install vim -``` - -安装完毕之后,还可以在vim的配置文件中设置一些常用的选项: - -```c -gec@ubuntu:~$ sudo gedit /etc/vim/vimrc -... - 49 "set showmatch " Show matching brackets. - 50 "set ignorecase " Do case insensitive matching - 51 "set smartcase " Do smart case matching - 52 "set incsearch " Incremental search - 53 "set autowrite " Automatically save - 54 "set hidden " Hide buffers - 55 set mouse=a " Enable mouse usage (all modes) - 56 set cindent - 57 set number - 58 - 59 " Source a global configuration file if available - 60 if filereadable("/etc/vim/vimrc.local") - 61 source /etc/vim/vimrc.local - 62 endif -``` - -- 注意: - -> set mouse=a 代表开启鼠标追踪 -> set cindent 代表开启自动缩进 -> set number 代表显示行号 - - -这个没有菜单的编辑器,当我们需要执行诸如保存、查找、替换、剪切等等动作的时候怎么办呢?答案是将键盘的输入分成两种模式:一种模式下键盘敲入的就是编辑的内容,另一种模式下键盘敲入的是要编辑器完成的动作。简而言之,vim需要两个操作模式: - -- 一个模式下键入的信息,作为文本本身的内容,称之为编辑模式. - -- 一个模式下键入的信息,作为执行的动作,称之为命令模式。 - -这两种模式的转换: - -- 默认打开 vi 的时候,进入了命令模式 - -- 从命令模式,进入编辑模式:按i、a、o、I、O…… - -- 从编辑模式,进入命令模式:按Esc - -编辑模式没什么好研究的,主要是命令模式,熟练使用vi/vim实际上指的是熟练掌握命令模式中,vi所能支持的命令都有哪些?答案如下。 - -### **vim常用指令** - -| vim命令 | 含义 | -| -- | -- | -| :w | 保存当前文件 | -| :w filename | 另存为 filename | -| :q | 退出当前正在编辑的文件 | -| :q! | 强制退出当前正在编辑的文件并放弃最近一次保存到现在的所有操作 | -| :wq | 保存文件并退出 | -| u | 撤销最近一次操作。 | -| ctrl+r | 前进一步,恢复撤销掉的操作 | -| i | 在光标所在的位置前面插入字符 | -| a | 在光标所在的位置后面插入字符 | -| o | 在光标所在行的下一行插入新的一行 | -| O | 在光标所在行的上一行插入新的一行 | -| x | 剪切光标处所在的字符。(x前可先按一个数字,则剪切若干个字符) | -| dd | 剪切光标处所在的一行。(dd前可先按一个数字,则剪切若干行) | -| yy | 复制光标处所在的一行。(yy前可先按一个数字,则复制若干行) | -| d$ | 剪切从光标处(含)开始到该行行末的所有字符 | -| d^ | 剪切从光标处(不含)开始到该行行首的所有字符 | -| y$ | 复制从光标处(含)开始到该行行末的所有字符 | -| y^ | 复制从光标处(不含)开始到该行行首的所有字符 | -| p | 将剪切板中的资料粘贴到光标所在下一行 | -| r | 修改光标所在的字符,r之后接跟你要修正的字符(比如你要把fox中的o改成i,只需将光标停在o上,接着连续按下r和i) | -| h | 将光标向前移动一个字符 | -| j | 将光标向下移动一个字符 | -| k | 将光标向上移动一个字符 | -| l(小写L) | 将光标向后移动一个字符 | -| gg | 跳到文本的最初一行 | -| G | 跳到文本的最末一行 | -| Ctrl + u | 向上(up)翻页 | -| Ctrl + d | 向下(down)翻页 | -| :%s/old/new | 将文件中所有的old字符串替换成new | -| /string | 从光标处往下查找字符串string,注意在输完你要查找的字符串string之后要按回车键。如果你要找的字符串string有多个,你可以按n将光标跳到下一个位置,按N将光标跳到上一个位置 | -| ?string | 跟上面的是一样的,区别是它从光标处往上查找 | - - -# 「课堂练习2」 - -使用 vi 创建一个最简单C语言程序。练习诸如剪切、粘贴、复制、保存、撤销、恢复撤销、替换等技巧,熟练切换 vi 模式和普通模式。 - -![](images/WEBRESOURCE778e6bbd547a49f7a27408810d3e357d截图.png) - -# **2. 编译器gcc** - -![](images/WEBRESOURCEab3791f6ea2d4ee1a800caaf9d9c809a截图.png) - -名称:GNU Compiler Collection(gcc),即GNU编译器套件。 - -简介:gcc是一套由 GNU 开发的编程语言编译器。它是一套以 GPL 及 LGPL 许可证所发行的自由软件,也是 GNU计划的关键部分,亦是自由的类Unix 及苹果 MacOS 操作系统的标准编译器,主要用与完成C语言的编译功能。 - -![](images/WEBRESOURCE483559e02d97418681caca2ce4ce7003image.png) - -用法: - -``` -// 安装最新的版本: -gec@ubuntu:~$ sudo apt install gcc -y - -// 查看编译器的版本: -gec@ubuntu:~$ gcc -v - -// 将源码 a.c 编译生成程序 a -gec@ubuntu:~$ gcc a.c -o a -gec@ubuntu:~$ gcc -o a a.c - -// 编译源码的时候打开所有的警告 -gec@ubuntu:~$ gcc a.c -o a -Wall - -// 将源码 a.c 编译生成默认名称的程序 a.out -gec@ubuntu:~$ gcc a.c //默认生成a.out文件,所有的源文件默认生成文件名称都是a.out -``` - -释义: - --v:查看编译器版本 - --o:指定编译后生成的程序名 - --Wall:打开所有警告,注意W是大写的,意为 all Warning - -## C语言程序由源代码到可执行程序的过程: - - 预处理-->编译-->汇编-->链接 - -选项:-E -S -c -o - -文件后缀:.i .s .o .elf - -预处理阶段主要完成预处理工作:处理以#开头的代码,如将头文件(#include)展开,将宏定义(#define)进行替换,将预处理指令(#if)按条件进行增删代码。 - -编译阶段主要完成代码的编译工作:检查代码中的语法问题 - -汇编阶段主完成汇编编译代码工作:将代码编译为汇编编译程序(二进制文件) - -链接阶段主要完成程序文件的链接工作:将程序中所使用的库文件进行连接,此时所产生的文件即是最终的可执行程序 - -![](images/WEBRESOURCE90052f7e84d296350dc684c5f8d9fe79image.png) \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/01Linux基础/05_网络配置.md b/Collection/YoudaoyunNotes/01Linux基础/05_网络配置.md deleted file mode 100644 index 8e04df2..0000000 --- a/Collection/YoudaoyunNotes/01Linux基础/05_网络配置.md +++ /dev/null @@ -1,505 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# **1. 虚拟机VMware的网络配置** - -虚拟机的网络适配器的模式有两种: - -- 桥接模式:使得虚拟机跟物理机一样,各自拥有独立的IP地址 - -- NAT模式:使得虚拟机直接共享物理机的IP,自己本身没有独立的IP地址 - -![](images/WEBRESOURCE20612257d0f44ea29703856c822950d0stickPicture.png) - -虚拟机VMware的网卡配置 - -以上两种模式都可以联网,区别就是虚拟机要不要一个独立的IP。对于桥接模式需要注意,必须要仔细选择桥接的物理网卡,否则会出现无法联网的情形。 - -![](images/WEBRESOURCE2c13345c757849d5b3a82210fcd089c7image.png) - -虚拟网卡的桥接配置 - -## **1.1 桥接模式(推荐使用)** - -所谓桥接,是指虚拟网卡通过物理机的某一个网络接口,直接连接到路由器去获取  - -例如: - -- 通过桥接到 WiFi 来联网。 - -- 通过桥接到 以太网 来连接开发板 - -如下图所示,在  - -![](images/WEBRESOURCE8b51f56eeb0d4ef082b3ff4e3e984124image.png) - -![](images/WEBRESOURCE2ae66303bd38437f983a465df3546099截图.png) - -选择具体所需的桥接网卡 - -![](images/WEBRESOURCEd1d54f0ee77146aab54b2abc96a7431aimage.png) - -**重置** - -有时,如果网络参数经过多次配置导致无法再正确联网,可以通过点击下图中下方图表  - -![](images/WEBRESOURCEbb1d9b96ef1b391490c612421995ab0bimage.png) - -## **1.2 NAT模式** - -如果虚拟机不需要单独的IP地址,那么可以通过  - -![](images/WEBRESOURCEf78ab8a91b4a4da49ff5b944228cb9b4截图.png) - -选择具体所需的桥接网卡 - -此时的虚拟网卡  - -## **1.3 仅主机模式** - -有时限于外部网络的局限性,在Ubuntu无需联外网而需与宿主机Windows通信时,将 VMware 虚拟网卡配置为 - -![](images/WEBRESOURCE20309143f783406082fa8227ceb332c0截图.png) - -仅主机模式 - -在此模式中,虚拟网卡  - -![](images/WEBRESOURCEc1d22d25f7ac4510a6dedc0c74470887截图.png) - -VMnet1虚拟路由 - -从上图可以看到, - -![](images/WEBRESOURCE64396f9c2d5b447b853171ffb6f109e3截图.png) - -VMnet1虚拟路由 - -有了各自的  - -[](http://vm.yueqian.com.cn:8886/previewCourses.html?courseId=1331899420259463169&courseName=Linux%E5%9F%BA%E7%A1%80#0) - -# **2. Ubuntu网络配置** - -## 终端命令配置 - -给虚拟机 VMware 选择了某一种联网模式后,一般还需要给客户机(即Ubuntu主机)配置好如下网络参数才能正常联网: - -- 网卡名称 - -> eth0 -> ens33 -> ens32 - - -- IP地址 - -> 在当前路由下所获得的主机IP(IPv4 IPv6)//192.168.2.x - - -- 子网掩码 - -> A类IP:255.0.0.0 -> B类IP:255.255.0.0 -> C类IP:255.255.255.0 //现使用 - - -- 网关地址 - -> 当前路由的地址:192.168.2.1 - - -- DNS(域名解析服务) - -[国内/国外公共DNS服务器地址(Ipv4/Ipv6)大全 (config.net.cn)](https://config.net.cn/tools/Dns.html) - -## **2.1 经典Linux网络配置** - -**Ubuntu24.04配置流程详见本教程第4节** - -在  - -1. 设置固定IP: - -```bash -gec@ubuntu:~$ cat /etc/network/interfaces - # interfaces(5) file used by ifup(8) and ifdown(8) - auto lo - iface lo inet loopback - - auto ens33 - iface ens33 inet static - address 169.254.54.200 # IP地址,根据具体的网络环境来写 - netmask 255.255.0.0 # 子网掩码 - gateway 169.254.54.1 # 网关地址 -gec@ubuntu:~$ -gec@ubuntu:~$ -``` - -1. 设置动态IP(自动获取IP) - -```bash -gec@ubuntu:~$ cat /etc/network/interfaces - # interfaces(5) file used by ifup(8) and ifdown(8) - auto lo - iface lo inet loopback - - auto ens33 - iface ens33 inet dhcp -gec@ubuntu:~$ -gec@ubuntu:~$ -``` - -**注意1** - -一般而言,只有在虚拟机设定为桥接模式下,才需要配置Ubuntu的网络参数信息,如果虚拟机设定的是NAT模式,那么一般直接重启网络服务,让其自动获取网络参数即可。 - -**注意2** - -以上示例以虚拟网卡  - -```bash -安装ifconfig -sudo apt install net-tools -``` - -![](images/WEBRESOURCE14dab69c4073430899e03a2f5e57c167截图.png) - -ifconfig命令查看当前活跃的网卡名称 - -**重启网络服务** - -``` -# Ubuntu-14.04以前的版本: -gec@ubuntu:~$ sudo /etc/init.d/networking force-reload -gec@ubuntu:~$ sudo /etc/init.d/networking restart - -# Ubuntu-14.04以后的版本: -gec@ubuntu:~$ sudo service networking force-reload -gec@ubuntu:~$ sudo service networking restart -``` - -**注意** - -在更新的Ubuntu-17.10以后的版本中,网络配置用的是 netplan 命令,而不是上述命令。 - -**测试网络** - -有两个命令可以测试网络是否连通: - -一、执行  - -``` -gec@ubuntu:~$ ping www.qq.com -``` - -ping外网测试网络是否通畅 - -![](images/WEBRESOURCE8d9bc18de10e43f6b7100034df6b7547截图.png) - -二、执行  - -``` -gec@ubuntu:~$ host www.qq.com -www.qq.com is an alias for public-v6.sparta.mig.tencent-cloud.net. -public-v6.sparta.mig.tencent-cloud.net has address 14.18.175.154 -public-v6.sparta.mig.tencent-cloud.net has address 113.96.232.215 -public-v6.sparta.mig.tencent-cloud.net has IPv6 address 240e:ff:f101:10::15f -gec@ubuntu:~$ - -``` - -- 注意: - -- host成功返回域名的IP地址,代表当前网络是通的。 - -- host成功返回域名的IP地址,代表当前系统的DNS解析是正常的。 - -**DNS配置** - -DNS(Domain Name Server),即域名服务器,访问网址时必须通过 DNS 解析为对应的IP地址,才能正常访问网站。在以上测试命令中,如果ping成功,但host不成功,代表当前电脑的DNS配置有问题。 - -**配置 ** - -``` -gec@ubuntu:~$ sudo cat /etc/resolv.conf -# This file is managed by man:systemd-resolved(8). Do not edit. -# -# This is a dynamic resolv.conf file for connecting local clients to the -# internal DNS stub resolver of systemd-resolved. This file lists all -# configured search domains. -# -# Run "resolvectl status" to see details about the uplink DNS servers -# currently in use. -# -# Third party programs must not access this file directly, but only through the -# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way, -# replace this symlink by a static file or a different symlink. -# -# See man:systemd-resolved.service(8) for details about the supported modes of -# operation for /etc/resolv.conf. - -nameserver x.x.x.x -options edns0 trust-ad -gec@ubuntu:~$ -``` - -具体域名服务器的IP地址  - -![](images/WEBRESOURCE2eb363b22579436daf6c442f8d55bb99截图.png) - -宿主机windows的DNS配置 - -**重启 ** - -``` -gec@ubuntu:~$ sudo service systemd-resolved restart -``` - -**查看、启停网络接口** - -使用命令  - -``` -gec@ubuntu:~$ ifconfig -ens33: flags=4163 mtu 1500 - inet 192.168.1.103 netmask 255.255.255.0 broadcast 192.168.1.255 - inet6 fe80::20c:29ff:fe80:949c prefixlen 64 scopeid 0x20 - ether 00:0c:29:80:94:9c txqueuelen 1000 (Ethernet) - RX packets 2020 bytes 266623 (266.6 KB) - RX errors 0 dropped 0 overruns 0 frame 0 - TX packets 8299 bytes 548748 (548.7 KB) - TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 - -lo: flags=73 mtu 65536 - inet 127.0.0.1 netmask 255.0.0.0 - inet6 ::1 prefixlen 128 scopeid 0x10 - loop txqueuelen 1000 (Local Loopback) - RX packets 37191 bytes 2722682 (2.7 MB) - RX errors 0 dropped 0 overruns 0 frame 0 - TX packets 37191 bytes 2722682 (2.7 MB) - TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 -``` - -**注意** - -- lo是Linux系统的本地回环设备,此设备需如上所示已启动方可连网。 - -- 若某些网卡由于某些原因未启动,则可使用如下命令来解决: - -- 使用 ifconfig -a 来查看所有的网络接口 - -- 使用 ifconfig 网卡名称 up 来启动指定的网卡。 - -**启停指定的网络接口(网卡)** - -``` -gec@ubuntu:~$ sudo ifconfig ens33 up ==> 启用ens33 -gec@ubuntu:~$ sudo ifconfig ens33 down ==> 停用ens33 -``` - -在某些系统中,以上命令也可以用如下命令替代: - -``` -gec@ubuntu:~$ sudo ifup ens33 ==> 启用ens33 -gec@ubuntu:~$ sudo ifdown ens33 ==> 停用ens33 -``` - -**临时指定的网口IP地址** - -与编辑  - -``` -gec@ubuntu:~$ sudo ifconfig ens33 192.168.1.103 -``` - -**指定默认网关** - -在某些情况下,Ubuntu无法正确找到网关,从而导致无法连网,可以手动配置网关地址: - -``` -gec@ubuntu:~$ sudo route add default gw 192.168.1.1 -``` - -网关地址根据各个局域网的配置不同而有所改变,不能照抄上述地址,网关地址一般而言就是当前局域网的路由器的地址,可以从宿主机windows的网络配置化中查看: - -![](images/WEBRESOURCEb0ee65d865824f49bc07757db8bf7bd7截图.png) - -[](http://vm.yueqian.com.cn:8886/previewCourses.html?courseId=1331899420259463169&courseName=Linux%E5%9F%BA%E7%A1%80#0)宿主机windows的DNS配置[](http://vm.yueqian.com.cn:8886/previewCourses.html?courseId=1331899420259463169&courseName=Linux%E5%9F%BA%E7%A1%80#0) - -## **2.2 Netplan网络配置** - -在17.10之前的老版本Ubuntu中,配置网络可能有多种手段,可以直接使用systemd,或者配置  - -通过统一对  - -**自动获取IP** - -以下的配置信息展现了如何使用  - -``` -gec@ubuntu:~$ cat /etc/netplan/01-network-manager-all.yaml -# Let NetworkManager manage all devices on this system -network: - version: 2 - renderer: NetworkManager - ethernets: - ens33: - dhcp4: yes - dhcp6: yes -gec@ubuntu:~$ -gec@ubuntu:~$ -``` - -说明: - -- renderer:指定yaml文件针对配置的网络工具 - -- ethernets:配置以太网 - -- ens33:以太网口名称 - -- dhcp4:自动获取IPv4的网络地址 - -- dhcp6:自动获取IPv6的网络地址 - -注意: - -- 冒号后面必须有空格 - -- 缩进的空格数必须一致 - -**设定静态IP** - -``` -gec@ubuntu:~$ cat /etc/netplan/01-network-manager-all.yaml -# Let NetworkManager manage all devices on this system -network: - version: 2 - renderer: NetworkManager - ethernets: - ens33: - dhcp4: no - addresses: [192.168.100.100/24] - gateway4: 192.168.100.1 - nameservers: - addresses: [202.96.134.133, 8.8.8.8] -gec@ubuntu:~$ -gec@ubuntu:~$ -``` - -说明: - -- [192.168.100.100/24] 中的24代表设定的IP地址的前24比特位为子网掩码,也就是255.255.255.0 - -- nameservers 代表 DNS 服务器 - -**使能netplan** - -配置完  - -``` -gec@ubuntu:$ sudo netplan apply -``` - -# 3.ssh网络协议使用 - -SSH(Secure Shell,安全外壳协议)是一种用于加密远程登录和网络服务的网络协议,主要作用是在不安全的网络环境中,为计算机之间的通信提供安全的加密通道,避免数据传输被窃听或篡改。 - -## 在Ubuntu安装SSH服务 - -1. 远程登录Ubuntu系统终端 - -ssh协议进行登录: - -(1) 配置Ubuntu支持ssh服务 - -① 检查系统是否启动ssh服务:ps -e | grep ssh - -![](images/WEBRESOURCEc3da925d41ce4533a2ea08f06e79c028localFile.png) - -② 若系统没有启动SSH服务则需要安装ssh服务 - -sudo   apt  install   ssh -y - -(2) 查看自己Ubuntu的IP - -![](images/WEBRESOURCEf40b82d71f114aeba01e4f33e6783646localFile.png) - -(3) 打开一个终端 - -使用vscode中终端的ssh指令来登录Ubuntu - -ssh [user@ip](http://user@ip) - -user :用户名 - -ip:ubuntu的IP - -输入指令:ssh  自己的用户名称@自己Ubuntu系统的IP地址 - -![](images/WEBRESOURCE330065e5264d47359c951ddbba7ef933localFile.png) - -![](images/WEBRESOURCEdcccbf9b8b9041f4b0578904d4d8954e截图.png) - -1. 文件传输 - -下载文件: - -scp <用户名>@:<文件> <本地文件路径> - -```shell -scp root@192.168.13.233:text /opt #从远程主机192.168.13.233的root用户下载text文件到本地的/opt目录中 -``` - -文件夹: - -scp -r <用户名>@:<文件> <本地文件路径> - -```shell -scp -r root@192.168.13.233:text /opt #从远程主机192.168.13.233的root用户下载text文件夹到本地的/opt目录中 -``` - -上传: - -scp <本地文件名> <用户名>@:<上传保存路径> - -```shell -scp text root@192.168.13.233:/opt #将本地的text文件上传到远程主机192.168.13.233的root用户的/opt目录中 -``` - -例子: - -scp ts root@192.168.13.233:/ //将本地文件ts传输到目标(192.168.13.233)的/ 目录下 - -# 4.图形化界面IP地址修改(推荐) - -主机WindowsIP固定 - -打开控制面板-->网络和Internet-->网络共享中心 - -![](images/WEBRESOURCE3335ce1a4ffb4bc3946161785318809dimage.png) - -![](images/WEBRESOURCEf78b324209b34c8f982b7b3067bd9f5dimage.png) - -**注意:离开教室后使用有线网络是要将IPv4设置为自动获取方可上网** - -UbuntuIP地址固定。虚拟机的网络设置要修改为桥接 - -设置-->网络-->设置-->IPv4-->手动 - -![](images/WEBRESOURCE5195ae1087314f47af67c62f9d954ac5image.png) - -DNS推荐使用:192.168.2.1 - -![](images/WEBRESOURCEece907cd362d4acaaca0307d0628fb21image.png) - -重启网络链接不上外网则将DNS改为192.168.2.1 \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/01Linux基础/06_常用Shell命令.md b/Collection/YoudaoyunNotes/01Linux基础/06_常用Shell命令.md deleted file mode 100644 index 238ac91..0000000 --- a/Collection/YoudaoyunNotes/01Linux基础/06_常用Shell命令.md +++ /dev/null @@ -1,1022 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# shell (壳) - -可以调用内核执行响应动作的用户指令或程序 - -命令格式:指令 [-选项/参数] [参数/-选项] - -```c -gec@Ubuntu:~$ //终端前缀含义: -// gec表示当前用户名 -// @分隔符,分隔用户名跟系统名 -// Ubuntu表示当前系统的名称 -// : 分隔符,分隔系统跟路径名 -// ~ 表示当前所在路径名称,~表示当前用户的家目录(home),/表示当前是根目录 -// $ 分隔符,分隔路径名和shell指令,$表示当前用户是普通用户,#表示当前用户是超级管理员用户 -// shell命令能执行是因为系统支持shell命令解析,当前Ubuntu使用的bash解释器用于执行shell命令 -``` - -路径:表示在Linux系统中文件所挂载的位置,一般分为两种形式存在即相对路径和绝对路径;相对路径是某个目录的路径相对于当前所在目录的路径通常以当前位置(.或..)为开头,绝对路径是从起始路径到某个目录的路径绝对路径的起始路径是根目录(/)。 - -shell命令的分隔符是空格( ):命令 [参数]/[-选项] [-选项]/[参数] - -```bash -lsb_release -a // 查看当前系统完整版本信息 -``` - -Linux帮助文档:man手册 - -### **man** - -- 释义:manual,帮助手册 - -- 常见用法: - -``` - man ls ==> 查阅关于 ls 的帮助信息 - man -f read ==> 列出所有有关 read 的帮助手册 - man 2 read ==> 查阅第2册中 read 的帮助信息 -``` - -> 注意:man手册总共有9册,Ubuntu默认只安装了1册,其余的需要手工安装,指令如下: - - -```bash -sudo apt install manpages -sudo apt install manpages-dev -sudo apt install manpages-posix -sudo apt install manpages-posix-dev - - -#安装中文版 -sudo apt install manpages-zh -``` - -![](images/WEBRESOURCE53cd85664954b3499b8c61202b4d5191image.png) - -使用方法: - -```bash -man 手册编号 查询内容 - -man ls #从编号1~9中依次搜索ls并展示找到的第一个内容 - -#q Q ZZ 退出man手册 -``` - -# 1.基本命令 - -### **ls** - -- 释义:last,列出目录中文件的信息 - -- 常见用法: - -```bash -ls ==> 列出当前目录的文件名 -ls -l ==> 列出文件详情 -ls -a ==> 列出文件名(含隐藏文件) -ls -la ==> 列出文件详情(含隐藏文件) -ls /etc ==> 列出指定目录 /etc 的文件名] -``` - -![](images/WEBRESOURCEb77a86e6998ad4cd67f54764036f947fimage.png) - -![](images/WEBRESOURCE40ecee3c45ed49cba08153c5e1314e1aimage.png) - -> 相对路径:从.或..开始 -> 绝对路径:从/开始 - - -### **alias** - -- 释义:给一个命令取一个别名 - -- 常见用法: - -```bash -alias l='ls -l' ==> 给ls -l取个别名叫l -``` - -在上述设置别名的语句中,等号两边不能有空格 - -### **cd** - -- 释义:change director,切换当前路径 - -- 常见用法: - -```bash -cd /etc ==> 切换到 /etc -cd ==> 切换到家目录 -cd - ==> 切换到刚刚去过的地方,常用于两个路径来回切换 -cd .. ==> 切换到上一级目录 -cd ../.. ==> 切换到上上级目录 -``` - -### **clear** - -- 释义:清屏 - -- 常见用法: - -```bash -clear -``` - -### **date** - -- 释义:设置或查看日期时间 - -- 常见用法: - -```bash -date ==> 查看当前日期时间 -date -s "2024/12/12" ==> 设置日期 -``` - -### 「课堂练习1」 - -使用alias给clear命令取个别名,并写入配置文件~/.bashrc文件中。 - -### **dpkg** - -- 释义:手工安装 deb 软件包 - -- 常见用法: - -```bash -dpkg -i x.deb ==> 安装x.deb软件包 -``` - -![](images/WEBRESOURCE6a7bb9ddd1f4a4d59cfe5e6ad3365d47image.png) - -> 注意:Ubuntu是Debian系统的扩展和继承,因此Ubuntu中的软件安装包的格式为deb。 - - -> 注意:一般而言,在Ubuntu中很少需要手工安装deb包。因为APT软件管理器会自动下载并安装所需的软件,并会自动处理所有依赖的文件。dpkg只用在一些特定的场合,比如非APT自动下载的安装包的安装、APT自动安装失败等。 - - -### **echo** - -- 释义:回显,即将字符打印到屏幕上 - -- 常见用法: - -```bash -echo abcd ==> 输出字符串"abcd" -echo $PATH ==> 输出环境变量PATH的值 -echo "追加到文件末尾的内容" >> 文件的[路径]名字 -``` - -### **pwd** - -- 释义:present work directory,显示当前工作路径的绝对路径 - -- 常见用法: - -```bash -gec@ubuntu:~$ pwd ==> 显示当前路径,简单易用,童叟无欺 -``` - -### **sort** - -- 释义:对文件内容按行排序并输出 - -- 常见用法: - -```bash -gec@ubuntu:~$ sort file.txt ==> 按默认ASCII码升序排列 -gec@ubuntu:~$ sort file.txt -r ==> 按ASCII码降序排列 -gec@ubuntu:~$ sort file.txt -n ==> 按数值升序排列 -gec@ubuntu:~$ sort file.txt -nr ==> 按数值降序排列 -``` - -### **uniq** - -- 释义:unique,去除文件中重复的相邻的行 - -- 常见用法: - -``` -gec@ubuntu:~$ uniq file.txt -``` - -### **which** - -- 释义:查看命令所在路径 - -- 常见用法: - -``` -1. 查看默认命令 ls 所在路径 -gec@ubuntu:~$ which ls - -2 查看命令 qmake 的所有可能路径 -gec@ubuntu:~$ which -a qmake -``` - -### **管道** - -- 概念:在shell命令中,可以使用一种特殊的符号来连接两个不同的命令,使得前面命令的输出,变成后面命令的输入或参数,这种特殊的符号叫做管道。 - -- 用法: - -- 将前面命令的输出,成为后面命令的输入:cmd1 | cmd2 - -- 将前面命令的输出,成为后面命令的参数:cmd1 |xargs cmd2 - -- 举例: - -```bash -1. 将当前目录下的文件,按反序列出: -gec@ubuntu:~$ ls | sort -r - -2. 将当前目录下的文件,逐个删除掉: -gec@ubuntu:~$ ls |xargs rm -``` - -- 注意: - -1. 以上两个命令:sort和uniq,是典型的过滤器,它们就像一个安装在水管中间的过滤装置,将文件的数据一行一行地读出,并按照一定的规则过滤,然后输出过滤的结果。 - -1. 鉴于以上理解,可以将多个过滤器用管道连接起来,使之拥有更强大的功能,比如: - -```bash -gec@ubuntu:~$ sort file.txt | uniq -``` - -这样出来的数据,就既进行了排序,又进行了去重。 - -## 「课堂练习2」 - -根据管道的基本特性,设计一个命令组合,自动计算某个特定文件夹中的文件个数。 - -```shell -ls ~ | wc -w -``` - -# 2.文件管理命令 - -## **1. 文件显示** - -### **1.1 cat** - -- 释义:显示文本文件的内容 - -- 常见用法: - -```bash -gec@ubuntu:~$ cat file.txt ==> 显示文本文件内容 -gec@ubuntu:~$ cat -n a.c ==> 显示文本文件内容(并显示行号) -gec@ubuntu:~$ cat -A a.c ==> 显示文本文件内容(含不可见字符) -``` - -- 注意: - -在某些情况下,我们可能需要检测文件中那些不可见的字符。比如在Windows系统中编辑了程序文件,放到Ubuntu系统中编译可能会出现字符错误,这是因为Windows系统中的某些回车符、制表符跟Ubuntu系统的不一致,导致无法编译,而这些字符是不可见的,因此可以使用上述 cat -A 来识别。 - -### **1.2 head/tail** - -- 释义:查看指定文件的头部/尾部内容 - -- 常见用法: - -```bash -gec@ubuntu:~$ head file.txt -gec@ubuntu:~$ head -n file.txt //n表示看前面的多少行 -gec@ubuntu:~$ tail file.txt -gec@ubuntu:~$ tail -n file.txt -``` - -### **1.3 less/more** - -- 释义:以分页方式查看长文件(w上一页 d下一页 q退出) - -- 常见用法: - -```bash -gec@ubuntu:~$ less file.txt -gec@ubuntu:~$ more file.txt -``` - -### **1.4 od** - -- 释义:查看二进制文件 - -- 常见用法: - -```bash -gec@ubuntu:~$ od -x file ==> 以十六进制查看file -gec@ubuntu:~$ od -o file ==> 以八进制查看file -gec@ubuntu:~$ od -d file ==> 以十进制查看file -gec@ubuntu:~$ od -b file ==> 以二进制查看file -``` - -## **2. 文件复制** - -### **2.1 cp** - -- 释义:copy,复制文件或者复制整个目录 - -- 常见用法: - -```bash -gec@ubuntu:~$ cp file1 file2 ==> 将文件file1复制为file2 -gec@ubuntu:~$ cp dir1/ dir2/ -r ==> 将目录dir1/复制为dir2/ -``` - -- 注意: - -1. 如果file2或者dir2已存在,那么它们将会被覆盖 - -1. 目录名称 dir1/ 和 dir2/ 末尾的"/"是可选的,可写可不写,写上去只是为了强调 dir1 和 dir2 是目录,别无他意 - -### **2.2 scp** - -- 释义:security copy,跨网络复制文件或者复制整个目录 - -- 常见用法: - -```shell -# 将远程主机x.x.x.x中的/home/gec/目录下的文件a.txt复制到当前目录下 -scp user@x.x.x.x:/home/gec/a.txt . -#将当前路径下的a.txt复制到远程主机x.x.x.x的/home/gec目录中 -scp a.txt user@x.x.x.x:/home/gec/ -``` - -- 注意: - -1. user是源文件所在主机的用户名。 - -1. x.x.x.x是源文件所在主机的IP地址。 - -1. 成功执行上述命令后,需要输入主机x.x.x.x中用户user的密码方可复制文件。 - -## **3. 创建与删除** - -### **3.1 touch** - -- 释义: - -1. 在文件存在的情况下:将文件最近修改时间更新为当前时间 - -1. 在文件不存在的情况下:创建一个空文件 - -- 常见用法: - -```bash -#假设文件a.txt已存在 -gec@ubuntu:~$ touch a.txt ==> 更新a.txt的最近修改时间到当前时间 - -#假设文件b.txt不存在 -gec@ubuntu:~$ touch b.txt ==> 创建b.txt -``` - -### **3.2 mkdir/rmdir** - -- 释义:make/remove directory,创建/删除空目录 - -- 常见用法: - -```bash -gec@ubuntu:~$ mkdir a ==> 创建空目录a -gec@ubuntu:~$ mkdir b/c -p ==> 创建嵌套空目录b/c -gec@ubuntu:~$ rmdir a ==> 删除空目录a -``` - -- 注意: - -```bash -gec@ubuntu:~$ rm -r b //删除目录b -``` - -### **3.3 rm ** - -- 释义:remove,删除文件或目录 - -- 常见用法: - -```bash -gec@ubuntu:~$ rm file -gec@ubuntu:~$ rm -r dir/ -``` - -## **4. 查找** - -### **4.1 find** - -- 释义:在指定目录中,按指定条件寻找文件 - -- 常见用法: - -```bash -gec@ubuntu:~$ find /usr -name "*.h" ==> 在/usr中查找以.h结尾的文件 -gec@ubuntu:~$ find /tmp -type s ==> 在/tmp中查找类型为套接字的文件 -``` - -### **4.2 grep** - -- 释义:在指定文件或目录中,按指定条件寻找字符串 - -- 常见用法: - -```bash -gec@ubuntu:~$ grep 'apple' /usr -rn ==> 在/usr中查找包含apple的文件 -``` - -![](images/WEBRESOURCEcdae66fb6ebb479faa83c1a866792dcfimage.png) - -## **5. 其它** - -### **5.1 diff** - -- 释义:difference,检测两个文件或目录的差异信息 - -- 常见用法: - -```bash -gec@ubuntu:~$ diff file1 file2 ==> 检测文件file1和file2的差异信息 -gec@ubuntu:~$ diff dir1/ dir2/ -urN ==> 检测目录dir1/和dir2/的差异信息 -``` - -### **5.2 file** - -- 释义:检测指定文件的格式信息 - -- 常见用法: - -```bash -gec@ubuntu:~$ file a.tar.bz2 ==> 检测文件a.tar.bz2的格式 -gec@ubuntu:~$ file a.out ==> 检测文件a.out的格式 -``` - -### **5.3 mv** - -- 释义:move,移动文件,或给文件重命名 - -- 常见用法: - -``` -gec@ubuntu:~$ mv file dir/ -gec@ubuntu:~$ mv file1 file2 -``` - -![](images/WEBRESOURCE79e22617361347cebe8f87f732e64597image.png) - -![](images/WEBRESOURCE129c76fba17d4613b8bdaa6ea7ce7445image.png) - -### **5.4 wc** - -- 释义:计算字符数、单词数和行数 - -- 常见用法: - -```bash -gec@ubuntu:~$ wc ==> 计算从键盘输入的数据,以ctrl+d结束 -gec@ubuntu:~$ wc file.txt ==> 计算文件file.txt的数据 -w统计单词 -l统计行数 -c统计字符个数 -``` - -### 5.5ln - -Linux ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。 - -当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。 - -### 语法 - -```bash - ln [参数][源文件或目录][目标文件或目录] -``` - -其中参数的格式为 - -``` -[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] -``` - -``` -[--help] [--version] [--] -``` - -**命令功能** - -Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。 - -不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。 - -**软链接** - -- 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式 - -- 2.软链接可以 跨文件系统 ,硬链接不可以 - -- 3.软链接可以对一个不存在的文件名进行链接 - -- 4.软链接可以对目录进行链接 - -**硬链接** - -- 1.硬链接,以文件副本的形式存在。但不占用实际空间。 - -- 2.不允许给目录创建硬链接 - -- 3.硬链接只有在同一个文件系统中才能创建 - -#### 命令参数 - -**必要参数** - -- --backup[=CONTROL] 备份已存在的目标文件 - -- -b 类似 **--backup** ,但不接受参数 - -- -d 允许超级用户制作目录的硬链接 - -- -f 强制执行 - -- -i 交互模式,文件存在则提示用户是否覆盖 - -- -n 把符号链接视为一般目录 - -- -s 软链接(符号链接) - -- -v 显示详细的处理过程 - -**选择参数** - -- -S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>" - -- -V "-V<备份方式>"或"--version-control=<备份方式>" - -- --help 显示帮助信息 - -- --version 显示版本信息 - -### 实例 - -给文件创建软链接,为log2013.log文件创建软链接link2013,如果log2013.log丢失,link2013将失效: - -``` -ln -s log2013.log link2013 -``` - -输出: - -``` -[root@localhost test]# ll --rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log -[root@localhost test]# ln -s log2013.log link2013 -[root@localhost test]# ll -lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log --rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log -``` - -给文件创建硬链接,为log2013.log创建硬链接ln2013,log2013.log与ln2013的各项属性相同 - -``` -ln log2013.log ln2013 -``` - -输出: - -``` -[root@localhost test]# ll -lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log --rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log -[root@localhost test]# ln log2013.log ln2013 -[root@localhost test]# ll -lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log --rw-r--r-- 2 root bin 61 11-13 06:03 ln2013 --rw-r--r-- 2 root bin 61 11-13 06:03 log2013.log -``` - -# **3.压缩与解压命令** - -Linux下最常用的压缩包格式是: - -- gz - -- bz2 - -- zip - -- xz - -其中,gz和bz2格式一般都是通过tar命令来控制的,xz和zip格式各自由它们的同名命令控制。 - -### **tar** - -- 释义:归档、释放与压缩、解压 - -- 常见用法: - -```shell -第一,归档与释放: -gec@ubuntu:~$ tar cf a.tar dir/* ==> 将目录dir中的所有文件归档成a.tar -gec@ubuntu:~$ tar tf a.tar ==> 查看归档文件a.tar -gec@ubuntu:~$ tar xf a.tar ==> 释放归档文件a.tar - -第二,压缩与解压: -gec@ubuntu:~$ tar czf a.tar.gz dir/* ==> 将目录dir中的所有文件归档并压缩为gz格式 -gec@ubuntu:~$ tar tf a.tar.gz ==> 查看压缩文件a.tar.gz -gec@ubuntu:~$ tar xzf a.tar.gz ==> 解压压缩文件a.tar.gz - -gec@ubuntu:~$ tar cjf a.tar.bz2 dir/* ==> 将目录dir中的所有文件归档并压缩为bz2格式 -gec@ubuntu:~$ tar tf a.tar.bz2 ==> 查看压缩文件a.tar.bz2 -gec@ubuntu:~$ tar xjf a.tar.bz2 ==> 解压压缩文件a.tar.bz2 - -第三,指定路径: -gec@ubuntu:~$ tar -xf a.tar -C /tmp ==> 将文件释放到/tmp -gec@ubuntu:~$ tar -xzf a.tar.gz -C /tmp ==> 将文件解压到/tmp -``` - -- 注意: - -1. 归档只是简单的将文件归拢到一起,不涉及压缩算法,文件不会变小 - -1. 压缩会用到压缩算法,文件总体会变小。 - -![](images/WEBRESOURCEb1d100d90da44dd290e5d466aa253247image.png) - -### **xz** - -- 释义:压缩与解压 - -- 常见用法: - -```bash -gec@ubuntu:~$ xz a.tar ==> 将文件a.tar压缩成a.tar.xz -gec@ubuntu:~$ xz --decompress a.tar.xz ==> 解压a.tar.xz -``` - -- 注意:xz只能压缩单个文件,因此xz一般与tar配合使用,即:先用tar将要压缩的若干文件或目录归档成一个tar包,然后用xz将tar包压缩成xz格式压缩包。 - -![](images/WEBRESOURCE1512c7628ad24efb8661e34c9bc92ea4image.png) - -### **zip** - -zip不是系统自带的命令,一般需要自己手工安装: - -```bash -gec@ubuntu:~$ sudo apt install zip -``` - -- 释义:压缩与解压 - -- 常见用法: - -``` -gec@ubuntu:~$ zip a.zip file dir/ ==> 将指定的文件和目录压缩成a.zip -gec@ubuntu:~$ unzip a.zip ==> 解压a.zip -``` - -![](images/WEBRESOURCE8e82e4fab8524848a42b96e8a236dbd1image.png) - -# **4.权限管理命令** - -### **chmod** - -- 释义:修改文件权限 - -- 常见用法: - -```shell -gec@ubuntu:~$ chmod 644 file ==> 将文件权限改为644 rw-r--r-- 二进制 110 100 100 -gec@ubuntu:~$ chmod 755 dir/ ==> 将目录权限改为755 rwxr-xr-x -gec@ubuntu:~$ chmod +x file ==> 给file的所有用户添加执行权限x -gec@ubuntu:~$ chmod -x file ==> 给file的所有用户删除执行权限x -``` - -在Linux中,文件的权限一般用rwx来表示: - -- r 代表read,可读 - -- w 代表write,可写 - -- x 代表excute,可执行 - -对于某个文件而言,系统中的所有用户被分成三类,它们是文件的所有者,文件的所属组成员和其他人。这三类用户对这个文件的rwx权限,可以由命令 ls -l 来查看: - -```bash -gec@ubuntu:~$ ls -l --rw-rw-r-- 1 gec gec 127 Oct 30 14:41 a.c --rwxrwxr-x 1 gec gec 8768 Oct 30 14:41 a.out -``` - -在上述列子中,rwx三组权限对应了三种用户。当我们需要修改这些权限的时候,为了便于描述,一般用三个八进制数来对应这些权限位,如下表所示: - -![](images/WEBRESOURCE407a5b70ff9f4e29bf2692184106bb98stickPicture.png) - -如此,权限 644 就代表了 rw-r--r--,权限 755 就代表了 rwxr-xr-x。 - -### **chown** - -- 释义:change owner,修改文件的所有者 - -- 常见用法: - -```bash -gec@ubuntu:~$ sudo chown jack a.txt ==> 将文件a.txt的所有者修改为jack -``` - -> 注意:修改文件所有者信息,须以管理员身份才能执行,因此在命令的前面要加sudo,并在随后执行是要输入管理员密码。另外要注意,输入管理员密码时系统默认是不回显的。 - - -### **chgrp** - -- 释义:change group,修改文件的所属组 - -- 常见用法: - -``` -gec@ubuntu:~$ sudo chgrp gec a.txt ==> 将文件a.txt的所属组修改为gec -``` - -### **用户管理命令** - -### **adduser/deluser** - -- 释义:添加/删除系统用户 - -- 常见用法: - -```bash -gec@ubuntu:~$ sudo adduser jack ==> 添加用户jack -gec@ubuntu:~$ sudo deluser jack ==> 删除用户jack -``` - -> 提醒:gec@ubuntu:~$ 系统所有的用户清单统一放在 /etc/passwd 中gec@ubuntu:~$ 删除用户后,默认会残留用户的家目录,如果想要连带家目录也一锅端,可以使用这个命令:sudo deluser --remove-home jack -> 创建的新用户需要与安装时建立的用户一样可以切换超级用户则需要在"/etc/sudoers"文件中添加新建的用户 -> - - -### **addgroup/delgroup** - -- 释义:添加/删除系统用户组 - -- 常见用法: - -```bash -gec@ubuntu:~$ sudo addgroup gec ==> 添加用户组gec -gec@ubuntu:~$ sudo delgroup gec ==> 删除用户组gec -``` - -> 提醒:系统所有的用户组清单统一放在 /etc/group 中 - - -### **whoami/id** - -- 释义:查看当前用户/相关ID - -- 常见用法: - -```bash -gec@ubuntu:~$ whoami ==> 显示当前用户名 -gec@ubuntu:~$ id ==> 显示与当前用户相关的ID信息 -``` - -### **usermod** - -- 释义:修改用户相关信息 - -- 常见用法: - -```bash -gec@ubuntu:~$ usermod jack -a -G gec ==> 将jack添加入用户组gec中 -``` - -## 「课堂练习3」 - -根据已学知识和 man 帮助手册,完成以下动作: - -- 给系统增加一个新用户: Jack - -- 将 Jack 添加到管理员用户组 sudo 中 - -- 将 Jack 从管理员用户组 sudo 中剔除出去 - -### su - -- 释义:登录普通用户 - -- 常见用法: - -```shell -gec@ubuntu:~$ su jack ==> 从gec用户登录到jack -jack@ubuntu:/home/gec$ exit ==> 退出jack用户登录回到gec用户 -``` - -### sudo - -- 释义:超级管理员用户切换 - -- 常见用法: - -```shell -gec@ubuntu:~$ sudo -s ==> 从gec用户登录到root #sudo su -root@ubuntu:/home/gec# exit ==> 退出root用户登录回到gec用户 -gec@ubuntu:~$ sudo apt install *** ==> 以超级管理员身份进行执行apt程序 -``` - -### passwd - -- 释义:设置或修改密码 - -- 常见用法: - -```shell -gec@ubuntu:~$ sudo passwd jack ==> 修改jack的密码 -``` - -# **5.进程管理命令** - -### **ps** - -- 释义:process state,获取进程当前状态 - -- 常见用法: - -``` -gec@ubuntu:~$ ps -ef -gec@ubuntu:~$ ps aux -``` - -### **top** - -- 释义:持续跟踪进程状态 - -- 常见用法: - -``` -gec@ubuntu:~$ top -gec@ubuntu:~$ top -p PID -``` - -- 注意:top可以通过ctrl+左右箭头翻页 - -### **kill** - -- 释义:向指定进程发送信号 - -- 常见用法: - -``` -gec@ubuntu:~$ kill -l ==> 查看系统所支持的所有的信号列表 -gec@ubuntu:~$ kill -s SIGXXX PID ==> 向进程PID发送信号SIGXXX -gec@ubuntu:~$ kill -n PID ==> 向进程PID发送第n号信号 -``` - -## 「课堂练习4」 - -使用已学过的命令,关闭当前执行命令的终端。 - -# **6.系统管理命令** - -### **df** - -- 释义:查看系统分区信息 - -- 常见用法: - -```bash -gec@ubuntu:~$ df -h -文件系统 总大小 已用 剩余 使用率% 挂载点 -udev 916M 0 916M 0% /dev -tmpfs 188M 11M 178M 6% /run -/dev/vda1 50G 6.8G 40G 15% / -tmpfs 937M 48K 936M 1% /dev/shm -tmpfs 5.0M 0 5.0M 0% /run/lock -tmpfs 937M 0 937M 0% /sys/fs/cgroup -cgmfs 100K 0 100K 0% /run/cgmanager/fs -tmpfs 188M 0 188M 0% /run/user/500 -``` - -### **du** - -- 释义:查看系统分区信息 - -- 常见用法: - -```bash -gec@ubuntu:~$ du -gec@ubuntu:~$ du -sh -``` - -### **fdisk** - -- 释义:查看/设置硬盘分区 - -- 常见用法: - -```bash -gec@ubuntu:~$ sudo fdisk -l ==> 查看当前系统已识别的分区。 -``` - -> 提醒:df只能查看已经识别且挂载了的分区,而fdisk可以查看未挂载的分区,实际上在系统识别出了分区之后,一般需要使用fdisk来查看分区的名称,然后才能使用mount来挂载,然后才能使用df查看到。 - - -![](images/WEBRESOURCEdca6cd5efadd4689831d682bf41cc7ccimage.png) - -### **mount / umount** - -- 释义:挂载/卸载分区 - -- 常见用法: - -```bash -挂载分区: -gec@ubuntu:~$ mount /dev/sdb /mnt/u ==> 将分区sdb挂载到/mnt/u - -卸载分区: -gec@ubuntu:~$ umount /dev/sdb ==> 将分区sdb卸载 -gec@ubuntu:~$ umount /mnt/u ==> 将挂载点/mnt/u卸载 -``` - -> 提醒:卸载分区名,或卸载挂载点两种方式是等价的。 - - -# **7.网络命令** - -### **hostname** - -- 释义:查看系统主机名 - -- 常见用法: - -```bash -gec@ubuntu:~$ hostname -ubuntu -gec@ubuntu:~$ -``` - -### **ifconfig** - -- 释义:查看/设置系统IP地址 - -- 常见用法: - -```bash -# 查看当前活跃的网络接口 -gec@ubuntu:~$ ifconfig - -# 查看所有的网络接口 -gec@ubuntu:~$ ifconfig -a - -# 设置指定的网络接口的IP地址 -gec@ubuntu:~$ ifconfig ens33 192.168.1.100 -``` - -使用ifconfig设置的IP是临时的,如要使得设置效果永久有效,则需要修改系统的 /etc/networking/interfaces 文件,将IP地址设置进去。例如: - -```bash -gec@ubuntu:~$ cat /etc/network/interfaces -# interfaces(5) file used by ifup(8) and ifdown(8) -auto lo -iface lo inet loopback - -auto ens33 -iface ens33 inet static -address 192.168.1.100 -netmask 255.255.255.0 -gateway 192.168.1.1 -``` - -### **ifup / ifdown** - -- 释义:启停指定网络接口卡 - -- 常见用法: - -``` -gec@ubuntu:~$ sudo ifdown ens33 ==> 禁用网络接口卡ens33 -gec@ubuntu:~$ sudo ifup ens33 ==> 启用网络接口卡ens33 -``` - -### **ping** - -- 释义:向指定主机发送要求回应的ICMP数据包 - -- 常见用法: - -``` -gec@ubuntu:~$ ping 192.168.1.200 -gec@ubuntu:~$ ping www.qq.com -``` - -> 提醒:一般而言,如果网络是畅通的,那么ping命令将会看到数据包返回的延迟时间,否则如果看不到延迟时间,并且对端的防火墙处于关闭状态,那么网络就是不通的。 - - -![](images/WEBRESOURCEed5787510918454ba2bb99c072576e41stickPicture.png) - -# 8. \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE007db8830b714539aa71697daf21ed53image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE007db8830b714539aa71697daf21ed53image.png deleted file mode 100644 index 8f91dad..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE007db8830b714539aa71697daf21ed53image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE057f344b13854390b81a5a5e901dbbb9image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE057f344b13854390b81a5a5e901dbbb9image.png deleted file mode 100644 index 0fb0343..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE057f344b13854390b81a5a5e901dbbb9image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE0cdcf4a88e6eba4375dd290569c05c2eimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE0cdcf4a88e6eba4375dd290569c05c2eimage.png deleted file mode 100644 index d8de7a6..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE0cdcf4a88e6eba4375dd290569c05c2eimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE0de3cb22c41147998d4d78c3280a33d3image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE0de3cb22c41147998d4d78c3280a33d3image.png deleted file mode 100644 index d498382..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE0de3cb22c41147998d4d78c3280a33d3image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE0e99510f866a1bb39a2d5de5d4753e73image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE0e99510f866a1bb39a2d5de5d4753e73image.png deleted file mode 100644 index 056a501..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE0e99510f866a1bb39a2d5de5d4753e73image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE0fa810ce77624fe3b787d026cfa7a685image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE0fa810ce77624fe3b787d026cfa7a685image.png deleted file mode 100644 index e0e0af3..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE0fa810ce77624fe3b787d026cfa7a685image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE10ced81c01044c5d8aef0fd21f434ae2image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE10ced81c01044c5d8aef0fd21f434ae2image.png deleted file mode 100644 index c09ef70..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE10ced81c01044c5d8aef0fd21f434ae2image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE11452f3b194f4e32be15f73a556b787dclipboard.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE11452f3b194f4e32be15f73a556b787dclipboard.png deleted file mode 100644 index 5b8930d..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE11452f3b194f4e32be15f73a556b787dclipboard.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE129c76fba17d4613b8bdaa6ea7ce7445image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE129c76fba17d4613b8bdaa6ea7ce7445image.png deleted file mode 100644 index db2f04d..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE129c76fba17d4613b8bdaa6ea7ce7445image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE14dab69c4073430899e03a2f5e57c167截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE14dab69c4073430899e03a2f5e57c167截图.png deleted file mode 100644 index 81ff7ce..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE14dab69c4073430899e03a2f5e57c167截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1512c7628ad24efb8661e34c9bc92ea4image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1512c7628ad24efb8661e34c9bc92ea4image.png deleted file mode 100644 index 9c79d01..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1512c7628ad24efb8661e34c9bc92ea4image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1597955388994880ae32096facd23031image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1597955388994880ae32096facd23031image.png deleted file mode 100644 index 6de6e65..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1597955388994880ae32096facd23031image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1606aee8ccb74f578d3399e41829455eimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1606aee8ccb74f578d3399e41829455eimage.png deleted file mode 100644 index afcfa46..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1606aee8ccb74f578d3399e41829455eimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE166fbcc666024e3c83bcb4a876265bfc截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE166fbcc666024e3c83bcb4a876265bfc截图.png deleted file mode 100644 index ae2dc3a..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE166fbcc666024e3c83bcb4a876265bfc截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE16c29539d5944f13a304f45d4e08e462image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE16c29539d5944f13a304f45d4e08e462image.png deleted file mode 100644 index b8f6ecb..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE16c29539d5944f13a304f45d4e08e462image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE198b05f09ff54910b7754cddac25dfffimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE198b05f09ff54910b7754cddac25dfffimage.png deleted file mode 100644 index 675419c..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE198b05f09ff54910b7754cddac25dfffimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1c2d8f5d9912ff36f50dc01c91bfabcdimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1c2d8f5d9912ff36f50dc01c91bfabcdimage.png deleted file mode 100644 index 809d69a..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1c2d8f5d9912ff36f50dc01c91bfabcdimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1cfd0409b18343c5aa0e4a742863553dstickPicture.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1cfd0409b18343c5aa0e4a742863553dstickPicture.png deleted file mode 100644 index ceaaf62..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1cfd0409b18343c5aa0e4a742863553dstickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1d066e57d29541b1852669d9f31e8eecclipboard.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1d066e57d29541b1852669d9f31e8eecclipboard.png deleted file mode 100644 index 134a5f1..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE1d066e57d29541b1852669d9f31e8eecclipboard.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE20309143f783406082fa8227ceb332c0截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE20309143f783406082fa8227ceb332c0截图.png deleted file mode 100644 index 914b0fa..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE20309143f783406082fa8227ceb332c0截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE20612257d0f44ea29703856c822950d0stickPicture.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE20612257d0f44ea29703856c822950d0stickPicture.png deleted file mode 100644 index 47f8f1b..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE20612257d0f44ea29703856c822950d0stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE239add8580e01ea33a9592b219ad2e9fimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE239add8580e01ea33a9592b219ad2e9fimage.png deleted file mode 100644 index 9191a16..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE239add8580e01ea33a9592b219ad2e9fimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2674f78eee384c64b04e88582a0e5e76clipboard.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2674f78eee384c64b04e88582a0e5e76clipboard.png deleted file mode 100644 index a1114e0..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2674f78eee384c64b04e88582a0e5e76clipboard.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE26ef4b2a78ff2c28a0dacd2f72cd1fceimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE26ef4b2a78ff2c28a0dacd2f72cd1fceimage.png deleted file mode 100644 index d31d3bf..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE26ef4b2a78ff2c28a0dacd2f72cd1fceimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2954fab7a4e5446890a86e2e2689b2f5image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2954fab7a4e5446890a86e2e2689b2f5image.png deleted file mode 100644 index 483e231..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2954fab7a4e5446890a86e2e2689b2f5image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2ae66303bd38437f983a465df3546099截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2ae66303bd38437f983a465df3546099截图.png deleted file mode 100644 index 81b1d37..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2ae66303bd38437f983a465df3546099截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2c13345c757849d5b3a82210fcd089c7image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2c13345c757849d5b3a82210fcd089c7image.png deleted file mode 100644 index 4cb6ac1..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2c13345c757849d5b3a82210fcd089c7image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2cc68dfc42b14db284a866849fb6057cclipboard.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2cc68dfc42b14db284a866849fb6057cclipboard.png deleted file mode 100644 index 1bd0d0d..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2cc68dfc42b14db284a866849fb6057cclipboard.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2ccd15caf9bd42f8a2e9d24a63c5c303image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2ccd15caf9bd42f8a2e9d24a63c5c303image.png deleted file mode 100644 index 6a36f33..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2ccd15caf9bd42f8a2e9d24a63c5c303image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2eb363b22579436daf6c442f8d55bb99截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2eb363b22579436daf6c442f8d55bb99截图.png deleted file mode 100644 index b26c14d..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE2eb363b22579436daf6c442f8d55bb99截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE330065e5264d47359c951ddbba7ef933localFile.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE330065e5264d47359c951ddbba7ef933localFile.png deleted file mode 100644 index e123c7d..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE330065e5264d47359c951ddbba7ef933localFile.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE3335ce1a4ffb4bc3946161785318809dimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE3335ce1a4ffb4bc3946161785318809dimage.png deleted file mode 100644 index 5fb7fb3..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE3335ce1a4ffb4bc3946161785318809dimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE33e9383546495e823d3fef48d14f22b2image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE33e9383546495e823d3fef48d14f22b2image.png deleted file mode 100644 index d2da0ca..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE33e9383546495e823d3fef48d14f22b2image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE3734c363be3041cdb248c340eccf6608image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE3734c363be3041cdb248c340eccf6608image.png deleted file mode 100644 index 0c3d777..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE3734c363be3041cdb248c340eccf6608image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE3954317989534229a6f3353415673eb7image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE3954317989534229a6f3353415673eb7image.png deleted file mode 100644 index 6b7017d..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE3954317989534229a6f3353415673eb7image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE39ad1c12ce8944f5baf53adf251c6152image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE39ad1c12ce8944f5baf53adf251c6152image.png deleted file mode 100644 index 87ead34..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE39ad1c12ce8944f5baf53adf251c6152image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE407a5b70ff9f4e29bf2692184106bb98stickPicture.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE407a5b70ff9f4e29bf2692184106bb98stickPicture.png deleted file mode 100644 index 50c5ce6..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE407a5b70ff9f4e29bf2692184106bb98stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE40ecee3c45ed49cba08153c5e1314e1aimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE40ecee3c45ed49cba08153c5e1314e1aimage.png deleted file mode 100644 index 0a4453b..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE40ecee3c45ed49cba08153c5e1314e1aimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE45c51d8809e541af992df6e704909de0stickPicture.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE45c51d8809e541af992df6e704909de0stickPicture.png deleted file mode 100644 index c0e3989..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE45c51d8809e541af992df6e704909de0stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE4668f3efeae947e88d2604137a0ea6d4image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE4668f3efeae947e88d2604137a0ea6d4image.png deleted file mode 100644 index 8f80fb2..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE4668f3efeae947e88d2604137a0ea6d4image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE483559e02d97418681caca2ce4ce7003image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE483559e02d97418681caca2ce4ce7003image.png deleted file mode 100644 index 77d63c5..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE483559e02d97418681caca2ce4ce7003image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5195ae1087314f47af67c62f9d954ac5image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5195ae1087314f47af67c62f9d954ac5image.png deleted file mode 100644 index 21719b3..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5195ae1087314f47af67c62f9d954ac5image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5296aa7dcfd14b96881247007a0e0892stickPicture.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5296aa7dcfd14b96881247007a0e0892stickPicture.png deleted file mode 100644 index 798bd13..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5296aa7dcfd14b96881247007a0e0892stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5348389a4d1c4b4eb66a03f3841938f5image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5348389a4d1c4b4eb66a03f3841938f5image.png deleted file mode 100644 index 4c072c2..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5348389a4d1c4b4eb66a03f3841938f5image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE535aab41498c38bdf05ce87024623f1eimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE535aab41498c38bdf05ce87024623f1eimage.png deleted file mode 100644 index 2abde48..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE535aab41498c38bdf05ce87024623f1eimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5383a9a6b4e54ff7bd5baae5562cb75e截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5383a9a6b4e54ff7bd5baae5562cb75e截图.png deleted file mode 100644 index 2427fe7..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5383a9a6b4e54ff7bd5baae5562cb75e截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE53cd85664954b3499b8c61202b4d5191image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE53cd85664954b3499b8c61202b4d5191image.png deleted file mode 100644 index 03fac29..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE53cd85664954b3499b8c61202b4d5191image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5fcadc9becb441e19779d82e2d845ea6image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5fcadc9becb441e19779d82e2d845ea6image.png deleted file mode 100644 index 639644b..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE5fcadc9becb441e19779d82e2d845ea6image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE613c5526bad54dbda610f99c1be8d3faimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE613c5526bad54dbda610f99c1be8d3faimage.png deleted file mode 100644 index c0dc8a2..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE613c5526bad54dbda610f99c1be8d3faimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE61d26be5f462481b8afa701a030e27acclipboard.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE61d26be5f462481b8afa701a030e27acclipboard.png deleted file mode 100644 index 4de76cb..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE61d26be5f462481b8afa701a030e27acclipboard.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE62cf6c590d864cdd91e83392b7ca81f6image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE62cf6c590d864cdd91e83392b7ca81f6image.png deleted file mode 100644 index 2266a98..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE62cf6c590d864cdd91e83392b7ca81f6image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE64396f9c2d5b447b853171ffb6f109e3截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE64396f9c2d5b447b853171ffb6f109e3截图.png deleted file mode 100644 index 9669d7c..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE64396f9c2d5b447b853171ffb6f109e3截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE681f699a07f3448296f962f4788959eeimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE681f699a07f3448296f962f4788959eeimage.png deleted file mode 100644 index d1d50f3..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE681f699a07f3448296f962f4788959eeimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE68aa3091b49e412fbe48df310e878915clipboard.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE68aa3091b49e412fbe48df310e878915clipboard.png deleted file mode 100644 index 5ee6832..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE68aa3091b49e412fbe48df310e878915clipboard.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE6a19fe5c92be4a82b3da492a6e02d38astickPicture.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE6a19fe5c92be4a82b3da492a6e02d38astickPicture.png deleted file mode 100644 index edc4f93..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE6a19fe5c92be4a82b3da492a6e02d38astickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE6a7bb9ddd1f4a4d59cfe5e6ad3365d47image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE6a7bb9ddd1f4a4d59cfe5e6ad3365d47image.png deleted file mode 100644 index 0f5c159..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE6a7bb9ddd1f4a4d59cfe5e6ad3365d47image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE6d0549ebb27d4d30833be4fa39800022clipboard.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE6d0549ebb27d4d30833be4fa39800022clipboard.png deleted file mode 100644 index 69ee42d..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE6d0549ebb27d4d30833be4fa39800022clipboard.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE7295dea05fc1433a8128ebc8ec091265stickPicture.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE7295dea05fc1433a8128ebc8ec091265stickPicture.png deleted file mode 100644 index f07227c..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE7295dea05fc1433a8128ebc8ec091265stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE7341f65d145e4c9292f86ee78a012940clipboard.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE7341f65d145e4c9292f86ee78a012940clipboard.png deleted file mode 100644 index 162e6e6..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE7341f65d145e4c9292f86ee78a012940clipboard.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE76cfd724f20c4cd6b08cdacca17fbc4eimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE76cfd724f20c4cd6b08cdacca17fbc4eimage.png deleted file mode 100644 index a641472..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE76cfd724f20c4cd6b08cdacca17fbc4eimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE7709d0a22d554a06864909abf2732defimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE7709d0a22d554a06864909abf2732defimage.png deleted file mode 100644 index 8685dbb..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE7709d0a22d554a06864909abf2732defimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE778e6bbd547a49f7a27408810d3e357d截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE778e6bbd547a49f7a27408810d3e357d截图.png deleted file mode 100644 index 45d5c8c..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE778e6bbd547a49f7a27408810d3e357d截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE78fb02ac886841f196551c49c53e4fa1image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE78fb02ac886841f196551c49c53e4fa1image.png deleted file mode 100644 index cb1f8b7..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE78fb02ac886841f196551c49c53e4fa1image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE79a7854aa8f7b1ca68ca73aea35fc928image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE79a7854aa8f7b1ca68ca73aea35fc928image.png deleted file mode 100644 index 6535e7f..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE79a7854aa8f7b1ca68ca73aea35fc928image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE79e22617361347cebe8f87f732e64597image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE79e22617361347cebe8f87f732e64597image.png deleted file mode 100644 index 317d247..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE79e22617361347cebe8f87f732e64597image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE7d9986301c4c4b7bafec0cf836334219image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE7d9986301c4c4b7bafec0cf836334219image.png deleted file mode 100644 index f5ba6e8..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE7d9986301c4c4b7bafec0cf836334219image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE80ef22ee4f3943d387943037287538b6image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE80ef22ee4f3943d387943037287538b6image.png deleted file mode 100644 index b98bd62..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE80ef22ee4f3943d387943037287538b6image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE829ca347b9cc4d3b9763e0f526c7c621clipboard.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE829ca347b9cc4d3b9763e0f526c7c621clipboard.png deleted file mode 100644 index 2889bbe..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE829ca347b9cc4d3b9763e0f526c7c621clipboard.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE84a4440c8f764f1e9c4a2c6bb3155de1clipboard.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE84a4440c8f764f1e9c4a2c6bb3155de1clipboard.png deleted file mode 100644 index c6b0299..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE84a4440c8f764f1e9c4a2c6bb3155de1clipboard.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE85ce4d82a39f7f58a8c4a3c9752d1e53image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE85ce4d82a39f7f58a8c4a3c9752d1e53image.png deleted file mode 100644 index 5efc9e2..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE85ce4d82a39f7f58a8c4a3c9752d1e53image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE8b51f56eeb0d4ef082b3ff4e3e984124image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE8b51f56eeb0d4ef082b3ff4e3e984124image.png deleted file mode 100644 index fe1d508..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE8b51f56eeb0d4ef082b3ff4e3e984124image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE8b764d09a9a243939568d97dfa5958faimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE8b764d09a9a243939568d97dfa5958faimage.png deleted file mode 100644 index a12f768..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE8b764d09a9a243939568d97dfa5958faimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE8d9bc18de10e43f6b7100034df6b7547截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE8d9bc18de10e43f6b7100034df6b7547截图.png deleted file mode 100644 index 8659963..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE8d9bc18de10e43f6b7100034df6b7547截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE8e82e4fab8524848a42b96e8a236dbd1image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE8e82e4fab8524848a42b96e8a236dbd1image.png deleted file mode 100644 index dba03eb..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE8e82e4fab8524848a42b96e8a236dbd1image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE90052f7e84d296350dc684c5f8d9fe79image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE90052f7e84d296350dc684c5f8d9fe79image.png deleted file mode 100644 index 9667bd1..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE90052f7e84d296350dc684c5f8d9fe79image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE906e727a49dfe1ab4acec6bd2b0922c3image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE906e727a49dfe1ab4acec6bd2b0922c3image.png deleted file mode 100644 index 4f7c5f7..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE906e727a49dfe1ab4acec6bd2b0922c3image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE911e5cc27c401553aa3ef8b3f7a8d352image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE911e5cc27c401553aa3ef8b3f7a8d352image.png deleted file mode 100644 index 9ab2ccd..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE911e5cc27c401553aa3ef8b3f7a8d352image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE95a3eb98035f4d6588a7cc60f04e3a43image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE95a3eb98035f4d6588a7cc60f04e3a43image.png deleted file mode 100644 index 4658925..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE95a3eb98035f4d6588a7cc60f04e3a43image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE965e14afbca177da23bad4b24f218311image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE965e14afbca177da23bad4b24f218311image.png deleted file mode 100644 index 42e6f60..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE965e14afbca177da23bad4b24f218311image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE99c587d679ee1e89a92072ae24e5a10fimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE99c587d679ee1e89a92072ae24e5a10fimage.png deleted file mode 100644 index c2e5aac..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE99c587d679ee1e89a92072ae24e5a10fimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE9a911191d7d346488b2985c095e246c8image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE9a911191d7d346488b2985c095e246c8image.png deleted file mode 100644 index ea69e8d..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE9a911191d7d346488b2985c095e246c8image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE9ade1b9e6431d4fa2ad97722032c0a0eimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE9ade1b9e6431d4fa2ad97722032c0a0eimage.png deleted file mode 100644 index a5eda5f..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE9ade1b9e6431d4fa2ad97722032c0a0eimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE9c4cee3e5fc04fe4bba5847c6b3d477cimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE9c4cee3e5fc04fe4bba5847c6b3d477cimage.png deleted file mode 100644 index 8e06d3e..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE9c4cee3e5fc04fe4bba5847c6b3d477cimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE9d9186b70a304a4db86565fde8a8d1e2image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE9d9186b70a304a4db86565fde8a8d1e2image.png deleted file mode 100644 index 6d555a7..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCE9d9186b70a304a4db86565fde8a8d1e2image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEa00846a6c2b74327a597f110d86d52f4stickPicture.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEa00846a6c2b74327a597f110d86d52f4stickPicture.png deleted file mode 100644 index 95c5382..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEa00846a6c2b74327a597f110d86d52f4stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEa3c86ec3e4414dd9865a99216bca21b8image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEa3c86ec3e4414dd9865a99216bca21b8image.png deleted file mode 100644 index 1c40394..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEa3c86ec3e4414dd9865a99216bca21b8image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEab3791f6ea2d4ee1a800caaf9d9c809a截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEab3791f6ea2d4ee1a800caaf9d9c809a截图.png deleted file mode 100644 index cd59029..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEab3791f6ea2d4ee1a800caaf9d9c809a截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEabbcafc8a41effea663a62f333e9a737image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEabbcafc8a41effea663a62f333e9a737image.png deleted file mode 100644 index d18fd7a..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEabbcafc8a41effea663a62f333e9a737image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEaeb2cb5c6d2343e79081336fe42953faimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEaeb2cb5c6d2343e79081336fe42953faimage.png deleted file mode 100644 index edb385b..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEaeb2cb5c6d2343e79081336fe42953faimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEaf110ccde82f4aad86243128a0aa65a2image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEaf110ccde82f4aad86243128a0aa65a2image.png deleted file mode 100644 index 8aea442..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEaf110ccde82f4aad86243128a0aa65a2image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEaf43058e62b1433f8f86ddae338e1a9a截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEaf43058e62b1433f8f86ddae338e1a9a截图.png deleted file mode 100644 index 5f59ac7..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEaf43058e62b1433f8f86ddae338e1a9a截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEb0ab22fbfdce44eb8e8a1603f0f71a73image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEb0ab22fbfdce44eb8e8a1603f0f71a73image.png deleted file mode 100644 index 796a1e4..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEb0ab22fbfdce44eb8e8a1603f0f71a73image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEb0ee65d865824f49bc07757db8bf7bd7截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEb0ee65d865824f49bc07757db8bf7bd7截图.png deleted file mode 100644 index c975db5..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEb0ee65d865824f49bc07757db8bf7bd7截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEb1d100d90da44dd290e5d466aa253247image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEb1d100d90da44dd290e5d466aa253247image.png deleted file mode 100644 index a5afe7d..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEb1d100d90da44dd290e5d466aa253247image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEb77a86e6998ad4cd67f54764036f947fimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEb77a86e6998ad4cd67f54764036f947fimage.png deleted file mode 100644 index a661772..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEb77a86e6998ad4cd67f54764036f947fimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEba91a8a84b224d58a75674ed4d98a3beimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEba91a8a84b224d58a75674ed4d98a3beimage.png deleted file mode 100644 index f53d8fc..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEba91a8a84b224d58a75674ed4d98a3beimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEbb1d9b96ef1b391490c612421995ab0bimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEbb1d9b96ef1b391490c612421995ab0bimage.png deleted file mode 100644 index 5dbfae5..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEbb1d9b96ef1b391490c612421995ab0bimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEbc70bec4ac945be15f994ecfdadcffbbimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEbc70bec4ac945be15f994ecfdadcffbbimage.png deleted file mode 100644 index 62ed32f..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEbc70bec4ac945be15f994ecfdadcffbbimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEbc7c70fc9bcf45a4b1faa871d65b6ae0image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEbc7c70fc9bcf45a4b1faa871d65b6ae0image.png deleted file mode 100644 index 494333b..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEbc7c70fc9bcf45a4b1faa871d65b6ae0image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEbd44608fd6664867bca2f8e4561fae77image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEbd44608fd6664867bca2f8e4561fae77image.png deleted file mode 100644 index 1aaa6de..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEbd44608fd6664867bca2f8e4561fae77image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEc0365553cbf46976d46016c7ee3ca7d4image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEc0365553cbf46976d46016c7ee3ca7d4image.png deleted file mode 100644 index f2cf76c..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEc0365553cbf46976d46016c7ee3ca7d4image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEc1d22d25f7ac4510a6dedc0c74470887截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEc1d22d25f7ac4510a6dedc0c74470887截图.png deleted file mode 100644 index a458de5..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEc1d22d25f7ac4510a6dedc0c74470887截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEc3da925d41ce4533a2ea08f06e79c028localFile.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEc3da925d41ce4533a2ea08f06e79c028localFile.png deleted file mode 100644 index 707661e..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEc3da925d41ce4533a2ea08f06e79c028localFile.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEc7bb8456a3a64bc698f5909f5de32357image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEc7bb8456a3a64bc698f5909f5de32357image.png deleted file mode 100644 index 00f1fbf..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEc7bb8456a3a64bc698f5909f5de32357image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEcdae66fb6ebb479faa83c1a866792dcfimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEcdae66fb6ebb479faa83c1a866792dcfimage.png deleted file mode 100644 index 5c855eb..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEcdae66fb6ebb479faa83c1a866792dcfimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEd1d54f0ee77146aab54b2abc96a7431aimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEd1d54f0ee77146aab54b2abc96a7431aimage.png deleted file mode 100644 index a244df0..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEd1d54f0ee77146aab54b2abc96a7431aimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEdca6cd5efadd4689831d682bf41cc7ccimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEdca6cd5efadd4689831d682bf41cc7ccimage.png deleted file mode 100644 index 44ca8df..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEdca6cd5efadd4689831d682bf41cc7ccimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEdcccbf9b8b9041f4b0578904d4d8954e截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEdcccbf9b8b9041f4b0578904d4d8954e截图.png deleted file mode 100644 index b6d86ab..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEdcccbf9b8b9041f4b0578904d4d8954e截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEdce1d39bdf30394844f8f4495a038ee3image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEdce1d39bdf30394844f8f4495a038ee3image.png deleted file mode 100644 index ff5d7e3..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEdce1d39bdf30394844f8f4495a038ee3image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe2fd4c540d704f1c9530a4d4ecb9e21estickPicture.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe2fd4c540d704f1c9530a4d4ecb9e21estickPicture.png deleted file mode 100644 index 9c5570e..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe2fd4c540d704f1c9530a4d4ecb9e21estickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe544d03066fb43a595fa2645f30b1ea7image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe544d03066fb43a595fa2645f30b1ea7image.png deleted file mode 100644 index ba9d377..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe544d03066fb43a595fa2645f30b1ea7image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe54e5e49800c59dd7043655d8afddc0aimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe54e5e49800c59dd7043655d8afddc0aimage.png deleted file mode 100644 index 6302cc6..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe54e5e49800c59dd7043655d8afddc0aimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe5e0a4a20f1026774dfaabcd050a7551image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe5e0a4a20f1026774dfaabcd050a7551image.png deleted file mode 100644 index 33da785..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe5e0a4a20f1026774dfaabcd050a7551image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe90e25a2d4896ff0028bde1f058872bbimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe90e25a2d4896ff0028bde1f058872bbimage.png deleted file mode 100644 index b240317..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEe90e25a2d4896ff0028bde1f058872bbimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEeab95646301b4b9093879917fcf38fffstickPicture.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEeab95646301b4b9093879917fcf38fffstickPicture.png deleted file mode 100644 index 6c0b05e..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEeab95646301b4b9093879917fcf38fffstickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEece907cd362d4acaaca0307d0628fb21image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEece907cd362d4acaaca0307d0628fb21image.png deleted file mode 100644 index 623393d..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEece907cd362d4acaaca0307d0628fb21image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEed5787510918454ba2bb99c072576e41stickPicture.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEed5787510918454ba2bb99c072576e41stickPicture.png deleted file mode 100644 index 8659963..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEed5787510918454ba2bb99c072576e41stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEee8c6774c8ddf514f5e8be0b4f25c4caimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEee8c6774c8ddf514f5e8be0b4f25c4caimage.png deleted file mode 100644 index c0e213f..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEee8c6774c8ddf514f5e8be0b4f25c4caimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEf401109d263b40d2bd759196994c0a1fimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEf401109d263b40d2bd759196994c0a1fimage.png deleted file mode 100644 index 0d67380..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEf401109d263b40d2bd759196994c0a1fimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEf40b82d71f114aeba01e4f33e6783646localFile.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEf40b82d71f114aeba01e4f33e6783646localFile.png deleted file mode 100644 index 29fcd97..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEf40b82d71f114aeba01e4f33e6783646localFile.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEf78ab8a91b4a4da49ff5b944228cb9b4截图.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEf78ab8a91b4a4da49ff5b944228cb9b4截图.png deleted file mode 100644 index de904ad..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEf78ab8a91b4a4da49ff5b944228cb9b4截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEf78b324209b34c8f982b7b3067bd9f5dimage.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEf78b324209b34c8f982b7b3067bd9f5dimage.png deleted file mode 100644 index b31a296..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEf78b324209b34c8f982b7b3067bd9f5dimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEfc33d1691fe1d4e612571e4a68207ed7image.png b/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEfc33d1691fe1d4e612571e4a68207ed7image.png deleted file mode 100644 index b495298..0000000 Binary files a/Collection/YoudaoyunNotes/01Linux基础/images/WEBRESOURCEfc33d1691fe1d4e612571e4a68207ed7image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/01-C语言概述.md b/Collection/YoudaoyunNotes/02C语言/01-C语言概述.md deleted file mode 100644 index 333a8b7..0000000 --- a/Collection/YoudaoyunNotes/02C语言/01-C语言概述.md +++ /dev/null @@ -1,141 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# 一、概述 - -C 语言是一种通用的、 - -## 1. **发展历程** - -- **1972 年**:C 语言诞生于贝尔实验室,作为 UNIX 系统的开发语言。 - -- **1989 年**:ANSI C(C89)成为首个标准化版本,奠定语言基础。 - -- **1999 年**:C99 引入新特性(如布尔类型、变长数组)。 - -- **2011 年至今**:C11、C17 等版本持续完善,保持语言活力。 - -## 2. **重要意义** - -- **系统级编程**:UNIX、Linux、Windows 等操作系统核心均用 C 语言编写。 - -- **语言桥梁**:C++、Java、Python 等语言借鉴其语法结构,被称为 “编程的母语”。 - -- **性能标杆**:代码执行效率接近汇编语言,适合对性能要求极高的场景。 - -# **二、C 语言的核心特性** - -## 1. **高效性** - -- 直接操作内存(通过指针),减少运行时开销。 - -- 编译型语言,生成机器码,执行速度快。 - -## 2. **灵活性** - -- 支持底层操作(如位运算、内存管理)。 - -- 可扩展为面向对象(如通过结构体和函数指针实现封装)。 - -## 3. **可移植性** - -- 遵循标准C的代码可在不同平台(如 Windows、Linux、嵌入式系统)编译运行。 - -## 4. **强大的标准库** - -- **输入输出**:stdio.h(如printf、scanf)。 - -- **字符串处理**:string.h(如strcpy、strlen)。 - -- **内存管理**:stdlib.h(如malloc、free)。 - -- **数学运算**:math.h(如sqrt、sin)。 - -# **三、C 语言的应用场景** - -## 1. **系统软件** - -- 操作系统内核(如 Linux、macOS)。 - -- 驱动程序、文件系统。 - -## 2. **嵌入式开发** - -- 物联网设备、智能家居。 - -- 汽车电子、工业控制。 - -## 3. **游戏开发** - -- 游戏引擎(如 Unity 的底层)。 - -- 高性能游戏逻辑。 - -## 4. **高性能应用** - -- 数据库系统(如 MySQL)。 - -- 图形处理库(如 OpenGL)。 - -# **四、C 语言的优缺点** - -## 1. **优点** - -- 执行效率高,适合对性能敏感的场景。 - -- 跨平台兼容性好。 - -- 学习曲线平缓,适合编程入门。 - -## 2. **缺点** - -- 手动内存管理(如malloc/free)易导致内存泄漏。 - -- 缺乏高级特性(如垃圾回收、泛型)。 - -- 错误处理依赖返回值和全局变量(如errno)。 - -# **五、学习资源推荐** - -1. **经典教材** - -- 《C Primer Plus》(入门) - -- 《C Programming Language》(K&R 原著,进阶) - -- 《Linux图文指南》 - -1. **在线教程** - -- - -- - -- - -1. **开发环境** - -- 编译器:GCC(Linux/macOS)、MinGW(Windows)。 - -- IDE:CLion(JetBrains)、Code::Blocks、VsCode。 - -# 六、怎么学好C语言 - -1. 先学习C语言的基础知识,打好基础 - -1. 多看、多写、多思考、多练习编程 - -1. 开始着手写一些简单的项目,如小游戏 - -1. 在网上寻找一些大佬的项目进行观摩、学习和积累经验。 - -> 只要写不死,就往死里写 -> ----学好C语言 diff --git a/Collection/YoudaoyunNotes/02C语言/03-数据类型及IO流.md b/Collection/YoudaoyunNotes/02C语言/03-数据类型及IO流.md deleted file mode 100644 index 8dcce5d..0000000 --- a/Collection/YoudaoyunNotes/02C语言/03-数据类型及IO流.md +++ /dev/null @@ -1,726 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# 一、基本数据类型 - -1. **字符型** - -数据类型关键字:char - -类型长度:1Byte(字节) = 8bit(位) - -Byte --> KB --> MB --> GB-->Tb --> PB 进制换算满1024进一 - -取值范围 - -无符号(只有自然数):unsigned char 取值范围 0~2^8-1 0~255 - -有符号(负数和自然数):(signed) char 取值范围 -2^7 ~ 2^7-1 -128~127 - -![](images/WEBRESOURCE38bf818da8bb069ed9eb989de0bff6eaimage.png) - -使用方法 - -```c -char a = 'a'; // 字符在内存中以ASCII码值的形式存在,因此char a='a'等价于 char a=97 - // 单字节整数类型 -``` - -![](images/WEBRESOURCE73773b4065a244cce2bf36de18615e0cimage.png) - -记忆方法:**'A' -> 65 'a'->97 '0'->48** - -1. **整型** - -1. 短整型 - -类型关键字:short - -类型长度:2 字节(32位与64位) - -取值范围 - -无符号(只有自然数):unsigned short 取值范围 0~2^16-1 0~65535 - -有符号(负数和自然数):(signed) short 取值范围 -2^15 ~ 2^15-1 -32768~32767 - -1. 整型 - -类型关键字:int - -类型长度:4 字节(32位与64位) - -取值范围 - -无符号(只有自然数):unsigned int 取值范围 0~2^32-1 0~4294967295 - -有符号(负数和自然数):(signed) short 取值范围 -2^31 ~ 2^31-1 -2147483648~2147483647 - -1. 长整型 - -类型关键字:long(32位与64位) - -类型长度:4 / 8字节(根据系统的位数决定32位4字节 64位8字节) - -取值范围 - -无符号(只有自然数):unsigned int 取值范围 0~2^32-1 / 0~2^64-1 - -有符号(负数和自然数):(signed) short 取值范围 -2^31 ~ 2^31-1 / -2^63~2^63-1 - -1. 长长整型 - -类型关键字:long long - -类型长度:8 字节 - -取值范围 - -无符号(只有自然数):unsigned int 取值范围 0~2^64-1 - -有符号(负数和自然数):(signed) short 取值范围 -2^63~2^63-1 - -1. **浮点型(小数)** - -1. 单精度浮点型 - -类型关键字:float - -类型长度:4 字节,6位有效位 - -取值范围:1.2E-38 到 3.4E+38 - -![](images/WEBRESOURCE9056ea5007d1d9231711d63d2bbf867eimage.png) - -![](images/WEBRESOURCEd429a77169c21de412bd8ee7b02e5313image.png) - -1. 双精度浮点型 - -类型关键字:double - -类型长度:8 字节,15位有效位 - -取值范围:2.3E-308 到 1.7E+308 - -![](images/WEBRESOURCE0e7ea7d0398d9e54868b0d0d16713384image.png) - -1. 长双精度浮点型 - -类型关键字:long double - -类型长度:16 字节,19位有效位 - -取值范围:3.4E-4932 到 1.1E+4932 - -![](images/WEBRESOURCE4bd255fbf9260ad534192cb1d5185cf0image.png) - -注意: - -比较两个int类型的变量是否相等时 - -```c -int a,b; -if(a == b) -... -``` - -比较两个float类型的变量进行比较时 - -```c -float a,b; -a=1.1; -b=2.2; -if(b-1.1 == a) // × 因为在C语言中浮点数是存在精度损失的,有可能比原来的数大,也有可能小 -// 浮点数不能直接用 == 号比较。要使用精度进行判断,精度可以理解为引发一个浮点数发生改变的最小值。 -// 当一个浮点数加上精度或者减去精度,都不等于该数本身。 -// 精度可以是自己定义的,也可以用C语言自带的 -if(fabs(b-1.1-a) < 0.000001) // √ if(fabs(b-1.1-a) < 0.000001)  // b-1.1==a   b-1.1-a == 0 -// fabs是数学可函数用于取绝对值的,需要添加math.h头文件 #include -``` - -1. **布尔型** - -该类型使用时需要添加"#include " - -类型关键字:bool - -类型长度:1 字节 - -取值范围:真或假(true or false) - -> 真:非0或非NULL即真,负数为真,常用1表示真 -> 假:0或NULL -> int --> 非0 char -->非'\0' float --> 非'0.0' bool --> 非false 指针-->非NULL - - -1. **空类型** - -注意该类型只能用于定义指针、函数或修饰函数的参数列表,不能定义普通变量 - -类型关键字:void --> 空 - -类型长度:1 字节 - -## 数据类型溢出 - -![](images/WEBRESOURCE2416db6773bc1892a970d22688b28c02image.png) - -![](images/WEBRESOURCE9a3ffeea27bb5e725aff994cb67d133cimage.png) - -# 二、变量 - -## 概念 - -在内存中,数据可以被修改的空间,在程序执行过程中数据的值可发生修改, - -常见形式:数据类型 用户标识符; - -变量声明声明定义: - -```c - char a; // 声明定义一个char类型的变量a - int b; // 声明定义一个int类型的变量b - float c; // 声明定义一个float类型的变量c -``` - -变量的初始化 - -```c -char a = 'a'; // =在C语言中属于赋值操作即将某个数据放入谋片内存空间,声明定义一个char类型的变量a并进行初始化赋值 -``` - -![](images/WEBRESOURCE241c9ea7af5f38a2d179fd848e37cfa9image.png) - -## 局部变量 - -声明定义在函数内部,在当前的{}中有效,函数的参数是局部变量 - -## 全局变量 - -声明定义在函数的外部,在本文件中有效,所有函数都可访问。 - -**注意:** - -```c - - -#include - -float pi = 3.14; // 不在函数内不在{}中的变量——全局变量(可用范围是当前这个文件内) - -int main(int argc, char const *argv[]) -{ -    char a = 'A';  // 变量的声明定义放在一对{}内的变量——局部变量(可用范围局限于这一对{}) -    { -        int  b;   // 花括号{}包含的区域称为 —— 局部作用域 -    } -    // b = 50;  // ❌超出作用域范围 -    // pi = 6.28;  // ✔ 全局作用域包含局部作用域 - -    // pi ?  3.14 - -    float pi=1.32; // ✔ 变量在同一个作用域中不能重名,但在不同的作用域中可以重复 - -    // pi ?  1.32 - -    { -        // pi ?  1.32 -        float pi=33.32; // ✔ 当不同作用域中的变量名字相同,使用时采用就近原则 - -       //  pi ? 33.32 -    } - -    // pi ?  1.32 - -    printf("a = %c\n", a); -    return 0; -} - -``` - -# 三、常量 - -在内存中,数据不能被改变空间,在程序执行过程中数值不能被修改,保持固定的值也称 - -```c -10 3.14 5.20 66 88 'a' -``` - -1. **整型常量(二进制、八进制、十进制、十六进制)** - -1. 二进制 - -表示范围0和1,满2进一(1 + 1 ==> 0B10B B1 + 1 10 ) - -1. 八进制 - -表示范围0~7,满8进一(7 +1 ==> 0o10O 07 +1 010) - -1. 十进制 - -表示范围0~9,满10进一(9 +1==> 10D 9+1 10) - -1. 十六进制 - -表示范围0~9 A~F(10~15),满16进一(F + 1 ==> 0x10H 0xF+1 0x10) - -### 进制间支持相互转换 - -**二进制转N进制** - -二进制:01001101 - -转为八进制(三位二进制等于一位八进制,从右往左不足3位左补0,421码进行转换):0115 - -转为十进制(使用从右往左逐位乘2的(位数-1)次幂求和):$0*2^7+1*2^6+0*2^5+0*2^4+1*2^3+1*2^2+0*2^1+1*2^0 = 0+64+0+0+8+4+0+1 = 77$ - -转为十六进制(四位二进制等于一位十六进制,从右往左不足4位往左补0,8421码进行转换):0x4D - -**十进制转N进制** - -十进制:123 - -除N取余倒记法(短除法) - -![](images/WEBRESOURCE01494a5ca65c3e8f09d6221377f879c2image.png) - -**八进制转N进制** - -转二进制:一个八进制等于三位二进制,421(05 ==》 101) - -转十进制:使用从右往左逐位乘8的(0+位的位置-1)次幂求和 - -转十六进制:转二进制后转十六进制 - -**十六进制转N进制** - -转二进制:一个十六进制等于四位二进制,8421(0x7 ==》 0111) - -转十进制:使用从右往左逐位乘16的(0+位的位置-1)次幂求和 - -转八进制:转二进制后转八进制 - -```c -223 // ✔️ -215u // ✔️ unsign int -0xFEEL // ✔️ 十六进制常量 L long int -078 // ❌ 0表示数据类型为八进制但八进制数据没8 -032UU // ❌ U不能重复 -88 // ✔️ -0233 // ✔️ -30 // ✔️ -30l // ✔️ -0x4b // ✔️ -312UL // ✔️ unsigned long int -0xFEUL // ✔️ 十六进制无符号成整型常量 -``` - -有符号整型常量存储方法 —— 存储补码 - -原码:数据绝对值的二进制编码,无符号数在内存中以原码形式保存 - -反码:对原码逐位取反 - -补码:反码加1,有符号数的二进制码的最高位为符号位(1负 0正),在内存中用其绝对值原码的补码(符号位保持不变)进行存储, - -![](images/WEBRESOURCE9923ec431e7de4a5464765a1739d32ccimage.png) - -1. **浮点常量** - -浮点型常量由符号位、整数部分、小数点、小数部分和E指数部分组成 - -```c -3.14159 // 合法 -3.14159E5L // 合法 3.14159*10^5 -510E // 非法 不完整的指数 -110E // 非法 没有小数或指数 -.e55 // 非法 缺少整数或分数 -+1.2e+5 // 合法 +1.2*10^5 -1.5e-9 // 合法 1.5*10^-9 --5.0e10 // 合法 -5.0*10^10 -``` - -1. **字符常量** - -字符常量用单引号包含,例如:'x' 可以存储在  - -字符常量可以是一个普通的字符(例如 'x')、一个转义序列(例如 '\t'),或一个通用的字符(例如 '\u02C0')。 - -在 C 语言中,有一些特定的字符,当它们前面有反斜杠(转义字符 \ )时,它们就具有特殊的含义,被用来表示如换行符(\n)或制表符(\t)等。 - -| 转义序列 | 含义 | | -| ------------ | ------------- | --- | -| `\\` | \ 字符 | | -| `\'` | ' 字符 | | -| `\"` | " 字符 | | -| `\?` | ? 字符 | | -| `\a` | 警报铃声 | | -| `\b` | 退格键 | | -| `\f` | 换页符 | | -| `\n` | 换行符 | | -| `\r` | 行首符 | | -| `\t` | 水平制表符 | | -| `\v` | 垂直制表符 | | -| `\ooo` | 一到三位的八进制数 | | -| `\xhh . . .` | 一个或多个数字的十六进制数 | | - - -\开头的表示八进制数对应的字符,如:'\43' --> 043 --> 100011 --> '#' - -```c -char a = '\43'; // char a = 043; char a = '#'; // 没有分别 -char *s = "\61\62"; // char *s = "12" //没有区别 -char *s = "061062"; // 表示就是字符串"061062",不等价于char *s = "12"; -``` - -\x开头表示十六进制数对应的字符,如:'\x31' --> 0x31 --> '1' - -```c -char c = '\x31'; // 等价于 char c = 0x31; 或 char c='1'; -char *s = "\x31\x32"; // 等价于 char *s = "12"; -char *s = "0x310x32"; // 表示就是字符串"0x310x32"不等同于char *s = "12"; -``` - -字符常量中内存中存放时是存放其对应的ASCII码值,实际上字符常量在内存中是单字节的整型常量数据 - -![](images/WEBRESOURCEda3558d0f467fb2e8b63e0e13cc8213dstickPicture.png) - -**记忆ASCII:'A' --> 65 'a' --> 97 '0'-->48** - -![](images/WEBRESOURCE4f76333942e38a6ebe5008d9491852a9stickPicture.png) - -**总结:整型常量、字符常量、浮点常量都可通过对应的类型的变量进行表示。** - -1. **字符串常量** - -字符串常量用双引号包含,例如:"xyz",字符串量使用指针或数组表示,具体细节如下 - -- 字符串在内存中实际是一个连续的字符常量组合 - -- 任何字符串都以一个字符'\0'作为结束标记,如"funny story"在内存中的存储细节如下 - -![](images/WEBRESOURCE1a26d5b47439bd40860c97725e4110c5image.png) - -![](images/WEBRESOURCE999e2e4cb93fdf4ec8adf3a8df201afcimage.png) - -- **注意**:""表示一个字符串,虽然是空的字符串但其内存不空拥有内存1字节保存的是'\0'字符。 - -1. **常量的定义** - -在C语言中常量的表示方法有两种方式: - -1. 使用`#define`宏定义预处理指令表示 - -```c -#define PI 3.14 // PI表示浮点常量3.14,在预处理时使用了PI的代码会被3.14自动替换 - // 这样使用的目的时将字面量在源码中进行隐藏使用更容易理解的单词进行表示可以提高代码的易读性 -``` - -1. 使用const关键字, const关键字用于声明一个只读变量,即变量的值不能再发生修改,使用const关键声明常量时必须初始化赋值。 - -```c -const int a = 5; // a是一个只读变量即a是一个常量其值为5 -a = 10; // 错误,不允许被修改 -``` - -![](images/WEBRESOURCE51b11638af5912a048a35324caaea19cimage.png) - -在C/C++中存在两种类型的表达式 - -1. 左值(lvalue):表示的是一个对象的标识符,如变量名,它可以出现在赋值语句的左侧 - -```c -int a = 10; // a既是左值,也可以作为其他表达的右值 -``` - -1. 右值(rvalue):表示一个临时对象或表达式,如常量、函数返回值等,它不可以出现在赋值语句的左侧 - -```c -int a = 10; // 10是右值,不能作为左值 -``` - -# 四、作业 - -[数据类型测试题.docx](attachments/WEBRESOURCE1ebc5cddf8773c3fb139b21db91946c8数据类型测试题.docx) - -在作业文档的前面添加日期提交到 文件浏览器 作业文件夹下的自己名字文件夹中 然后在在线表格中登记 - -[【腾讯文档】CQ2605-作业统计表](https://docs.qq.com/sheet/DVHhFTkdQUXF6RWRP?tab=BB08J2) - -# 五、输入输出格式化控制符 - -![](images/WEBRESOURCE31a9952598334421c011d9f722ff3cceimage.png) - -![](images/WEBRESOURCEa4614147cc011d922c72d84cca2528f3image.png) - -![](images/WEBRESOURCE3c5663641a0b8dbf76f912751edbc3a3image.png) - -输入:scanf(); // 默认从键盘输入,只需求取数据 - -```c -#include - -int main(int argc, char *argv[]) -{ -    int years,month,day; -    /* scanf格式化输入输入过程必须按照scanf中要求的符号进行输入否则无法正确的进行输入数据 */ - -    // &表示取址  *表示取值 -    scanf("%d%d%d",&years, &month, &day);  // 两个数据间可用空格或回车隔开,scanf不能接收空格和回车, -                                           // 若输入空格或回车则判定为本次输入的结束,不要加\n,否则回车将失效                                       -    printf("%d/%d/%d\n", years, month, day); - -    scanf("%d-%d-%d",&years, &month, &day);  // 输入数据间必须添加-  2025-7-10                         -    printf("%d/%d/%d\n", years, month, day); - -    scanf("%da%da%d",&years, &month, &day);  // 输入数据间必须添加a     2025a7a10                     -    printf("%d/%d/%d\n", years, month, day); - -    char  str[10]; -    scanf("%s", str); // 数组的名字就是数组的地址, 输入过程中的空格或回车视为输入终止 -    printf("%s\n", str); - -    float f; -    scanf("%f", &f); -    printf("%f\n", f); - -    char ch; -    scanf("%c", &ch); -    printf("%c\n", ch); -    return 0; -} -``` - -输出:printf(); // 默认输出到终端屏幕 - -```c -#include - -int main(int argc, char *argv[]) -{ -    int a = 1; -    int b = 100; -    /* \n 表示换到下一行 */ -    printf("%5d\n", a); // 输出有符号十进制数右对齐不足5位在左添空格 -    printf("%5d\n", b); // 输出有符号十进制数右对齐不足5位在左添空格 - -    printf("%-5d\n", a);// 输出有符号十进制数左对齐不足5位在右添空格 -    printf("%-5d\n", b);// 输出有符号十进制数左对齐不足5位在右添空格 - -    char c = 12; -    short d = 10; -    printf("d = %hd\n", d); // 输出半个有符号十进制数 -    printf("c = %hhd\n", c); // 输出半半个有符号十进制数 - -    int a1 = 10; -    printf("%d\n", a1); // 输出有符号的十进制数 -    unsigned int a2=20; -    printf("%u\n", a2); // 输出无符号的十进制数 - -    int a3 = 10; -    printf("%o\n", a3);  // 输出无符号八进制数,不带前缀 -    printf("%#o\n", a3);  // 输出无符号八进制数,带前缀 - -    printf("%x\n", a3);  // 输出无符号十六进制数,不带前缀,字母部分小写 -    printf("%#x\n", a3);  // 输出无符号十六进制数,带前缀,字母部分小写 -    printf("%X\n", a3);  // 输出无符号十六进制数,不带前缀,字母部分大写 -    printf("%#X\n", a3);  // 输出无符号十六进制数,带前缀,字母部分大写 - -    char a4 = 'a'; -    printf("%c\n", a4); // 输出字符 - -    char *s = "abcd"; -    printf("%s\n", s); // 输出字符串,%s遇到'\0'自动结束 - -    float a5 = 3.145592; -    printf("%f\n", a5); // 输出单精度浮点数(小数形式),默认6位精度 -    float a6 = 3141592.6; -    printf("%e\n", a6); // 输出单精度浮点数(指数形式) - -    printf("%.2f\n", a5); // 输出单精度浮点数(小数形式),2位精度 -    printf("%.1f\n", a5); // 输出单精度浮点数(小数形式),1位精度 - -    printf("%.3e\n", a6); // 输出单精度浮点数(指数形式),3位精度 - -    int *p = &a; -    printf("%p\n", p); // 输出指针的值(地址) - -    printf("%.3s\n", s); //只输出前3个字符 - -    long a7 = 10; -    printf("%ld\n", a7); // 输出有符号长整型十进制数 - -    long long a8 = 10; -    printf("%lld\n", a8); // 输出有符号长长整型十进制数 - -    char *s1 = "zhangsan"; -    char *s2 = "lisi"; -    char *s3 = "wangwu"; -    int n1 = 10, n2 = 20, n3 = 30; -    printf("%-12s%-12s%-12s\n", s1,s2,s3);  // 左对齐,不足添空格 -    printf("%-12d%-12d%-12d\n", n1,n2,n3); - -    printf("%12s%12s%12s\n", s1,s2,s3);// 右对齐,不足添空格 -    printf("%12d%12d%12d\n", n1,n2,n3); - -    printf("%s\t%s\t%s\n", s1,s2,s3);// \t水平制表符 -    printf("%d\t%d\t%d\n", n1,n2,n3); -    return 0; -} -``` - -## 练习 - -编写代码在终端输出如下内容 - -![](images/WEBRESOURCEd5ac80a4126ac71c2086d85336dbf99dimage.png) - -# 六、IO流 - -1. **概念** - -键盘是系统的标准输入设备,从键盘输入数据称为标准输入(stdin);屏幕终端是系统的标准输出设备,在屏幕上输出数据称为标准输出(stdout),在屏幕上输出出错信息称为标准出错(stderr),这些输入输出称为IO流。 - -在计算机系统中当需要使用一种或多种IO流设备时,计算机系统就会自动的形成三种缓冲机制(stdin、stdout、stderr)用于在程序执行期间存储IO的数据,这样的缓冲机制称为缓冲区(临时存放数据,数据是无价的)。 - -![](images/WEBRESOURCEe80dc3d48db078411a57b515668d8e57image.png) - -```c -#include -#include - -int main(int argc, char *argv[]) -{ -    int a = 0; -    char c = 0; - -    // scanf("%d", &a); -    // getchar();// 清除stdin中上一次输入的残留 -    // scanf("%c", &c); - - -    // printf("a=%d c=%c\n", a, c); - -    // printf("明日复明日,明日何其多。"); // 默认存在于stdout ,程序正常结束会自动冲刷 -    // printf("明日复明日,明日何其多。\n"); // \n stdout遇到换行会自动冲刷 -    /* while (1) -    { -        printf("明日复明日,明日何其多。");   // 当stdout满时自动冲刷 -        usleep(100*1000); -    } */ -    -    /* printf("明日复明日,明日何其多。");  //缓冲区切换时会自动冲刷 -    scanf("%d", &a); */ - -    printf("明日复明日,明日何其多。"); -    fflush(stdout);  // 手动的冲刷stdout缓冲区 - -    pause(); // 暂停向下执行 - -    return 0; -} - -``` - -**注意:** - -1. scanf函数中的控制串不能随便乱写,尤其是结尾的'\n';因为用户必须按照scanf函数中描述的控制串中的内容进行输入数据否则将输入失败,scanf()函数是无法从键盘获得空格(' ')和回车('\n'),若需要获得空格和回车则建议使用fgets函数。 - -1. scanf函数是有返回值的,并且返回的值是正确输入的个数。 - -## 练习 - -编程实现如下功能: - -- 如果用户输入大小写字母,则输出字母对应的ASCII码值。 - -- 如果用户输入ASCII码值,则输出对应的大小写字母。 - -# 七、类型转换 - -- 概念:不一致但相兼容的数据类型,在同一表达式中将发生类型转换 - -- 转换模式: - -- 隐式转换:系统按照隐式规则自动进行转换 - -- 显示转换:也称强制转换,用户显式的自定义进行转换 - -- 隐式规则:从小类型到大类型转换,目的表达式中的数据精度不丢失 - -![](images/WEBRESOURCEf9401753ae5405e97b73dbc1662bfc9001416f17412c415232ef6faf014cdff5.png) - -```c -char a = 'a'; -int b = 12; -float c = 3.14; -float x = a + b - c; // 在该表达式中将会发生隐式类型转换,所有的操作数都会被提升为float -``` - -- 显示转换:用户强行将一个类型转换为另一个类型,此过程可能会发生精度缺失 - -```c -char a = 'a'; -int b = 12; -float c = 3.84; -float x = a + b - (int)c;// 在该表达式中a将隐士的转换为int类型, - // c将被强制的转换为int类型同时丢失精度 - // 运算结果将隐式转换为float类型 -``` - -- 总结:不管是隐式转换还是强制转换,变换的都是操作数在运算过程中的类型,是临时发生的,操作数本身的数据类型不会发生修改,也无法修改。 - -- 数据类型转换的本质:各种不同的数据类型实际上在内存中都一样的都是二进制数,数据的类型描述相当于是用户于系统的一种约定,在用户能够接收后果的情况下这个约定可以被临时打破,但数据的本身不会发生改变。 - -# 八、可移植整型 - -- 概念:同一种整型数据在不同的编译系统下数据内存尺寸会发生变化,相同的程序在位数不同系统下运行得到的结果可能发生变化,因此可移植数据类型讨论的是相同的代码不关放到什么系统中,尺寸都保持不变的整型数据。 - -- 整型数据的尺寸:C语言的标准并未规定整型数据的具体大小,只规定了相互间的大小"相对大小",如:short不可比int长,long不可比int短,长整型数据的长度等于系统的字长。 - -- 系统字长:CPU一次处理数据的长度,称为字长。如:32位系统CPU一次处理数据以32bit为单位,64位系统CPU一次处理数据以64bit为单位。 - -- 数据类型的典型大小: - -| 数据类型 | 16 位平台(字节) | 32 位平台(字节) | 64 位平台(字节) | 说明 | | -| --------- | ---------- | ---------- | ---------- | ------------------------------------------------ | --- | -| char | 1 | 1 | 1 | 始终为 1 字节(8 位),用于存储字符或小整数 | | -| short | 2 | 2 | 2 | 至少 2 字节,通常固定为 2 字节(16 位) | | -| int | 2 | 4 | 4 | 与平台 “字长” 相关,16 位平台为 2 字节,32/64 位平台通常为 4 字节(但不绝对) | | -| long | 4 | 4 | 8 | 32 位平台与 | | -| long long | 8 | 8 | 8 | C99 标准引入,固定为 8 字节(64 位),用于表示更大范围的整数 | | - - -- 可移植整型关键:typedef - -```c -typedef int int32_t; // 给类型int取个别名为int32_t -typedef long long int64_t; // 给类型long long取个别名为int64_t -``` - -思路:为所有系统提供一组固定的、能反映数据尺寸的、统一的可移植整型名称,然后在不同的系统中,为这些可移植整型提供对应的typedef语句即可,例如:Linux中"/usr/include/stdint.h"。 - -```c -int8_t // typedef char int8_t -int16_t -int32_t -int64_t - -uint8_t // typedef unsigned char uint8_t -uint16_t -uint32_t -uint64_t - -pid_t -time_t -size_t -... -``` \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/02C语言/05-控制与分支.md b/Collection/YoudaoyunNotes/02C语言/05-控制与分支.md deleted file mode 100644 index 765b142..0000000 --- a/Collection/YoudaoyunNotes/02C语言/05-控制与分支.md +++ /dev/null @@ -1,391 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# 一、分支控制 - -1. **二路分支** - -- if...else语句 - -- 执行逻辑:非此即彼 - -![](images/WEBRESOURCE22d41843cc2f8e164fc5c3cd6753c92fimage.png) - -![](images/WEBRESOURCEa9b36a9ebb8b287ddf16ffd2c09976d5image.png) - -- 语法形式 - -```c -if( expression ) // 当 expression为一个条件表达式当为真时, 执行 statements 1 -{ - statements 1 -} -else // 当 expression 为假时, 执行 statements 2 -{ - statements 2 -} - -// 或 -if( expression ) // 当 expression 为真时, 执行 statements 1 -{ - statements 1 -} -``` - -1. **多路分支** - -- **if...else多重嵌套** - -- 表达一种多个选项中选择一个条件执行,当前面的条件满足后面的if...else直接跳过,当没有条件满足时则执行最后的else,多选一。 - -![](images/WEBRESOURCE14ccf6590f7f4016b1afdcb6b9f04f4dimage.png) - -- **if语句单独使用多次** - -- 表达一种多种条件种选择执行的逻辑,前面的if语句满足条件执行后面的if继续判断执行,多选多或多选一。 - -![](images/WEBRESOURCEa492c1ba1be94ca9886a50ce9884cbc8image.png) - -- **注意:** - -- else语句只与前面最近且同级的if配套,并且else不能单独使用。 - -- 若if语句或else语句中需要执行的代码只有一条语句则{}花括号可以省略,其他情况下{}花括号不能省略否则只有第1条语句属于if...else语句中 - -- **switch...case语句** - -- 执行逻辑:根据选项选择不同的代码段进行执行 - -- 语法形式: - -```c -switch(选择语句) -{ - case 选项1: - break; - case 选项2: - break; - ... - case 选项n: - break; - default: - break; -} -``` - -- 表达多个选项中选择一个进行执行 - -![](images/WEBRESOURCEaa39bdca22d940a0bb7d172aabd9a55dimage.png) - -- **注意** - -- switch语句中的选择语句必须是整数(整型、字符型、布尔型、枚举型、变量、 运算表达式甚至是函数调用)case 语句中的选项必须是整型常量或char 型常量,const 型变量都不行, 例如:case 'w' - -![](images/WEBRESOURCE4552fb76ccd7d5818b2a9d3abcf0061bimage.png) - -- break语句是switch语句的结束标志。 - -- 一旦case选项匹配成功,则立即执行其对应的语句,直至遇到break语句。 - -- 不是所有的case语句都得加break语句,但如果case语句后没有break语句,则会无条件向下执行其他case语句直至遇到break语句或到switch语句的}花括号结束。 - -- default默认选项语句可以写也可以不写,可以放在case的末尾也可放case最前或case语句选项的中央,当所有的case选项都不匹配时则会执行dafault语句后的代码块 - -- case语句后可以为空语句如:case 1: - -## 练习 - -1. 编写程序实现,从键盘输入三个数从小到大输出到终端 - -1. 编写程序实现,从键盘输入一个字符串,将输入的大写字符转换为小写字母,小写字母转换为大写字母输出。 - -1. 从键盘输入一个数(0~15),将其输出为16进制数 - -## 作业 - -1. 从键盘输入一个字符串,统计输入的字符串中的大写字母、小写字母、数字、其他字符的个数【使用if语句和switch语句分别实现】 - -- **直接跳转** - -- goto语句,通常被告诫不要使用,由于 goto 语句是一种无条件的直接跳转,有时甚至还会破坏程序的栈逻辑,因此不推荐使用,但是当我们在编写程序错误处理代码的时候,又会经常用到它,这是因为当程序发生错误时通常报告错误和及时退出比保护程序逻辑更加重要,并且 goto 语句可以忽视嵌套包裹它的任何代码块,直接跳转到错误处理单元。 - -```c -#include -/* 除了出错处理,其它情况一概不推荐使用goto,因为goto会直接跳转到标签位置,使得程序难以追踪,难以阅读和修改 */ -int main(int argc, char *argv[]) -{ -    printf("[%d]\n", __LINE__); -     goto globle;  // 往后跳 -lable:   // 标签 -    printf("[%d]\n", __LINE__); -    goto lable;  // 往前跳 -globle: -    printf("[%d]\n", __LINE__); -    return 0; -} - -/* 推荐使用场景 */ -int main(void) -{ -  // 初始化LCD -        goto lcd_err; -    // 初始化触摸屏 -        // 出错 则需要释放LCD资源 -        goto ts_err; -    // 开启采集环境温湿度 -        // 出错 则需要释放LCD资源和触摸屏资源 -        goto ht_err; -    // 获取环境光照 -        // 出错 则需要释放LCD资源、触摸屏资源、温湿度模块资源 -        goto light_err; -    // .... - -light_err: -    ht_free(); -ht_err: -    ts_free(); -ts_err: -    lcd_free(); -lcd_err: -    return 0; -} -``` - -# 二、循环控制 - -- **while语句** - -```c -while(expression) -{ - statements; -} -``` - - expression 可以是任意表达式(C 语言中任何表达式都有一个确定的值), while语句根据表达式 expression 的值来决定是否执行下面的 statement(被执行的这些语句也叫循环体, 可以是一句简单的语句<可省略花括号>, 也可以是用花括号括起来的若干条语句组合起来的复合语句<必须使用花括号包含>) , 如果 expression 的值为假则跳过 statement, 如果为真则执行 statement, 执行完了再来判断 expression 的值, 不断循环一直到其值为假为止(如果 expression 的值始终为真,则称为死循环或无限循环) - -![](images/WEBRESOURCE64848ec6b188f4b800d87151f5fdec76image.png) - -👍 - -> Linux 的 C 代码风格中, 循环体结构(包括 while、 do…while 和 for 循环)的左花括号既可以写在循环语句的末尾, 也可以单独占一行, 如上述代码所示。 而对于函数而言, 包含函数体的左花括号一般单独占一行。 另外一定要注意缩进, 缩进的目的是为了增强代码的可读性, 在函数体、 循环结构、 分支结构等逻辑相对独立的代码块中都需要有适当的缩进。 每一层代码块推荐用 8 个空格来缩进, 过小则不易区分各个代码块, 在程序嵌套太深时也不能更好地起提醒作用。 当然如果并不经常用不同的编辑器来编辑代码, 用制表符代替空格也未尝不可, 毕竟敲多个空格键比较繁琐(如果需要用不同的编辑器编辑代码的话, 不同的编辑器可能对制表符的解释有所不同, 这就会导致在一款编辑器中显示正常的代码在另一款编辑器中却显示不正常) 。代码良好的可读性和易维护性庞大的工程中显得尤为重要, 因此良好的习惯必须在一开始写简单代码的时候就要养成。 - - -```c -#include - -int main(int argc, char *argv[]) -{ -    int a; -    scanf("%d", &a); -    // while (a > 0) -    while (a)  // a的值非0(真) 0(假) -    { -        printf("%d ", a); -        a--; -    } -    printf("\n"); -    -    return 0; -} -``` - -- **do...while语句** - -```c -do{ - statements; -}while(expression); -``` - -与while 循环类似, 根据表达式中的值来决定是否执行循环体, 区别是 do…while 循环不是先计算表达式, 而是先执行循环体在计算表达式的值, 因此它也被称为退出条件循环,即在每次执行循环体之后再检查判断条件, 这样 - -![](images/WEBRESOURCEe033a13a5da4e1bb7bc6f275fb254dfaimage.png) - -```c -#include - -int main(int argc, char *argv[]) -{ -    int a; -    scanf("%d", &a); -    do{   // 至少执行一次循环体语句 -        printf("%d ", a);  // 先执行循环体 -        a--; -    }while (a); // 再进行判断条件是否为真(非0),为真则继续执行循环体中的语句,否则结束循环 - -    printf("\n"); -    -    return 0; -} -``` - -- **for语句** - -for 循环是一种更为灵活的循环结构, 在 Linux 内核中出现的频率大约是 while 循环和do…while 循环的四到五倍 - -```c -for(initialize; test; update) -{ - statement; -} -``` - -语句块 statement 跟上两种循环体一样, 可以是单条语句也可以是用花括号括起来的复合语句。 关键字 for 之后的圆括号中包含有三个表达式, 第一个表达式initialize一般用来初始化循环控制变量, 第二个表达式test一般用作循环测试条件, 而第三个表达式update则一般用来更新循环控制变量, 但从语法角度上讲它们可以是任意的语句,这些表达式可以是一个表达式或多个表示式(用逗号隔开) - -for循环语句的执行流程是: - -1. 如果有initialize语句则执行它, 然后执行test语句,如果没有initialize语句则直接执行test语句。 - -1. 如果有test语句且其值为真或者没有该语句则执行语句statement(循环体),如果有 test 语句且其值为假则跳出for循环语句。 - -1. 执行循环体语句 statement 完成后执行update语句。 - -1. 如果有 update 语句则执行它, 然后跳到第 2 步test 语句, 如果没有 update 语句则直接跳到第 2 步test 语句。 - -```c -#include - -int main(int argc, char *argv[]) -{ -    for (int i = 0; i < 10; i++) /* 循环变量定义初始化赋值语句的写法:int i = 0;是C99以后支持的; -                                    老版编译器默认未采用c99标准则编译指令末尾添加-std=c99*/ -    { -        printf("%d ", i); -    } -    printf("\n"); -    return 0; -} -``` - -## 练习 - -1. 编写代码计算1~1000所有奇数的和【三种循环编写】 - -![](images/WEBRESOURCEddc658c0cce70a5068ad13c1c7567ac8image.png) - -1. 计算1^2+2^2+...+n^2 - -![](images/WEBRESOURCE61673478243ea23a81ca7bed0da28733image.png) - -1. 计算n的阶乘 - -- **break、continue与return语句** - -- **break语句** - -- 用于循环语句中时表示跳出当前循环(会结束循环) - -- 用于switch语句时表示跳出switch语句 - -```c -for() -{ - while() - { - do{ - switch() - { - break;// 结束switch语句 - } - break; // 结束do...while - } while(); - break; // 结束while - } - break; // 结束for -} -``` - -- **continue语句** - -- 只用于循环语句中,表示结束本次循环,进行下次循环 - -![](images/WEBRESOURCE459a0a24ac6047112d1d6479e8858315image.png) - -- **return语句** - -- 表示当前这个函数的结束 - -- **无限循环** - -- 循环条件恒为真 - -```c -while(1); -for(;;); -do{}while(1); -``` - -## 练习 - -用循环在终端打印如下图案 - -```c -* -** -*** -**** -``` - -```c -**** -*** -** -* -``` - -```c - * - ** - *** -**** -``` - -```c -**** - *** - ** - * -``` - -```c - * - *** -***** - *** - * -``` - -```c - * - * * - * * -******* -``` - -```c - A - ABA - ABCBA -ABCDCBA -``` - -规律: - -# 作业 - -1. 完成测试题 - -[判断、循环测试题.docx](attachments/WEBRESOURCE1b1c0ef38fb7e7623e35a7ffc254fd87判断、循环测试题.docx) - -1. 编程实现一个学习100以内数学四则运算的C语言小程序,要求随机生成题目让用户键入答案,正确则输出"答对了!你真棒!",错误则提示"答错了,再接再厉"并运行重新回答,每题共三次机会,三次皆未答对则结束程序,答对则进行下一题,若想结束则输入''Esc"。 - -(提示:100以内随机数生成使用rand()%100并添加头文件"#include ")。 \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/02C语言/06-函数基础.md b/Collection/YoudaoyunNotes/02C语言/06-函数基础.md deleted file mode 100644 index 1d0f32e..0000000 --- a/Collection/YoudaoyunNotes/02C语言/06-函数基础.md +++ /dev/null @@ -1,423 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# 一、概述 - -在C语言中,函数指的是功能模块。一个典型的C语言程序,就是由一个个的功能模块拼接起来的整体,因此C语言也称模块化语言。 - -对于函数的使用者,可以简单的将函数视为一个黑箱子,使用者只管按照规定给黑箱一些输入,就会得到一些输出,使用者不需要关注黑箱内部的结构细节。 - -![](images/WEBRESOURCE792781c979620a94ca2b918b07a45ee3image.png) - -函数分为两种形式 - -- 系统自带函数(库函数):只需了解如何使用和结果是什么,如:购买了一台电视机,我们只需要了解电视机对外的接口和使用的方法及最后的结果,不需要知道电视机内部构造----怎么用。 - -> 函数的头文件 -> 函数的功能 -> 函数的参数 -> 函数的返回值 - - -- 用户自定义函数:要明确最终实现的功能,如:自己设计电视机 ----怎么写。 - -> 函数的声明式 -> 函数的实现 -> 函数的调用 - - -# 二、函数入门 - -![](images/WEBRESOURCE915e9aa0eaf899c958273f42c7683f07image.png) - -- 函数头:函数对外的接口及运行的结果都在这里体现 - -- 组成 - -- 函数的类型:是函数的运行结果数据类型即黑箱的输出数据类型(函数返回值类型),不是必须的,没有返回值是使用void。 - -- 函数的名字:函数在内存中的地址,代表这个黑箱的名称(必须满足用户标识符定义规则),一个函数必须要有名字。 - -- 函数的参数列表:函数的输入,即黑箱的输入数据列表,不是必须的没有参数输入也不能省略括号(),应当在参数列表中使用void进行修饰 - -- 函数体:函数的功能实现,即黑箱子的内部构造。 - -![](images/WEBRESOURCE5662a65e83bb0e026bd5798435f41eadimage.png) - -```c -/* 给定两个数,得到最大值 */ -int Maxfun(int x, int y)  // 这是一个函数的定义,该函数接收两个int类型的参数,返回一个int类型数据 -{ -    return x>y?x:y; -} - -/* 交换两个浮点数 */ -void swap(double *p1, double *p2) // 该函数接收两个double *类型的参数,无返回值 -{ -    if (p1 == NULL || p2 == NULL) -        return; // 退出当前函数 -    -    double tmp = *p1; -    *p1 = *p2; -    *p2 = tmp; -} - -/* 液晶屏初始化函数 */ -char *initLCD(void)  // 该函数不接收参数,返一个char *类型的数据 -{ -    int lcd = open("/dev/fb0", O_RDWR); - -    struct fb_var_screeninfo vinfo; -    ioctl(lcd, FBIOGET_VSCREENINFO, &vinfo); - -    int bpp = vinfo.bits_per_pixel; -    int size = vinfo.xers*vinfo.yers*bpp/8; - -    char *fbmmem = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHSRED, lcd, 0); - -    return fbmmem; -} -``` - -总结: - -- 当函数的类型为void时,表示函数不返回任何数据。 - -- 当函数的参数列表为void时,表示函数不需要任何参数。 - -- 关键字return表示退出函数。 - -①若函数头中规定有函数的类型,则return需要携带一个类型与之匹配的数据; - -②若函数头中规定函数的类型为void,则return不需要携带数据; - -# 三、自定义函数 - -- **函数的定义** - -- 表示函数的功能实现及函数的确立。 - -```c -返回值类型 函数名字(参数1, 参数2, ...) // 没有返回值则写void 没有参数也写void -{ - 功能语句; -} -``` - -- **函数的声明** - -- 表示告诉编译器函数将会被使用,位于函数被调用前的函数外部。 - -```c -函数的类型 函数名称(参数类型及个数); -``` - -注意 - -- 当函数的调用出现在函数的定义位置前,则需要在调用前进行声明。 - -- 函数的声明一般放在头文件中,调用头文件则携带函数声明式。 - -- **函数的调用** - -- 表示使用函数实现对应的功能,位于一个函数的内部 - -```c -函数的名字(参数所对应的数据); -``` - -注意 - -- 当函数被main直接调用或间接调用时函数才会被执行 - -```c -#include - -//int Maxfun(int x, int y); // 函数的声明:当函数的调用发生在函数的定义前时需要书写 -int Maxfun(int , int ); // 函数的声明:当函数的调用发生在函数的定义前时需要书写 - - -int main(int argc, char *argv[]) -{ -    -    printf("%d与%d的最大值是%d\n", 80, 800, Maxfun(80,800));  // 将Maxfun函数的执行结果作为printf函数的一个参数 - -    return 0; -} - -/* 交换两个浮点数 */ -void swap(double *p1, double *p2) // 函数的定义 该函数接收两个double *类型的参数,无返回值 -{ -    printf("%s is running\n", __FUNCTION__); -    if (p1 == NULL || p2 == NULL) -        return; -    -    double tmp = *p1; -    *p1 = *p2; -    *p2 = tmp; -} - -/* 给定两个数,得到最大值 */ -int Maxfun(int x, int y)  // 这是一个函数的定义,该函数接收两个int类型的参数,返回一个int类型数据 -{ -    printf("%s is running\n", __FUNCTION__); -    double a = 3.14, b=5.26; -    printf("交换前:a = %f  b = %f\n", a,b); -    swap( &a, &b);  // 调用一个函数:定义在调用前可,免去声明 -    printf("交换后:a = %f  b = %f\n", a,b); -    return x>y?x:y; -} -``` - -练习:编写一个函数实现从键盘获取三个数,从小到大输出 - -```c -/* 输入三个数从小到大输出 */ -#include - -void outputNum(void); - -int main(int argc, char *argv[]) -{ -    outputNum(); -    return 0; -} - - -void swap(int *p1, int *p2) // 函数的定义 -{ -    -    if (p1 == NULL || p2 == NULL) -        return; -    -    *p1 ^= *p2; -    *p2 ^= *p1; -    *p1 ^= *p2; - -} - -void outputNum(void) -{ -    int a,b,c; -    printf("请输入三个数:"); -    scanf("%d%d%d", &a,&b,&c); - -    if(a>b) -    { -        swap(&a,&b); -    } -    if(a>c) -    { -        swap(&a,&c); -    } -    if(b>c) -    { -        swap(&b, &c); -    } -    printf("%d < %d < %d\n",a,b,c); -} -``` - -## 函数参数的传递 - -- 形参与实参 - -- 形参:函数声明式定义中参数列表中的参数,属于函数的局部变量,在函数定义中只是一个形式参数没有实际的值。 - -- 实参:函数调用中参数列表中的参数,具有实际的数值或表示对象,在函数执行期间这个数值或对象将作用与函数内部,实参会在函数执行时初始化函数的形参。 - -- 值传递:表示实参的类型时一个数值,形参的类型是基本数据类型; - -- 址传递:表示实参是一个地址,形参的类型是一个指针; - -- 当需要将函数内部的形参的改变作用与实参时则需要使用址传递(传递地址),否则使用值传递(传递数值)。 - -## 总结 - -- 函数的优点 - -- 提高代码的重用性。 试想一下, 一个函数也许会在 N 多地方被使用, 如果没有将该功能封装起来, 而在每一个用到这个功能的地方都写一遍代码, 将会浪费很多资源。就像一个企业给每一个员工都配备一台打印机, 虽然每个人独占资源用起来很便捷, 但却浪费了大量的成本。 - -- 方便维护和升级源代码。 假设需要对一个的算法修正或者修改, 那只要不改变函数接口和功能的情况下, 可以方便地进行, 不需要知道该函数在何处被调用。 调用者也感觉不到代码的改变, 因为函数的封装性使得他们让调用者感觉起来是透明的。 - -- 有利于结构化代码。 将一个个功能封装在相对独立的函数里, 再将函数组装成程序,那么整个逻辑就很清晰, 出错了也较容易排查。 否则, 在一个没有结构化的代码中, 所有的功能杂乱地挤作一团, 逻辑复杂, 也极易出错。 - -- 函数封装的要求 - -- 高内聚:一个功能集中在一个函数的内部。 - -- 低耦合:功能函数与功能函数间的影响要低。 - -# 四、主函数传参 - -- 函数参数列表不为void则表示函数可以接收数据,主函数"int main(int argc, char *argv[])"意味着主函数也支持接收数据。 - -![](images/WEBRESOURCE131d91bf42e75d64d2774081dd4992c2image.png) - -![](images/WEBRESOURCEb181fe3155c18772408b6088b6ef9260image.png) - -注意: - -- 每个命令行参数间使用空格(一个或多个皆可),若参数本身就带有空格则需要使用单引号或双引号将整个内容包含 - -![](images/WEBRESOURCE04c87caf7ac6f6ffe55d92c338e3f197image.png) - -- 一般情况下若需要接收命令行参数,则需要在主函数中判定参数是否符号要求,以保障程序的正确执行 - -![](images/WEBRESOURCE2f30409c67de5069191ecf8ca0167cd0image.png) - -## 练习 - -接收命令行参数三个,输出这个三个数的和 - -# 五、变参函数 - -- 概念:调用函数时可根据实际需求来决定函数参数的个数 - -```c -int printf(const char *restrict format, ...); -int scanf(const char *restrict format, ...); - -printf("%d", a); -printf("%d, %d", a, b); -printf("%d, %d, %d", a, b, c); -``` - -- 定义变参函数 - -- 添加头文件"#inclded stdarg.h" - -- 定义函数时末尾参数使用省略号(...)表示可以更具需求来确认,省略号前可以自由设置参数类型(至少一个,强制参数) - -- 在函数定义中创建va_list类型变量,用于存放可变参数 - -- 使用va_start(),用于初始化va_list类型变量,初始化内存。 - -- 使用va_arg() ,来访问可变参数列表中的每个项。 - -- 使用va_end(),来清理va_list变量的内存,释放内存。 - -```c -#include -#include - -int fun(int n,...); - -int main(int argc, char *argv[]) -{ -    fun(2, 1, 2); -    fun(5, 1, 2); - -    return 0; -} - -int fun(int n,...) -{ -    // 在函数定义中创建一个va_list变量list,将来调用时传递的参数存储在list中 -    va_list list; - -    // 使用强制参数初始化变量list -    va_start(list, n); - -    // 使用va_arg()访问list中的每个项 -    for (int i = 0; i < n; i++) -    { -        printf("%d\n", va_arg(list, int)); -    } -    -    // 清除list中的缓存 -    va_end(list); -} -``` - -## 练习 - -编写一个变参函数,用于计算多个数的平均值(double)保留2位精度。 - -# 六、递归函数 - -- 概念:如果一个函数在内部调用自身,那么这个函数就是递归函数 - -- 组成:必须要有一个结束条件(简单条件),否则会导致程序栈溢出。 - -```c -void fun(void) -{ - fun(); -} -``` - -![](images/WEBRESOURCE8a15519dcbff531403a69214e1f98014image.png) - -```c -#include -/* 计算阶乘 */ -int func(int n) -{ -    if(n==1) -        return n; -    return n*func(n-1); -} - -int main(int argc, char *argv[]) -{ -    int n = 0; -    scanf("%d", &n); -    printf("%d", func(n)); -    return 0; -} -``` - -注意:递归虽好但不是所有情况都适合,比如数据规模太大会导致"栈溢出" - -递归函数的特点:代码精简但效率低。 - -## 练习 - -- 使用递归打印N的斐波拉契数列 - -1 1 2 3 5 8 13 ...... - -- 有5个人坐在一起,问第五个人多少岁?他说比第四个人大两岁。问第四个人岁数,他说比第三个人大两岁。问第三个人,又说比第二个大两岁。问第二个人,说比第一个人大两岁。最后问第一个,他说是10岁。编写程序,当输入第几个人时求出其对应年龄。 - -# 七、回调函数 - -- 回调(callback) 是一种非常重要的机制, 主要可以用来实现软件的分层设计, 使得不同软件模块的开发者的工作进度可以独立出来, 不受时空的限制, 需要的时候通过约定好的接口(或者标准) 相互契合在一起, 也就是 C++或者 JAVA 等现代编程语言声称的所谓面向接口编程。 同时回调也是定制化软件的基石, 通过回调机制将软件的前端和后端分离, 前端提供逻辑策略, 后端提供逻辑实现。 - -- 作用:统一操作接口,开放功能定制。 - -# 八、内联函数 - -- 使用关键字inline关键字修饰的函数称为内联函数 - -```c -inline void func(void); -``` - -- 节省函数间切换所需的时间,提高函数的运行效率 - -- 原理:一个普通函数在调用过程中,会在调用这个函数的函数中形成保护现场和恢复现场的过程,这个需要花费时间,降低程序的运行效率,这时可以将这个函数设计内联函数,在编译器编译过程中,编译器会将符合标准的内联函数直接展开(使用函数的功能代码替换函数的调用),这样就会节省保护现场和恢复现场的时间,同时又做到了模块化编程。 - -![](images/WEBRESOURCE919546e5273412ccfee06772f169be0bimage.png) - -- 内联函数的使用场景 - -- 代码精简,功能语句简短不具有循环、switch等语句。 - -- 调用频繁 - -**注意:内联函数不是写了inline声明的函数就是内联函数,能否构成内联函数是由编译器决定。若添加inline关键字但不符合编译器的标准,则编译器会将其视为普通函数。** - -[函数练习题.docx](attachments/WEBRESOURCE94606765850c0696e801236ba49014a2函数练习题.docx) - -# 作业 - -[函数作业题.docx](attachments/WEBRESOURCEa2d88b6292b52c177b4bc6323a5bdd07函数作业题.docx) \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/02C语言/07-数组.md b/Collection/YoudaoyunNotes/02C语言/07-数组.md deleted file mode 100644 index 7e13103..0000000 --- a/Collection/YoudaoyunNotes/02C语言/07-数组.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -tags: - - 粤嵌 -aliases: -type: - - Source -status: - - 💤 Archived -star: false -date: ---- diff --git a/Collection/YoudaoyunNotes/02C语言/08-指针.md b/Collection/YoudaoyunNotes/02C语言/08-指针.md deleted file mode 100644 index abef81d..0000000 --- a/Collection/YoudaoyunNotes/02C语言/08-指针.md +++ /dev/null @@ -1,421 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# **1. 准备知识** - -**1.1 内存地址** - -- 字节:字节是内存的容量单位,英文称为 Byte,一个字节有8比特位,即 1Byte = 8bits 1B = 8b - -- 地址:系统为了便于区分每一个字节而对它们逐一进行的编号,称为内存地址,简称地址。 - -![](images/WEBRESOURCE73f0b54259e8460e97f84fd70e8aaef4stickPicture.png) - -## **1.2 基地址** - -- 单字节数据:对于单字节数据而言,其地址就是其字节编号。 - -- 多字节数据:对于多字节数据而言,其地址是其所有字节地址中编号最小的那个,称为基地址。 - -![](images/WEBRESOURCE06e4a4aac18e468d89b657886f10a5b3stickPicture.png) - -### **1.3 取址符** - -- 每个变量都是一块内存,都可以通过取址符 & 获取其地址 - -- 注意:&符号的左边有操作数则表示位与运算符,若左边没有操作数则表示取地址符 - -```c -int main(int argc, char *argv[]) -{ -    int a=110; -    printf("整型变量a的地址是:%p\n", &a); - -    char b='a'; -    printf("字符型变量b的地址是:%p\n", &b); - -    float c=3.14; -    printf("浮点型变量c的地址是:%p\n", &c); - -    printf("整型变量a的地址长度是:  %ld\n", sizeof(&a)); -    printf("字符型变量b的地址长度是:%ld\n", sizeof(&b)); -    printf("浮点型变量c的地址长度是:%ld\n", sizeof(&c)); -    return 0; -} -``` - -- 总结 - -- 虽然不同类型的变量的内存尺寸不同,但是他们的地址尺寸(地址编号的位数)却是相同的(地址的尺寸与系统的字长相关,32位系统地址尺寸为32位,64位系统地址尺寸为64位) - -- 不同的地址虽然表示形式一样,但他们所代表的内存尺寸(在内存中所占内存大小)和类型都不相同,因此相同形式的地址编号在逻辑上要严格进行区分 - -![](images/WEBRESOURCEc93ef0073e59a9197d1df93e15a42da9image.png) - -# 2.指针入门 - -## 2.1指针概念 - -由于翻译问题及口语表达的习惯,在日常表述中,指针会有以下两种含义 - -- 指地址 - -```c -int a; -&a; // 我们可以说&a指向a的地址 -``` - -- 指指针变量 - -```c -int *p; // 可以用于指向int类型数据的地址 -``` - -- *号左右两边都有操作数,表示两数相乘(a*b) - -- *号左右两边都有操作数,且左操作数数一个数据类型表示定义一个指针变量(int *p) - -- *号左边没有操作数,表示取值操作(*p) - -## 2.2指针的定义 - -- 用于存放数据类型变量的地址的变量称为指针 - -```c -int *p1; // 用于存储int类型数据的地址,p1被称为int型指针或整型指针 -char *p2; // 用于存储char类型数据的地址,p2被称为char型指针或字符型指针 -double *p3; // 用于存储double类型数据的地址,p3被称为double型指针或浮点型指针 -``` - -对于int *p;在32位系统下的理解如下: - -![](images/WEBRESOURCE2f532ae1a2635b8f6d6eb26f2b49be3eimage.png) - -![](images/WEBRESOURCE970015c2b46c95da2d92fad50ded8cadimage.png) - -- 注意:指针用于存放地址的变量,由于在相同的系统位数下地址的尺寸相同,故指针的尺寸相同 - -![](images/WEBRESOURCEe6d0d1a5088db204eab4343b8bff4ef4image.png) - -- 指针变量的内存尺寸只于系统字长相关,与指针的类型无关。 - -## 2.3指针的赋值 - -- 可将一个地址类型于指针类型相同的地址赋值这个指针 - -```c -int a=100; -char b='A'; -double c=3.14; - -p1 = &a; // 将a的地址赋值给指针p1,它们类型必须相同 -p2 = &b; // 将b的地址赋值给指针p2,它们类型必须相同 -p3 = &c; // 将c的地址赋值给指针p4,它们类型必须相同 - -int *p4 = p1; // 使用整型指针变量p1值初始化赋值整型指针p4 -int *p5; -p5 = p1; // 整型指针变量p1值赋值给整型指针p5 -int *p6 = &a; // 使用a的地址初始化赋值整型指针变量p6 -``` - -## 2.4指针的索引 - -- 所谓索引,指的是通过指针变量取得其指向的目标(访问指针变量中所存储的地址中的数据) - -```c -*p1 = 200; -*p2 = 'B'; -*p3 = 6.62; - -a = 10; -a = 10; -``` - -![](images/WEBRESOURCEe2db6c7a73c7bc9d780f9639545ccf3eimage.png) - -## 练习 - -编写一个函数实现两个数交换。 - -# 3.特殊指针 - -## 3.1野指针 - -- 指向一块未知区域的指针,称为野指针。**野指针是危险的** - -![](images/WEBRESOURCE6a63aa7276f21b9af08cd146f5959cbbimage.png) - -- 危害 - -- 引用野指针,相当于访问了非法内存,常常会导致段错误(segmentatio fault) - -- 引用野指针,可能会破坏系统关键数据,导致系统崩溃等严重后果。 - -- 产生原因 - -- 指针定义式未进行初始化 - -- 指针指向内存被系统回收 - -- 指针越界 - -- 如何防止 - -- 定义指针时进行及时初始化(定义时无法明确指向则赋值为NULL) - -- 绝不引用已被回收的内存(回收内存后令指针指向NULL) - -- 确认所申请的内存边界,谨防越界 - -## 3.2空指针 - -```c -NULL // (void *)0; -``` - -- 很多情况下,我们不可避免的会遇到野指针,如刚刚定义指针无法立即为其分配一块内存时,又或者指针所指向的内存被释放了等等。 - -- 对于一个暂时无法让其指向一块合法内存的指针而言, 我们最好将其初始化为“空指针” , 即给他赋一个空值(零) , 让他指向零地址 - -![](images/WEBRESOURCE698f0b5e2b11e6c3a965743dd01df4caimage.png) - -```c -// 刚刚定义指针无法明确其指向,让其指向零地址以保证安全 -int *p = NULL; -char *q = NULL; - -//指针指向的内存被释放,令指针立即指向零地址保证安全 -char *k = malloc(2); // 给指针分配内存 -free(k); // 释放内存 -k = NULL; -``` - -## 3.3void指针 - -- 概念:所谓void指针也称为万能指针(泛型指针),无法明确指针所指向的目标的数据类型则可将这种指针定义为void类型 - -- 要点: - -- void型指针无法索引目标,必须将其转换为一个具体的类型指针方可索引目标。 - -- void型指针不支持加减运算。 - -> void只用于三种情况 -> 定义指针 -> 定义函数类型 -> 表示函数的参数列表 - - -```c -void swap(void *a, void *b) -{ -    // int *p = a; -    // int *q = b; - -    // *p^=*q; -    // *q^=*p; -    // *p^=*q; - -    *((int *)a) ^= *((int *)b); -    *((int *)b) ^= *((int *)a); -    *((int *)a) ^= *((int *)b); -} -``` - -## 3.4char型指针 - -- char型指针实质上与别的类型指针并无本质区别,但由于C语言中字符串以字符数组的方式进行存储,而数组在大多数场合又表现为指针,因此字符串在绝大多数场合下表现为char型指针 - -```c -char *p = "abcd"; // p指向的目标是字符串常量的地址 -*p = 'x'; // 不可以修改常量数据 -/* 上面的写法语法上无错,但逻辑不允许,推荐下面的写法,编译器会帮助我们检查语法错误 */ -const char *q = "abcd"; // q指向的目标是字符串常量的地址 -*q = 'x'; -``` - -## 3.5const型指针 - -- const(只读)型指针有两种形式:①常指针(指针只读)②常目标指针(目标只读) - -- 常指针:const修饰指针本身,表示指针变量本身无法修改(指针常量) - -```c -char * const p; -``` - -![](images/WEBRESOURCE55871207d1eef11e0fd010e335e4cc0f576913ed193ece92e9ad7fc8a81dc9cf.png) - -```c -char a,b; -char  * const p = &a; - -// p = &b; // 错误,常指针不能修改其值 - -*p = 'S'; // 可通过指针对目标进行读写 -printf("%c\n", *p); -``` - -- 常目标指针:const修饰指针的目标,表示无法通过该指针修改其目标(常量指针)。 - -![](images/WEBRESOURCE51fc80bb52e549d39a1753ac77f656e5stickPicture.png) - -```c -const char  *q = &a; -char const  *k = &a; // k和q等价 - -q = &b; // 指针指向的目标可以修改 -k = &b; - -*q = 'a'; // 错误,常目标指针无法写访问目标 -printf("%c\n", *k); // 正确。常目标指针读可访问目标 -``` - -- 常指针在实际应用中不常见。 - -- 常目标指针在实际应用中广泛可见,用来限制指针的读写权限 - -## 晚上作业 - -[指针与数组作业.doc](attachments/WEBRESOURCEd71090e9d6659f19f9b36c93099793f4指针与数组作业.doc) - -## 3.6函数指针 - -- 指向函数的指针称为函数指针 - -- 函数指针与普通指针本质上并无区别,只是在取址和索引时取址符&与索引符*均可省略 - -```c - double fun(double a[], int len) -{ -   double max = a[0]; -   for(int i=0; ia[i]?max:a[i]; -   } -   double min = a[0]; -   for(int i=0; i - -void fun(int *p, int (*q)[], int **k) -{ - -} -int main(int argc, char *argv[]) -{ -    int array[2][3]; -    int array1[2][5]; -    int arr[2]; -    int *ptr; - -    fun(arr,array,&ptr);  //  array  == &array[0]    array[0] == &array[0][0] -    fun(arr,array1,&ptr); -    return 0; -} -``` - -## 练习 - -- 定义指针指向下列的目标并将代码补充完整 - -```c -int main(int argc, char *argv[]) -{ -    int a[3] = {1,2,3}; -    int b[2][5]= {1,2,3}; -    char *s[5]= {"hahaha","xixi","ooo"};   - -    p1 = a; -    printf("%d\n", p1); - -    p2 = b; -    printf("%d\n", p2); - -    p3 = s;   -    printf("%s\n", p3); - -    p4 = &b[0]; -    printf("%d\n", p4); - -    p5 = &b[1][3]; -    printf("%d\n", p5); - -    int p6 = &a; -    printf("%d\n", p6); - -    int p7] = &b; -    printf("%d\n", p7); - -    p8 = &s; - -    return 0; -} -``` - -# 四、**数组、指针与函数** - -### **数组参数** - -- 核心语法:当数组在函数中被当做参数传递时,系统会将其自动转化为指针,具体而言,会将其转化为一个指向数组首元素的指针。 - -- 示例: - -```c -int a[3] = {100,200,300}; -void f1(a); // &a[0]; int * -``` - -- 说明: - -- 数组a作为参数传给函数f1()。 - -- 实参a在传递进函数后,系统随即将其转化为一个指向a[0]的指针,即一个 int* 指针,指向首元素100。 - -- 此时,若定义函数f1(),则可以有如下两种写法,它们是完全等价的: - -```c -// 写法一: -void f1(int a[3]) // 或可以写成 void f1(int (a[3]) ) -{ - ... -} - -// 写法二: -void f1(int *a) // 或可以写成 void f1(int (*a) ) -{ - ... -} -``` - -### **数组与指针表示字符串时的区别** - -数组是一片连续的内存,这片内存中保存的数据是字符串,可以对这个片内存的数据进行修改。 - -指针是一个变量,只存储数据字符串的地址,而字符串数据本身是常量,不能通过指针对目标进行修改,但是可以改变指针指向的目标。 - -```c -  char  *p = "hello";  // 局部变量;"hello"存放在.rodata段中;指针p指向的目标在.rodata中 -    char str1[] = "hello";// 局部变量;"hello"存放在.rodata段中;str是栈空间的一片连续内存存放的是"hello" -    - -    printf("p: %s\n", p); -    printf("str: %s\n", str1); - - str1 = "abcd"; // 错误,将“abcd”字符串赋值给数组str1时需要一个一个的进行。 -    str1[0] = 'a';  // 栈内存可以进行读写访问 -    printf("str: %s\n", str1); - - p = "abc"; // 可以修改p的指向  -    *p = 'a';  // 不能对常量区(.rodata)内存进行写访问 -    printf("p: %s\n", p); -``` - -### **复杂数组参数1** - -以上示例的数组可以为任意类型的数组,比如: - -```c -int b[3][4]; // &b[0] int [4] -int f2(b); -``` - -此时,二维数组b被当做参数传给了函数f2(),逻辑跟一位数组完全一样,唯一的不同只是数组b的首元素不再是普通的int,而是int [4],函数f2()的定义也可以有两种写法: - -```c -// 写法一: -void f2(int b[3][4]) // 或可以写成 void f2(int (b[3]) [4] ) -{ - ... -} - -// 写法二: -void f2(int (*b)[4]) // 此处小圆括号(*b)不能省略 -{ - ... -} -``` - -此例与上述数组a和函数f1()完全等同,看不出来的同学注意将数组b中的元素类型 int [4] 视为一个整体,等同于数组a中的元素类型 int。 - -### **复杂数组参数2** - -继续讲数组参数进行变形,比如: - -```c -char *c[3]; // &c[0] char * -int f3(c); -``` - -此时,数组c被当做参数传给了函数f3(),逻辑跟之前的两个例子完全一样,唯一的不同只是数组c的首元素是 char *,函数f3()的定义也可以有两种写法: - -```c -// 写法一: -void f3(char *c[3])// 或可以写成 void f3(char * (c[3]) ) -{ - ... -} - -// 写法二: -void f3(char **c) // 或可以写成 void f3(char * (*c) ) -{ - ... -} -``` - -### **总结** - -- 任何数组成为参数被传递时,都一律会被转化为一个指针,一个指向其首元素的指针,系统这么做是因为要提高数据传递的效率,但这同时给编程开发者提了个醒 —— 与普通按值传递不同,数组传的都是地址,形参都可以直接访问实参。 - -- 数组作为函数参数与返回值时实际是传递数组的基地址与返回数组的基地址,此时这个数组实际是一个指针,如下示例代码中my_strcat与my_strcat1的返回值均是一个数组,参数也是数组此时实际传递的是一个指针。 - -```c -/* 将字符串str2追加到str1的末尾,返回追加后的地址 */ -char *my_strcat(char str1[], char str2[]) -{ -    int i; -    for (i = 0; str1[i] != '\0'; i++) -    { -    } -    for (int j = 0; str2[j] != '\0'; j++) -    { -        str1[i+j] = str2[j]; -    } -    -    return str1; -} - -char *my_strcat1(char *str1, char *str2) -{ -    int i; -    for (i = 0; str1[i] != '\0'; i++) -    { -    } -    for (int j = 0; str2[j] != '\0'; j++) -    { -        str1[i+j] = str2[j]; -    } -    -    return str1; -} -``` - -# 五、复杂声明 - -- 分析复杂声明的步骤 - -- 从左至右找第一个非关键字标识符 - -- 以这个标识符为中心,逐个与()、[]、*结合 - -- 找到被小括号括起来的部分(从左到右原则) - -- 跟后缀操作符集合((), [])结合 - -- ()后缀表示是一个函数,分析其返回值及参数类型 - -- []后缀表示是一个数组,分析其元素类型 - -- 跟前缀(*)结合 - -- *前缀表示是一个指针,分析指向的目标类型 - -- 示例 - -```c -char *(*fun)(int); - -``` - -```c -char *(*fun[10])(int); - -``` - -```c -int *(*fun(int))[3]; - -``` - -```c -char *(*fun(char *(*p)(char *)))[2](int); - -``` - -[数组与指针作业.doc](attachments/WEBRESOURCEd160cdba37fb5f6e6e853a57af52b227数组与指针作业.doc) \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/02C语言/10-函数进阶.md b/Collection/YoudaoyunNotes/02C语言/10-函数进阶.md deleted file mode 100644 index e7d53b6..0000000 --- a/Collection/YoudaoyunNotes/02C语言/10-函数进阶.md +++ /dev/null @@ -1,408 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# 一、C语言函数库 - -- 概念:在C语言发展过程中收录了很多经典的数据操作方法----函数,将这些函数收录归纳汇总为开发人员方便使用的API接口(函数),如下图所示的各种操作接口库。 - -![](images/WEBRESOURCE607893845793236f767da405d9c9a4d5image.png) - -# 二、字符串操作函数 - -- 使用三部曲 - -- 确认头文件 - -- 确认函数功能 - -- 确认函数的参数与返回值 - -- C语言标准字符串函数库,头文件"#include " - -![](images/WEBRESOURCE104cae287459e90d523049be3c9ed591image.png) - -- **函数strlen** - -![](images/WEBRESOURCE0b5032b3e1de49ca903bd2db77d153e4b5ee282015ce47bc0f3295c8193891e2.png) - -```c -char *p = "www.yueqian.edu.com.cn"; -printf("粤嵌官网的地址长度是:%d\n", strlen(p)); -``` - -- **函数strcat与strncat** - -![](images/WEBRESOURCEeb0dc101742ac85592adc21845b91dab6f8df56f18a43f648269080ac22c4c87.png) - -- 注意: - -- 这两个函数的功能一样,都是将src字符串复制到dest的末尾。 - -- strcat()没有边界控制,因此可能会由于src字符串过长导致dest无法保存从而导致内存溢出。 - -- strncat()有边界控制,可以限制拼接字符的格式,保证dest不会因为越界而导致内存溢出。 - -- 更加值得推荐的字符串拼接函数sprintf()与snprintf(),头文件"#include " - -![](images/WEBRESOURCE62638d6f9956908d7b93dd99d70bcc61image.png) - -![](images/WEBRESOURCEb4578182300ccebca038b5640e577b8eimage.png) - -- 要点:sprintf与snprintf不光可以拼接字符串还可以实现将其他数据类型也添加到字符串中,sprintf对目标字符串的长度没有现在条件又内存溢出风险,但snprintf没有。 - -```c - char str1[10] = "温度:"; -    int temp = 27; -    char buf[50]; -    // sprintf(buf,"%s%d随机数据啊科技时代粉红色大家发货的撒扩大飞机和\r\n", str1, temp); // 无长度控制 -    // printf("buf:%s", buf); -    snprintf(buf,sizeof buf,"%s%d随机数据啊科技时代粉红色大家发货的撒扩大飞机和\r\n", str1, temp);  // 有长度控制 -    printf("buf:%s", buf); -``` - -- **函数strtok** - -![](images/WEBRESOURCEf54011d029f949fe3f754b46aa3853cbfc1fc8c6aeff83d2c08b1198d0df3ed6.png) - -- 注意: - -- 该函数会将改变原始字符串 str,使其所包含的所有分隔符变成结束标记 ‘\0’ 。 - -- 由于该函数需要更改字符串 str,因此 str 指向的内存必须是可写的。 - -- 首次调用时 str 指向原始字符串,此后每次调用 str 用 NULL 代替。 - -```c -char s[20] = "www.yueqian.com.cn"; - -char *p = strtok(s, "."); // 首次调用时,s 指向需要分割的字符串 -while(p != NULL) -{ - printf("%s\n", p); - p = strtok(NULL, "."); // 此后每次调用,均使用 NULL 代替。 -} -``` - -***注:上述代码的运行结果就是将字符串 s 拆解为"www"、“yueqian”、“com” 和 “cn”*** - -- 其他子串提取:sscanf()按照格式提取字符串中的内容 - -![](images/WEBRESOURCE226669d81bf2dc869c23059ac82f7a8eimage.png) - -```c - char str[] = "www yueqian-edu com cn"; - char str1[4]; - char str2[20]; - sscanf(str,"%s %s",str1,str2); - printf("str1:%s\n", str1); -``` - -- **函数strstr** - -![](images/WEBRESOURCE54b672d577364079ba70fd45152a12e9stickPicture.png) - -```c - char *str = "正午十二点,柏油路面被晒得发软。便利店的冷柜吐出白雾,穿校服的女孩咬着冰棒跑过," -                "塑料包装纸在风里打着旋儿,最后贴在墙角那丛半枯的狗尾草上。" -                "远处的施工队歇了工,起重机的吊臂在烈日里投下细长的影子,像根被晒蔫的芦苇。"; -    -    /* 在字符串中找子串 */ -    char *p = strstr(str, "柏油路");  // 从前往后查找子串,返回子串第一次出现位置 -    char *q = strstr(p+1, "你的女孩");// 若未找到则返回NULL -    if(p != NULL) -        puts(p); -    -    if(q != NULL) -        puts(q); -``` - -## **函数strcpy与strncpy** - -![](images/WEBRESOURCE4bf7c30b9e994bda856db1440425e6fcstickPicture.png) - -```c -int main(int argc, char *argv[]) -{ -    char *name = "张三丰"; -    char name1[20] = "123465dsdskfhjdsahs"; - -    // 不能把一个进行字符串赋值 -    // name1 = name; - -    strcpy(name1, name);  // 将name的内容全部内容包括'\0'都拷贝给name1的内存中 -    puts(name1); -    puts(name1+10); - - -    strncpy(name1, name, sizeof(name1));// 将name的内容sizeof(name1)字节部分内容包括'\0'都拷贝给name1的内存中,不足的不会拷贝 -    puts(name1); - -    return 0; -} -``` - -- 注意: - -1. 这两个函数的功能,都是将 src 中的字符串,复制到 dest 中。 - -1. strcpy() 没有边界控制,因此可能会由于 src 的过长而导致内存溢出。 - -1. strncpy() 有边界控制,最多复制 n+1 个字符(其中最后一个是 ‘\0’ )到 dest 中。 - -## **函数strcmp与strncmp** - -![](images/WEBRESOURCE07b09d5113504e099c4fbfd3ef55f632stickPicture.png) - -```c -#include -#include - -void fun(char *p) -{ -    char *q = "abc"; -    if(p==q) -    { -        printf("p与q相等\n"); -    } -    else -    { -        printf("p与q不相等\n"); -    } -} - -int main(int argc, char *argv[]) -{ -    // char *str1 = "abc"; -    // char *str2 = "abc"; // 相同的常量在内存中只有一份 - -    // fun(str1); - -    // if (str1 == str2) // 比较的是指针指向的目标是否相同 -    // { -    //     printf("str1与str2相等\n"); -    // } -    // else -    // { -    //     printf("str1与str2不相等\n"); -    // } - -    char s1[] = "abcacccaddc"; -    char s2[] = "abca"; - -    // if (s1 == s2)// 比较的是s1和s2的内存地址是否相同 -    // { -    //     printf("s1与s2相等\n"); -    // } -    -    int ret = strcmp(s1,s2); // 不是比较长短,而是比较两个字符串内容的大小(ASCII码值),一直比较到有结果为止 -                             // 若s1中字符的ASCII码值>s2中字符的ASCII码值则返回值大于0 -                             // 若s1中字符的ASCII码值与s2中字符的ASCII码值全部相等则返回值等于0 -                             // 若s1中字符的ASCII码值 0) -        printf("s1大于s2\n"); -    else -        printf("s1小于s2\n"); - -    ret = strncmp(s1,s2, 4); // 选择性比较,可以设置比较的字符长度 -    // printf("%d\n",ret); -    if(ret == 0) -        printf("s1与s2相等\n"); -    else if(ret > 0) -        printf("s1大于s2\n"); -    else -        printf("s1小于s2\n"); - -    return 0; -} -``` - -- 注意: - -- 比较字符串大小,实际上比较的是字符的 ASCII码值的大小。 - -- 从左到右逐个比较两个字符串的每一个字符,当能“决出胜负”时立刻停止比较(s1的字符ascii码值减去s2字符的ascii码值返回差值)。 - -## **函数strchr与strrchr** - -![](images/WEBRESOURCEa0517f24461b40ebad5fb8cb35e5046estickPicture.png) - -```c - char *str = "正午十二点,柏油路面被晒得发软。便利店的冷柜吐出白雾,穿校服的女孩咬着冰棒跑过," -                "塑料包装纸在风里打着旋儿,最后贴在墙角那丛半枯的狗尾草上。" -                "远处的施工队歇了工,起重机的吊臂在烈日里投下细长的影子,像根被晒蔫的芦苇。"; - /* 在字符串中找字符 */ -    char *k = strchr(str, ','); // 从前往后查找字符,返回字符第一次出现位置(中文字符不行),没有找到返回NULL -    if(k != NULL) -        puts(k); -    char *j = strrchr(str, '\0'); // 从后往前主要字符,返回字符第一次出现位置(中文字符不行),没有找到返回NULL -    if(j != NULL) -        puts(j); -    printf("%#x\n", j[0]); -``` - -- 注意: - -1. 这两个函数的功能,都是在指定的字符串 s 中,试图找到字符 c。 - -1. strchr() 从左往右找,strrchr() 从右往左找。 - -1. 字符串结束标记 ‘\0’ 被认为是字符串的一部分。 - -## 练习 - -自己封装函数实现strlen,strcat,strtok,strstr,strcpy,strcmp函数的功能。 - -# 晚上作业 - -1. 定义一个长度为20的整型数据生成随机数对这个数组进行初始化,编写排序函数对这个数据中的数据进行从小到大排序 - -- 要求编写五种排序函数:冒泡排序、选择排序、插入排序、快速排序、希尔排序 - -- 提示: - -- **各种排序算法的****时间复杂度****与****空间复杂度** - -![](images/WEBRESOURCEb440b29046c7b9a6f3c4315e2c59b6ffimage.png) - -- **冒泡排序** - -- 顺序:两个数据位置符合排序要求 - -- 逆序:两个数据位置不符合排序要求 - -- 思路:从头到尾让两个相邻数据进行比较,顺序保持不变,逆序交换位置,经过一轮比较序列中具有一个“极值”将被挪至末端。 - -![](images/WEBRESOURCE017da79a24a769cff3e5b4a570845821849589-20171015223238449-2146169197.gif) - -```c - -``` - -- **插入排序** - -- 思路:假设数列前面有i个节点的序列是有序的,那么就从第i+1个节点开始,插入到前面i个节点中的合适位置。由于序列的第一个节点始终视为有序,所以实在从第二个节点开始。 - -![](images/WEBRESOURCE0bef0e4f20c74105d00fc30f18338300849589-20171015225645277-1151100000.gif) - -```c - -``` - -- **选择排序** - -- 在无序序列中依次从头到尾挑选合适的节点放入有序序列。 - -![](images/WEBRESOURCE5936c4c59a03bf6508f3f2fc7f496572849589-20171015224719590-1433219824.gif) - -```c - -``` - -- **快速排序** - -- 快排是一直典型的递归思想,相比较其他排序它需要跟多的空间,理论上时间效率是最高的。 - -- 思想:在待排序序列中选取一个数据,作为“支点”,然后其他数据与支点比较,(升序)比支点小的放左边,比支点大的放右边,全部比较完后支点位于两个序列的中间,这叫一次划分(partition) - -![](images/WEBRESOURCEe0805f5f18d746ebfe9e7c96c29f5a05image.png) - -- 一次划分之后,序列的内部也许无序,但是左右序列与支点三者间,形成了一种基本有序状态,接下来使用相同的思路,递归的对左右序列进行排序,直到子序列的长度小于等于1为止; - -![](images/WEBRESOURCEb6a0efee1c1bc96325017b5204bf671f849589-20171015230936371-1413523412.gif) - -```c - -``` - -- **希尔排序** - -- 插入排序的改进版本,普通插入排序是从第2个节点开始,依次插入到有序序列中,这种做法在虽然一次成型,但时间效率上不划算,优化思路: - -- 不严格一个个插入使之有序,而是拉开插入节点的距离,让它们逐步有序,有待排序序列如下: - -84、83、88、87、61、50、70、60、80、89 - -- 第一遍,先区间隔(Δ=5),即依次对以下5组数据进行排序 - -**84** - -84、 - -84、83、 - -84、83、88、 - -84、83、88、87、 - -**注意:** - -**50** - -50、 - -50、70、 - -50、70、60、 - -50、70、60、80、 - -**结果:(** - -**50** - -50、 - -50、70、 - -50、70、60、 - -**得到:** - -**50** - -50、 - -50、61、 - -50、61、60、 - -**结果** - -![](images/WEBRESOURCE77576e5ba8ad0a92819a29e42a156f4c849589-20180331170017421-364506073.gif) - -```c - -``` - -1. 将自己写的字符串操作函数进行吸收 - -1. 制作一个图书管理系统,要求: - -1. 输入1:增加书籍名称(可以连续添加多本) - -1. 输入2:删除数书籍名称(删除一本或全部删除) - -1. 输入3:修改书籍名称 - -1. 输入4:查找书籍名称(模糊查找或精确查找) - -1. 输入5:显示所有书籍 - -1. 输入0:退出系统 - - 只要系统未退出则可以继续重复进行,直至系统退出。 - - 提示:char *book_name[1000]; // 表示表示最多可存放1000书,书名的长度自己设计。 - -[设置终端信息字体及颜色](https://share.note.youdao.com/s/DydeICJh) \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/02C语言/11-内存管理.md b/Collection/YoudaoyunNotes/02C语言/11-内存管理.md deleted file mode 100644 index 84d9e24..0000000 --- a/Collection/YoudaoyunNotes/02C语言/11-内存管理.md +++ /dev/null @@ -1,316 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# **C语言程序内存布局** - -任何一个程序,正常运行都需要内存资源,用来存放诸如变量、常量、函数代码等等。这些不同的内容,所存储的内存区域是不同的,且不同的区域有不同的特性。因此我们需要研究C语言进程的内存布局,逐个了解不同内存区域的特性。 - -每个C语言程序运行后(进程)都拥有一片结构相同的虚拟内存,所谓的虚拟内存,就是从实际物理内存映射出来的地址规范范围,最重要的特征是所有的虚拟内存布局都是相同的,极大地方便内核管理不同的进程。例如三个完全不相干的进程p1、p2、p3,它们很显然会占据不同区段的物理内存,但经过系统的变换和映射,它们的虚拟内存的布局是完全一样的。 - -- PM:Physical Memory,物理内存。 - -- VM:Virtual Memory,虚拟内存。 - -![](images/WEBRESOURCE386be62eabb8428892ab8defa9285f62stickPicture.png) - -将其中一个C语言进程的虚拟内存放大来看,会发现其内部包下区域: - -- 栈(stack) - -- 堆(heap) - -- 数据段 - -- 代码段 - -![](images/WEBRESOURCE8e93c80dd4024c349b761d46d6bc550astickPicture.png) - -虚拟内存中,内核区段(1GB)对于应用程序而言是禁闭的,它们用于存放操作系统的关键性代码,另外由于 Linux 系统的历史性原因,在虚拟内存的最底端 0x0 ~ 0x08048000 之间也有一段禁闭的区段(128MB),该区段也是不可访问的。 - -虚拟内存中各个区段的详细内容: - -![](images/WEBRESOURCEad72a89dc307481fb738c9fd32d03bb0截图.png) - -# **栈内存** - -- 什么东西存储在栈内存中? - -- 环境变量 - -- 命令行参数 - -- 局部变量(包括形参) - -- 栈内存有什么特点? - -- 空间有限,尤其在嵌入式环境下。因此不可以用来存储尺寸太大的变量。 - -- 每当一个函数被调用,栈就会向下增长一段,用以存储该函数的局部变量。(随用随申请,用完系统自动释放) - -- 每当一个函数退出,栈就会向上缩减一段,将该函数的局部变量所占内存归还给系统。(由系统自动进行管理) - -- 注意: - -![](images/WEBRESOURCEbfbfe340f67e40d8b8abd3e304990e0b截图.png) - -Linux中栈空间的大小可以使用ulimit -a进行查看,若使用时超出这个范围则称为"栈溢出" - -![](images/WEBRESOURCE16558976e0bafd8d40e5bc88c3312104image.png) - -- 示例代码: - -```c -void func(int a, int *p) // 在函数 func 的栈内存中分配 -{ - double f1, f2; // 在函数 func 的栈内存中分配 - ... // 退出函数 func 时,系统的栈向上缩减,释放内存 -} - -int main(void) -{ - int m = 100; // 在函数 main 的栈内存中分配 - func(m, &m); // 调用func时,系统的栈内存向下增长 -} -``` - -# **数据段** - -C语言中,数据段中存放静态数据,静态数据有两种: - -- 全局变量:定义在函数外部的变量。 - -- 静态变量:静态局部变量(定义在函数内部,且被static修饰的变量)静态全局变量(定义在函数外部,且被static修饰的变量) - -- 示例: - -```c -int a; // 全局变量,退出整个程序之前不会释放 -void f(void) -{ - static int b; // 静态局部变量,退出整个程序之前不会释放 - printf("%d\n", b); - b++; -} - -int main(void) -{ - f(); - f(); // 重复调用函数 f(),会使静态局部变量 b 的值不断增大 -} -``` - -- 为什么需要静态数据? - -1. 全局变量在默认的情况下,对所有文件可见,为某些需要在各个不同文件和函数间访问的数据提供操作上的方便(extern<声明外部变量>)。 - -1. 当我们希望一个函数退出后依然能保留局部变量的值,以便于下次调用时还能用时,静态局部变量可帮助实现这样的功能。 - -- 注意1: - -- 若定义时未初始化,则系统会将所有的静态数据自动初始化为0 - -- 静态数据初始化语句,只会执行一遍。 - -- 静态数据从程序开始运行时便已存在,直到程序退出时才释放。 - -- 注意2: - -- static修饰局部变量:使之由栈内存临时数据,变成了静态数据。 - -- static修饰全局变量:使之由各文件可见的静态数据,变成了本文件可见的静态数据。 - -- static修饰函数:使之由各文件可见的函数,变成了本文件可见的静态函数。 - -# **数据段与代码段** - -- 数据段细分成如下几个区域: - -- .bss 段:存放未初始化(初始赋值)的静态数据,它们将被系统自动初始化为0 - -- .data段:存放已初始化的静态数据 - -- .rodata段:存放常量数据,程序内出现的所有常量,不包含const修饰的变量 - -- 代码段细分成如下几个区域: - -- .text段:存放用户代码,用户自己编写的所有程序源码 - -- .init段:存放系统初始化代码,编译系统会自动为每一个程序文夹添加系统初始化代码。 - -![](images/WEBRESOURCEdd9921bab1cd4252b7f237f0d8a12b47截图.png) - -```c -int a; // 未初始化的全局变量,放置在.bss 中 -int b = 100; // 已初始化的全局变量,放置在.data 中 - -int main(void) -{ - static int c; // 未初始化的静态局部变量,放置在.bss 中 - static int d = 200; // 已初始化的静态局部变量,放置在.data 中 - - // 以上代码中的常量100、200防止在.rodata 中 -} -``` - -- 注意:数据段和代码段内存的分配和释放,都是由系统规定的,我们无法干预。 - -# **堆内存** - -堆内存(heap)又被称为动态内存、自由内存,简称堆。堆是唯一可被开发者自定义的区段,开发者可以根据需要申请内存的大小、决定使用的时间长短等。但又由于这是一块系统“飞地”,所有的细节均由开发者自己把握,系统不对此做任何干预,给予开发者绝对的“自由”,但也正因如此,对开发者的内存管理提出了很高的要求。对堆内存的合理使用,几乎是软件开发中的一个永恒的话题。 - -- 堆内存基本特征: - -- 相比栈内存,堆的总大小仅受限于物理内存,在物理内存允许的范围内,系统对堆内存的申请不做限制。 - -- 相比栈内存,堆内存从下往上增长。 - -- 堆内存是匿名的,只能由指针来访问。 - -- 自定义分配的堆内存,除非开发者主动释放,否则永不释放,直到程序退出。 - -![](images/WEBRESOURCE7246c4ff67284b1f94285f137c008d32截图.png) - -- 相关API: - -- 申请堆内存:malloc() / calloc() - -- 清零堆内存:bzero() - -- 释放堆内存:free() - -![](images/WEBRESOURCE3b6fc7cbc2e84d2e953b56d19a155223截图.png) - -![](images/WEBRESOURCE3371a585a1a5dfcb33e097062bbbd329image.png) - -- 示例: - -```c -int *p = malloc(sizeof(int)); // 申请1块大小为 sizeof(int) 的堆内存 -bzero(p, sizeof(int)); // 将刚申请的堆内存清零 - -*p = 100; // 将整型数据 100 放入堆内存中 -free(p); // 释放堆内存 - -// 申请3块连续的大小为 sizeof(double) 的堆内存 -double *k = calloc(3, sizeof(double)); - -k[0] = 0.618; -k[1] = 2.718; -k[2] = 3.142; -free(k); // 释放堆内存 -k = NULL; -``` - -```c -#include -#include -#include - -int main(int argc, char *argv[]) -{ -    char *p = NULL; -    // char str[10] = {0};  // 栈数组,有名字 - -    p = malloc(7766279631452241920); // malloc可以动态的申请内存空间10字节,成功返回这个连续10字节空间的地址;堆数组,无名字 -    if(p == NULL) -    { -        // printf("申请内存失败\n");  // 特殊情况 -        perror("申请内存失败");  // 输出错误内容 -        return -1; -    } - -    // p = calloc(2, 10);  // calloc动态的申请内存空间,2片连续的内存每片10字节 -    // char (*q)[10] = calloc(4, 10);// malloc与calloc的用法相似的返回值都是void *因此可以为你申请所需要的所有类型内存。 -  - -    // for (int i = 0; i < 20; i++) -    // { -    //     str[i] = 'a'+i; -    //     p[i] =  'a'+i; -    // } -    // str[9] = '\0'; -    // p[19] = '\0'; - -    // printf("%s\n", str); -    // printf("%s\n", p); - -    // free(p); // 释放空间,使用完毕后将内存归还系统。 - -    p = malloc(20);   // 未进行初始化的内存 -    bzero(p,20); // 初始化内存(清零) -    for (int i = 0; i < 20; i++) -    { -        printf("%x\t",p[i]);  // *(p+i)  *(y+x) == y[x] -    } -    printf("\n"); - -    free(p); // 已经释放, p虽然保存的还是刚刚的空间,但这空间能否使用未知 -    p = NULL; // 防止释放后在进行访问 - -    p = calloc(1,20);  // 会进行初始化(清零)的内存 -    for (int i = 0; i < 20; i++) -    { -        printf("%x\t",p[i]);  // *(p+i)  *(y+x) == y[x] -    } -    printf("\n"); - -    free(p); // 已经释放, p虽然保存的还是刚刚的空间,但这空间能否使用未知 -    p = NULL; // 防止释放后在进行访问 - -//     for (int i = 0; i < 20; i++) -//     { -//         p[i] =  'a'+i; -//     } -//    printf("%s\n", p); - -    return 0; -} -``` - -- 注意: - -- malloc()申请的堆内存,默认情况下是随机值,一般需要用 bzero()或者memset() 来清零。 - -- calloc()申请的堆内存,默认情况下是已经清零了的,不需要再清零,且calloc可以申请多片连续内存。 - -- free()只能释放堆内存,并且只能释放整块堆内存,不能释放别的区段的内存或者释放一部分堆内存。 - -- realloc()重设内存的大小,若原地址后有足够的空间则新开拓的地址在原地址的基础上进行增加并返回原内存地址,若原地址后内存不足则重新开辟一片内存空间并将原地址内存中的数据拷贝到新的内存地址中,然后释放原地址内存并返回新内存地址。 - -```c - /* 验证realloc的使用: 若原来的空间后有空闲的可以追加的空间则在原来的空间后进行追加,返回原地址;若不够则将原来空间中的数据拷贝到新的空间中并释放原来的空间,再返回新空间的地址 */ -    p = malloc(20);  // 申请一片空间 -    printf("p: %p\n", p); - -    p = realloc(p, 20+2); // 重新设置已申请空间的大小  追加(再开辟) -    printf("p: %p\n", p); - -    p = realloc(p, 20-15); // 重新设置已申请空间的大小 缩减(释放一部分) -    printf("p: %p\n", p); -``` - -- 释放内存的含义: - -- 释放内存意味着将内存的使用权归还给系统。 - -- 释放内存并不会改变指针的指向,手动立即令指针指向NULL。 - -- 释放内存并不会对内存做任何修改,更不会将内存清零。 - -![](images/WEBRESOURCE7c9c73af4eed4645beaa1264f8384921image.png) - -- **什么时候用栈什么时候用堆?** - -- 基本数据类型(int char float double)就用栈,复合数据类型(结构体、联合体)就用堆。 - -- **练习** - -- 使用堆空间计算两个大数的乘积(如:123456789123456789123456789*987456321987456123698745) \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/02C语言/14-预处理与文件组织.md b/Collection/YoudaoyunNotes/02C语言/14-预处理与文件组织.md deleted file mode 100644 index fd7b33c..0000000 --- a/Collection/YoudaoyunNotes/02C语言/14-预处理与文件组织.md +++ /dev/null @@ -1,824 +0,0 @@ ---- -aliases: -tags: - - 粤嵌 -type: - - Source -status: - - 💤 Archived -star: false -date: ---- -# 前导知识 - -## GCC 编译一共分4个阶段:**预处理、编译、汇编、链接** - -> gcc 【选项】要编译的文件【选项】【输出文件】 - - -| 选项 | 说明 | -| -- | -- | -| -E | 控制GCC编译器仅对源码做预处理操作 | -| -S | 控制GCC编译器仅对指定文件处理之编译阶段 | -| -c | 控制GCC编译器仅对制定文件处理至汇编阶段,并生成相应的目标文件 | -| -o outfile | 指定输出文件的文件名 | - - -1. 预处理阶段 - -预处理阶段是编译的第一个阶段。在这个阶段,GCC会扫描源代码并执行以下操作: - -1. 删除注释 - -1. 替换宏定义 - -1. 处理条件编译指令 - -1. 将头文件内容插入源代码中(展开头文件) - -```shell -gcc -E hello.c -o hello.i -``` - -2. 编译阶段 - -在预处理阶段之后,GCC会将源代码翻译成汇编代码,这个过程称为编译。编译器会检查源代码是否符合语法,以及是否存在语义错误。 - -在编译阶段,编译器将源代码翻译成汇编代码,以便下一步的汇编阶段使用。 - -```shell -gcc -S hello.i -o hello.s -``` - -3. 汇编阶段 - -汇编阶段是将汇编代码转换为机器代码的过程。在这个阶段,汇编器将汇编代码转换为机器指令,生成目标文件。 - -在汇编阶段,汇编器将汇编代码转换为机器指令,生成目标文件。 - -```shell -gcc -c hello.s -o hello.o -``` - -4. 链接阶段 - -链接阶段是将所有目标文件合并成一个可执行文件的过程。在这个阶段,链接器将目标文件中未定义的符号与其他目标文件中定义的符号进行匹配,并生成一个可执行文件。 - -在链接阶段,链接器将目标文件合并成一个可执行文件。 - -```shell -gcc hello.o -o hello -``` - -# **预处理** - -在C语言程序源码中,凡是以井号(#)开头的语句被称为预处理语句,这些语句严格意义上并不属于C语言语法的范畴,它们在编译的阶段统一由所谓预处理器(cc1)来处理。所谓预处理,顾名思义,指的是真正的C程序编译之前预先进行的一些处理步骤,这些预处理指令包括: - -1. 头文件:#include - -1. 定义宏:#define - -1. 取消宏:#undef - -1. 条件编译:#if、#ifdef、#ifndef、#else、#elif、#endif - -1. 显示错误:#error - -1. 修改当前文件名和行号:#line - -1. 向编译器传送特定指令:#progma - -| 指令 | 描述 | 使用示例 | | -| ---------- | ----------------------- | ------------------- | --- | -| `#define` | 定义宏(符号常量或函数式宏) | `#define PI 3.14159` | | -| `#include` | 包含头文件 | `#include ` | | -| `#undef` | 取消已定义的宏 | `#undef PI` | | -| `#ifdef` | 如果宏已定义则编译后续代码 | `#ifdef DEBUG` | | -| `#ifndef` | 如果宏未定义则编译后续代码(常用于头文件保护) | `#ifndef HEADER_H` | | -| `#if` | 条件编译(可配合defined操作符使用) | `#if VERSION > 2` | | -| `#else` | `#if` | `#ifdef WIN32` | | -| `#elif` | 类似于else if | `#if defined(UNIX)` | | -| `#endif` | 结束条件编译块 | 如上例所示 | | -| `#error` | 产生编译错误并输出消息 | `#if !defined(C99)` | | -| `#pragma` | 编译器特定指令(非标准,各编译器不同) | `#pragma once` | | - - -- 基本语法 - -- 一个逻辑行只能出现一条预处理指令,多个物理行需要用反斜杠连接成一个逻辑行 - -- 预处理是整个编译全过程的第一步:预处理 - 编译 - 汇编 - 链接 - -- 可以通过如下编译选项来指定来限定编译器只进行预处理操作: - -```c -gcc example.c -o example.i -E -``` - -## **宏** - -宏(macro)实际上就是一段特定的字串,在源码中用以替换为指定的表达式。例如: - -```c -#define PI 3.14 -``` - -此处,PI 就是宏(宏一般习惯用大写字母表达,以区分于变量和函数,但这并不是语法规定,只是一种习惯),是一段特定的字串,这个字串在源码中出现时,将被替换为3.14。例如: - -```c -int main() -{ - printf("圆周率: %f\n", PI); - // 此语句将被替换为:printf("圆周率: %f\n", 3.14); -} -``` - -- 宏的作用: - -- 使得程序更具可读性:字串单词一般比纯数字更容易让人理解其含义。 - -- 使得程序修改更易行:修改宏定义,即修改了所有该宏替换的表达式。 - -- 提高程序的运行效率:程序的执行不再需要函数切换开销,而是就地展开。 - -### **无参宏** - -无参宏意味着使用宏的时候,无需指定任何参数,比如: - -```c -#define PI 3.14 -#define SCREEN_SIZE 800*480*4 -int main() -{ - // 在代码中,可以随时使用以上无参宏,来替代其所代表的表达式: - printf("圆周率: %f\n", PI); - mmap(NULL, SCREEN_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, ...); -} -``` - -注意到,上述代码中,除了有自定义的宏,还有系统预定义的宏: - -```c -// 自定义宏: -#define PI 3.14 -#define SCREEN_SIZE 800*480*4 - -// 系统预定义宏 -#define NULL ((void *)0) -#define PROT_READ 0x1 /* Page can be read. */ -#define PROT_WRITE 0x2 /* Page can be written. */ -#define MAP_SHARED 0x01 /* Share changes. */ -``` - -宏的最基本特征是进行直接文本替换,以上代码被替换之后的结果是: - -```c -int main() -{ - printf("圆周率: %f\n", 3.14); - mmap(((void *)0), 800*480*4, 0x1|0x2, 0x01, ...); -} -``` - -### **带参宏** - -带参宏意味着宏定义可以携带“参数”,从形式上看跟函数很像,例如: - -```c -#define MAX(a, b) a>b ? a : b -#define MIN(a, b) ay ? x : y); - // printf("最小值:%d\n", xb ? a : b - -int main() -{ - int x = 100, y = 200; - printf("最大值:%d\n", MAX(x, y==200?888:999)); -} -``` - -直观上看,无论 y 的取值是多少,表达式 `y==200?888:999` 的值一定比 x 要大,但由于宏定义仅仅是文本替换,中间不涉及任何运算,因此等价于: - -```c -printf("最大值:%d\n", x>y==200?888:999 ? x : y==200?888:999); -``` - -可见,带参宏的参数不能像函数参数那样视为一个整体,整个宏定义也不能视为一个单一的数据,事实上,不管是宏参数还是宏本身,都应被视为一个字串,或者一个表达式,或者一段文本,因此最基本的原则是: - -- 将宏定义中所有能用括号括起来的部分,都括起来,比如: - -```c -#define MAX(a, b) ((a)>(b) ? (a) : (b)) -``` - -### **宏定义中的符号粘贴** - -有些时候,宏参数中的符号并非用来传递数据,而是用来形成多种不同的字串,例如在某些系统函数中,系统本身规范了函数接口的部分标准,形如: - -```c -void __zinitcall_service_1(void) -{ - ... -} - -void __zinitcall_service_2(void) -{ - ... -} - -void __zinitcall_feature_1(void) -{ - ... -} - -void __zinitcall_feature_2(void) -{ - ... -} -``` - -此时,若需要向用户提供一个方便整合字串的宏定义,可以这么写: - -```c -#define LAYER_INITCALL(layer, num) __zinitcall_##layer##_##num -``` - -用户的调用如下: - -```c -LAYER_INITCALL(service, 1)(); -LAYER_INITCALL(service, 2)(); -LAYER_INITCALL(feature, 1)(); -LAYER_INITCALL(feature, 2)(); -``` - -**注意:** - -在书写非字符串的字串时(如上述例子),使用两边双井号来 - -``` -#define LAYER_INITCALL(num, layer) __zinitcall_##layer##_##num## -``` - -但如果粘贴的字串并非出现在最末尾,则前后都必须加上双井号: - -```c -#define LAYER_INITCALL(num, layer) __zinitcall_##layer##_##num##end -``` - -**注意:** - -另外,如果字串本身拼接为字符串,那么只需要使用一个井号即可,比如: - -```c -#define domainName(a, b) "www." #a "." #b ".com" - -int main() -{ - printf("%s\n", domainName(yueqian, lab)); -} -``` - -执行打印如下: - -```shell -gec@ubuntu:~$ ./a.out -www.yueqian.lab.com -gec@ubuntu:~$ -``` - -### **无值宏定义** - -定义无参宏的时候,不一定需要带值,无值的宏定义经常在条件编译中作为判断条件出现,例如: - -```c -#define BIG_ENDIAN -#define __cplusplus -``` - -```c -#include - -#define __DEFINE__H__ // 定义无值宏 -#ifdef __DEFINE__H__  // 如果定义了宏__DEFINE__H__ - -// #ifndef __DEFINE__H__  // 如果未定义了宏__DEFINE__H__ -// #define __DEFINE__H__  // 上下两个无值宏一般用于头文件中 - - -#define PI    3.141526 // 无参宏 - -// 带参宏 -#define MAX(a,b)  ((a)>(b)?(a):(b))  // 推荐 -#define MIN(a,b)  (a - -#define A 1   //声卡 -#define B 0   //网卡 -#define C 0   //串口 - -#if A -void fun_init_1(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} -#endif - -#if B -void fun_init_2(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} -#endif - -#if C -void fun_init_3(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} -#endif - -void fun_destory_1(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} - -void fun_destory_2(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} -void fun_destory_2_end(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} - -int main() -{ -#if A -    fun_init_1(); -#endif - -#if B -    fun_init_2(); -#endif - -#if C -    fun_init_3(); -#endif - -    return 0; -} -``` - -```c -#include - -#define A 0   //声卡 -#define B 0   //网卡 -#define C 1   //串口 - -#if A -void fun_init_1(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} -#elif B -void fun_init_2(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} - -#else -void fun_init_3(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} -#endif - -void fun_destory_1(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} - -void fun_destory_2(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} -void fun_destory_2_end(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} - -int main() -{ -#if A -    fun_init_1(); -#elif B -    fun_init_2(); -#else -    fun_init_3(); -#endif - -    return 0; -} - -``` - -```c -#include - -void fun_destory_1(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} - -// #define DEBUG - -#ifndef DEBUG -void fun_destory_2(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} -#endif - - -#ifdef  DEBUG   //gcc demo4.c -DDEBUG 编译时添加宏定义 -void fun_destory_3_end(void) -{ -    printf("%s is running...\n", __FUNCTION__); -} -#endif - -int main(void) -{ - -    fun_destory_1(); -#ifdef  DEBUG -    fun_destory_3_end(); -#endif -#ifndef DEBUG -    fun_destory_2(); -#endif -    return 0; -} -``` - -## **头文件** - -通常,一个常规的C语言程序会 - -![](images/WEBRESOURCE61a25737180b4d579df0faf4cf8bb1c4stickPicture.png) - -### **头文件的内容** - -- 头文件中所存放的内容,就是各个源码文件的彼此可见的公共资源,包括: - -1. 全局变量的声明。 - -1. 普通函数的声明。 - -1. 静态函数的定义(内联函数)。 - -1. 宏定义。 - -1. 结构体、联合体的定义。 - -1. 枚举常量列表的定义。 - -1. 其他头文件。 - -- 示例代码: - -``` -// head.h -extern int global; // 1,全局变量的声明 -extern void f1(); // 2,普通函数的声明 -static void f2() // 3,静态函数的定义 -{ - ... -} -#define MAX(a, b) ((a)>(b)?(a):(b)) // 4,宏定义 -struct node // 5,结构体的定义 -{ - ... -}; -union attr // 6,联合体的定义 -{ - ... -}; -#include // 7,其他头文件 -#include -#include -``` - -- 特别说明: - -1. 全局变量、普通函数的定义一般出现在某个源文件(`*.c` )中,其他的源文件想要使用都需要进行声明(extern),因此一般放在头文件中更方便。 - -2. 静态函数、宏定义、结构体、联合体的定义都只能在其所在的文件可见,因此如果多个源文件都需要使用的话,放到头文件中定义是最方便,也是最安全的选择。 - -### **头文件的使用** - -头文件编写好了之后,就可以被各个所需要的源码文件包含了,包含头文件的语句就是如下预处理指令: - -``` -// main.c -#include "head.h" // 包含自定义的头文件 -#include // 包含系统预定义的文件 - -int main() -{ - ... -} -``` - -可以看到,在源码文件中包含指定的头文件有两种不同的形式: - -- 使用双引号:在指定位置 + 系统标准路径搜索 head.h - -- 使用尖括号:在系统标准路径搜索 stdio.h - -### **头文件的格式** - -由于头文件包含指令 `#include` 的本质是复制粘贴,并且一个头文件中可以嵌套包含其他头文件,因此很容易出现一种情况是:头文件被重复包含。 - -- 使用条件编译,解决头文件重复包含的问题,格式如下: - -``` -#ifndef _HEADNAME_H -#define _HEADNAME_H - -... -... (头文件正文) -... - -#endif -``` - -其中,HEADNAME一般取头文件名称的大写 - -# 文件组织 - -一个简易示例 - -![](images/WEBRESOURCEb5c62efd51d146318ed20b94a949b34astickPicture.png) - -由于自定义的头文件一般放在源码文件的周围,因此需要在编译的时候通过特定的选项来指定位置,而系统头文件都统一放在标准路径下,一般无需指定位置。 - -假设在源码文件 main.c 中,包含了两个头文件:head.h 和 stdio.h ,由于他们一个是自定义头文件,一个是系统标准头文件,前者放在项目 pro/inc 路径下,后者存放于系统头文件标准路径下(一般位于 /usr/include),因此对于这个程序的编译指令应写作: - -``` -gec@ubuntu:~/pro$ gcc main.c -o main -I /home/gec/pro/inc -``` - -其中,/home/gec/pro/inc 是自定义头文件 head.h 所在的路径 - -- 语法要点: - -- 预处理指令 `#include` 的本质是复制粘贴:将指定头文件的内容复制到源码文件中。 - -- 系统标准头文件路径可以通过编译选项 -v 来获知,比如: - -``` -gec@ubuntu:~/pro$ gcc main.c -I /home/gec/pro/inc -v -... ... -#include "..." search starts here: -#include <...> search starts here: - /usr/lib/gcc/x86_64-linux-gnu/7/include - /usr/local/include - /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed - /usr/include/x86_64-linux-gnu - /usr/include -... ... -``` - -![](images/WEBRESOURCEc1cc8a34d5ae4ef6bd588fcb003a0b83image.png) - -![](images/WEBRESOURCEcb03335b039dd3101bd1e33868113656image.png) - -**注意:`*`是通配符,表示将src目录下的所有以.c结尾的文件都参与编译** - -![](images/WEBRESOURCE54710c7a76c34ce186adf7550689b814image.png) - -> **表示告诉编译器头文件所在路径,编译会去指定的路径寻找头文件** - - -**应用场景(模块化编程)** - -## 练习 - -将图书管理系统的C语言文件使用 - -![](images/WEBRESOURCE2abc07694c4f358e3cffaedba77bcb90image.png) \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE1b1c0ef38fb7e7623e35a7ffc254fd87判断、循环测试题.docx b/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE1b1c0ef38fb7e7623e35a7ffc254fd87判断、循环测试题.docx deleted file mode 100644 index 6e01a08..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE1b1c0ef38fb7e7623e35a7ffc254fd87判断、循环测试题.docx and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE1ebc5cddf8773c3fb139b21db91946c8数据类型测试题.docx b/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE1ebc5cddf8773c3fb139b21db91946c8数据类型测试题.docx deleted file mode 100644 index 05a1b1d..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE1ebc5cddf8773c3fb139b21db91946c8数据类型测试题.docx and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE224e5f8aa53ceb5fc88f45d79932378a内存管理测试题.docx b/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE224e5f8aa53ceb5fc88f45d79932378a内存管理测试题.docx deleted file mode 100644 index 557fab0..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE224e5f8aa53ceb5fc88f45d79932378a内存管理测试题.docx and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE40a76a7d230733292ec04717f3f6f254编程规范.pdf b/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE40a76a7d230733292ec04717f3f6f254编程规范.pdf deleted file mode 100644 index f548a40..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE40a76a7d230733292ec04717f3f6f254编程规范.pdf and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE757c8acbaa371ecec8cc55fab8756448运算符测试.docx b/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE757c8acbaa371ecec8cc55fab8756448运算符测试.docx deleted file mode 100644 index 98326fa..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE757c8acbaa371ecec8cc55fab8756448运算符测试.docx and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE94606765850c0696e801236ba49014a2函数练习题.docx b/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE94606765850c0696e801236ba49014a2函数练习题.docx deleted file mode 100644 index 8e3b6ba..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCE94606765850c0696e801236ba49014a2函数练习题.docx and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEa2d88b6292b52c177b4bc6323a5bdd07函数作业题.docx b/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEa2d88b6292b52c177b4bc6323a5bdd07函数作业题.docx deleted file mode 100644 index 7148b41..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEa2d88b6292b52c177b4bc6323a5bdd07函数作业题.docx and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEbbcc325c1c1c565fa7dbe4f13a3f2f9d运算符1.docx b/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEbbcc325c1c1c565fa7dbe4f13a3f2f9d运算符1.docx deleted file mode 100644 index 8b447f6..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEbbcc325c1c1c565fa7dbe4f13a3f2f9d运算符1.docx and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEc2ef36702a6ecf7e2169723a2d147b08结构体测试题.docx b/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEc2ef36702a6ecf7e2169723a2d147b08结构体测试题.docx deleted file mode 100644 index effe57c..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEc2ef36702a6ecf7e2169723a2d147b08结构体测试题.docx and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEd160cdba37fb5f6e6e853a57af52b227数组与指针作业.doc b/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEd160cdba37fb5f6e6e853a57af52b227数组与指针作业.doc deleted file mode 100644 index b5dd8fe..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEd160cdba37fb5f6e6e853a57af52b227数组与指针作业.doc and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEd71090e9d6659f19f9b36c93099793f4指针与数组作业.doc b/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEd71090e9d6659f19f9b36c93099793f4指针与数组作业.doc deleted file mode 100644 index 2d07b7b..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEd71090e9d6659f19f9b36c93099793f4指针与数组作业.doc and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEf8f411dd54c53da227a89fc7031bb0c7terminal_colors.h b/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEf8f411dd54c53da227a89fc7031bb0c7terminal_colors.h deleted file mode 100644 index 7a1b448..0000000 --- a/Collection/YoudaoyunNotes/02C语言/attachments/WEBRESOURCEf8f411dd54c53da227a89fc7031bb0c7terminal_colors.h +++ /dev/null @@ -1,115 +0,0 @@ -// terminal_colors.h -/** - * @file terminal_colors.h - * @brief ANSI终端颜色和字体样式控制宏定义 - * @author 李林峰 - * @date 2025-07-22 - * @version 1.0 - * - * 本文件提供了一套完整的ANSI转义码宏定义,用于控制终端文本的颜色、 - * 背景色和字体样式。支持标准16色、256色模式下的颜色定义, - * 以及各种字体样式(加粗、斜体、下划线等)。 - * - * 使用说明: - * 1. 包含本头文件:#include "terminal_colors.h" - * 2. 使用预定义的宏组合颜色和样式 - * 3. 每条彩色输出后应使用RESET宏重置终端属性 - * 4. 推荐使用PRINT_COLOR系列宏,它们会自动处理RESET - * - * 示例: - * printf(RED "红色文本" RESET "\n"); - * PRINT_COLOR(BOLD BLUE BG_WHITE, "加粗蓝色文本白色背景"); - * PRINT_ERROR("错误消息"); - */ - -#ifndef TERMINAL_COLORS_H -#define TERMINAL_COLORS_H - -// ==================== 基本控制宏 ==================== -#define RESET "\033[0m" // 重置所有属性 - -// ==================== 常规颜色 ==================== -#define BLACK "\033[30m" -#define RED "\033[31m" -#define GREEN "\033[32m" -#define YELLOW "\033[33m" -#define BLUE "\033[34m" -#define MAGENTA "\033[35m" -#define CYAN "\033[36m" -#define WHITE "\033[37m" - -// ==================== 亮色 ==================== -#define BRIGHT_BLACK "\033[90m" -#define BRIGHT_RED "\033[91m" -#define BRIGHT_GREEN "\033[92m" -#define BRIGHT_YELLOW "\033[93m" -#define BRIGHT_BLUE "\033[94m" -#define BRIGHT_MAGENTA "\033[95m" -#define BRIGHT_CYAN "\033[96m" -#define BRIGHT_WHITE "\033[97m" - -// ==================== 背景色 ==================== -#define BG_BLACK "\033[40m" -#define BG_RED "\033[41m" -#define BG_GREEN "\033[42m" -#define BG_YELLOW "\033[43m" -#define BG_BLUE "\033[44m" -#define BG_MAGENTA "\033[45m" -#define BG_CYAN "\033[46m" -#define BG_WHITE "\033[47m" - -// ==================== 亮背景色 ==================== -#define BG_BRIGHT_BLACK "\033[100m" -#define BG_BRIGHT_RED "\033[101m" -#define BG_BRIGHT_GREEN "\033[102m" -#define BG_BRIGHT_YELLOW "\033[103m" -#define BG_BRIGHT_BLUE "\033[104m" -#define BG_BRIGHT_MAGENTA "\033[105m" -#define BG_BRIGHT_CYAN "\033[106m" -#define BG_BRIGHT_WHITE "\033[107m" - -// ==================== 字体样式 ==================== -#define BOLD "\033[1m" // 加粗/高亮 -#define DIM "\033[2m" // 暗淡 -#define ITALIC "\033[3m" // 斜体 -#define UNDERLINE "\033[4m" // 下划线 -#define BLINK "\033[5m" // 闪烁 -#define REVERSE "\033[7m" // 反显 -#define HIDDEN "\033[8m" // 隐藏 -#define STRIKETHROUGH "\033[9m" // 删除线 - -// ==================== 组合宏 ==================== -#define ERROR_COLOR BOLD RED -#define WARNING_COLOR BOLD YELLOW -#define SUCCESS_COLOR BOLD GREEN -#define INFO_COLOR BOLD BLUE -#define DEBUG_COLOR BOLD CYAN - -#define ERROR_BG BOLD RED BG_WHITE -#define WARNING_BG BOLD YELLOW BG_BLACK -#define SUCCESS_BG BOLD GREEN BG_BLACK -#define INFO_BG BOLD BLUE BG_BLACK - -// ==================== 打印宏 ==================== -/** - * @brief 打印带颜色的消息(自动换行和重置) - * @param color 颜色/样式组合宏 - * @param msg 要打印的消息 - */ -#define PRINT_COLOR(color, msg) printf("%s%s" RESET "\n", color, msg) - -/** - * @brief 打印带颜色的消息(不换行,自动重置) - * @param color 颜色/样式组合宏 - * @param msg 要打印的消息 - */ -#define PRINT_COLOR_NR(color, msg) printf("%s%s" RESET, color, msg) - -// ==================== 常用消息快捷方式 ==================== -#define PRINT_ERROR(msg) PRINT_COLOR(ERROR_COLOR, msg) -#define PRINT_WARNING(msg) PRINT_COLOR(WARNING_COLOR, msg) -#define PRINT_SUCCESS(msg) PRINT_COLOR(SUCCESS_COLOR, msg) -#define PRINT_INFO(msg) PRINT_COLOR(INFO_COLOR, msg) -#define PRINT_DEBUG(msg) PRINT_COLOR(DEBUG_COLOR, msg) - -#endif // TERMINAL_COLORS_H \ No newline at end of file diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE01494a5ca65c3e8f09d6221377f879c2image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE01494a5ca65c3e8f09d6221377f879c2image.png deleted file mode 100644 index 6c1ba01..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE01494a5ca65c3e8f09d6221377f879c2image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE017da79a24a769cff3e5b4a570845821849589-20171015223238449-2146169197.gif b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE017da79a24a769cff3e5b4a570845821849589-20171015223238449-2146169197.gif deleted file mode 100644 index 9dd0ed4..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE017da79a24a769cff3e5b4a570845821849589-20171015223238449-2146169197.gif and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE020956fc6459842a83ae6c650bf7e422image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE020956fc6459842a83ae6c650bf7e422image.png deleted file mode 100644 index 862c07a..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE020956fc6459842a83ae6c650bf7e422image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE024f291ce6ddbfc8e43e98913881be10image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE024f291ce6ddbfc8e43e98913881be10image.png deleted file mode 100644 index 01e4c6e..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE024f291ce6ddbfc8e43e98913881be10image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE0486404994804c5fb05039cff405656astickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE0486404994804c5fb05039cff405656astickPicture.png deleted file mode 100644 index 0c622a3..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE0486404994804c5fb05039cff405656astickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE048d46d9bb04ceb46b8fe1f3cc419d92image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE048d46d9bb04ceb46b8fe1f3cc419d92image.png deleted file mode 100644 index 1ba1d7b..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE048d46d9bb04ceb46b8fe1f3cc419d92image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE04c87caf7ac6f6ffe55d92c338e3f197image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE04c87caf7ac6f6ffe55d92c338e3f197image.png deleted file mode 100644 index 0d1c3a0..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE04c87caf7ac6f6ffe55d92c338e3f197image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE059f0c15158165303fc0fc990a90a445image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE059f0c15158165303fc0fc990a90a445image.png deleted file mode 100644 index b6fbdf3..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE059f0c15158165303fc0fc990a90a445image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE06e4a4aac18e468d89b657886f10a5b3stickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE06e4a4aac18e468d89b657886f10a5b3stickPicture.png deleted file mode 100644 index b23cd09..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE06e4a4aac18e468d89b657886f10a5b3stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE07b09d5113504e099c4fbfd3ef55f632stickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE07b09d5113504e099c4fbfd3ef55f632stickPicture.png deleted file mode 100644 index c24f1cc..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE07b09d5113504e099c4fbfd3ef55f632stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE0bef0e4f20c74105d00fc30f18338300849589-20171015225645277-1151100000.gif b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE0bef0e4f20c74105d00fc30f18338300849589-20171015225645277-1151100000.gif deleted file mode 100644 index 2702b14..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE0bef0e4f20c74105d00fc30f18338300849589-20171015225645277-1151100000.gif and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE0e7ea7d0398d9e54868b0d0d16713384image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE0e7ea7d0398d9e54868b0d0d16713384image.png deleted file mode 100644 index addd364..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE0e7ea7d0398d9e54868b0d0d16713384image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE104cae287459e90d523049be3c9ed591image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE104cae287459e90d523049be3c9ed591image.png deleted file mode 100644 index 28e724d..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE104cae287459e90d523049be3c9ed591image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE11280c9480d3c2eee39d2dc737f123cfimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE11280c9480d3c2eee39d2dc737f123cfimage.png deleted file mode 100644 index 4c9f8e1..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE11280c9480d3c2eee39d2dc737f123cfimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE131d91bf42e75d64d2774081dd4992c2image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE131d91bf42e75d64d2774081dd4992c2image.png deleted file mode 100644 index d31b248..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE131d91bf42e75d64d2774081dd4992c2image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE14ccf6590f7f4016b1afdcb6b9f04f4dimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE14ccf6590f7f4016b1afdcb6b9f04f4dimage.png deleted file mode 100644 index 9015ba9..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE14ccf6590f7f4016b1afdcb6b9f04f4dimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE16558976e0bafd8d40e5bc88c3312104image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE16558976e0bafd8d40e5bc88c3312104image.png deleted file mode 100644 index 57f9d1e..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE16558976e0bafd8d40e5bc88c3312104image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE167c2f360443ad063a8c62e5be84ad85image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE167c2f360443ad063a8c62e5be84ad85image.png deleted file mode 100644 index e3c48dc..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE167c2f360443ad063a8c62e5be84ad85image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE1a26d5b47439bd40860c97725e4110c5image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE1a26d5b47439bd40860c97725e4110c5image.png deleted file mode 100644 index b9abf14..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE1a26d5b47439bd40860c97725e4110c5image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE1ec0d881c347298235a88359695ad942image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE1ec0d881c347298235a88359695ad942image.png deleted file mode 100644 index a711491..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE1ec0d881c347298235a88359695ad942image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE226669d81bf2dc869c23059ac82f7a8eimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE226669d81bf2dc869c23059ac82f7a8eimage.png deleted file mode 100644 index 0d01844..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE226669d81bf2dc869c23059ac82f7a8eimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE22d41843cc2f8e164fc5c3cd6753c92fimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE22d41843cc2f8e164fc5c3cd6753c92fimage.png deleted file mode 100644 index 1cbdc2b..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE22d41843cc2f8e164fc5c3cd6753c92fimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2416db6773bc1892a970d22688b28c02image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2416db6773bc1892a970d22688b28c02image.png deleted file mode 100644 index 8394875..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2416db6773bc1892a970d22688b28c02image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE241c9ea7af5f38a2d179fd848e37cfa9image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE241c9ea7af5f38a2d179fd848e37cfa9image.png deleted file mode 100644 index fa6f51c..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE241c9ea7af5f38a2d179fd848e37cfa9image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2abc07694c4f358e3cffaedba77bcb90image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2abc07694c4f358e3cffaedba77bcb90image.png deleted file mode 100644 index bb8cf7f..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2abc07694c4f358e3cffaedba77bcb90image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2f30409c67de5069191ecf8ca0167cd0image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2f30409c67de5069191ecf8ca0167cd0image.png deleted file mode 100644 index 1e504e4..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2f30409c67de5069191ecf8ca0167cd0image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2f532ae1a2635b8f6d6eb26f2b49be3eimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2f532ae1a2635b8f6d6eb26f2b49be3eimage.png deleted file mode 100644 index e0debfe..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2f532ae1a2635b8f6d6eb26f2b49be3eimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2fdad5c1e645e6811dfb870a3d8b4c56image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2fdad5c1e645e6811dfb870a3d8b4c56image.png deleted file mode 100644 index 931672b..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE2fdad5c1e645e6811dfb870a3d8b4c56image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE31a9952598334421c011d9f722ff3cceimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE31a9952598334421c011d9f722ff3cceimage.png deleted file mode 100644 index 46a17fd..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE31a9952598334421c011d9f722ff3cceimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE3371a585a1a5dfcb33e097062bbbd329image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE3371a585a1a5dfcb33e097062bbbd329image.png deleted file mode 100644 index 28a9727..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE3371a585a1a5dfcb33e097062bbbd329image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE386be62eabb8428892ab8defa9285f62stickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE386be62eabb8428892ab8defa9285f62stickPicture.png deleted file mode 100644 index 4806bd0..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE386be62eabb8428892ab8defa9285f62stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE38bf818da8bb069ed9eb989de0bff6eaimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE38bf818da8bb069ed9eb989de0bff6eaimage.png deleted file mode 100644 index b24027d..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE38bf818da8bb069ed9eb989de0bff6eaimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE3b6fc7cbc2e84d2e953b56d19a155223截图.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE3b6fc7cbc2e84d2e953b56d19a155223截图.png deleted file mode 100644 index f641a96..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE3b6fc7cbc2e84d2e953b56d19a155223截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE3c5663641a0b8dbf76f912751edbc3a3image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE3c5663641a0b8dbf76f912751edbc3a3image.png deleted file mode 100644 index 098c744..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE3c5663641a0b8dbf76f912751edbc3a3image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4552fb76ccd7d5818b2a9d3abcf0061bimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4552fb76ccd7d5818b2a9d3abcf0061bimage.png deleted file mode 100644 index 389f288..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4552fb76ccd7d5818b2a9d3abcf0061bimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE459a0a24ac6047112d1d6479e8858315image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE459a0a24ac6047112d1d6479e8858315image.png deleted file mode 100644 index 8773ff0..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE459a0a24ac6047112d1d6479e8858315image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4684b7496c77366547f869ae2b65b6d7image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4684b7496c77366547f869ae2b65b6d7image.png deleted file mode 100644 index dc75238..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4684b7496c77366547f869ae2b65b6d7image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4bb07092451ff2e2b923c57cb023415dimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4bb07092451ff2e2b923c57cb023415dimage.png deleted file mode 100644 index 92aa6f6..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4bb07092451ff2e2b923c57cb023415dimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4bd255fbf9260ad534192cb1d5185cf0image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4bd255fbf9260ad534192cb1d5185cf0image.png deleted file mode 100644 index cd37fa2..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4bd255fbf9260ad534192cb1d5185cf0image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4bf7c30b9e994bda856db1440425e6fcstickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4bf7c30b9e994bda856db1440425e6fcstickPicture.png deleted file mode 100644 index ba0a9f6..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4bf7c30b9e994bda856db1440425e6fcstickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4f76333942e38a6ebe5008d9491852a9stickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4f76333942e38a6ebe5008d9491852a9stickPicture.png deleted file mode 100644 index f6a48d1..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE4f76333942e38a6ebe5008d9491852a9stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE51b11638af5912a048a35324caaea19cimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE51b11638af5912a048a35324caaea19cimage.png deleted file mode 100644 index ea2411f..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE51b11638af5912a048a35324caaea19cimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE51fc80bb52e549d39a1753ac77f656e5stickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE51fc80bb52e549d39a1753ac77f656e5stickPicture.png deleted file mode 100644 index e593d4b..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE51fc80bb52e549d39a1753ac77f656e5stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE54710c7a76c34ce186adf7550689b814image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE54710c7a76c34ce186adf7550689b814image.png deleted file mode 100644 index 994e3bd..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE54710c7a76c34ce186adf7550689b814image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE54b672d577364079ba70fd45152a12e9stickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE54b672d577364079ba70fd45152a12e9stickPicture.png deleted file mode 100644 index a19cb6b..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE54b672d577364079ba70fd45152a12e9stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE5662a65e83bb0e026bd5798435f41eadimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE5662a65e83bb0e026bd5798435f41eadimage.png deleted file mode 100644 index 9be10b8..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE5662a65e83bb0e026bd5798435f41eadimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE57ae4c50fdbe52495c1fec865fb6c5fbimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE57ae4c50fdbe52495c1fec865fb6c5fbimage.png deleted file mode 100644 index 4eb2aa3..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE57ae4c50fdbe52495c1fec865fb6c5fbimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE598297eb23f470b37d35d6d3f1451fe9image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE598297eb23f470b37d35d6d3f1451fe9image.png deleted file mode 100644 index 2c67a12..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE598297eb23f470b37d35d6d3f1451fe9image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE607893845793236f767da405d9c9a4d5image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE607893845793236f767da405d9c9a4d5image.png deleted file mode 100644 index 46e5933..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE607893845793236f767da405d9c9a4d5image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE61673478243ea23a81ca7bed0da28733image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE61673478243ea23a81ca7bed0da28733image.png deleted file mode 100644 index 6e1ad75..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE61673478243ea23a81ca7bed0da28733image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE61a25737180b4d579df0faf4cf8bb1c4stickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE61a25737180b4d579df0faf4cf8bb1c4stickPicture.png deleted file mode 100644 index d7523ee..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE61a25737180b4d579df0faf4cf8bb1c4stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE62638d6f9956908d7b93dd99d70bcc61image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE62638d6f9956908d7b93dd99d70bcc61image.png deleted file mode 100644 index 5106266..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE62638d6f9956908d7b93dd99d70bcc61image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE64848ec6b188f4b800d87151f5fdec76image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE64848ec6b188f4b800d87151f5fdec76image.png deleted file mode 100644 index 2095524..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE64848ec6b188f4b800d87151f5fdec76image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE698f0b5e2b11e6c3a965743dd01df4caimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE698f0b5e2b11e6c3a965743dd01df4caimage.png deleted file mode 100644 index db9e3dd..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE698f0b5e2b11e6c3a965743dd01df4caimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE6a63aa7276f21b9af08cd146f5959cbbimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE6a63aa7276f21b9af08cd146f5959cbbimage.png deleted file mode 100644 index f1627ad..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE6a63aa7276f21b9af08cd146f5959cbbimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE7246c4ff67284b1f94285f137c008d32截图.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE7246c4ff67284b1f94285f137c008d32截图.png deleted file mode 100644 index 00b7940..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE7246c4ff67284b1f94285f137c008d32截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE73773b4065a244cce2bf36de18615e0cimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE73773b4065a244cce2bf36de18615e0cimage.png deleted file mode 100644 index b179a3d..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE73773b4065a244cce2bf36de18615e0cimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE73f0b54259e8460e97f84fd70e8aaef4stickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE73f0b54259e8460e97f84fd70e8aaef4stickPicture.png deleted file mode 100644 index 58af041..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE73f0b54259e8460e97f84fd70e8aaef4stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE77576e5ba8ad0a92819a29e42a156f4c849589-20180331170017421-364506073.gif b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE77576e5ba8ad0a92819a29e42a156f4c849589-20180331170017421-364506073.gif deleted file mode 100644 index bbb3bea..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE77576e5ba8ad0a92819a29e42a156f4c849589-20180331170017421-364506073.gif and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE77cefa9018a70540104090158d8390b0stickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE77cefa9018a70540104090158d8390b0stickPicture.png deleted file mode 100644 index a2221c4..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE77cefa9018a70540104090158d8390b0stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE792781c979620a94ca2b918b07a45ee3image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE792781c979620a94ca2b918b07a45ee3image.png deleted file mode 100644 index dfef00a..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE792781c979620a94ca2b918b07a45ee3image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE79d40806b934939775f7460001a79cbbimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE79d40806b934939775f7460001a79cbbimage.png deleted file mode 100644 index cf46927..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE79d40806b934939775f7460001a79cbbimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE7c9c73af4eed4645beaa1264f8384921image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE7c9c73af4eed4645beaa1264f8384921image.png deleted file mode 100644 index ff6e31f..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE7c9c73af4eed4645beaa1264f8384921image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE809cda2ce0aa92b5b344707c1d4a3629image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE809cda2ce0aa92b5b344707c1d4a3629image.png deleted file mode 100644 index b463972..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE809cda2ce0aa92b5b344707c1d4a3629image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE886cfc7eae684a52b78b24c37be08569stickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE886cfc7eae684a52b78b24c37be08569stickPicture.png deleted file mode 100644 index dd79648..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE886cfc7eae684a52b78b24c37be08569stickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE8a15519dcbff531403a69214e1f98014image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE8a15519dcbff531403a69214e1f98014image.png deleted file mode 100644 index 6f4897a..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE8a15519dcbff531403a69214e1f98014image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE8e93c80dd4024c349b761d46d6bc550astickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE8e93c80dd4024c349b761d46d6bc550astickPicture.png deleted file mode 100644 index 3c6e146..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE8e93c80dd4024c349b761d46d6bc550astickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE9056ea5007d1d9231711d63d2bbf867eimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE9056ea5007d1d9231711d63d2bbf867eimage.png deleted file mode 100644 index 67a686e..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE9056ea5007d1d9231711d63d2bbf867eimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE915e9aa0eaf899c958273f42c7683f07image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE915e9aa0eaf899c958273f42c7683f07image.png deleted file mode 100644 index 5051d19..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE915e9aa0eaf899c958273f42c7683f07image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE919546e5273412ccfee06772f169be0bimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE919546e5273412ccfee06772f169be0bimage.png deleted file mode 100644 index bc73233..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE919546e5273412ccfee06772f169be0bimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE970015c2b46c95da2d92fad50ded8cadimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE970015c2b46c95da2d92fad50ded8cadimage.png deleted file mode 100644 index d27f5a2..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE970015c2b46c95da2d92fad50ded8cadimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE9923ec431e7de4a5464765a1739d32ccimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE9923ec431e7de4a5464765a1739d32ccimage.png deleted file mode 100644 index a96226c..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE9923ec431e7de4a5464765a1739d32ccimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE999e2e4cb93fdf4ec8adf3a8df201afcimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE999e2e4cb93fdf4ec8adf3a8df201afcimage.png deleted file mode 100644 index 1ba9b98..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE999e2e4cb93fdf4ec8adf3a8df201afcimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE9a3ffeea27bb5e725aff994cb67d133cimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE9a3ffeea27bb5e725aff994cb67d133cimage.png deleted file mode 100644 index 4fe09f2..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCE9a3ffeea27bb5e725aff994cb67d133cimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEa0517f24461b40ebad5fb8cb35e5046estickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEa0517f24461b40ebad5fb8cb35e5046estickPicture.png deleted file mode 100644 index 73a5f0f..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEa0517f24461b40ebad5fb8cb35e5046estickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEa4614147cc011d922c72d84cca2528f3image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEa4614147cc011d922c72d84cca2528f3image.png deleted file mode 100644 index 11d32ca..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEa4614147cc011d922c72d84cca2528f3image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEa492c1ba1be94ca9886a50ce9884cbc8image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEa492c1ba1be94ca9886a50ce9884cbc8image.png deleted file mode 100644 index 881ab32..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEa492c1ba1be94ca9886a50ce9884cbc8image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEa9b36a9ebb8b287ddf16ffd2c09976d5image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEa9b36a9ebb8b287ddf16ffd2c09976d5image.png deleted file mode 100644 index d27cf2b..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEa9b36a9ebb8b287ddf16ffd2c09976d5image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEaa39bdca22d940a0bb7d172aabd9a55dimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEaa39bdca22d940a0bb7d172aabd9a55dimage.png deleted file mode 100644 index 1d90228..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEaa39bdca22d940a0bb7d172aabd9a55dimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEad72a89dc307481fb738c9fd32d03bb0截图.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEad72a89dc307481fb738c9fd32d03bb0截图.png deleted file mode 100644 index 32be099..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEad72a89dc307481fb738c9fd32d03bb0截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEae70b1f84fef405a968b6584513809aestickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEae70b1f84fef405a968b6584513809aestickPicture.png deleted file mode 100644 index 28e09e5..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEae70b1f84fef405a968b6584513809aestickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb181fe3155c18772408b6088b6ef9260image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb181fe3155c18772408b6088b6ef9260image.png deleted file mode 100644 index d545f4f..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb181fe3155c18772408b6088b6ef9260image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb33d0d9cc91e3c728da1b9c8650d7550image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb33d0d9cc91e3c728da1b9c8650d7550image.png deleted file mode 100644 index a461ef1..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb33d0d9cc91e3c728da1b9c8650d7550image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb440b29046c7b9a6f3c4315e2c59b6ffimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb440b29046c7b9a6f3c4315e2c59b6ffimage.png deleted file mode 100644 index 13e427e..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb440b29046c7b9a6f3c4315e2c59b6ffimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb4578182300ccebca038b5640e577b8eimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb4578182300ccebca038b5640e577b8eimage.png deleted file mode 100644 index 9d08686..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb4578182300ccebca038b5640e577b8eimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb4c06b079d7fe90fbd6ea378458623dcimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb4c06b079d7fe90fbd6ea378458623dcimage.png deleted file mode 100644 index 8ddf9a9..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb4c06b079d7fe90fbd6ea378458623dcimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb5c62efd51d146318ed20b94a949b34astickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb5c62efd51d146318ed20b94a949b34astickPicture.png deleted file mode 100644 index 7e8f5cc..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb5c62efd51d146318ed20b94a949b34astickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb6a0efee1c1bc96325017b5204bf671f849589-20171015230936371-1413523412.gif b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb6a0efee1c1bc96325017b5204bf671f849589-20171015230936371-1413523412.gif deleted file mode 100644 index ad88d35..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEb6a0efee1c1bc96325017b5204bf671f849589-20171015230936371-1413523412.gif and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEba4b56e9d9f7a758da348629635d6cf6image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEba4b56e9d9f7a758da348629635d6cf6image.png deleted file mode 100644 index 2c7a098..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEba4b56e9d9f7a758da348629635d6cf6image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEbfbfe340f67e40d8b8abd3e304990e0b截图.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEbfbfe340f67e40d8b8abd3e304990e0b截图.png deleted file mode 100644 index 8cf4e1e..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEbfbfe340f67e40d8b8abd3e304990e0b截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEc1cc8a34d5ae4ef6bd588fcb003a0b83image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEc1cc8a34d5ae4ef6bd588fcb003a0b83image.png deleted file mode 100644 index d7e361e..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEc1cc8a34d5ae4ef6bd588fcb003a0b83image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEc93ef0073e59a9197d1df93e15a42da9image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEc93ef0073e59a9197d1df93e15a42da9image.png deleted file mode 100644 index 65a99cf..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEc93ef0073e59a9197d1df93e15a42da9image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEcb03335b039dd3101bd1e33868113656image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEcb03335b039dd3101bd1e33868113656image.png deleted file mode 100644 index 9dcea37..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEcb03335b039dd3101bd1e33868113656image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEd429a77169c21de412bd8ee7b02e5313image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEd429a77169c21de412bd8ee7b02e5313image.png deleted file mode 100644 index 46ee76a..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEd429a77169c21de412bd8ee7b02e5313image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEd5ac80a4126ac71c2086d85336dbf99dimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEd5ac80a4126ac71c2086d85336dbf99dimage.png deleted file mode 100644 index c413215..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEd5ac80a4126ac71c2086d85336dbf99dimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEda3558d0f467fb2e8b63e0e13cc8213dstickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEda3558d0f467fb2e8b63e0e13cc8213dstickPicture.png deleted file mode 100644 index 099f3aa..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEda3558d0f467fb2e8b63e0e13cc8213dstickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEdd9921bab1cd4252b7f237f0d8a12b47截图.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEdd9921bab1cd4252b7f237f0d8a12b47截图.png deleted file mode 100644 index d3b4184..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEdd9921bab1cd4252b7f237f0d8a12b47截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEddc658c0cce70a5068ad13c1c7567ac8image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEddc658c0cce70a5068ad13c1c7567ac8image.png deleted file mode 100644 index 394c2a9..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEddc658c0cce70a5068ad13c1c7567ac8image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe033a13a5da4e1bb7bc6f275fb254dfaimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe033a13a5da4e1bb7bc6f275fb254dfaimage.png deleted file mode 100644 index 811eed7..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe033a13a5da4e1bb7bc6f275fb254dfaimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe0805f5f18d746ebfe9e7c96c29f5a05image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe0805f5f18d746ebfe9e7c96c29f5a05image.png deleted file mode 100644 index 9df1ff4..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe0805f5f18d746ebfe9e7c96c29f5a05image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe2db6c7a73c7bc9d780f9639545ccf3eimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe2db6c7a73c7bc9d780f9639545ccf3eimage.png deleted file mode 100644 index eb63055..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe2db6c7a73c7bc9d780f9639545ccf3eimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe2dc42a51771304b30e561af3f2ed294image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe2dc42a51771304b30e561af3f2ed294image.png deleted file mode 100644 index f246b06..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe2dc42a51771304b30e561af3f2ed294image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe6d0d1a5088db204eab4343b8bff4ef4image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe6d0d1a5088db204eab4343b8bff4ef4image.png deleted file mode 100644 index 1ad8ece..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe6d0d1a5088db204eab4343b8bff4ef4image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe80dc3d48db078411a57b515668d8e57image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe80dc3d48db078411a57b515668d8e57image.png deleted file mode 100644 index e32313f..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEe80dc3d48db078411a57b515668d8e57image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEea237a3e83f613d86fdfed8580c001c5image.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEea237a3e83f613d86fdfed8580c001c5image.png deleted file mode 100644 index 4da4866..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEea237a3e83f613d86fdfed8580c001c5image.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEeb0dc101742ac85592adc21845b91dab6f8df56f18a43f648269080ac22c4c87.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEeb0dc101742ac85592adc21845b91dab6f8df56f18a43f648269080ac22c4c87.png deleted file mode 100644 index ad0e072..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEeb0dc101742ac85592adc21845b91dab6f8df56f18a43f648269080ac22c4c87.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEebddd934ca1e421cb558c4c92f7d53f3截图.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEebddd934ca1e421cb558c4c92f7d53f3截图.png deleted file mode 100644 index 6c85b08..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEebddd934ca1e421cb558c4c92f7d53f3截图.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEed95cb4bf9a6bdd870ada0859f790dcastickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEed95cb4bf9a6bdd870ada0859f790dcastickPicture.png deleted file mode 100644 index fdf8adc..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEed95cb4bf9a6bdd870ada0859f790dcastickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEf043bb345ce02a43791f1afe7466e30dimage.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEf043bb345ce02a43791f1afe7466e30dimage.png deleted file mode 100644 index fd46456..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEf043bb345ce02a43791f1afe7466e30dimage.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEf305530c183d4d1682bc4b1fe628e14fstickPicture.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEf305530c183d4d1682bc4b1fe628e14fstickPicture.png deleted file mode 100644 index f73e7e3..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEf305530c183d4d1682bc4b1fe628e14fstickPicture.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEf9401753ae5405e97b73dbc1662bfc9001416f17412c415232ef6faf014cdff5.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEf9401753ae5405e97b73dbc1662bfc9001416f17412c415232ef6faf014cdff5.png deleted file mode 100644 index 869cfb0..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEf9401753ae5405e97b73dbc1662bfc9001416f17412c415232ef6faf014cdff5.png and /dev/null differ diff --git a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEfb6a239bed5b462a85fa7ec4382c92210d7713ba345e0119c37b9a76eb31bf65.png b/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEfb6a239bed5b462a85fa7ec4382c92210d7713ba345e0119c37b9a76eb31bf65.png deleted file mode 100644 index f105b2b..0000000 Binary files a/Collection/YoudaoyunNotes/02C语言/images/WEBRESOURCEfb6a239bed5b462a85fa7ec4382c92210d7713ba345e0119c37b9a76eb31bf65.png and /dev/null differ diff --git a/Collection/未命名 1.md b/Collection/未命名 1.md deleted file mode 100644 index b67b1d1..0000000 --- a/Collection/未命名 1.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -tags: - - empty -aliases: empty -type: - - Daily - - Concept - - Task - - Source - - Meta - - Archive -status: - - 🌱 Seedling - - 🌿 Incubating - - 🌳 Evergreen - - 💤 Archived -star: false -date: 2026/4/18 ---- diff --git a/Collection/未命名.md b/Collection/未命名.md deleted file mode 100644 index e3d17e2..0000000 --- a/Collection/未命名.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -tags: -aliases: -type: -status: -star: false -date: ---- diff --git a/Diary/2026/01/2026-01-21 周三.md b/Diary/2026/01/2026-01-21 周三.md index 58c3ee4..280abf6 100644 --- a/Diary/2026/01/2026-01-21 周三.md +++ b/Diary/2026/01/2026-01-21 周三.md @@ -25,7 +25,7 @@ date: 2026-01-21 - [x] 到地打卡 今天感觉更冷了,上午讲了VMware的网络设置和一些Linux的命令,难记~ -有些[linux命令](../../../Collection/linux命令.md)好用,如[source](../../../Collection/linux命令.md#^2b32fc)重新加载配置文件,竟然没讲。 +有些[linux命令](../../../Archive/Collection/linux命令.md)好用,如[source](../../../Archive/Collection/linux命令.md#^2b32fc)重新加载配置文件,竟然没讲。 ## 中午 - [x] 吃饭打卡 diff --git a/Collection/配置备忘/navidrome.md b/OnGoing/navidrome.md similarity index 100% rename from Collection/配置备忘/navidrome.md rename to OnGoing/navidrome.md diff --git a/Collection/配置备忘/openclash配置.md b/OnGoing/openclash配置.md similarity index 100% rename from Collection/配置备忘/openclash配置.md rename to OnGoing/openclash配置.md