目录
常用cmd命令汇总
命令行启动.net6
常用
汇总
git常用命令
常用
汇总
Docker常用命令
常用
汇总
Linux常用命令
常用
汇总
Vim常用命令
移动光标
删除复制
插入模式
编辑
查找替换
退出编辑器
多文件编辑
多标签编辑
执行shell命令
VIM启动项
自动排版
如何在vim中编译程序
buffer操作
VIM 操作目录
好文推荐
常用cmd命令汇总
命令行启动.net6
常用
dotnet run --urls=http://*:8080
nohup dotnet ZHZT.SingleWebsite.Microservice.dll --urls http://*:7000 & //后台启动
ps -ef | grep dotnet //显示所有后台运行的.net 程序
汇总
dotnet run //使用dotnet run命令启动默认端口号是launchSettings.json中设置的5000
dotnet run --urls=http://*:8080 //urls指定ip和端口
dotnet watch run //watch监听程序修改,一旦修改则重新启动
dotnet watch run --urls=http://*:8080
dotnet run -p NETCoreCLI.csproj //一个“-”是简称的p
dotnet run --project NETCoreCLI.csproj //两个“-”是全称的project
dotnet watch run -p NETCoreCLI.csproj --urls=http://*:8080
dotnet [解决方案bin文件下的dll文件] --urls=http://*:8080
dotnet NETCoreCLI.dll --urls=http://*:8080
dotnet clean //清除项目的默认生成,与VS中的右键清理效果是一样的
Ctrl + C //停止
cls //清除屏幕
Tab键 //自动补齐
git常用命令
常用
git - 简明指南
#创建新仓库:创建新文件夹,打开,然后执行,以创建新的 git 仓库。
git init
#检出仓库:执行如下命令以创建一个本地仓库的克隆版本:
git clone /path/to/repository
#如果是远端服务器上的仓库,你的命令会是这个样子
git clone username@host:/path/to/repository
#工作流:你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,它指向你最后一次提交的结果。
#添加和提交:你可以提出更改(把它们添加到暂存区),使用如下命令
git add <filename>
git add *
#这是 git 基本工作流程的第一步;使用如下命令以实际提交改动,现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库
git commit -m "代码提交信息"
#推送改动:你的改动现在已经在本地仓库的 HEAD 中了。执行如下命令以将这些改动提交到远端仓库:可以把 master 换成你想要推送的任何分支。
git push origin master
#如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:如此你就能够将你的改动推送到所添加的服务器上去了
git remote add origin <server>
#分支:分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。
#创建一个叫做“feature_x”的分支,并切换过去
git checkout -b feature_x
#切换回主分支
git checkout master
#再把新建的分支删掉
git branch -d feature_x
#除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的:
git push origin <branch>
#更新与合并:要更新你的本地仓库至最新改动,执行:
git pull
#以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。要合并其他分支到你的当前分支(例如 master),执行:
git merge <branch>
汇总
git init # 初始化本地git仓库(创建新仓库)
git config --global user.name "xxx" # 配置用户名
git config --global user.email "xxx@xxx.com" # 配置邮件
git config --global color.ui true # git status等命令自动着色
git config --global color.status auto
git config --global color.diff auto
git config --global color.branch auto
git config --global color.interactive auto
git config --global --unset http.proxy # remove proxy configuration on git
git clone git+ssh://git@192.168.53.168/VT.git # clone远程仓库
git status # 查看当前版本状态(是否修改)
git add xyz # 添加xyz文件至index
git add . # 增加当前子目录下所有更改过的文件至index
git commit -m 'xxx' # 提交
git commit --amend -m 'xxx' # 合并上一次提交(用于反复修改)
git commit -am 'xxx' # 将add和commit合为一步
git rm xxx # 删除index中的文件
git rm -r * # 递归删除
git log # 显示提交日志
git log -1 # 显示1行日志 -n为n行
git log -5
git log --stat # 显示提交日志及相关变动文件
git log -p -m
git show dfb02e6e4f2f7b573337763e5c0013802e392818 # 显示某个提交的详细内容
git show dfb02 # 可只用commitid的前几位
git show HEAD # 显示HEAD提交日志
git show HEAD^ # 显示HEAD的父(上一个版本)的提交日志 ^^为上两个版本 ^5为上5个版本
git tag # 显示已存在的tag
git tag -a v2.0 -m 'xxx' # 增加v2.0的tag
git show v2.0 # 显示v2.0的日志及详细内容
git log v2.0 # 显示v2.0的日志
git diff # 显示所有未添加至index的变更
git diff --cached # 显示所有已添加index但还未commit的变更
git diff HEAD^ # 比较与上一个版本的差异
git diff HEAD -- ./lib # 比较与HEAD版本lib目录的差异
git diff origin/master..master # 比较远程分支master上有本地分支master上没有的
git diff origin/master..master --stat # 只显示差异的文件,不显示具体内容
git remote add origin git+ssh://git@192.168.53.168/VT.git # 增加远程定义(用于push/pull/fetch)
git branch # 显示本地分支
git branch --contains 50089 # 显示包含提交50089的分支
git branch -a # 显示所有分支
git branch -r # 显示所有原创分支
git branch --merged # 显示所有已合并到当前分支的分支
git branch --no-merged # 显示所有未合并到当前分支的分支
git branch -m master master_copy # 本地分支改名
git checkout -b master_copy # 从当前分支创建新分支master_copy并检出
git checkout -b master master_copy # 上面的完整版
git checkout features/performance # 检出已存在的features/performance分支
git checkout --track hotfixes/BJVEP933 # 检出远程分支hotfixes/BJVEP933并创建本地跟踪分支
git checkout v2.0 # 检出版本v2.0
git checkout -b devel origin/develop # 从远程分支develop创建新本地分支devel并检出
git checkout -- README # 检出head版本的README文件(可用于修改错误回退)
git merge origin/master # 合并远程master分支至当前分支
git cherry-pick ff44785404a8e # 合并提交ff44785404a8e的修改
git push origin master # 将当前分支push到远程master分支
git push origin :hotfixes/BJVEP933 # 删除远程仓库的hotfixes/BJVEP933分支
git push --tags # 把所有tag推送到远程仓库
git fetch # 获取所有远程分支(不更新本地分支,另需merge)
git fetch --prune # 获取所有原创分支并清除服务器上已删掉的分支
git pull origin master # 获取远程分支master并merge到当前分支
git mv README README2 # 重命名文件README为README2
git reset --hard HEAD # 将当前版本重置为HEAD(通常用于merge失败回退)
git rebase
git branch -d hotfixes/BJVEP933 # 删除分支hotfixes/BJVEP933(本分支修改已合并到其他分支)
git branch -D hotfixes/BJVEP933 # 强制删除分支hotfixes/BJVEP933
git ls-files # 列出git index包含的文件
git show-branch # 图示当前分支历史
git show-branch --all # 图示所有分支历史
git whatchanged # 显示提交历史对应的文件修改
git revert dfb02e6e4f2f7b573337763e5c0013802e392818 # 撤销提交dfb02e6e4f2f7b573337763e5c0013802e392818
git ls-tree HEAD # 内部命令:显示某个git对象
git rev-parse v2.0 # 内部命令:显示某个ref对于的SHA1 HASH
git reflog # 显示所有提交,包括孤立节点
git show HEAD@{5}
git show master@{yesterday} # 显示master分支昨天的状态
git log --pretty=format:'%h %s' --graph # 图示提交日志
git show HEAD~3
git show -s --pretty=raw 2be7fcb476
git stash # 暂存当前修改,将所有至为HEAD状态
git stash list # 查看所有暂存
git stash show -p stash@{0} # 参考第一次暂存
git stash apply stash@{0} # 应用第一次暂存
git grep "delete from" # 文件中搜索文本“delete from”
git grep -e '#define' --and -e SORT_DIRENT
git gc
git fsck
Docker常用命令
常用
#查看Docker上已经安装的镜像
docker images
#搜索DockerHub上的镜像
docker search tomcat
#删除多个镜像
docker rmi -f 镜像名1:TAG 镜像名2:TAG
#删除全部
docker rmi -f $(docker images -qa)
#删除悬空镜像
docker rmi $(docker images -f "dangling=true" -q)
#批量删除没有使用的镜像
docker image prune -a -f
====================容器===========================
#启动容器
docker start 容器ID或容器name
#重启容器
docker restart 容器ID或容器name
#停止容器
docker stop 容器ID或容器name
# 删除已经停止的容器
docker rm 容器ID或容器name
# 强制删除已经停止或正在运行的容器
docker rm -f 容器ID或容器name
#一次性删除所有正在运行的容器
docker rm -f $(docker ps -qa)
#批量删除所有未运行的容器
docker rm $(docker ps -a -q)
#统计启动了多少容器
docker ps -a | wc -l
#批量删除无用容器或已经停止的容器
docker container prune -f
=====================日志============================
#日志命令
docker logs -f -t --tail 10 容器ID或容器名称
汇总
#启动 Docker
sudo systemctl start docker
#停止 Docker
sudo systemctl stop docker
#重启 Docker
sudo systemctl restart docker
#修改配置后重启 Docker
sudo systemctl daemon-reload
#修改配置后重启 Docker
sudo systemctl restart docker
#查看版本
docker version
#查看Docker 信息
docker info
#Docker 帮助
docker --help
=========================镜像指令==============================
#查看Docker上已经安装的镜像
docker images
#搜索Docker hub上面的镜像
docker search tomcat
#下载镜像
docker pull tomcat[:version]
#以删除tomcat为例
docker rmi tomcat[:version]
#通过镜像ID删除
docker rmi -f 镜像ID
#通过镜像ID删除多个
docker rmi -f 镜像名1:TAG 镜像名2:TAG
#删除全部
docker rmi -f $(docker images -qa)
==========================容器指令常用参数================================
-d: 后台运行容器,并返回容器ID
-i: 以交互式运行容器,通常与-t同时使用
-p: 端口映射,格式为 主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与-i同时使用
--name="name": 为容器指定一个名称
--dns 8.8.8.8: 为容器指定一个dns服务器,默认与宿主一致
--dns-search domain:为容器指定一个DNS域名,默认与宿主一致
-h "hostname": 指定容器的hostname
-e arg="value": 设置环境变量
-env-file=[]:从指定文件读入环境变量
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定的cpu运行
-m: 设置容器使用内存最大值
--net="bridge": 指定容器的网络连接类型,支持bridge/host/none/container四种类型
--link=[]:添加链接到另外一个容器
--expose=[]:开放一个端口或一组端口,宿主机使用随机端口映射到开放的端口
==================================实例指令============================
#运行容器
docker run --name mynginx -d nginx:latest
#映射多个端口
docker run -p 80:80/tcp -p 90:90 -v /data:/data -d nginx:latest
#查看正在运行的Docker容器
docker ps
# 显示所有容器,包括当前没有运行的容器
-a
# 显示最近创建的容器
-l
# 显示最近创建的N个容器
-n
# 静默模式,只显示容器ID
-q
# 不截断输出
--no-trunc
# 退出并停止
exit
# 容器不停止退出
ctrl+P+Q
#启动容器
docker start 容器ID或容器name
#重启容器
docker restart 容器ID或容器name
#停止容器
docker stop 容器ID或容器name
#删除容器
# 删除已经停止的容器
docker rm 容器ID或容器name
# 强制删除已经停止或正在运行的容器
docker rm -f 容器ID或容器name
#一次性删除所有正在运行的容器
docker rm -f $(docker ps -qa)
#从容器拷贝文件到宿主机
docker cp 容器ID或容器名称:/文件路径与文件名 宿主机地址
docker cp coco:/tmp/info.txt .
========================日志命令==================================
#日志命令
docker logs -f -t --tail 10 容器ID或容器名称
#参数说明:
# 加入时间戳
-t
# 跟随最新的日志打印
-f
# 输出最后几行的日志
--tail 行数
Linux常用命令
常用
#自动推荐
Tab键
#列举出当前工作目录的内容(文件或文件夹)
ls
#用于新建一个新目录
mkdir
#删除给定的目录
rmdir
#创建文件
#强制删除给定目录
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
rm -rf /var/log/httpd/access
#会删除给定的文件
rm— Remove
#切换文件路径,cd 将给定的文件夹(或目录)设置成当前工作目录。
cd — Change Directory
#grep 在给定的文件中搜寻指定的字符串。grep -i “” 在搜寻时会忽略字符串的大小写,而grep -r “” 则会在当前工作目录的文件中递归搜寻指定的字符串。
grep
#用于在标准输出(监控器或屏幕)上查看文件内容
cat— concatenate and print files
#通过发送数据包ping远程主机(服务器),常用与检测网络连接和服务器状态。
ping
#列出当前登录的用户名
who
汇总
#列举出当前工作目录的内容(文件或文件夹)
ls — List
#用于新建一个新目录
mkdir — Make Directory
#显示当前工作目录
pwd — Print Working Directory
#切换文件路径,cd 将给定的文件夹(或目录)设置成当前工作目录。
cd — Change Directory
#删除给定的目录
rmdir— Remove Directory
#会删除给定的文件
rm— Remove
#命令对文件进行复制
cp— Copy
#命令对文件或文件夹进行移动,如果文件或文件夹存在于当前工作目录,还可以对文件或文件夹进行重命名
mv— Move
#用于在标准输出(监控器或屏幕)上查看文件内容
cat— concatenate and print files
#默认在标准输出上显示给定文件的最后10行内容,可以使用tail -n N 指定在标准输出上显示文件的最后N行内容。
tail — print TAIL(from last)
#按页或按窗口打印文件内容。在查看包含大量文本数据的大文件时是非常有用和高效的。你可以使用Ctrl+F向前翻页,Ctrl+B向后翻页
less — print LESS
#grep 在给定的文件中搜寻指定的字符串。grep -i “” 在搜寻时会忽略字符串的大小写,而grep -r “” 则会在当前工作目录的文件中递归搜寻指定的字符串。
grep
#在给定位置搜寻与条件匹配的文件。你可以使用find -name 的-name选项来进行区分大小写的搜寻,find -iname 来进行不区分大小写的搜寻
find
#创建、查看和提取tar压缩文件。tar -cvf 是创建对应压缩文件,tar -tvf 来查看对应压缩文件,tar -xvf 来提取对应压缩文件。
tar
# 命令创建和提取gzip压缩文件,还可以用gzip -d 来提取压缩文件
gzip
# 对gzip文档进行解压。在解压之前,可以使用unzip -l 命令查看文件内容。
unzip
#会在终端列出所有可用的命令,可以使用任何命令的-h或-help选项来查看该命令的具体用法。图就省略啦,会有详细列表显示出来的。
help
#会用单行来描述给定的命令,就是解释当前命令。
whatis — What is this command
#用于结束当前的终端会话
exit
#通过发送数据包ping远程主机(服务器),常用与检测网络连接和服务器状态。
ping
#列出当前登录的用户名
who — Who Is logged in
#用于切换不同的用户。即使没有使用密码,超级用户也能切换到其它用户
su — Switch User
#显示出关于系统的重要信息,如内核名称、主机名、内核版本、处理机类型等等,使用uname -a可以查看所有信息
uname
#查看文件系统中磁盘的使用情况–硬盘已用和可用的存储空间以及其它存储设备。你可以使用df -h将结果以人类可读的方式显示。
df — Disk space Free
#显示系统的运行进程
ps — ProcesseS
#默认按照CPU的占用情况,显示占用量较大的进程,可以使用top -u 查看某个用户的CPU使用排名情况。
top — Top processes
#用于关闭计算机
shutdown
Vim常用命令
移动光标
上,下,左,右
移动页面
上翻一页
下翻一页
上翻半页
下翻半页
w 跳到下一个字首,按标点或单词分割
W 跳到下一个字首,长跳,如end-of-line被认为是一个字
e 跳到下一个字尾
E 跳到下一个字尾,长跳
b 跳到上一个字
B 跳到上一个字,长跳
0 跳至行首,不管有无缩进,就是跳到第0个字符
跳至行首的第一个字符
跳至行尾
gg 跳至文首
G 调至文尾
调至第5行
gd 跳至当前光标所在的变量的声明处
fx 在当前行中找x字符,找到了就跳转至
重复上一个f命令,而不用重复的输入fx
查找光标所在处的单词,向下查找
# 查找光标所在处的单词,向上查找
删除复制
dd 删除光标所在行
dw 删除一个字(word)
复制到行末
p 粘贴粘贴板的内容到当前行的下面
P 粘贴粘贴板的内容到当前行的上面
插入模式
i 从当前光标处进入插入模式
I 进入插入模式,并置光标于行首
a 追加模式,置光标于当前光标之后
A 追加模式,置光标于行末
o 在当前行之下新加一行,并进入插入模式
O 在当前行之上新加一行,并进入插入模式
Esc 退出插入模式
编辑
J 将下一行和当前行连接为一行
cc 删除当前行并进入编辑模式
cw 删除当前字,并进入编辑模式
c$ 擦除从当前位置至行末的内容,并进入编辑模式
s 删除当前字符并进入编辑模式
S 删除光标所在行并进入编辑模式
xp 交换当前字符和下一个字符
u 撤销
ctrl+r 重做
~ 切换大小写,当前字符
将当前行右移一个单位
<< 将当前行左移一个单位(一个tab符)
== 自动缩进当前行
查找替换
/pattern 向后搜索字符串pattern
?pattern 向前搜索字符串pattern
"\c" 忽略大小写
"\C" 大小写敏感
n 下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)
N 上一个匹配(同上)
:%s/old/new/g 搜索整个文件,将所有的old替换为new
:%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换
退出编辑器
:w 将缓冲区写入文件,即保存修改
:wq 保存修改并退出
:x 保存修改并退出
:q 退出,如果对缓冲区进行过修改,则会提示
:q! 强制退出,放弃修改
多文件编辑
vim file1.. 同时打开多个文件
:args 显示当前编辑文件
:next 切换到下个文件
:prev 切换到前个文件
:next! 不保存当前编辑文件并切换到下个文件
:prev! 不保存当前编辑文件并切换到上个文件
:wnext 保存当前编辑文件并切换到下个文件
:wprev 保存当前编辑文件并切换到上个文件
:first 定位首文件
:last 定位尾文件
ctrl+^ 快速在最近打开的两个文件间切换
:split[sp] 把当前文件水平分割
:split file 把当前窗口水平分割, file
:vsplit[vsp] file 把当前窗口垂直分割, file
:new file 同split file
:close 关闭当前窗口
:only 只显示当前窗口, 关闭所有其他的窗口
:all 打开所有的窗口
:vertical all 打开所有的窗口, 垂直打开
:qall 对所有窗口执行:q操作
:qall! 对所有窗口执行:q!操作
:wall 对所有窗口执行:w操作
:wqall 对所有窗口执行:wq操作
ctrl-w h 跳转到左边的窗口
ctrl-w j 跳转到下面的窗口
ctrl-w k 跳转到上面的窗口
ctrl-w l 跳转到右边的窗口
ctrl-w t 跳转到最顶上的窗口
ctrl-w b 跳转到最底下的窗口
多标签编辑
:tabedit file 在新标签中打开文件file
:tab split file 在新标签中打开文件file
:tabp 切换到前一个标签
:tabn 切换到后一个标签
:tabc 关闭当前标签
:tabo 关闭其他标签
gt 到下一个tab
gT 到上一个tab
0gt 跳到第一个tab
5gt 跳到第五个tab
执行shell命令
1、在命令模式下输入":sh",可以运行相当于在字符模式下,到输入结束想回到VIM编辑器中用exit,ctrl+D返回VIM编辑器
2、可以"!command",运行结束后自动回到VIM编辑器中
3、用“Ctrl+Z“回到shell,用fg返回编辑
4、:!make -> 直接在当前目录下运行make指令
VIM启动项
-o[n] 以水平分屏的方式打开多个文件
-O[n] 以垂直分屏的方式打开多个文件
自动排版
在粘贴了一些代码之后,vim变得比较乱,只要执行gg=G就能搞定
如何在vim中编译程序
在vim中可以完成make,而且可以将编译的结果也显示在vim里,先执行 :copen 命令,将结果输出的窗口打开,然后执行 :make
编译后的结果就显示在了copen打开的小窗口里了,而且用鼠标双击错误信息,就会跳转到发生错误的行。
buffer操作
1、buffer状态
- (非活动的缓冲区)
a (当前被激活缓冲区)
h (隐藏的缓冲区)
% (当前的缓冲区)
# (交换缓冲区)
= (只读缓冲区)
+ (已经更改的缓冲区)
VIM 操作目录
1.打开目录
vim .
vim a-path/
2.以下操作在操作目录时生效
p,P,t,u,U,x,v,o,r,s
c 使当前打开的目录成为当前目录
d 创建目录
% 创建文件
D 删除文件/目录
- 转到上层目录
gb 转到上一个 bookmarked directory
i 改变目录文件列表方式
^l 刷新当前打开的目录
mf - 标记文件
mu - unmark all marked files
mz - Compress/decompress marked files
gh 显示/不显示隐藏文件( dot-files)
^h 编辑隐藏文件列表
a 转换显示模式, all - hide - unhide
qf diplay infomation about file
qb list the bookmarked directories and directory traversal history
gi Display information on file
mb
mc
md - 将标记的文件(mf标记文件)使用 diff 模式
me - 编辑标记的文件,只显示一个,其余放入 buffer 中
mh
mm - move marked files to marked-file target directory
mc - copy
mp
mr
mt
vim 中复制,移动文件
1, mt - 移动到的目录
2, mf - 标记要移动的文件
3, mc - 移动/复制
R 移动文件
打开当前编辑文件的目录
:Explore
:Hexplore
:Nexplore
:Pexplore
:Sexplore
:Texplore
:Vexplore
链接:https://www.cnblogs.com/AJun816/p/16029167.html
(版权归原作者所有,侵删)
文末福利
即将步入2025年,不少小伙伴在考虑来年的工作方向。
仅目前来说,传统运维冲击年薪30W+的转型方向就是SRE&DevOps岗位。
······
以上所有资料获取请扫码
识别上方二维码
备注:2024最新运维资料
100%免费领取
(是扫码领取,不是在公众号后台回复,别看错了哦)