[最佳实践] Windows上构建一个和Linux类似的Terminal
感谢大佬批评指正,现已更新
preview
Target:致力打造最赏心悦目Window下的终端,同时能够很接近Linux的使用习惯
key word:windows终端美化 windows terminal windows powershell 类似Linux下的Window终端 Window也能用ll windows terminal一键直连ssh
目的是在Windows上构建一个和Linux类似的Terminal,让Windows炼丹和Linux一样舒适,同是让Terminal取代Xshell完成远程链接。
预览如下图。按照教程,你也可以实现下面的效果。
在Linux下我们使用zsh和oh-my-zsh结合,Windows下我们使用powershell7和oh-my-posh结合,并将结果显示在Window Terminal上。
前提是机器已经安装了ssh、sshd、conda、git
安装Window Terminal
如果已经安装好Window Terminal,或者本身就是win11系统_[系统自带Window Terminal]_,就请跳过本步骤。
这里是Window Terminal官网下载链接
或者Window Store中直接搜索terminal ,就会出现。个人建议安装预览版。
安装powershell7
从这里https://github.com/PowerShell/PowerShell/releases下载绿色版(避免重装系统消失),放置到D:\Program Files\PowerShell-7.4.1-win-x64
目录下
并这个文件夹里面创建一个 Profile.ps1文件。pwsh启动会先执行这个文件。这里讲解了pwsh启动时,执行profile的顺序。内容后面会提及,先新建一个空白文件。
设置环境变量
PSHOME=D:\Program Files\PowerShell-7.4.1-win-x64\
# 将这些env加入path
这样才能命令行启动
参考命令
$PROFILE | Select-Object * # 查看PROFILE的位置
Test-Path -Path $PROFILE.AllUsersAllHosts # 测试脚本存在
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # 解除严格模式
set-ExecutionPolicy RemoteSigned # 解除严格模式Install-Module -Name PowerShellGet -Force # 安装get模块
Get-InstalledModule # 获取已经安装的模块
安装oh-my-posh
打开Window Terminal,将pwsh7添加到Window Terminal中,
然后打开一个pwsh窗口,执行以下命令,安装posh-git、oh-my-posh、ZLocation…
Install-Module posh-git -Scope CurrentUser # posh-git
Install-Module oh-my-posh -Scope CurrentUser -RequiredVersion 2.0.496 # oh-my-posh
Install-Module ZLocation -Scope CurrentUser # ZLocation (opens new window)和 autojump 差不多效果。快速 cd 到历史去过的目录。
安装字体
oh-my-posh font install # 需要管理员权限的终端)
# 如果总是有 各种字体问题。我建议直接使用JetBrainsMono Nerd Font
这里是把字体安装在操作系统中,如果发现Terminal中字体还是不正确,原因是Terminal中的字体没有调整,建议直接在这里https://www.nerdfonts.com/font-downloads下载。我推荐使用’JetBrainsMono Nerd Font’。原因是图形齐全,字体简洁。
编辑profile
这里类似于Linux上的.zshrc的文件。
Linux上的zsh和这里的powershell7一样,都是shell程序。所以这里的$PROFILE就是在shell启动时前运行的脚本配置文件。
还记的前面让你在程序工作目录下创建的Profile.ps1文件吗,他就会每一次pwsh图像展示前先运行的脚本。
在pwsh7运行
$PROFILE | Select-Object *
这里就是显示的所有的配置文件和默认的位置,当然他可以是不存在的。这个列表从上到下,显示pwsh运行前,脚本的执行顺序。当然看名字也能猜出来,它其实还有用户和实例区分的,这里就先不管那么多。红色框起来的就是我们今天需要编辑的profile
AllUsersAllHosts文件编辑
这个文件就程序工作目录下创建的Profile.ps1文件了。$PSHOME
就可以查看程序所在的绝对路径。
这里我们主要是来为所有用户激活一下conda环境,毕竟这个是炼丹刚需。
$global:profiles = "$PSHOME\Profile.ps1"
#region conda initialize
# !! Contents within this block are managed by 'conda init' !!
(& "D:\ProgramData\Anaconda3\Scripts\conda.exe" "shell.powershell" "hook") | Out-String | Invoke-Expression
#endregion
CurrentUserCurrentHost文件编辑
这个文件就是su、ll、vim等常见工具的设定、还有oh-my-posh的主题等设置
# sudo命令
function _sudo {$ss = "$args ; pause"Start-Process wt -Verb runAs -ArgumentList $ss
}Function _su {
Start-Process -verb runas "wt"
}# setup alias 设置命令的别名
set-alias -name sudo -value _sudo
Set-Alias ll ls
Set-Alias su _su
Set-Alias vi "D:\Program Files\vim\vim91\vim.exe"
Set-Alias vim "D:\Program Files\vim\vim91\vim.exe"#oh-my-posh init
Import-Module posh-git # 引入 posh-git
Import-Module oh-my-posh # 引入 oh-my-poshSet-Theme PowerlinePlus # 设置主题为 Paradox, Emodipt, Honukai ,PowerlinePlus ,qwerty ,Sorin ,Zash
Set-PSReadLineOption -PredictionSource History # 设置预测文本来源为历史记录
Set-PSReadlineKeyHandler -Key Tab -Function Complete # 设置 Tab 键补全
Set-PSReadLineKeyHandler -Key "Ctrl+d" -Function MenuComplete # 设置 Ctrl+d 为菜单补全和 Intellisense
Set-PSReadLineKeyHandler -Key "Ctrl+z" -Function Undo # 设置 Ctrl+z 为撤销
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward # 设置向上键为后向搜索历史记录
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward # 设置向下键为前向搜索历史纪录
快捷美化
Window Terminal的json文件
这里的json可以直接控制Windows Terminal的显示,还是十分友好的。
就在这里
"backgroundImage": "E:\\VSWallPaper\\VS\u80cc\u666f\u4f7f\u7528.png",
"backgroundImageAlignment": "bottomRight",
"backgroundImageOpacity": 0.73,
"backgroundImageStretchMode": "none",
这里就是背景图显示的设置,请自行修改。背景我放在下文中,请自行获取到本地,以便于让自己每天有个好心情。**[**都看到这里了,**别忘了点赞啊] **……
这里是我个人的Window Terminal的json文件,其中很多是绝对路径,如果要使用请先修改。如背景图,pwsh的启动路径等等…
{"$help": "https://aka.ms/terminal-documentation","$schema": "https://aka.ms/terminal-profiles-schema-preview","actions": [{"command": {"action": "copy","singleLine": false},"keys": "ctrl+c"},{"command": "paste","keys": "ctrl+v"},{"command": "find","keys": "ctrl+shift+f"},{"command": {"action": "splitPane","split": "auto","splitMode": "duplicate"},"keys": "alt+shift+d"}],"copyFormatting": "none","copyOnSelect": false,"defaultProfile": "{51a1d3c2-4ee8-4a49-b09b-0e4f8c4cf2bd}","newTabMenu": [{"type": "remainingProfiles"}],"profiles": {"defaults": {"backgroundImage": "E:\\VSWallPaper\\VS\u80cc\u666f\u4f7f\u7528.png","backgroundImageAlignment": "bottomRight","backgroundImageOpacity": 0.73,"backgroundImageStretchMode": "none","colorScheme": "Solarized Dark","elevate": false,"font": {"face": "JetBrainsMono Nerd Font"},"suppressApplicationTitle": true},"list": [{"commandline": "%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe","guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}","hidden": false,"name": "Windows PowerShell"},{"commandline": "%SystemRoot%\\System32\\cmd.exe","guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}","hidden": false,"name": "\u547d\u4ee4\u63d0\u793a\u7b26"},{"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}","hidden": false,"name": "Azure Cloud Shell","source": "Windows.Terminal.Azure"},{"altGrAliasing": true,"antialiasingMode": "grayscale","closeOnExit": "automatic","colorScheme": "Solarized Dark","commandline": "%pwsh7%\\pwsh.exe","cursorShape": "bar","font": {"face": "JetBrainsMonoNL Nerd Font Propo","size": 12.0},"guid": "{51a1d3c2-4ee8-4a49-b09b-0e4f8c4cf2bd}","hidden": false,"historySize": 9001,"icon": "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png","name": "pwsh7","padding": "8, 8, 8, 8","snapOnInput": true,"startingDirectory": "%USERPROFILE%","tabTitle": "pwsh","useAcrylic": false},{"guid": "{2a9350cf-37b9-5bfa-b5b3-564b3864eb96}","hidden": false,"name": "Developer Command Prompt for VS 2019","source": "Windows.Terminal.VisualStudio"},{"guid": "{19d39df3-1eed-58d6-a707-099b09917476}","hidden": false,"name": "Developer PowerShell for VS 2019","source": "Windows.Terminal.VisualStudio"},{"altGrAliasing": true,"antialiasingMode": "grayscale","closeOnExit": "automatic","colorScheme": "Solarized Dark","commandline": "%pwsh7%\\pwsh.exe -ExecutionPolicy ByPass -NoExit -Command \"ssh icml@fr1p -p 36166\"","cursorShape": "bar","font": {"face": "Cascadia Code","size": 12.0},"guid": "{f92f3e12-e2ac-4cd9-b054-8a5e56b1446b}","hidden": false,"historySize": 9001,"icon": "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png","name": "online_DELL_FrpcSakura","padding": "8, 8, 8, 8","snapOnInput": true,"startingDirectory": "%USERPROFILE%","tabTitle": "online_DELL_FrpcSakura","useAcrylic": false},{"altGrAliasing": true,"antialiasingMode": "grayscale","closeOnExit": "automatic","colorScheme": "Solarized Dark","commandline": "%pwsh7%\\pwsh.exe -ExecutionPolicy ByPass -NoExit -Command \"ssh icml@ganzhou-eb7c5293c01.shop -p 53919\"","cursorShape": "bar","font": {"face": "Cascadia Code","size": 12.0},"guid": "{d2e40cc6-4b49-48dd-851c-29a6917059bc}","hidden": false,"historySize": 9001,"icon": "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png","name": "online_DELL_FrpcOpen","padding": "8, 8, 8, 8","snapOnInput": true,"startingDirectory": "%USERPROFILE%","tabTitle": "online_DELL_FrpcOpen","useAcrylic": false},{"altGrAliasing": true,"antialiasingMode": "grayscale","closeOnExit": "automatic","colorScheme": "Solarized Dark","commandline": "%pwsh7%\\pwsh.exe -ExecutionPolicy ByPass -NoExit -Command \"ssh grozta@fr1bus.top -p 36777\"","cursorShape": "bar","font": {"face": "Cascadia Code","size": 12.0},"guid": "{ba0d2d74-61aa-4754-9097-a483ad39c491}","hidden": false,"historySize": 9001,"icon": "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png","name": "online_ONDA_FrpcSakura","padding": "8, 8, 8, 8","snapOnInput": true,"startingDirectory": "%USERPROFILE%","tabTitle": "online_ONDA_FrpcSakura","useAcrylic": false},{"altGrAliasing": true,"antialiasingMode": "grayscale","closeOnExit": "automatic","colorScheme": "Solarized Dark","commandline": "%pwsh7%\\pwsh.exe -ExecutionPolicy ByPass -NoExit -Command \"ssh grozta@ga17c59a5.of-7af93c01.shop -p 53215\"","cursorShape": "bar","font": {"face": "Cascadia Code","size": 12.0},"guid": "{42e91b42-dcb1-466c-b6e6-8e8276c437b2}","hidden": false,"historySize": 9001,"icon": "ms-appx:///ProfileIcons/{61c54bbd-c2c6-5271-96e7-009a87ff44bf}.png","name": "online_ONDA_FrpcOpen","padding": "8, 8, 8, 8","snapOnInput": true,"startingDirectory": "%USERPROFILE%","tabTitle": "online_ONDA_FrpcOpen","useAcrylic": false}]},"schemes": [{"background": "#0C0C0C","black": "#0C0C0C","blue": "#0037DA","brightBlack": "#767676","brightBlue": "#3B78FF","brightCyan": "#61D6D6","brightGreen": "#16C60C","brightPurple": "#B4009E","brightRed": "#E74856","brightWhite": "#F2F2F2","brightYellow": "#F9F1A5","cursorColor": "#FFFFFF","cyan": "#3A96DD","foreground": "#CCCCCC","green": "#13A10E","name": "Campbell","purple": "#881798","red": "#C50F1F","selectionBackground": "#FFFFFF","white": "#CCCCCC","yellow": "#C19C00"},{"background": "#012456","black": "#0C0C0C","blue": "#0037DA","brightBlack": "#767676","brightBlue": "#3B78FF","brightCyan": "#61D6D6","brightGreen": "#16C60C","brightPurple": "#B4009E","brightRed": "#E74856","brightWhite": "#F2F2F2","brightYellow": "#F9F1A5","cursorColor": "#FFFFFF","cyan": "#3A96DD","foreground": "#CCCCCC","green": "#13A10E","name": "Campbell Powershell","purple": "#881798","red": "#C50F1F","selectionBackground": "#FFFFFF","white": "#CCCCCC","yellow": "#C19C00"},{"background": "#282C34","black": "#282C34","blue": "#61AFEF","brightBlack": "#5A6374","brightBlue": "#61AFEF","brightCyan": "#56B6C2","brightGreen": "#98C379","brightPurple": "#C678DD","brightRed": "#E06C75","brightWhite": "#DCDFE4","brightYellow": "#E5C07B","cursorColor": "#FFFFFF","cyan": "#56B6C2","foreground": "#DCDFE4","green": "#98C379","name": "One Half Dark","purple": "#C678DD","red": "#E06C75","selectionBackground": "#FFFFFF","white": "#DCDFE4","yellow": "#E5C07B"},{"background": "#FAFAFA","black": "#383A42","blue": "#0184BC","brightBlack": "#4F525D","brightBlue": "#61AFEF","brightCyan": "#56B5C1","brightGreen": "#98C379","brightPurple": "#C577DD","brightRed": "#DF6C75","brightWhite": "#FFFFFF","brightYellow": "#E4C07A","cursorColor": "#4F525D","cyan": "#0997B3","foreground": "#383A42","green": "#50A14F","name": "One Half Light","purple": "#A626A4","red": "#E45649","selectionBackground": "#4F525D","white": "#FAFAFA","yellow": "#C18301"},{"background": "#002B36","black": "#002B36","blue": "#268BD2","brightBlack": "#073642","brightBlue": "#839496","brightCyan": "#93A1A1","brightGreen": "#586E75","brightPurple": "#6C71C4","brightRed": "#CB4B16","brightWhite": "#FDF6E3","brightYellow": "#657B83","cursorColor": "#FFFFFF","cyan": "#2AA198","foreground": "#839496","green": "#859900","name": "Solarized Dark","purple": "#D33682","red": "#DC322F","selectionBackground": "#FFFFFF","white": "#EEE8D5","yellow": "#B58900"},{"background": "#FDF6E3","black": "#002B36","blue": "#268BD2","brightBlack": "#073642","brightBlue": "#839496","brightCyan": "#93A1A1","brightGreen": "#586E75","brightPurple": "#6C71C4","brightRed": "#CB4B16","brightWhite": "#FDF6E3","brightYellow": "#657B83","cursorColor": "#002B36","cyan": "#2AA198","foreground": "#657B83","green": "#859900","name": "Solarized Light","purple": "#D33682","red": "#DC322F","selectionBackground": "#073642","white": "#EEE8D5","yellow": "#B58900"},{"background": "#000000","black": "#000000","blue": "#3465A4","brightBlack": "#555753","brightBlue": "#729FCF","brightCyan": "#34E2E2","brightGreen": "#8AE234","brightPurple": "#AD7FA8","brightRed": "#EF2929","brightWhite": "#EEEEEC","brightYellow": "#FCE94F","cursorColor": "#FFFFFF","cyan": "#06989A","foreground": "#D3D7CF","green": "#4E9A06","name": "Tango Dark","purple": "#75507B","red": "#CC0000","selectionBackground": "#FFFFFF","white": "#D3D7CF","yellow": "#C4A000"},{"background": "#FFFFFF","black": "#000000","blue": "#3465A4","brightBlack": "#555753","brightBlue": "#729FCF","brightCyan": "#34E2E2","brightGreen": "#8AE234","brightPurple": "#AD7FA8","brightRed": "#EF2929","brightWhite": "#EEEEEC","brightYellow": "#FCE94F","cursorColor": "#000000","cyan": "#06989A","foreground": "#555753","green": "#4E9A06","name": "Tango Light","purple": "#75507B","red": "#CC0000","selectionBackground": "#555753","white": "#D3D7CF","yellow": "#C4A000"},{"background": "#000000","black": "#000000","blue": "#000080","brightBlack": "#808080","brightBlue": "#0000FF","brightCyan": "#00FFFF","brightGreen": "#00FF00","brightPurple": "#FF00FF","brightRed": "#FF0000","brightWhite": "#FFFFFF","brightYellow": "#FFFF00","cursorColor": "#FFFFFF","cyan": "#008080","foreground": "#C0C0C0","green": "#008000","name": "Vintage","purple": "#800080","red": "#800000","selectionBackground": "#FFFFFF","white": "#C0C0C0","yellow": "#808000"}],"themes": [],"windowingBehavior": "useAnyExisting"
}
Window Terminal上的背景图
**[**都看到这里了,**别忘了点赞啊] **
最终预览
Terminal中进行ssh快捷登录,从而代替Xshell
思路
想要在Terminal中实现ssh快捷链接,就是需要再pwsh中引导ssh工作,也就是说只要把启动命令中加入ssh登录语句就可以实现在Terminal中进行ssh,从而代替Xshell
ssh grozta@192.168.199.128 就是我们通常使用的ssh登录语句
在conda的启动快捷方式中,它的启动命令是
pwsh.exe -ExecutionPolicy ByPass -NoExit -Command "&'D:\code\miniconda\shell\condabin\conda-hook'"
所以我们想要快速启动ssh进行远程链接,只需要把-Command 后的参数替换成ssh登录语句就可以了
方法
因此我们只需要新建一个配置文件,要从前面的我们pwsh配置中复制一份,命令行修改为
%PSHOME%\pwsh.exe -ExecutionPolicy ByPass -NoExit -Command "ssh grozta@192.168.199.128"
这里的配置,在上述的Windows Terminal的json文件中有具体的写入,保证一定能用。
预览
然后我们开启新的标签,输入密码
参考
打造好用的PowerShell媲美oh-my-zsh | Exploring
给 PowerShell 带来 zsh 的体验
Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher 单独的字体下载给Terminal
Windows Terminal 终端个性化设置指南_windows terminal配色-CSDN博客
相关文章:

[最佳实践] Windows上构建一个和Linux类似的Terminal
感谢大佬批评指正,现已更新 preview Target:致力打造最赏心悦目Window下的终端,同时能够很接近Linux的使用习惯 key word:windows终端美化 windows terminal windows powershell 类似Linux下的Window终端 Window也能用ll windows…...

租赁系统|手机租赁软件|租赁系统功能开发
当如今的生活用品越来越多、交流更加便捷时,人们的消费需求也变得越来越丰富。不可避免地,我们会遇到这样一种情况:需要新的手机,但资金有限。此时,手机租赁小程序呼之欲出。这种创意不仅使我们能够充分利用各类闲置物…...

【设计模式 04】建造者模式
如果要构建的对象很复杂,那么可以将整个构建过程拆分成多个步骤,并为每一个步骤定义一个抽象的接口。并添加一个指导者用来控制构建产品的顺序和步骤。 Java实现: // 产品类 class Product {private String part1;private String part2;pub…...

Python使用错误总结
【1】cannot import name ‘ParameterSource’ from ‘click.core’ 其根本原因在于是black模块,其模块版本可能过时,升级black模块版本即可: pip install black --upgrade【2】partially initialized module ‘charset_normalizer’ has n…...

【Java EE初阶三十】JVM的简单学习
1. JVM 内存区域划分 一个运行起来的 Java 进程,就是一个 JVM 虚拟机,需要从操作系统申请一大块内存,就会把这个内存,划分成不同的区域,每个区域都有不同的作用. JVM 申请了一大块内存之后,也会划分成不同的内…...

thinkphp5水平分割表partition,以及查询操作
前言 先交代下背景,在一个项目中,有一个数据表有水平分表的需求。当时想找到一种方法,把对数据库的操作,写到一个模型里,通过去换模型属性中的table来达到代码不变操作的数据表变化的效果。 我们都知道,模型要想关联数据表的话&a…...

docker部署aria2-pro
前言 我平时有一些下载视频和一些资源文件的需求,有时候需要离线下载,也要速度比较快的方式 之前我是用家里的玩客云绝育之后不再写盘当下载机用的,但是限制很多 我发现了aria2 这个下载器非常适合我,而有个大佬又在原来的基础…...

vue中Mixins
使用 Mixins 的主要优点包括: 代码复用: 可以将常用的逻辑封装在 Mixin 中,然后在多个组件中重复使用。逻辑分离: 将不同功能的代码分开管理,使代码更加清晰和易于维护。灵活性: Mixins 允许你在组件中引入多个 Mixin,并且可以根…...

linux常用指令(定期更新)
linux常用指令 1.页相关页大小 2.系统参数3.启动参数4.网络参数查询网卡所属numa节点信息网络测速相关iperf测试sar监控网卡流量查看网卡txqueuelen和mtu抓包tcpdump 网络数据收发状态snmp协议栈netstat -i所有网口TX-OK、RX-OKnetstat-s查看各个协议的收发数据ethtool -S单个网…...

【项目】图书管理系统
目录 前言: 项目要求: 知识储备: 代码实现: Main: Books包: Book: BookList: Operate包: Operate: addOperate: deleteOperate: exitOperate: findOperate:…...

华为OD机试 - 疫情扩散时间计算 - 矩阵(Java 2024 C卷 200分)
目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷&am…...

[数据集][图像分类]棉花叶子病害分类数据集2293张4类别
数据集类型:图像分类用,不可用于目标检测无标注文件 数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):2293 分类类别数:4 类别名称:["diseased_cotton_leaf"…...

《辐射4》是一款什么样的游戏 怎样在mac电脑上玩到《辐射4》辐射4攻略 辐射4开局加点 怎么在Mac电脑玩Steam游戏
辐射4(Fallout 4)是由Bethesda开发的一款动作角色扮演类游戏,为《辐射》系列游戏作品的第四代,于2015年11月10日发行。游戏叙述了主角一家在核爆当天(2077年10月23日),被Vault-Tec(避…...

视频推拉流EasyDSS平台直播通道重连无法转推的原因排查与解决
视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。 用户使用EasyDSS平台对直播通道进行转推,发现只要关闭…...

Javaweb之SpringBootWeb案例之自动配置案例的自定义starter测试的详细解析
3.2.4.3 自定义starter测试 阿里云OSS的starter我们刚才已经定义好了,接下来我们就来做一个测试。 今天的课程资料当中,提供了一个自定义starter的测试工程。我们直接打开文件夹,里面有一个测试工程。测试工程就是springboot-autoconfigurat…...

java包的相关概念
包:有效地管理类的一个机制。 包名的目的:通过隶属不同的包有效的区分不同源文件中名字相同的类 包语句 声明:通过关键字 package声明包语句。 位置:源文件中的第一条语句。 作用:为该源文件中声明的类指定包名。 …...

window搭建本地mongo数据库并导入数据
1 window下载mongo数据库 官网:www.mongodb.com 选择 Products > Community Edition 就能进入社区版 在这里下载 windows 版对应的安装包 注意:6.0.1 版本的 MongoDB 配置环境变量有问题,并且我不知道怎么解决,如果想要避免出…...

如何为Android车载应用开发通知?
如何为Android车载应用开发通知?在开发车载应用的通知时,开发者需要考虑到驾驶安全,确保通知不会分散驾驶员的注意力。这通常意味着通知应该是非侵入性的,或者在不影响驾驶的情况下提供信息。开发者可以使用Android的通知API来创建…...

centos上部署k8s
环境准备 四台Linux服务器 主机名 IP 角色 k8s-master-94 192.168.0.94 master k8s-node1-95 192.168.0.95 node1 k8s-node2-96 192.168.0.96 node2 habor 192.168.0.77 镜像仓库 三台机器均执行以下命令: 查看centos版本 [rootlocalhost Work]# cat /…...

网络安全: Kali Linux 进行 MSFvenom 程序利用
目录 一、实验 1.环境 2. Kali Linux 进行 MSFvenom 程序利用 3. 创建计划任务自动运行 MSFvenom 程序 二、问题 1.在线加密解密 2.MSF 运行失败 3.MobaXterm 连接Ubuntu 失败 一、实验 1.环境 (1)主机 表1 主机 系统版本IP备注Kali Linux20…...

浅显易懂C语言指针!!!(三)
文章目录 Pointers as function arguments - call by reference//函数传值vs传引用 Pointers as function arguments - call by reference//函数传值vs传引用 #include<stdio.h> void Increment(int a){//increment 增加 a a 1;//;函数中的是形式参数 形参…...

01 LM 算法及 Cpp 实现
文章目录 01 LM 算法及 Cpp 实现1.1 应用1.2 阻尼法推导1.3 Cpp 算法实现 01 LM 算法及 Cpp 实现 1.1 应用 LM 算法用于解决非线性最小二乘问题 min x F ( x ) 1 2 ∥ f ( x ) ∥ 2 2 (1) \min _x F(x)\frac{1}{2}\|f(\boldsymbol{x})\|_2^2 \tag{1} xminF(x)21∥f(x…...

【网络安全架构】互联网正对中国社会、经济、文化等各个领域产生巨大影响‘
摘 要: 中国互联网近年来飞速发展,普及率达到38.4%。已稳居世界第一网民大国的地位。互联网正对社会、经济、文化等各个领域产生巨大影响。2011年12月21日“泄密门”事件,再次敲响网络安全的警钟。网络攻击和入侵都是根据网络模型不同层次的特…...

【笔记】Android ServiceStateTracker 网络状态变化逻辑及SPN更新影响
业务简介 在网络状态变化的时候(数据或WiFi),会更新SPN。 基于Android U的代码分析。 分类:SPN Data_Dic-的博客-CSDN博客 功能逻辑 状态说明 飞行模式下注册上WFC的话,注册状态MD上报 regState: NOT_REG_MT_NOT…...

2PC和3PC的区别是什么
2PC提交协议是什么 二阶段提交是指,在计算机网络一级数据库领域内,为了使基于分布式系统的架构下的所有节点在进行事务提交时保持一致性而设计的一种算法。在分布式系统中,每个节点虽然可以知晓自己操作的成功和失败,但是无法知道…...

redis未设置密码被植入挖矿脚本
最近一台测试linux响应速度贼慢,检查发现cpu消耗高达100%!查看进程杀死后过段时间又重启了,一时间也摸不到头绪。无意间发现启动redis的时候cpu瞬间拉到了100%,主要就是zzh和newinit.sh两个脚本。百度了一下说是被植入了挖矿脚本&…...

轮询--一起学习吧之架构
一、定义 轮询(Polling)是一种CPU决策如何提供周边设备服务的方式,又称“程控输出入”(Programmed I/O)。这种方式是由CPU定时发出询问,依序询问每一个周边设备是否需要其服务,有即给予服务&am…...

【开发工具】Git模拟多人开发场景理解分支管理和远程仓库操作
我们来模拟一个多人多分支的开发场景。假设你有一个新的空白远程仓库,假设地址是 https://github.com/user/repo.git。 克隆远程仓库到本地 $ git clone https://github.com/user/repo.git这会在本地创建一个 repo 目录,并自动设置远程主机为 origin。 创建本地开发分支并推送…...

从零学习Linux操作系统 第三十一部分 ansible常用模块介绍
一、ansible运行模块的两种方式 Ad-Hoc方式 ##利用ansible命令直接完成管理,主要用于临时命令使用场景 playbook方式 ##ansible脚本,主要用于大型项目场景,需要前期的规划,相当于shell当中的脚本 二、如何查看模块帮助 ansible…...

【Linux C | 网络编程】多播的概念、多播地址、UDP实现广播的C语言例子
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...