From 66fcfb2ec429f5569e2c440f133c671d5ce87f3a Mon Sep 17 00:00:00 2001 From: gracecampo <82627973+gracecampo@users.noreply.github.com> Date: Sat, 26 Oct 2024 22:31:11 +0800 Subject: [PATCH 1/6] =?UTF-8?q?Create=20=E9=80=9F=E5=AD=A6150=E4=B8=AALinu?= =?UTF-8?q?x=E5=B8=B8=E7=94=A8=E5=91=BD=E4=BB=A4=E7=AC=94=E8=AE=B0.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 速学150个Linux常用命令笔记 --- ...75\344\273\244\347\254\224\350\256\260.md" | 615 ++++++++++++++++++ 1 file changed, 615 insertions(+) create mode 100644 "members/gracecampo/notes/\351\200\237\345\255\246150\344\270\252Linux\345\270\270\347\224\250\345\221\275\344\273\244\347\254\224\350\256\260.md" diff --git "a/members/gracecampo/notes/\351\200\237\345\255\246150\344\270\252Linux\345\270\270\347\224\250\345\221\275\344\273\244\347\254\224\350\256\260.md" "b/members/gracecampo/notes/\351\200\237\345\255\246150\344\270\252Linux\345\270\270\347\224\250\345\221\275\344\273\244\347\254\224\350\256\260.md" new file mode 100644 index 0000000..a0e4e64 --- /dev/null +++ "b/members/gracecampo/notes/\351\200\237\345\255\246150\344\270\252Linux\345\270\270\347\224\250\345\221\275\344\273\244\347\254\224\350\256\260.md" @@ -0,0 +1,615 @@ +# MOVE共学营基础课程 + +# 速学150个Linux常用命令笔记 + +## Linux目录结构介绍 +- **目录结构**:详细介绍`/`根目录下的各个子目录及用途。 +- **系统文件或目录颜色的含义**:解释不同颜色代表的文件类型。 +- **常用终端快捷键**:常用的快捷键如Ctrl+C, Ctrl+D等。 +- **Tab键的妙用**:自动补全路径和命令。 + +### 实践代码 +```bash +# 查看当前目录 +pwd + +# 列出当前目录内容 +ls + +# 切换到根目录 +cd / + +# 列出根目录下的所有文件和目录 +ls -l / +``` + +## 文件权限与通配符 +- **文件权限介绍**:rwx权限及其表示方法。 +- **通配符介绍**:`*`, `?`, `[ ]`等通配符的使用。 + +### 实践代码 +```bash +# 显示文件权限 +ls -l + +# 改变文件权限 +chmod 755 myfile.txt + +# 使用通配符 +ls *.txt +``` + +## 帮助命令 +- **man**:查看命令的手册页。 +- **info**:提供更详细的帮助信息。 +- **whatis**:快速查询命令的功能。 + +### 实践代码 +```bash +# 查看ls命令的手册页 +man ls + +# 查看ls命令的info页面 +info ls + +# 查询ls命令的功能 +whatis ls +``` + +## 文件和目录管理 +- **touch**:创建空文件或更新时间戳。 +- **mkdir**:创建目录。 +- **rm**:删除文件。 +- **rmdir**:删除空目录。 +- **mv**:移动或重命名文件。 +- **cp**:复制文件。 +- **cd**:切换目录。 +- **pwd**:显示当前工作目录。 +- **ls**:列出目录内容。 +- **tree**:以树状图展示目录结构。 +- **stat**:显示文件状态信息。 +- **rename**:批量重命名文件。 +- **basename**:提取文件名。 +- **dirname**:提取路径中的目录部分。 +- **chattr** 和 **lsattr**:修改和查看文件属性。 +- **file**:识别文件类型。 +- **md5sum**:生成和校验文件的MD5值。 + +### 实践代码 +```bash +# 创建一个空文件 +touch myfile.txt + +# 创建一个新目录 +mkdir mydir + +# 删除文件 +rm myfile.txt + +# 删除空目录 +rmdir mydir + +# 移动或重命名文件 +mv oldname.txt newname.txt + +# 复制文件 +cp source.txt destination.txt + +# 切换到新目录 +cd /path/to/directory + +# 显示当前目录 +pwd + +# 列出当前目录内容 +ls + +# 以树状图展示目录结构 +tree + +# 显示文件状态信息 +stat myfile.txt + +# 批量重命名文件 +rename 's/old/new/' *.txt + +# 提取文件名 +basename /path/to/file.txt + +# 提取路径中的目录部分 +dirname /path/to/file.txt + +# 修改文件属性 +chattr +i myfile.txt + +# 查看文件属性 +lsattr myfile.txt + +# 识别文件类型 +file myfile.txt + +# 生成和校验文件的MD5值 +md5sum myfile.txt +``` + +## 查找文件 +- **find**:查找文件或目录。 +- **which**:查找可执行文件的位置。 +- **whereis**:查找二进制文件、源代码和手册页。 +- **locate**:通过数据库快速查找文件。 + +### 实践代码 +```bash +# 查找当前目录下所有的.txt文件 +find . -name "*.txt" + +# 查找可执行文件的位置 +which ls + +# 查找二进制文件、源代码和手册页 +whereis ls + +# 通过数据库快速查找文件 +locate myfile.txt +``` + +## 用户和组管理 +- **chown**:改变文件的所有者。 +- **chgrp**:改变文件的所属组。 +- **chmod**:改变文件的权限。 + +### 实践代码 +```bash +# 改变文件的所有者 +chown user:group myfile.txt + +# 改变文件的所属组 +chgrp group myfile.txt + +# 改变文件的权限 +chmod 755 myfile.txt +``` + +## 文本处理 +- **grep**:文本搜索工具。 +- **egrep**:扩展正则表达式搜索。 +- **cat**:查看文本内容。 +- **more**:逐页阅读文本。 +- **less**:分页查看文本内容。 +- **head**:查看文件开头内容。 +- **tail**:查看文件尾部内容。 +- **tac**:反向显示文本内容。 +- **nl**:统计文件行号。 +- **wc**:统计文本字数信息。 +- **split**:文件切割。 +- **cut**:文本截取。 +- **paste**:文件合并。 +- **sort**:文本内容排序。 +- **uniq**:去除重复行。 +- **diff** 和 **patch**:比较差异并打补丁。 +- **join**:连接两个文件。 +- **tr**:字符转换。 +- **sed**:流编辑器。 +- **awk**:编程语言。 + +### 实践代码 +```bash +# 搜索包含"hello"的行 +grep "hello" myfile.txt + +# 扩展正则表达式搜索 +egrep "hello|world" myfile.txt + +# 查看文本内容 +cat myfile.txt + +# 逐页阅读文本 +more myfile.txt + +# 分页查看文本内容 +less myfile.txt + +# 查看文件开头内容 +head myfile.txt + +# 查看文件尾部内容 +tail myfile.txt + +# 反向显示文本内容 +tac myfile.txt + +# 统计文件行号 +nl myfile.txt + +# 统计文本字数信息 +wc -l myfile.txt + +# 文件切割 +split -b 10m largefile.txt part_ + +# 文本截取 +cut -d' ' -f1 myfile.txt + +# 文件合并 +paste file1.txt file2.txt > combined.txt + +# 文本内容排序 +sort myfile.txt + +# 去除重复行 +uniq myfile.txt + +# 比较差异 +diff file1.txt file2.txt + +# 应用补丁 +patch < patchfile.patch + +# 连接两个文件 +join file1.txt file2.txt + +# 字符转换 +tr 'a-z' 'A-Z' < myfile.txt + +# 流编辑器 +sed 's/hello/world/g' myfile.txt + +# awk编程语言 +awk '{print $1}' myfile.txt +``` + +## 系统信息 +- **uname**:显示系统信息。 +- **hostname**:显示或设置主机名。 +- **dmesg**:显示开机信息。 +- **uptime**:查看系统负载。 +- **free**:显示内存使用情况。 +- **ulimit**:限制系统资源。 +- **init**:切换系统运行级别。 +- **service**:控制系统服务。 +- **vmstat**:显示虚拟内存状态。 +- **iostat**:监视系统输入输出设备和CPU的使用情况。 +- **ipcs**:显示进程间通信设备状态。 +- **ipcrm**:删除指定IPC资源。 + +### 实践代码 +```bash +# 显示系统信息 +uname -a + +# 显示或设置主机名 +hostname + +# 显示开机信息 +dmesg + +# 查看系统负载 +uptime + +# 显示内存使用情况 +free -h + +# 限制系统资源 +ulimit -a + +# 切换系统运行级别 +init 3 + +# 控制系统服务 +service ssh status + +# 显示虚拟内存状态 +vmstat + +# 监视系统输入输出设备和CPU的使用情况 +iostat + +# 显示进程间通信设备状态 +ipcs + +# 删除指定IPC资源 +ipcrm -m 123456 +``` + +## 网络相关命令 +- **route**:显示并设置IP路由表。 +- **ping**:网络连通测试。 +- **traceroute**:追踪数据包传输路径。 +- **ifconfig**:显示或设置网络设备参数。 +- **ifup** 和 **ifdown**:激活禁用网络接口。 +- **netstat**:查看网络相关信息。 +- **ss**:显示活动套接字信息。 +- **telnet**:远程登陆服务器。 +- **ssh**:安全连接服务器。 +- **ftp**:文件传输命令。 +- **sftp**:交互式文件传输程序。 +- **lftp**:下载工具。 +- **wget**:网络下载工具。 +- **scp**:远程文件拷贝。 +- **curl**:远程数据传输工具。 +- **host**:分析域名查询工具。 +- **tcpdump**:数据抓包工具。 +- **nc**:网络检测工具。 + +### 实践代码 +```bash +# 显示并设置IP路由表 +route -n + +# 网络连通测试 +ping www.example.com + +# 追踪数据包传输路径 +traceroute www.example.com + +# 显示或设置网络设备参数 +ifconfig + +# 激活禁用网络接口 +ifup eth0 +ifdown eth0 + +# 查看网络相关信息 +netstat -an + +# 显示活动套接字信息 +ss -tulwn + +# 远程登陆服务器 +telnet www.example.com 80 + +# 安全连接服务器 +ssh user@remote_host + +# 文件传输 +ftp remote_host + +# 交互式文件传输 +sftp user@remote_host + +# 下载工具 +lftp + +# 网络下载工具 +wget http://example.com/file.zip + +# 远程文件拷贝 +scp user@remote_host:/path/to/file /local/path + +# 远程数据传输工具 +curl -O http://example.com/file.zip + +# 分析域名查询 +host www.example.com + +# 数据抓包工具 +tcpdump -i eth0 + +# 网络检测工具 +nc -zv www.example.com 80 +``` + +## 用户管理 +- **useradd**:创建用户。 +- **adduser**:创建用户(交互式)。 +- **passwd**:修改用户密码。 +- **userdel**:删除用户。 +- **su**:切换用户。 +- **sudo**:以其他身份来执行命令。 +- **id**:显示用户ID信息。 +- **usermod**:修改用户信息。 +- **groups**:显示用户组。 +- **groupadd**:创建用户组。 +- **groupdel**:删除用户组。 +- **whoami**:显示当前用户名。 +- **who**:显示当前登录用户。 +- **w**:显示当前登录用户及其活动。 +- **last**:显示最近登录的用户。 +- **users**:显示当前登录的用户列表。 + +### 实践代码 +```bash +# 创建用户 +useradd newuser + +# 创建用户(交互式) +adduser newuser + +# 修改用户密码 +passwd newuser + +# 删除用户 +userdel newuser + +# 切换用户 +su - newuser + +# 以其他身份来执行命令 +sudo command + +# 显示用户ID信息 +id newuser + +# 修改用户信息 +usermod -c "New User" newuser + +# 显示用户组 +groups newuser + +# 创建用户组 +groupadd newgroup + +# 删除用户组 +groupdel newgroup + +# 显示当前用户名 +whoami + +# 显示当前登录用户 +who + +# 显示当前登录用户及其活动 +w + +# 显示最近登录的用户 +last + +# 显示当前登录的用户列表 +users +``` + +## 进程管理 +- **top**:查看系统进程。 +- **ps**:显示进程信息。 +- **pstree**:显示进程树。 +- **pgrep**:根据名称查找进程。 +- **lsof**:列出打开的文件。 +- **jobs**:显示后台作业。 +- **bg** 和 **fg**:将作业放到后台或前台。 +- **kill**:终止进程。 +- **killall**:终止所有匹配的进程。 +- **nice** 和 **renice**:设置进程优先级。 +- **nohup**:忽略挂起信号运行命令。 + +### 实践代码 +```bash +# 查看系统进程 +top + +# 显示进程信息 +ps aux + +# 显示进程树 +pstree + +# 根据名称查找进程 +pgrep process_name + +# 列出打开的文件 +lsof + +# 显示后台作业 +jobs + +# 将作业放到后台 +bg %1 + +# 将作业放到前台 +fg %1 + +# 终止进程 +kill 12345 + +# 终止所有匹配的进程 +killall process_name + +# 设置进程优先级 +nice -n 10 command +renice 10 -p 12345 + +# 忽略挂起信号运行命令 +nohup command & +``` + +## 包管理 +- **apt** 和 **apt-get**:包管理器。 +- **export**:导出环境变量。 +- **source**:读取并执行文件中的命令。 +- **set** 和 **unset**:设置和取消环境变量。 + +### 实践代码 +```bash +# 更新包列表 +apt update + +# 安装软件包 +apt install package_name + +# 卸载软件包 +apt remove package_name + +# 导出环境变量 +export PATH=$PATH:/new/path + +# 读取并执行文件中的命令 +source script.sh + +# 设置环境变量 +set variable=value + +# 取消环境变量 +unset variable +``` + +## 终端操作 +- **echo**:显示消息。 +- **printf**:格式化输出。 +- **clear**:清屏。 +- **history**:显示历史命令。 +- **login** 和 **logout**:登录和注销。 +- **exit**:退出终端。 + +### 实践代码 +```bash +# 显示消息 +echo "Hello, World!" + +# 格式化输出 +printf "Name: %s\nAge: %d\n" "John" 30 + +# 清屏 +clear + +# 显示历史命令 +history + +# 登录 +login + +# 注销 +logout + +# 退出终端 +exit +``` + +## 其他命令 +- **xargs**:构建和执行命令行。 +- **exec**:替换当前shell。 +- **alias** 和 **unalias**:定义和取消别名。 +- **type**:显示命令类型。 +- **date**:显示或设置日期。 +- **cal**:显示日历。 +- **crontab**:定时任务。 +- **at**:一次性定时任务。 + +### 实践代码 +```bash +# 构建和执行命令行 +echo "file1 file2" | xargs rm + +# 替换当前shell +exec bash + +# 定义别名 +alias ll='ls -l' + +# 取消别名 +unalias ll + +# 显示命令类型 +type ls + +# 显示或设置日期 +date +date -s "2023-10-01 12:00:00" + +# 显示日历 +cal + +# 编辑定时任务 +crontab -e + +# 添加一次性定时任务 +echo "echo Hello, World!" | at now + 1 minute +``` From 404d26107e1240874ecd8c778ace7e04cf89e9b0 Mon Sep 17 00:00:00 2001 From: gracecampo <82627973+gracecampo@users.noreply.github.com> Date: Sat, 26 Oct 2024 22:34:04 +0800 Subject: [PATCH 2/6] =?UTF-8?q?Create=20Windows=20DOS=E5=91=BD=E4=BB=A4=20?= =?UTF-8?q?=E6=89=B9=E5=A4=84=E7=90=86=E8=84=9A=E6=9C=AC=E5=AD=A6=E4=B9=A0?= =?UTF-8?q?=E7=AC=94=E8=AE=B0.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Windows DOS命令 批处理脚本学习笔记 --- ...46\344\271\240\347\254\224\350\256\260.md" | 208 ++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 "members/gracecampo/notes/Windows DOS\345\221\275\344\273\244 \346\211\271\345\244\204\347\220\206\350\204\232\346\234\254\345\255\246\344\271\240\347\254\224\350\256\260.md" diff --git "a/members/gracecampo/notes/Windows DOS\345\221\275\344\273\244 \346\211\271\345\244\204\347\220\206\350\204\232\346\234\254\345\255\246\344\271\240\347\254\224\350\256\260.md" "b/members/gracecampo/notes/Windows DOS\345\221\275\344\273\244 \346\211\271\345\244\204\347\220\206\350\204\232\346\234\254\345\255\246\344\271\240\347\254\224\350\256\260.md" new file mode 100644 index 0000000..5e2eae0 --- /dev/null +++ "b/members/gracecampo/notes/Windows DOS\345\221\275\344\273\244 \346\211\271\345\244\204\347\220\206\350\204\232\346\234\254\345\255\246\344\271\240\347\254\224\350\256\260.md" @@ -0,0 +1,208 @@ +# MOVE共学营基础课程之Windows DOS命令\批处理脚本笔记 + +视频教程地址: +[https://www.bilibili.com/video/BV1Qv411q7bN) + + +# Windows DOS命令与批处理脚本学习笔记 + +## 批处理初体验 +- **概念**:.bat文件是包含一系列DOS命令的文本文件。 +- **创建和运行**: + - 创建一个简单的批处理文件`hello.bat`,内容如下: + ```batch + @echo off + echo Hello, World! + pause + ``` + +## 批处理运算操作 +### 算术运算 +- 使用`set /a`进行基本算术操作: + ```batch + set /a result=5+3 + echo %result% + ``` + +### 重定向操作 +- 将输出重定向到文件或另一个命令: + ```batch + dir > output.txt + type output.txt + ``` + +### 多名命令运算 +- 在一行中执行多个命令,用`&`分隔: + ```batch + echo First Command & echo Second Command + ``` + +### 管道操作 +- 通过`|`将前一个命令的输出作为后一个命令的输入: + ```batch + dir | find "txt" + ``` + +## 基本命令格式介绍 +- `echo`显示消息或变量值: + ```batch + echo The current date is: %date% + ``` +- `pause`暂停程序等待用户按键继续: + ```batch + pause + ``` +- `rem`添加注释以说明代码: + ```batch + rem This is a comment + ``` + +## 文件和目录管理 +### 目录浏览 +- `dir`列出当前目录下的文件及子目录: + ```batch + dir + ``` + +### 目录新建与删除 +- `mkdir`创建新目录: + ```batch + mkdir new_folder + ``` +- `rmdir`删除空目录: + ```batch + rmdir new_folder + ``` + +### 目录切换 +- `cd`改变当前工作目录: + ```batch + cd C:\path\to\directory + ``` + +### 目录重命名 +- `ren`重命名文件或目录: + ```batch + ren old_name new_name + ``` + +### 文件拷贝 +- `copy`复制文件: + ```batch + copy file.txt C:\destination\ + ``` + +### 文件删除 +- `del`删除文件: + ```batch + del file.txt + ``` + +### 文件剪切 +- `move`移动文件: + ```batch + move file.txt C:\new_location\ + ``` + +### 显示目录结构 +- `tree`展示目录结构树: + ```batch + tree + ``` + +## 系统相关命令 +### 时间相关 +- `time`查看/设置系统时间: + ```batch + time + ``` +- `date`查看/设置系统日期: + ```batch + date + ``` + +### 启动命令 +- `start`启动一个新的窗口并执行指定程序或命令: + ```batch + start notepad + ``` + +### 调用其他bat文件 +- `call`调用其他批处理文件: + ```batch + call other_script.bat + ``` + +### 任务列表查看 +- `tasklist`显示所有正在运行的任务: + ```batch + tasklist + ``` + +### 任务终止 +- `taskkill`终止特定进程(例如结束notepad进程): + ```batch + taskkill /IM notepad.exe /F + ``` + +### 关机命令 +- `shutdown`关闭计算机: + ```batch + shutdown -s -t 0 + ``` + +### 计划任务 +- `at`安排计划任务(例如在明天早上8点运行脚本): + ```batch + at 08:00 /every:M,T,W,Th,F,S,S "C:\path\to\script.bat" + ``` + +## 网络相关命令 +### 主机联通性检测 +- `ping`检测主机连接状态: + ```batch + ping www.example.com + ``` + +### 网络连接 +- `telnet`测试远程主机上的端口是否开放: + ```batch + telnet www.example.com 80 + ``` + +### 网络路由信息 +- `tracert`跟踪数据包到达目的地所经过的路由: + ```batch + tracert www.example.com + ``` + +### 网络适配器信息 +- `ipconfig`显示IP配置信息: + ```batch + ipconfig + ``` + +### ARP信息 +- `arp`显示和修改ARP缓存表: + ```batch + arp -a + ``` + +## 条件判断与循环 +### if-else 结构 +- `if`基于条件执行不同的命令: + ```batch + if exist "file.txt" ( + echo File exists. + ) else ( + echo File does not exist. + ) + ``` + +### 循环遍历文件夹名称 +- `for`遍历指定目录下的所有.txt文件: + ```batch + for %%f in (*.txt) do ( + echo Processing %%f + ) + ``` From 17720a947d7ed70246b5e000fb15019646f0a441 Mon Sep 17 00:00:00 2001 From: gracecampo <82627973+gracecampo@users.noreply.github.com> Date: Sat, 26 Oct 2024 22:45:03 +0800 Subject: [PATCH 3/6] =?UTF-8?q?Create=20VS=20Code=20=E9=9B=B6=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E6=95=99=E7=A8=8B.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit VS Code 零基础教程 --- ...72\347\241\200\346\225\231\347\250\213.md" | 210 ++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 "members/gracecampo/notes/VS Code \351\233\266\345\237\272\347\241\200\346\225\231\347\250\213.md" diff --git "a/members/gracecampo/notes/VS Code \351\233\266\345\237\272\347\241\200\346\225\231\347\250\213.md" "b/members/gracecampo/notes/VS Code \351\233\266\345\237\272\347\241\200\346\225\231\347\250\213.md" new file mode 100644 index 0000000..943c887 --- /dev/null +++ "b/members/gracecampo/notes/VS Code \351\233\266\345\237\272\347\241\200\346\225\231\347\250\213.md" @@ -0,0 +1,210 @@ +# MOVE共学营基础课程之- VS Code 零基础使用笔记 + +视频课程地址:https://www.bilibili.com/video/BV1ty4y1S7mC + +# VS Code 零基础教程 + +### 安装 +1. 访问 [VS Code 官方网站](https://code.visualstudio.com/)。 +2. 下载适用于您操作系统的安装包。 +3. 运行安装程序并按照提示完成安装。 + +### 实践代码 +```bash +# 打开VS Code +code . +``` + +## 更改语言 & 了解菜单内容 +### 更改语言 +1. 打开VS Code。 +2. 按 `Ctrl + ,` 打开设置。 +3. 搜索 `locale`。 +4. 选择你想要的语言(例如 `zh-CN`)。 +5. 重启VS Code使更改生效。 + +### 菜单内容 +- **文件**:新建、打开、保存等文件操作。 +- **编辑**:剪切、复制、粘贴等编辑操作。 +- **选择**:选择文本的各种方式。 +- **查看**:切换不同的视图。 +- **终端**:打开或关闭集成终端。 +- **帮助**:访问文档和反馈问题。 + +### 实践代码 +```bash +# 打开集成终端 +Ctrl + ` +``` + +## 交互式演练场 +### 使用交互式演练场 +1. 打开VS Code。 +2. 按 `Ctrl + Shift + P` 打开命令面板。 +3. 输入 `>Interactive Playground` 并选择它。 +4. 在交互式演练场中学习基本操作。 + +### 实践代码 +```javascript +// 交互式演练场示例 +console.log("Hello, World!"); +``` + +## 基础配置 +### 自定义设置 +1. 打开VS Code。 +2. 按 `Ctrl + ,` 打开设置。 +3. 可以通过JSON格式自定义各种设置,例如字体大小、主题等。 + +### 实践代码 +```json +{ + "editor.fontSize": 14, + "workbench.colorTheme": "Default Dark+" +} +``` + +## 前端开发效率利器 Emmet +### 使用Emmet +1. 打开HTML文件。 +2. 输入Emmet缩写,例如 `div>ul>li*3`。 +3. 按 `Tab` 键展开缩写。 + +### 实践代码 +```html + +