在 Mac 上用 root 用户运行 wireshark
2023-05-06 tech mac wireshark 1 mins 1 图 71 字

这条答案是 gpt 生成的:

sudo /Applications/Wireshark.app/Contents/MacOS/Wireshark

这条答案是 gpt 生成的:

sudo /Applications/Wireshark.app/Contents/MacOS/Wireshark

git 有三种回滚场景:
git add)git add 未 git commit)git commit)在这里都做个记录。
工作区就是尚未 git add 的内容、当前可见的目录和文件。例如:

回滚很简单:
git checkout -- [文件名] //撤销指定文件的修改
git checkout . //撤销所有文件改动
暂存区就是已经 git add进去,尚未 git commit 的内容。例如:

git rm --cache [文件名] //撤销暂存区指定文件回到工作区
git reset -- [文件名] //撤销暂存区指定文件回到工作区
git reset [HEAD] // 撤销暂存区所有文件回到工作区,HEAD可以省略
版本库:就是.git中保存的版本仓库,也就是已经commit过的那些记录。
git log --pretty=oneline // 查看最近几次commit的commit_id
可以用 git revert 或者 git reset 进行操作:
git revert HEAD // 撤销最近的一个提交
git revert <commit_id> // 撤销指定的版本,该操作将自动保存为一次commit
或:
git reset HEAD benchmarks.rb
git reset --soft xxx
git reset --hard xxx
两者主要区别是:

这是一个 github 上的项目,挺简单实用的,用命令行下载 bing 的壁纸替换为 Mac 的壁纸。虽然不够优雅但胜在简单,记录过来。出处:https://github.com/xiqishow/bing_wallpaper
#!/usr/bin/env bash
#创建壁纸目录
echo $
if [[ $1 = "-n" ]]
then
osascript -e "display notification \"开始更换壁纸\" with title \"定时换壁纸\""
fi
mkdir -p ~/bing-wallpapers/
cd ~/bing-wallpapers/
#请求一个随机数(bing只能返回0到7)
index_seed="$(jot -r 1 0 7)"
#请求bing服务获得最新一张壁纸(下载UHD壁纸)
rurl_esult="$(curl --location --request GET 'http://www.bing.com/HPImageArchive.aspx?idx='$index_seed'&n=5&format=js' --header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36' | grep -o '"url":"[^"]*"' | sed -e 's/"url":"/https:\/\/cn.bing.com/' | sed -e 's/"//' | sed -e 's/1920x1080/UHD/g')"
#下载壁纸
rm -f wallpapler*.jpg
#随机文件名,否则无法更换壁纸
file_seed="$(date +%s)"
curl $rurl_esult -o wallpapler_$file_seed.jpg > /dev/null
#设置壁纸路径
localpath="/Users/$USER/bing-wallpapers/wallpapler_$file_seed.jpg"
#设置壁纸
# osascript -e "tell application \"Finder\" to set desktop picture to POSIX file \"$localpath\""
osascript -e "tell application \"System Events\" to set picture of (reference to every desktop) to \"$localpath\""
#提示壁纸设置成功
if [[ $1 = "-n" ]]
then
osascript -e "display notification \"壁纸更换成功\" with title \"定时换壁纸\""
fi
保存为一个文件(假设为 w.sh),chmod +x w.sh,
运行如下脚本(设置为定时任务,每5分钟1 次):
#!/usr/bin/env bash
cFolder="$(pwd)"
echo "*/5 * * * * $cFolder/w.sh > /dev/null 2>&1" | crontab

rules:
- DOMAIN-SUFFIX,openai.com,GPT
- DOMAIN-SUFFIX,auth0.com,GPT
- DOMAIN-SUFFIX,bing.com,GPT
- DOMAIN-SUFFIX,live.com,GPT
- DOMAIN-SUFFIX,chatgpt.com,GPT

因为工作单位对软件正版化的要求很高。虽然我喜欢用 smartgit,也只能舍弃了。
目前只装了 git bash,卸载掉 smartgit,免去这方面的烦恼。这篇文章记录在 windows 下的命令行操作的一些备忘。
在没有配置 .bashrc 里的快捷命令的时候,我使用下面的命令,先填自己的信息,再做其他操作。主要用处是 pull 和 push 代码。
ssh-agent bash
ssh-agent -s
ssh-add.exe /d/kelu/git # 填密钥
可以根据下面步骤 2 里的内容,以后就不需要这么麻烦了。
查看我的 git 配置
git config --list
创建一个 .bashrc 文件,用于git缩写。
touch ~/.bashrc
然后你的用户目录下就会多了这个文件。用 notepad 编辑,将常用的 alias 命令放进去。
alias ga="git add ."
alias gs="git status"
alias gm="git commit -m"
alias gd="git diff --cached"
alias gl="git log --stat"
alias gr="git branch -r"
alias grl="git log --pretty=oneline --graph -n 5"
alias gpush='ssh-agent bash -c "ssh-add $HOME/.ssh/xxx;git push"'
alias gp='ssh-agent bash -c "ssh-add $HOME/.ssh/xxx;git pull"'
效果如下:

git log 乱码
如下,在git bash的界面中右击空白处,弹出菜单,选择选项->文本->本地Locale,设置为zh_CN,而旁边的字符集选框选为UTF-8。然后重启 git bash,就可以显示中文了。

查看远端分支信息:
git remote -v
origin git@xxx.git (fetch)
origin git@xxx.git (push)
分支相关操作
git branch -r # 查看远程分支
查看远程某个分支的提交历史
git fetch origin
git log origin/branch-name
# 我常用的命令,看某个分支最近 5 次的提交,用图形化的方式展示出来
git log --pretty=oneline --graph -n 5 origin/04-master
分支merge 的操作在图形界面里操作,因为还涉及审核等流程。
查看某个提交的细节:
git log --pretty=oneline # 查看提交 hash 值
git show <hash> # 查看具体的修改内容
拉取远程所有分支到本地:
git checkout --track origin/dev
....
git branch # 分支列表
切换分支
git checkout testing # 切换分支
git checkout -b iss53 # 新建并切换到分支


