Skip to content

Git、Shell

孔子:学而不思则罔,思而不学则殆

Linux命令

命令命令说明
!?匹配最近执行的命令例如!?find
alias复杂命令创建别名_例如alias ll='ls -l'
cp -Lvr复制时遇到软链接复制真实位置
history / which *历史命令记录、搜索执行文件所在路径
tar -zcvf *.tar.gz打包压缩文件*为文件名c为.gz格式
tar -zxvf *.tar.gz解压压缩文件*为文件名c为.gz格式
ifconfig/ip addr show本机IP地址查看eth0、hostname -I也可以
bash
dd if=/dev/zero of=./1.bin			#可用于查看读写速度
tar -zchvf *.tar.gz --hard-dereference dir		#软链接转原文件
tr -cd 'A-Za-z0-9' </dev/urandom | head -c16	#取随机数16位Or7
for i in $(seq 10); do m=$(expr $i + 10); echo $m; done		#计算
ps aux | sort -k4,4nr | head -n 10 | awk '{print $1"\t"$2"\t"$4}'

Windows

命令命令说明
where *加命令、查看命令路径
shutdown -s -t 60Windows延迟60秒关机
net use * /del /y重置网络映射
netsh winsock resetWindows重置winsock
tracert *路由跟踪命令*为网址
arp -a查询局域网设备及Mac地址[需通信过]
netstat -ano | findstr "5037"查看端口使用情况、这里查看的是adb端口
taskkill /f /im adb.exe结束进程、/im+进程名、/pid+进程id
点击查看ADB进程清理工具
bash
@echo off 
color a
title Adb Occupy Clear By manosP
echo ---------------------------
echo Detecting Adb Ports...
for /F "usebackq tokens=5" %%a in (`"netstat -ano | findstr "5037""`) do (   
	if not "%%a" =="0" call :ReleasePort %%a
)
echo ---------------------------
echo adb Occupy Clear Success
echo ---------------------------
pause
exit

:ReleasePort
TASKKILL /f /PID %1
  • 批处理%~字符

在批处理文件中,%i表示第i个命令选项,i可以取值从1到9

命令命令说明命令命令说明
%~0取文件名[名+扩展名]%~x0只取文件扩展名
%~f0取全路径%~s0取缩写全路径名
%~d0取驱动器名%~a0取文件属性
%~p0只取路径[不包驱动器]%~t0取文件创建时间
%~n0只取文件名%~z0取文件大小
点击查看使用案例
bash
@echo off
color f5
title [File Attrib]--manosP

echo 无后缀名: %~n1 
echo 有后缀名: %~nx1 
echo 绝对路径: %1 
echo 短路径名的绝对路径: %~s1 
echo 驱动器和路径: %~dp1 
echo 驱动器: %~d1 
echo 路径: %~p1 
echo 文件属性: %~a1 
echo 日期/时间: %~t1 
echo 文件大小: %~z1

echo.
echo. 
pause
  • WSL使用
bash
wsl --list --online								#查看版本
wsl --install Debian							#安装Debian
Debian config --default-user root				# 配置WSL Root用户
net stop LxssManager ; net start LxssManager	# 停止并启动WSL服务

Git使用

  • 初次使用

Github Config SSH

bash
ssh-keygen -t rsa -b 4096 -C "xxx@qq.com"		#生成密匙  
HOME/.ssh Open id_rsa.pub Copy Github			#复制公匙到Github Setting  
ssh -T git@github.com							#验证是否成功
git config --global user.name "xxx"				#Config
git config --global user.email xxx@qq.com		#Config
命令命令说明
git init初始化Git本地仓库
git status查看仓库提交状态
git add [文件名]添加文件到缓存区-->add . 所有文件
git diff --name-status对比所有~文件以及文件夹PS:仅文件名
git commit -am "描述信息"提交本地更新
git clone [仓库地址]拉取github项目、深度--depth 1
git push推送到线上仓库-f强制
git pull从线上仓库拉取到本地
git rm [文件名]删除文件
  • 常用命令
命令命令说明
git branch分支操作-a所有分支 -d删除分支 -M重命名 +分支名新建
git checkout切换分支或commit git checkout HEAD 回到最新提交
git checkout --orphan local新建孤立分支没有历史commit
git remote -v远程仓库信息Url
git remote rm origin删除远程仓库.名
git rev-list --count --all所有提交的commit数量 HEAD
git push origin --delete删除远程分支 +远程分支名
git push -u origin local推送本地分支到远程local 加-u与远程分支建立关联
git reset在缓存区的文件取消暂存
git reset --soft HEAD~撤销commit ~n多个commit
git rm --cached -r . 递归清除分支上的文件 -f强制删除 --cached暂存区
  • 补丁命令
命令命令说明
git diff >> xx.patch生成补丁文件git status > x.patch类似
patch -Np1 --dry-run < xx.patch应用补丁-f强制-s静默--dry-run检查并不应用
patch -d dir -Np1 -f < xx.patch-d指定工作目录-N文件不存在也尝试应用-R撤销
git format-patch <r1>..<r2>两个commit间生成、-1 <r1>单个commit、<r1>某commit以来的修改
diff
# -p0-->a -p1-->frameworks p1忽略第一个目录名
--- a/frameworks/base/services/core/Android.bp
+++ b/frameworks/base/services/core/Android.bp
  • 模块命令
命令命令说明
git submodule status查看项目子模块状态
git submodule add url localpath项目添加子模块 子模块的模块使用init update
git clone --recurse-submodules拉取项目时拉取子模块
git submodule update切换后commit后更新子模块
git submodule update --init --recursive已经clone的项目可以下载子模块
  • 其他命令
bash
git clone -c core.symlinks=true url		#临时增加参数
git config --global core.symlinks true	#配置全局参数
git restore    #撤销缓存区修改 需要加路径 .当前目录 --staged 撤销目录
git remote set-url origin git@github.com:User/OTA.git	#https To SSH

大小判断

Linux说明Windows说明
-eq等于EQU等于
-ne不等于NEQ不等于
-le小于或等于LEQ小于或等于
-ge大于或等于GEQ大于或等于
-lt、-gt小于、大于LSS、GTR小于、大于

终端颜色

  • Linux终端echo命令输出彩色显示结果
  • 使用方法如下,36m替换为需要的代码
sh
echo -e "\033[36m 天蓝颜色字 \033[0m"
代码作用代码作用
30m黑色字40;37m黑底白字
31m红色字41;37m红底白字
32m绿色字42;37m绿底白字
33m黄色字43;37m黄底白字
34m蓝色字44;37m蓝底白字
35m紫色字45;37m紫底白字
36m天蓝色46;37m天蓝底白字
37m白色字47;37m白底黑字
代码作用代码作用
0m关闭属性nA光标上移n行
1m设置高亮度nB光标下移n行
4m下划线nC光标右移n行
5m闪烁nD光标左移n行
7m反显y;xH设置光标位置
8m销隐s保存光标位置
2J清屏u恢复光标位置
?25l隐藏光标30m或40m设置前景或背景色
?25h显示光标K清除从光标到行尾的内容

Copyright © manosP . 2023