Compare commits

..

82 Commits

Author SHA1 Message Date
jaywcjlove
b98e7d8395 released v1.36.0 2023-02-20 11:10:24 +08:00
jaywcjlove
3d1317603e doc: update homebrew.md 2023-02-20 11:07:54 +08:00
github-actions[bot]
8a651c813b doc: update README.md. 2023-02-20 01:13:01 +00:00
github-actions[bot]
10884e73f0 doc: update CONTRIBUTING.md. 2023-02-20 01:13:00 +00:00
LufsX
de4286cd7f doc: Update adb.md & homebrew.md and delete repeated mirror items (#304)
* chore: delete duplicate items

* doc: update adb.md and homebrew.md
2023-02-20 09:11:28 +08:00
jaywcjlove
f31aab4b35 chore(deps): update dependency refs-cli to ^1.3.2 (#279) 2023-02-15 09:42:34 +08:00
github-actions[bot]
485e83c5df doc: update README.md. 2023-02-11 12:25:25 +00:00
github-actions[bot]
5f1e3f6a2b doc: update CONTRIBUTING.md. 2023-02-11 12:25:24 +00:00
GONGYE Heyu
9688866fdb doc: python.md (#299)
Maybe it's not perfect, but it's better than before
2023-02-11 20:24:13 +08:00
github-actions[bot]
9c59d4a225 doc: update README.md. 2023-02-11 12:23:48 +00:00
github-actions[bot]
3f2559c1e1 doc: update CONTRIBUTING.md. 2023-02-11 12:23:47 +00:00
Minghao Yu
606776662d Update rust.md (#296) 2023-02-11 20:22:44 +08:00
mancuoj
3cec40c4f9 doc: update python.md (#297)
fix anchor link
2023-02-11 20:22:20 +08:00
github-actions[bot]
a5c1f3c02e doc: update README.md. 2023-02-11 12:17:05 +00:00
github-actions[bot]
8171974454 doc: update CONTRIBUTING.md. 2023-02-11 12:17:04 +00:00
fw_qaq
d50673ad3f doc: update google-chrome.md (#298) 2023-02-11 20:15:41 +08:00
Maylon
7ca89af17c doc: Update docker.md (#294)
format file: remove "。" in the forms (obsessive-compulsive disorder ...)
2023-02-10 11:29:00 +08:00
github-actions[bot]
e0ce750d73 doc: update README.md. 2023-02-07 09:54:19 +00:00
github-actions[bot]
409e44a354 doc: update CONTRIBUTING.md. 2023-02-07 09:54:18 +00:00
Maylon
8382555a20 doc: Update docker.md (#292)
update docker commit grammar
2023-02-07 17:52:24 +08:00
github-actions[bot]
e3e6783703 doc: update README.md. 2023-02-04 02:02:08 +00:00
github-actions[bot]
ea86c3a76c doc: update CONTRIBUTING.md. 2023-02-04 02:02:07 +00:00
jaywcjlove
49b1394090 doc: update README.md 2023-02-04 10:00:36 +08:00
github-actions[bot]
03f1c20d2c doc: update README.md. 2023-02-02 04:01:31 +00:00
github-actions[bot]
ae060ebac2 doc: update CONTRIBUTING.md. 2023-02-02 04:01:30 +00:00
jaywcjlove
358d8f4e17 doc: update golang.md (#282) 2023-02-02 11:59:57 +08:00
github-actions[bot]
6614543e04 doc: update README.md. 2023-02-02 03:54:09 +00:00
github-actions[bot]
5693510df6 doc: update CONTRIBUTING.md. 2023-02-02 03:54:08 +00:00
XYZ
dfaaee7ce5 doc: Update regex.md (#277) 2023-02-02 11:52:58 +08:00
XYZ
c356147d5f doc: Update regex.md (#278) 2023-02-02 11:52:27 +08:00
github-actions[bot]
1e1836f949 doc: update README.md. 2023-02-02 03:47:26 +00:00
github-actions[bot]
65aab8d920 doc: update CONTRIBUTING.md. 2023-02-02 03:47:26 +00:00
github-actions[bot]
816aabf365 doc: update README.md. 2023-02-02 03:46:34 +00:00
github-actions[bot]
9efea19f6b doc: update CONTRIBUTING.md. 2023-02-02 03:46:33 +00:00
ZhiQiang Li
e1661b5dc4 doc: update golang.md (#282)
doc: update jquery.md
2023-02-02 11:46:20 +08:00
Damao
45f42568fc doc: update javascript.md (#281) 2023-02-02 11:45:19 +08:00
github-actions[bot]
04d063f1fe doc: update README.md. 2023-01-17 09:53:37 +00:00
github-actions[bot]
7b5d556dcc doc: update CONTRIBUTING.md. 2023-01-17 09:53:37 +00:00
_lmmmmmm
6900980460 doc: update nextjs.md (#274) 2023-01-17 17:52:24 +08:00
github-actions[bot]
28066ae3c4 doc: update README.md. 2023-01-14 04:24:05 +00:00
github-actions[bot]
39bd0173e8 doc: update CONTRIBUTING.md. 2023-01-14 04:24:04 +00:00
Perzch
6b570f2035 doc: update javascript.md (#271)
add JavaScript Functions 函数
line: 472-480
2023-01-14 12:22:40 +08:00
github-actions[bot]
dac7e778cb doc: update README.md. 2023-01-12 10:29:35 +00:00
github-actions[bot]
9e16ec7005 doc: update CONTRIBUTING.md. 2023-01-12 10:29:34 +00:00
guoxudong
489d7f509e doc: Update README.md (#270) 2023-01-12 18:28:13 +08:00
renovate[bot]
c0855988c0 chore(deps): update dependency markdownlint-cli to ^0.33.0 (#262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 21:13:56 +08:00
jaywcjlove
e5e0160628 doc: update cs.md (#266) 2023-01-10 21:11:35 +08:00
夜未央
cb7b542fb1 doc: update cs.md (#266) 2023-01-10 21:08:54 +08:00
github-actions[bot]
101d5c1b09 doc: update README.md. 2023-01-09 05:29:08 +00:00
github-actions[bot]
004553f1de doc: update CONTRIBUTING.md. 2023-01-09 05:29:07 +00:00
Monet Lee
da7da9aae0 doc: Update README.md (#263)
* Update new mirror sources

* update mirror titles
2023-01-09 13:28:24 +08:00
jaywcjlove
6d4ce812d0 doc: update README.md #206 2023-01-09 13:27:46 +08:00
github-actions[bot]
bab4e10038 doc: update README.md. 2023-01-06 07:01:43 +00:00
github-actions[bot]
e30defe3bf doc: update CONTRIBUTING.md. 2023-01-06 07:01:41 +00:00
jaywcjlove
0691e82eb2 doc: update java.md (#261) 2023-01-06 14:59:49 +08:00
hupilan
38b685315b doc: Update java.md (#261)
原来的 Java 官网弃用了
2023-01-05 18:52:11 +08:00
jaywcjlove
ae633b43e8 released v1.35.0 2023-01-05 11:37:05 +08:00
jaywcjlove
cc6e992a4b doc: update kotlin.md 2023-01-05 11:22:28 +08:00
jaywcjlove
2d994f8597 doc: update CONTRIBUTING.md 2023-01-05 11:04:07 +08:00
jaywcjlove
ad5accdeff doc: update julia.md 2023-01-05 10:34:41 +08:00
jaywcjlove
3a7af1eef3 feat: add kubernetes.md cheatsheet. #44 2023-01-05 10:27:01 +08:00
jaywcjlove
9ef65a9f3d feat: add ps.md cheatsheet. #251 2023-01-05 10:07:52 +08:00
jaywcjlove
6c220d88ae doc: update README.md #102 2023-01-05 09:15:55 +08:00
github-actions[bot]
01da713410 doc: update README.md. 2023-01-03 08:45:58 +00:00
github-actions[bot]
768bcb96d9 doc: update CONTRIBUTING.md. 2023-01-03 08:45:58 +00:00
fjqz177
fc11b2f0dc doc: Update README.md (#259) 2023-01-03 16:44:39 +08:00
HooinKyoma
dda6efdc7c doc: Update README.md (#258) 2023-01-03 11:09:33 +08:00
renovate[bot]
019b4d51ec chore(deps): update dependency markdownlint to ^0.27.0 (#250)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-01 20:54:59 +08:00
jaywcjlove
f40b56ebb8 doc: update cpp.md #255 2022-12-31 22:43:36 +08:00
github-actions[bot]
bb533b9081 doc: update README.md. 2022-12-31 13:56:18 +00:00
github-actions[bot]
6ca7d88a48 doc: update CONTRIBUTING.md. 2022-12-31 13:56:17 +00:00
Liuyuan
a2cfd4e785 doc: update cpp.md (#255)
* 更新排版

更新了以下内容的排版,以适应网页的风格:

+ lambda表达式
+ 多线程

* 更新C++多线程:锁

更新以下部分:

+ `mutex`
    + 上锁——`lock`
    + 解锁——`unlock`
    + 尝试上锁——`try_lock`
+ `lock_guard<Mutex>`
    + 额外参数`std::adopt_lock`
+ `unique_lock<Mutex>`
    + 额外参数
        + `std::adopt_lock`
        + `std::try_to_lock`
        + `std::defer_lock`
    + 成员函数
        + `lock`
        + `unlock`
        + `release`
        + `owns_lock`

* 更新C++11多线程内容

更新内容:
 
+ `call_once`
+ `condition_variable` 
    + `wait`
    + `notify_one`
    + `notify_all`
+ `async`
    + `std::launch::deferred`
    + `std::launch::async`
    + `std::deferred | std::launch::async`
+ `future`
    + `wait`
    + `get`
    + `wait_for`
    + `wait_until`
+ `future_status`
    + `ready`
    + `timeout`
    + `deferred`
+ `shared_future`
2022-12-31 21:54:47 +08:00
jaywcjlove
b08cc85e41 doc: update cpp.md (#254) 2022-12-30 16:03:26 +08:00
github-actions[bot]
3f84fe66d3 doc: update README.md. 2022-12-30 06:37:49 +00:00
github-actions[bot]
5cde10b118 doc: update CONTRIBUTING.md. 2022-12-30 06:37:48 +00:00
Liuyuan
db7a9aa6f9 doc: Update cpp.md (#254)
开始添加多线程部分,主要添加了线程的创建、销毁和this_thread的所有函数

尚未开始的内容:锁、互斥量、线程同步
2022-12-30 14:36:19 +08:00
github-actions[bot]
9879fabc78 doc: update README.md. 2022-12-30 02:45:46 +00:00
github-actions[bot]
a2a2ae55ca doc: update CONTRIBUTING.md. 2022-12-30 02:45:46 +00:00
jaywcjlove
19f919f532 doc: update docs/css.md 2022-12-30 10:44:24 +08:00
miclon-dev
cabda9b9c9 doc: update README.md. (#252) 2022-12-29 18:09:46 +08:00
github-actions[bot]
ce12b2a329 doc: update README.md. 2022-12-29 06:10:04 +00:00
github-actions[bot]
5e3d42d1ad doc: update CONTRIBUTING.md. 2022-12-29 06:10:04 +00:00
23 changed files with 1509 additions and 190 deletions

View File

@@ -132,15 +132,80 @@ REF_LABEL=网站首页
由于中国国内访问,时常打不开,你可以访问下面镜像网站。 由于中国国内访问,时常打不开,你可以访问下面镜像网站。
- [quickref.cn](https://quickref.cn)
- [ecdata.cn](http://ref.ecdata.cn) - [ecdata.cn](http://ref.ecdata.cn)
- [mofe.io](http://quickref.mofe.io)
- [aibk.cn](https://quickref.aibk.cn) - [aibk.cn](https://quickref.aibk.cn)
- [jgeek.cn](http://reference.jgeek.cn/)
- [laoleng.vip](http://bbs.laoleng.vip/reference/) - [laoleng.vip](http://bbs.laoleng.vip/reference/)
- [liujiapeng.com](https://www.liujiapeng.com/) - [liujiapeng.com](https://www.liujiapeng.com/)
- [dbyun.net](https://www.dbyun.net/reference/index.html) - [dbyun.net](https://www.dbyun.net/reference/index.html)
- [dc6.fun](https://dc6.fun/reference/)
- [if010.com](https://quickref.if010.com/)
- [pipecraft.net](https://quickref.pipecraft.net/)
- [isteed.cc](https://ref.isteed.cc/)
- [1han.wiki](https://code.1han.wiki/)
- [linzhe.top](https://linzhe.top/)
- [xushanxiang.com](https://xushanxiang.com/ref/)
- [winnerzr01.github.io](https://winnerzr01.github.io/Quick-Reference/index.html)
- [hestudio.org](https://quickref.hestudio.org)
- [surcode.cn](https://ref.surcode.cn)
- [cms.im](https://quickref.cms.im/)
- [nuomiphp.com](https://reference.tool.nuomiphp.com/)
- [eryajf.net](https://ref.eryajf.net/)
- [kjchmc.cn](https://ref.kjchmc.cn/)
- [likeadmin.cn](https://www.likeadmin.cn/quickref/)
- [qiubit.cc](http://ref.qiubit.cc)
- [aoh.cc](https://aoh.cc/)
- [reference.code05.com](https://reference.code05.com/)
- [kyoma.top](https://reference.kyoma.top/)
- [quickreference.pages.dev](https://quickreference.pages.dev/)
- [code05.com](https://reference.code05.com/)
- [xhfun.cn](https://ref.xhfun.cn/)
感谢🙏 感谢🙏
## 利用 Github Actions 定时任务来完成自动更新
在仓库添加 `.github/workflows/update-ref.yml` 文件 Github Actions 配置,感谢 @eryajf https://github.com/jaywcjlove/reference/issues/102#issuecomment-1368158419 提供方法
```yml
name: 每8个小时更新一次reference
on:
schedule:
- cron: '21 */8 * * *' # 定时任务
workflow_dispatch: # 手动运行
env: # 设置环境变量
TZ: Asia/Shanghai # 时区(设置时区可使页面中的`最近更新时间`使用时区时间)
jobs:
build: # 自定义名称
runs-on: ubuntu-latest
steps:
- name: 🚜 拉取最新代码
uses: actions/checkout@v3
with:
ref: 'main'
repository: 'jaywcjlove/reference'
- name: ♻️ 编译静态文件
run: |
echo -e 'REF_URL=https://refs.xxx.net/\nREF_LABEL=网站首页' > .env
npm install
npm run build
- name: 🚁 部署到服务器
uses: wlixcc/SFTP-Deploy-Action@v1.0
with:
username: 'root' #ssh user name
port: '22' # 远程服务器ssh端口默认22
server: 'prod.refs.xxx.net' # 远程服务器IP
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} # 认证服务器秘钥对的私钥
local_path: './dist/*' # 对应我们项目打包后的静态文件路径
remote_path: '/data/www/refs.xxx.net' # 服务器上的路径
delete_remote_files: true
```
## 贡献 ## 贡献
请参阅[贡献指南](./CONTRIBUTING.md)了解如何开始。一如既往,感谢我们出色的贡献者! 请参阅[贡献指南](./CONTRIBUTING.md)了解如何开始。一如既往,感谢我们出色的贡献者!
@@ -163,18 +228,27 @@ REF_LABEL=网站首页
<a href="https://github.com/expoli" title="expoli"> <a href="https://github.com/expoli" title="expoli">
<img src="https://avatars.githubusercontent.com/u/31023767?v=4" width="42;" alt="expoli"/> <img src="https://avatars.githubusercontent.com/u/31023767?v=4" width="42;" alt="expoli"/>
</a> </a>
<a href="https://github.com/LiuYuan-SHU" title="Liuyuan">
<img src="https://avatars.githubusercontent.com/u/96400967?v=4" width="42;" alt="Liuyuan"/>
</a>
<a href="https://github.com/LufsX" title="LufsX">
<img src="https://avatars.githubusercontent.com/u/33221883?v=4" width="42;" alt="LufsX"/>
</a>
<a href="https://github.com/heStudio-Network" title="醉、倾城"> <a href="https://github.com/heStudio-Network" title="醉、倾城">
<img src="https://avatars.githubusercontent.com/u/119711513?v=4" width="42;" alt="醉、倾城"/> <img src="https://avatars.githubusercontent.com/u/119711513?v=4" width="42;" alt="醉、倾城"/>
</a> </a>
<a href="https://github.com/sjh42" title="42:p"> <a href="https://github.com/sjh42" title="42:p">
<img src="https://avatars.githubusercontent.com/u/34529275?v=4" width="42;" alt="42:p"/> <img src="https://avatars.githubusercontent.com/u/34529275?v=4" width="42;" alt="42:p"/>
</a> </a>
<a href="https://github.com/LufsX" title="LufsX"> <a href="https://github.com/XYZscratcher" title="XYZ">
<img src="https://avatars.githubusercontent.com/u/33221883?v=4" width="42;" alt="LufsX"/> <img src="https://avatars.githubusercontent.com/u/108533817?v=4" width="42;" alt="XYZ"/>
</a> </a>
<a href="https://github.com/1834423612" title="kjch"> <a href="https://github.com/1834423612" title="kjch">
<img src="https://avatars.githubusercontent.com/u/49981661?v=4" width="42;" alt="kjch"/> <img src="https://avatars.githubusercontent.com/u/49981661?v=4" width="42;" alt="kjch"/>
</a> </a>
<a href="https://github.com/mancuoj" title="mancuoj">
<img src="https://avatars.githubusercontent.com/u/45707684?v=4" width="42;" alt="mancuoj"/>
</a>
<a href="https://github.com/pangxiaoli" title="pangxiaoli"> <a href="https://github.com/pangxiaoli" title="pangxiaoli">
<img src="https://avatars.githubusercontent.com/u/54620953?v=4" width="42;" alt="pangxiaoli"/> <img src="https://avatars.githubusercontent.com/u/54620953?v=4" width="42;" alt="pangxiaoli"/>
</a> </a>
@@ -190,11 +264,14 @@ REF_LABEL=网站首页
<a href="https://github.com/catcto" title="喵仙人"> <a href="https://github.com/catcto" title="喵仙人">
<img src="https://avatars.githubusercontent.com/u/5467932?v=4" width="42;" alt="喵仙人"/> <img src="https://avatars.githubusercontent.com/u/5467932?v=4" width="42;" alt="喵仙人"/>
</a> </a>
<a href="https://github.com/Country-If" title="Maylon">
<img src="https://avatars.githubusercontent.com/u/62837275?v=4" width="42;" alt="Maylon"/>
</a>
<a href="https://github.com/13812700839" title="花殇"> <a href="https://github.com/13812700839" title="花殇">
<img src="https://avatars.githubusercontent.com/u/58072506?v=4" width="42;" alt="花殇"/> <img src="https://avatars.githubusercontent.com/u/58072506?v=4" width="42;" alt="花殇"/>
</a> </a>
<a href="https://github.com/Smartdousha" title="dousha"> <a href="https://github.com/dousha0w0" title="dousha0w0">
<img src="https://avatars.githubusercontent.com/u/52566311?v=4" width="42;" alt="dousha"/> <img src="https://avatars.githubusercontent.com/u/52566311?v=4" width="42;" alt="dousha0w0"/>
</a> </a>
<a href="https://github.com/Brid9e" title="Brid9e"> <a href="https://github.com/Brid9e" title="Brid9e">
<img src="https://avatars.githubusercontent.com/u/85558909?v=4" width="42;" alt="Brid9e"/> <img src="https://avatars.githubusercontent.com/u/85558909?v=4" width="42;" alt="Brid9e"/>
@@ -208,12 +285,21 @@ REF_LABEL=网站首页
<a href="https://github.com/DaiNing810" title="DaiN"> <a href="https://github.com/DaiNing810" title="DaiN">
<img src="https://avatars.githubusercontent.com/u/94962339?v=4" width="42;" alt="DaiN"/> <img src="https://avatars.githubusercontent.com/u/94962339?v=4" width="42;" alt="DaiN"/>
</a> </a>
<a href="https://github.com/Damao2250" title="Damao">
<img src="https://avatars.githubusercontent.com/u/19251992?v=4" width="42;" alt="Damao"/>
</a>
<a href="https://github.com/demigodliu" title="DemigodLiu"> <a href="https://github.com/demigodliu" title="DemigodLiu">
<img src="https://avatars.githubusercontent.com/u/30372735?v=4" width="42;" alt="DemigodLiu"/> <img src="https://avatars.githubusercontent.com/u/30372735?v=4" width="42;" alt="DemigodLiu"/>
</a> </a>
<a href="https://github.com/eeeeeio" title="EEEEE"> <a href="https://github.com/eeeeeio" title="EEEEE">
<img src="https://avatars.githubusercontent.com/u/20723545?v=4" width="42;" alt="EEEEE"/> <img src="https://avatars.githubusercontent.com/u/20723545?v=4" width="42;" alt="EEEEE"/>
</a> </a>
<a href="https://github.com/gongyeheyu" title="GONGYE Heyu">
<img src="https://avatars.githubusercontent.com/u/85177605?v=4" width="42;" alt="GONGYE Heyu"/>
</a>
<a href="https://github.com/Ding-Kyoma" title="HooinKyoma">
<img src="https://avatars.githubusercontent.com/u/44542198?v=4" width="42;" alt="HooinKyoma"/>
</a>
<a href="https://github.com/jasnzhuang" title="Jason Zhuang"> <a href="https://github.com/jasnzhuang" title="Jason Zhuang">
<img src="https://avatars.githubusercontent.com/u/16612921?v=4" width="42;" alt="Jason Zhuang"/> <img src="https://avatars.githubusercontent.com/u/16612921?v=4" width="42;" alt="Jason Zhuang"/>
</a> </a>
@@ -229,20 +315,26 @@ REF_LABEL=网站首页
<a href="https://github.com/likeshop-github" title="LikeShop技术社区"> <a href="https://github.com/likeshop-github" title="LikeShop技术社区">
<img src="https://avatars.githubusercontent.com/u/77180968?v=4" width="42;" alt="LikeShop技术社区"/> <img src="https://avatars.githubusercontent.com/u/77180968?v=4" width="42;" alt="LikeShop技术社区"/>
</a> </a>
<a href="https://github.com/LiuYuan-SHU" title="Liuyuan">
<img src="https://avatars.githubusercontent.com/u/96400967?v=4" width="42;" alt="Liuyuan"/>
</a>
<a href="https://github.com/mariuszmichalowski" title="Mariusz Michalowski"> <a href="https://github.com/mariuszmichalowski" title="Mariusz Michalowski">
<img src="https://avatars.githubusercontent.com/u/92091891?v=4" width="42;" alt="Mariusz Michalowski"/> <img src="https://avatars.githubusercontent.com/u/92091891?v=4" width="42;" alt="Mariusz Michalowski"/>
</a> </a>
<a href="https://github.com/malcolmyu" title="Minghao Yu">
<img src="https://avatars.githubusercontent.com/u/3203962?v=4" width="42;" alt="Minghao Yu"/>
</a>
<a href="https://github.com/Mo3et" title="Monet Lee">
<img src="https://avatars.githubusercontent.com/u/34803812?v=4" width="42;" alt="Monet Lee"/>
</a>
<a href="https://github.com/HanaNoryu" title="Noryu"> <a href="https://github.com/HanaNoryu" title="Noryu">
<img src="https://avatars.githubusercontent.com/u/109856546?v=4" width="42;" alt="Noryu"/> <img src="https://avatars.githubusercontent.com/u/109856546?v=4" width="42;" alt="Noryu"/>
</a> </a>
<a href="https://github.com/Perzch" title="Perzch">
<img src="https://avatars.githubusercontent.com/u/67987641?v=4" width="42;" alt="Perzch"/>
</a>
<a href="https://github.com/PipecraftNet" title="Pipecraft"> <a href="https://github.com/PipecraftNet" title="Pipecraft">
<img src="https://avatars.githubusercontent.com/u/88728670?v=4" width="42;" alt="Pipecraft"/> <img src="https://avatars.githubusercontent.com/u/88728670?v=4" width="42;" alt="Pipecraft"/>
</a> </a>
<a href="https://github.com/QDelta" title="QDelta"> <a href="https://github.com/QDelta" title="Jianxing Qin">
<img src="https://avatars.githubusercontent.com/u/60222316?v=4" width="42;" alt="QDelta"/> <img src="https://avatars.githubusercontent.com/u/60222316?v=4" width="42;" alt="Jianxing Qin"/>
</a> </a>
<a href="https://github.com/qinxiongzhou" title="Ryan Zhou"> <a href="https://github.com/qinxiongzhou" title="Ryan Zhou">
<img src="https://avatars.githubusercontent.com/u/33239096?v=4" width="42;" alt="Ryan Zhou"/> <img src="https://avatars.githubusercontent.com/u/33239096?v=4" width="42;" alt="Ryan Zhou"/>
@@ -253,9 +345,15 @@ REF_LABEL=网站首页
<a href="https://github.com/hi-liyan" title="Yan Li"> <a href="https://github.com/hi-liyan" title="Yan Li">
<img src="https://avatars.githubusercontent.com/u/40056492?v=4" width="42;" alt="Yan Li"/> <img src="https://avatars.githubusercontent.com/u/40056492?v=4" width="42;" alt="Yan Li"/>
</a> </a>
<a href="https://github.com/yikuaibro" title="YuGan">
<img src="https://avatars.githubusercontent.com/u/44493045?v=4" width="42;" alt="YuGan"/>
</a>
<a href="https://github.com/y52y" title="Zyj"> <a href="https://github.com/y52y" title="Zyj">
<img src="https://avatars.githubusercontent.com/u/51304324?v=4" width="42;" alt="Zyj"/> <img src="https://avatars.githubusercontent.com/u/51304324?v=4" width="42;" alt="Zyj"/>
</a> </a>
<a href="https://github.com/Lmmmmmm-bb" title="_lmmmmmm">
<img src="https://avatars.githubusercontent.com/u/54026110?v=4" width="42;" alt="_lmmmmmm"/>
</a>
<a href="https://github.com/chyok" title="chyok"> <a href="https://github.com/chyok" title="chyok">
<img src="https://avatars.githubusercontent.com/u/32629225?v=4" width="42;" alt="chyok"/> <img src="https://avatars.githubusercontent.com/u/32629225?v=4" width="42;" alt="chyok"/>
</a> </a>
@@ -265,15 +363,27 @@ REF_LABEL=网站首页
<a href="https://github.com/cool9203" title="cool9203"> <a href="https://github.com/cool9203" title="cool9203">
<img src="https://avatars.githubusercontent.com/u/29609607?v=4" width="42;" alt="cool9203"/> <img src="https://avatars.githubusercontent.com/u/29609607?v=4" width="42;" alt="cool9203"/>
</a> </a>
<a href="https://github.com/fjqz177" title="fjqz177">
<img src="https://avatars.githubusercontent.com/u/83070583?v=4" width="42;" alt="fjqz177"/>
</a>
<a href="https://github.com/gi-b716" title="gi-b716">
<img src="https://avatars.githubusercontent.com/u/78394473?v=4" width="42;" alt="gi-b716"/>
</a>
<a href="https://github.com/godotc" title="godotc"> <a href="https://github.com/godotc" title="godotc">
<img src="https://avatars.githubusercontent.com/u/79260851?v=4" width="42;" alt="godotc"/> <img src="https://avatars.githubusercontent.com/u/79260851?v=4" width="42;" alt="godotc"/>
</a> </a>
<a href="https://github.com/greyhao" title="greyhao"> <a href="https://github.com/greyhao" title="greyhao">
<img src="https://avatars.githubusercontent.com/u/107107440?v=4" width="42;" alt="greyhao"/> <img src="https://avatars.githubusercontent.com/u/107107440?v=4" width="42;" alt="greyhao"/>
</a> </a>
<a href="https://github.com/sunny0826" title="guoxudong">
<img src="https://avatars.githubusercontent.com/u/24563928?v=4" width="42;" alt="guoxudong"/>
</a>
<a href="https://github.com/hua03" title="hua03"> <a href="https://github.com/hua03" title="hua03">
<img src="https://avatars.githubusercontent.com/u/19561959?v=4" width="42;" alt="hua03"/> <img src="https://avatars.githubusercontent.com/u/19561959?v=4" width="42;" alt="hua03"/>
</a> </a>
<a href="https://github.com/yanxuplay" title="hupilan">
<img src="https://avatars.githubusercontent.com/u/69749541?v=4" width="42;" alt="hupilan"/>
</a>
<a href="https://github.com/hweining" title="hweining"> <a href="https://github.com/hweining" title="hweining">
<img src="https://avatars.githubusercontent.com/u/8973985?v=4" width="42;" alt="hweining"/> <img src="https://avatars.githubusercontent.com/u/8973985?v=4" width="42;" alt="hweining"/>
</a> </a>
@@ -298,8 +408,8 @@ REF_LABEL=网站首页
<a href="https://github.com/lykjjj" title="lykjjj"> <a href="https://github.com/lykjjj" title="lykjjj">
<img src="https://avatars.githubusercontent.com/u/58510058?v=4" width="42;" alt="lykjjj"/> <img src="https://avatars.githubusercontent.com/u/58510058?v=4" width="42;" alt="lykjjj"/>
</a> </a>
<a href="https://github.com/mancuoj" title="mancuoj"> <a href="https://github.com/miclon-dev" title="miclon-dev">
<img src="https://avatars.githubusercontent.com/u/45707684?v=4" width="42;" alt="mancuoj"/> <img src="https://avatars.githubusercontent.com/u/111753685?v=4" width="42;" alt="miclon-dev"/>
</a> </a>
<a href="https://github.com/onewesong" title="onewesong"> <a href="https://github.com/onewesong" title="onewesong">
<img src="https://avatars.githubusercontent.com/u/17920822?v=4" width="42;" alt="onewesong"/> <img src="https://avatars.githubusercontent.com/u/17920822?v=4" width="42;" alt="onewesong"/>
@@ -322,6 +432,9 @@ REF_LABEL=网站首页
<a href="https://github.com/lvzhenbo" title="吕振波"> <a href="https://github.com/lvzhenbo" title="吕振波">
<img src="https://avatars.githubusercontent.com/u/32427677?v=4" width="42;" alt="吕振波"/> <img src="https://avatars.githubusercontent.com/u/32427677?v=4" width="42;" alt="吕振波"/>
</a> </a>
<a href="https://github.com/LuckyJie12" title="夜未央">
<img src="https://avatars.githubusercontent.com/u/102901105?v=4" width="42;" alt="夜未央"/>
</a>
<a href="https://github.com/qyl27" title="秋雨落"> <a href="https://github.com/qyl27" title="秋雨落">
<img src="https://avatars.githubusercontent.com/u/53731501?v=4" width="42;" alt="秋雨落"/> <img src="https://avatars.githubusercontent.com/u/53731501?v=4" width="42;" alt="秋雨落"/>
</a> </a>

View File

@@ -53,8 +53,9 @@ Quick Reference
[INI](./docs/ini.md)<!--rehype:style=background: rgb(57 59 60);--> [INI](./docs/ini.md)<!--rehype:style=background: rgb(57 59 60);-->
[JSON](./docs/json.md)<!--rehype:style=background: rgb(57 59 60);--> [JSON](./docs/json.md)<!--rehype:style=background: rgb(57 59 60);-->
[Java](./docs/java.md)<!--rehype:style=background: rgb(211 55 49);&class=contributing&data-info=👆看看还缺点儿什么?--> [Java](./docs/java.md)<!--rehype:style=background: rgb(211 55 49);&class=contributing&data-info=👆看看还缺点儿什么?-->
[Julia](./docs/julia.md)<!--rehype:style=background: rgb(211 55 49);&class=contributing&data-info=👆看看还缺点儿什么?--> [Julia](./docs/julia.md)<!--rehype:style=background: rgb(26 188 156);&class=contributing&data-info=👆看看还缺点儿什么?-->
[Kotlin](./docs/kotlin.md)<!--rehype:style=background: rgb(211 55 49);&class=contributing&data-info=👆看看还缺点儿什么?--> [Kotlin](./docs/kotlin.md)<!--rehype:style=background: rgb(211 55 49);&class=contributing&data-info=👆看看还缺点儿什么?-->
[Kubernetes](./docs/kubernetes.md)<!--rehype:style=background: rgb(51 113 227);&class=contributing&data-info=👆看看还缺点儿什么?-->
[LaTeX](./docs/latex.md)<!--rehype:style=background: rgb(0 128 128);&class=contributing--> [LaTeX](./docs/latex.md)<!--rehype:style=background: rgb(0 128 128);&class=contributing-->
[Laravel 8](./docs/laravel.md)<!--rehype:style=background: rgb(249 50 44);&class=contributing tag&data-lang=PHP--> [Laravel 8](./docs/laravel.md)<!--rehype:style=background: rgb(249 50 44);&class=contributing tag&data-lang=PHP-->
[Markdown](./docs/markdown.md)<!--rehype:style=background: rgb(103 61 156);--> [Markdown](./docs/markdown.md)<!--rehype:style=background: rgb(103 61 156);-->
@@ -147,6 +148,7 @@ Quick Reference
[Netcat](./docs/netcat.md)<!--rehype:style=background: rgb(4 92 135);--> [Netcat](./docs/netcat.md)<!--rehype:style=background: rgb(4 92 135);-->
[Sed](./docs/sed.md)<!--rehype:style=background: rgb(16 185 129);--> [Sed](./docs/sed.md)<!--rehype:style=background: rgb(16 185 129);-->
[OpenSSL](./docs/openssl.md)<!--rehype:style=background: rgb(114 20 18);--> [OpenSSL](./docs/openssl.md)<!--rehype:style=background: rgb(114 20 18);-->
[ps](./docs/ps.md)<!--rehype:style=background: rgb(99 99 99);-->
[Systemd](./docs/systemd.md)<!--rehype:style=background: rgb(16 185 129);--> [Systemd](./docs/systemd.md)<!--rehype:style=background: rgb(16 185 129);-->
[SSH](./docs/ssh.md)<!--rehype:style=background: rgb(99 99 99);--> [SSH](./docs/ssh.md)<!--rehype:style=background: rgb(99 99 99);-->
[Screen](./docs/screen.md)<!--rehype:style=background: rgb(99 99 99);--> [Screen](./docs/screen.md)<!--rehype:style=background: rgb(99 99 99);-->
@@ -234,18 +236,27 @@ Quick Reference
<a href="https://github.com/expoli" title="expoli"> <a href="https://github.com/expoli" title="expoli">
<img src="https://avatars.githubusercontent.com/u/31023767?v=4" width="42;" alt="expoli"/> <img src="https://avatars.githubusercontent.com/u/31023767?v=4" width="42;" alt="expoli"/>
</a> </a>
<a href="https://github.com/LiuYuan-SHU" title="Liuyuan">
<img src="https://avatars.githubusercontent.com/u/96400967?v=4" width="42;" alt="Liuyuan"/>
</a>
<a href="https://github.com/LufsX" title="LufsX">
<img src="https://avatars.githubusercontent.com/u/33221883?v=4" width="42;" alt="LufsX"/>
</a>
<a href="https://github.com/heStudio-Network" title="醉、倾城"> <a href="https://github.com/heStudio-Network" title="醉、倾城">
<img src="https://avatars.githubusercontent.com/u/119711513?v=4" width="42;" alt="醉、倾城"/> <img src="https://avatars.githubusercontent.com/u/119711513?v=4" width="42;" alt="醉、倾城"/>
</a> </a>
<a href="https://github.com/sjh42" title="42:p"> <a href="https://github.com/sjh42" title="42:p">
<img src="https://avatars.githubusercontent.com/u/34529275?v=4" width="42;" alt="42:p"/> <img src="https://avatars.githubusercontent.com/u/34529275?v=4" width="42;" alt="42:p"/>
</a> </a>
<a href="https://github.com/LufsX" title="LufsX"> <a href="https://github.com/XYZscratcher" title="XYZ">
<img src="https://avatars.githubusercontent.com/u/33221883?v=4" width="42;" alt="LufsX"/> <img src="https://avatars.githubusercontent.com/u/108533817?v=4" width="42;" alt="XYZ"/>
</a> </a>
<a href="https://github.com/1834423612" title="kjch"> <a href="https://github.com/1834423612" title="kjch">
<img src="https://avatars.githubusercontent.com/u/49981661?v=4" width="42;" alt="kjch"/> <img src="https://avatars.githubusercontent.com/u/49981661?v=4" width="42;" alt="kjch"/>
</a> </a>
<a href="https://github.com/mancuoj" title="mancuoj">
<img src="https://avatars.githubusercontent.com/u/45707684?v=4" width="42;" alt="mancuoj"/>
</a>
<a href="https://github.com/pangxiaoli" title="pangxiaoli"> <a href="https://github.com/pangxiaoli" title="pangxiaoli">
<img src="https://avatars.githubusercontent.com/u/54620953?v=4" width="42;" alt="pangxiaoli"/> <img src="https://avatars.githubusercontent.com/u/54620953?v=4" width="42;" alt="pangxiaoli"/>
</a> </a>
@@ -261,11 +272,14 @@ Quick Reference
<a href="https://github.com/catcto" title="喵仙人"> <a href="https://github.com/catcto" title="喵仙人">
<img src="https://avatars.githubusercontent.com/u/5467932?v=4" width="42;" alt="喵仙人"/> <img src="https://avatars.githubusercontent.com/u/5467932?v=4" width="42;" alt="喵仙人"/>
</a> </a>
<a href="https://github.com/Country-If" title="Maylon">
<img src="https://avatars.githubusercontent.com/u/62837275?v=4" width="42;" alt="Maylon"/>
</a>
<a href="https://github.com/13812700839" title="花殇"> <a href="https://github.com/13812700839" title="花殇">
<img src="https://avatars.githubusercontent.com/u/58072506?v=4" width="42;" alt="花殇"/> <img src="https://avatars.githubusercontent.com/u/58072506?v=4" width="42;" alt="花殇"/>
</a> </a>
<a href="https://github.com/Smartdousha" title="dousha"> <a href="https://github.com/dousha0w0" title="dousha0w0">
<img src="https://avatars.githubusercontent.com/u/52566311?v=4" width="42;" alt="dousha"/> <img src="https://avatars.githubusercontent.com/u/52566311?v=4" width="42;" alt="dousha0w0"/>
</a> </a>
<a href="https://github.com/Brid9e" title="Brid9e"> <a href="https://github.com/Brid9e" title="Brid9e">
<img src="https://avatars.githubusercontent.com/u/85558909?v=4" width="42;" alt="Brid9e"/> <img src="https://avatars.githubusercontent.com/u/85558909?v=4" width="42;" alt="Brid9e"/>
@@ -279,12 +293,21 @@ Quick Reference
<a href="https://github.com/DaiNing810" title="DaiN"> <a href="https://github.com/DaiNing810" title="DaiN">
<img src="https://avatars.githubusercontent.com/u/94962339?v=4" width="42;" alt="DaiN"/> <img src="https://avatars.githubusercontent.com/u/94962339?v=4" width="42;" alt="DaiN"/>
</a> </a>
<a href="https://github.com/Damao2250" title="Damao">
<img src="https://avatars.githubusercontent.com/u/19251992?v=4" width="42;" alt="Damao"/>
</a>
<a href="https://github.com/demigodliu" title="DemigodLiu"> <a href="https://github.com/demigodliu" title="DemigodLiu">
<img src="https://avatars.githubusercontent.com/u/30372735?v=4" width="42;" alt="DemigodLiu"/> <img src="https://avatars.githubusercontent.com/u/30372735?v=4" width="42;" alt="DemigodLiu"/>
</a> </a>
<a href="https://github.com/eeeeeio" title="EEEEE"> <a href="https://github.com/eeeeeio" title="EEEEE">
<img src="https://avatars.githubusercontent.com/u/20723545?v=4" width="42;" alt="EEEEE"/> <img src="https://avatars.githubusercontent.com/u/20723545?v=4" width="42;" alt="EEEEE"/>
</a> </a>
<a href="https://github.com/gongyeheyu" title="GONGYE Heyu">
<img src="https://avatars.githubusercontent.com/u/85177605?v=4" width="42;" alt="GONGYE Heyu"/>
</a>
<a href="https://github.com/Ding-Kyoma" title="HooinKyoma">
<img src="https://avatars.githubusercontent.com/u/44542198?v=4" width="42;" alt="HooinKyoma"/>
</a>
<a href="https://github.com/jasnzhuang" title="Jason Zhuang"> <a href="https://github.com/jasnzhuang" title="Jason Zhuang">
<img src="https://avatars.githubusercontent.com/u/16612921?v=4" width="42;" alt="Jason Zhuang"/> <img src="https://avatars.githubusercontent.com/u/16612921?v=4" width="42;" alt="Jason Zhuang"/>
</a> </a>
@@ -300,20 +323,26 @@ Quick Reference
<a href="https://github.com/likeshop-github" title="LikeShop技术社区"> <a href="https://github.com/likeshop-github" title="LikeShop技术社区">
<img src="https://avatars.githubusercontent.com/u/77180968?v=4" width="42;" alt="LikeShop技术社区"/> <img src="https://avatars.githubusercontent.com/u/77180968?v=4" width="42;" alt="LikeShop技术社区"/>
</a> </a>
<a href="https://github.com/LiuYuan-SHU" title="Liuyuan">
<img src="https://avatars.githubusercontent.com/u/96400967?v=4" width="42;" alt="Liuyuan"/>
</a>
<a href="https://github.com/mariuszmichalowski" title="Mariusz Michalowski"> <a href="https://github.com/mariuszmichalowski" title="Mariusz Michalowski">
<img src="https://avatars.githubusercontent.com/u/92091891?v=4" width="42;" alt="Mariusz Michalowski"/> <img src="https://avatars.githubusercontent.com/u/92091891?v=4" width="42;" alt="Mariusz Michalowski"/>
</a> </a>
<a href="https://github.com/malcolmyu" title="Minghao Yu">
<img src="https://avatars.githubusercontent.com/u/3203962?v=4" width="42;" alt="Minghao Yu"/>
</a>
<a href="https://github.com/Mo3et" title="Monet Lee">
<img src="https://avatars.githubusercontent.com/u/34803812?v=4" width="42;" alt="Monet Lee"/>
</a>
<a href="https://github.com/HanaNoryu" title="Noryu"> <a href="https://github.com/HanaNoryu" title="Noryu">
<img src="https://avatars.githubusercontent.com/u/109856546?v=4" width="42;" alt="Noryu"/> <img src="https://avatars.githubusercontent.com/u/109856546?v=4" width="42;" alt="Noryu"/>
</a> </a>
<a href="https://github.com/Perzch" title="Perzch">
<img src="https://avatars.githubusercontent.com/u/67987641?v=4" width="42;" alt="Perzch"/>
</a>
<a href="https://github.com/PipecraftNet" title="Pipecraft"> <a href="https://github.com/PipecraftNet" title="Pipecraft">
<img src="https://avatars.githubusercontent.com/u/88728670?v=4" width="42;" alt="Pipecraft"/> <img src="https://avatars.githubusercontent.com/u/88728670?v=4" width="42;" alt="Pipecraft"/>
</a> </a>
<a href="https://github.com/QDelta" title="QDelta"> <a href="https://github.com/QDelta" title="Jianxing Qin">
<img src="https://avatars.githubusercontent.com/u/60222316?v=4" width="42;" alt="QDelta"/> <img src="https://avatars.githubusercontent.com/u/60222316?v=4" width="42;" alt="Jianxing Qin"/>
</a> </a>
<a href="https://github.com/qinxiongzhou" title="Ryan Zhou"> <a href="https://github.com/qinxiongzhou" title="Ryan Zhou">
<img src="https://avatars.githubusercontent.com/u/33239096?v=4" width="42;" alt="Ryan Zhou"/> <img src="https://avatars.githubusercontent.com/u/33239096?v=4" width="42;" alt="Ryan Zhou"/>
@@ -324,9 +353,15 @@ Quick Reference
<a href="https://github.com/hi-liyan" title="Yan Li"> <a href="https://github.com/hi-liyan" title="Yan Li">
<img src="https://avatars.githubusercontent.com/u/40056492?v=4" width="42;" alt="Yan Li"/> <img src="https://avatars.githubusercontent.com/u/40056492?v=4" width="42;" alt="Yan Li"/>
</a> </a>
<a href="https://github.com/yikuaibro" title="YuGan">
<img src="https://avatars.githubusercontent.com/u/44493045?v=4" width="42;" alt="YuGan"/>
</a>
<a href="https://github.com/y52y" title="Zyj"> <a href="https://github.com/y52y" title="Zyj">
<img src="https://avatars.githubusercontent.com/u/51304324?v=4" width="42;" alt="Zyj"/> <img src="https://avatars.githubusercontent.com/u/51304324?v=4" width="42;" alt="Zyj"/>
</a> </a>
<a href="https://github.com/Lmmmmmm-bb" title="_lmmmmmm">
<img src="https://avatars.githubusercontent.com/u/54026110?v=4" width="42;" alt="_lmmmmmm"/>
</a>
<a href="https://github.com/chyok" title="chyok"> <a href="https://github.com/chyok" title="chyok">
<img src="https://avatars.githubusercontent.com/u/32629225?v=4" width="42;" alt="chyok"/> <img src="https://avatars.githubusercontent.com/u/32629225?v=4" width="42;" alt="chyok"/>
</a> </a>
@@ -336,15 +371,27 @@ Quick Reference
<a href="https://github.com/cool9203" title="cool9203"> <a href="https://github.com/cool9203" title="cool9203">
<img src="https://avatars.githubusercontent.com/u/29609607?v=4" width="42;" alt="cool9203"/> <img src="https://avatars.githubusercontent.com/u/29609607?v=4" width="42;" alt="cool9203"/>
</a> </a>
<a href="https://github.com/fjqz177" title="fjqz177">
<img src="https://avatars.githubusercontent.com/u/83070583?v=4" width="42;" alt="fjqz177"/>
</a>
<a href="https://github.com/gi-b716" title="gi-b716">
<img src="https://avatars.githubusercontent.com/u/78394473?v=4" width="42;" alt="gi-b716"/>
</a>
<a href="https://github.com/godotc" title="godotc"> <a href="https://github.com/godotc" title="godotc">
<img src="https://avatars.githubusercontent.com/u/79260851?v=4" width="42;" alt="godotc"/> <img src="https://avatars.githubusercontent.com/u/79260851?v=4" width="42;" alt="godotc"/>
</a> </a>
<a href="https://github.com/greyhao" title="greyhao"> <a href="https://github.com/greyhao" title="greyhao">
<img src="https://avatars.githubusercontent.com/u/107107440?v=4" width="42;" alt="greyhao"/> <img src="https://avatars.githubusercontent.com/u/107107440?v=4" width="42;" alt="greyhao"/>
</a> </a>
<a href="https://github.com/sunny0826" title="guoxudong">
<img src="https://avatars.githubusercontent.com/u/24563928?v=4" width="42;" alt="guoxudong"/>
</a>
<a href="https://github.com/hua03" title="hua03"> <a href="https://github.com/hua03" title="hua03">
<img src="https://avatars.githubusercontent.com/u/19561959?v=4" width="42;" alt="hua03"/> <img src="https://avatars.githubusercontent.com/u/19561959?v=4" width="42;" alt="hua03"/>
</a> </a>
<a href="https://github.com/yanxuplay" title="hupilan">
<img src="https://avatars.githubusercontent.com/u/69749541?v=4" width="42;" alt="hupilan"/>
</a>
<a href="https://github.com/hweining" title="hweining"> <a href="https://github.com/hweining" title="hweining">
<img src="https://avatars.githubusercontent.com/u/8973985?v=4" width="42;" alt="hweining"/> <img src="https://avatars.githubusercontent.com/u/8973985?v=4" width="42;" alt="hweining"/>
</a> </a>
@@ -369,8 +416,8 @@ Quick Reference
<a href="https://github.com/lykjjj" title="lykjjj"> <a href="https://github.com/lykjjj" title="lykjjj">
<img src="https://avatars.githubusercontent.com/u/58510058?v=4" width="42;" alt="lykjjj"/> <img src="https://avatars.githubusercontent.com/u/58510058?v=4" width="42;" alt="lykjjj"/>
</a> </a>
<a href="https://github.com/mancuoj" title="mancuoj"> <a href="https://github.com/miclon-dev" title="miclon-dev">
<img src="https://avatars.githubusercontent.com/u/45707684?v=4" width="42;" alt="mancuoj"/> <img src="https://avatars.githubusercontent.com/u/111753685?v=4" width="42;" alt="miclon-dev"/>
</a> </a>
<a href="https://github.com/onewesong" title="onewesong"> <a href="https://github.com/onewesong" title="onewesong">
<img src="https://avatars.githubusercontent.com/u/17920822?v=4" width="42;" alt="onewesong"/> <img src="https://avatars.githubusercontent.com/u/17920822?v=4" width="42;" alt="onewesong"/>
@@ -393,6 +440,9 @@ Quick Reference
<a href="https://github.com/lvzhenbo" title="吕振波"> <a href="https://github.com/lvzhenbo" title="吕振波">
<img src="https://avatars.githubusercontent.com/u/32427677?v=4" width="42;" alt="吕振波"/> <img src="https://avatars.githubusercontent.com/u/32427677?v=4" width="42;" alt="吕振波"/>
</a> </a>
<a href="https://github.com/LuckyJie12" title="夜未央">
<img src="https://avatars.githubusercontent.com/u/102901105?v=4" width="42;" alt="夜未央"/>
</a>
<a href="https://github.com/qyl27" title="秋雨落"> <a href="https://github.com/qyl27" title="秋雨落">
<img src="https://avatars.githubusercontent.com/u/53731501?v=4" width="42;" alt="秋雨落"/> <img src="https://avatars.githubusercontent.com/u/53731501?v=4" width="42;" alt="秋雨落"/>
</a> </a>
@@ -415,7 +465,7 @@ Quick Reference
[laoleng.vip](http://bbs.laoleng.vip/reference/)<!--rehype:target=_blank--> [laoleng.vip](http://bbs.laoleng.vip/reference/)<!--rehype:target=_blank-->
[liujiapeng.com](https://www.liujiapeng.com/)<!--rehype:target=_blank--> [liujiapeng.com](https://www.liujiapeng.com/)<!--rehype:target=_blank-->
[dbyun.net](https://www.dbyun.net/reference/index.html)<!--rehype:target=_blank--> [dbyun.net](https://www.dbyun.net/reference/index.html)<!--rehype:target=_blank-->
[dc6.fun](https://dc6.fun/reference/)<!--rehype:target=_blank--> [dc6.fun](http://reference.dc6.fun)<!--rehype:target=_blank-->
[if010.com](https://quickref.if010.com/)<!--rehype:target=_blank--> [if010.com](https://quickref.if010.com/)<!--rehype:target=_blank-->
[pipecraft.net](https://quickref.pipecraft.net/)<!--rehype:target=_blank&class=contributing&data-info=👆需要梯子--> [pipecraft.net](https://quickref.pipecraft.net/)<!--rehype:target=_blank&class=contributing&data-info=👆需要梯子-->
[isteed.cc](https://ref.isteed.cc/)<!--rehype:target=_blank--> [isteed.cc](https://ref.isteed.cc/)<!--rehype:target=_blank-->
@@ -423,19 +473,25 @@ Quick Reference
[linzhe.top](https://linzhe.top/)<!--rehype:target=_blank--> [linzhe.top](https://linzhe.top/)<!--rehype:target=_blank-->
[xushanxiang.com](https://xushanxiang.com/ref/)<!--rehype:target=_blank--> [xushanxiang.com](https://xushanxiang.com/ref/)<!--rehype:target=_blank-->
[winnerzr01.github.io](https://winnerzr01.github.io/Quick-Reference/index.html)<!--rehype:target=_blank&class=contributing&data-info=👆需要梯子--> [winnerzr01.github.io](https://winnerzr01.github.io/Quick-Reference/index.html)<!--rehype:target=_blank&class=contributing&data-info=👆需要梯子-->
[isteed.cc](https://ref.isteed.cc/)<!--rehype:target=_blank--> [hestudio.org](https://quickref.hestudio.org)<!--rehype:target=_blank&class=contributing&data-info=👆整点自动同步-->
[quickref.hestudio.org](https://quickref.hestudio.org)<!--rehype:target=_blank&class=contributing&data-info=👆整点自动同步-->
[surcode.cn](https://ref.surcode.cn)<!--rehype:target=_blank--> [surcode.cn](https://ref.surcode.cn)<!--rehype:target=_blank-->
[cms.im](https://quickref.cms.im/)<!--rehype:target=_blank--> [cms.im](https://quickref.cms.im/)<!--rehype:target=_blank-->
[nuomiphp.com](https://reference.tool.nuomiphp.com/)<!--rehype:target=_blank--> [nuomiphp.com](https://reference.tool.nuomiphp.com/)<!--rehype:target=_blank-->
[eryajf.net](https://ref.eryajf.net/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步--> [eryajf.net](https://ref.eryajf.net/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
[kjchmc.cn](https://ref.kjchmc.cn/)<!--rehype:target=_blank&class=contributing&data-info=👆实时同步,多线路--> [kjchmc.cn](https://ref.kjchmc.cn/)<!--rehype:target=_blank&class=contributing&data-info=👆实时同步,多线路-->
[likeadmin.cn](https://www.likeadmin.cn/quickref/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步--> [likeadmin.cn](https://www.likeadmin.cn/quickref/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
[ref.qiubit.cc](http://ref.qiubit.cc)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步--> [qiubit.cc](http://ref.qiubit.cc)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
[aoh.cc](https://aoh.cc/)<!--rehype:target=_blank--> [aoh.cc](https://aoh.cc/)<!--rehype:target=_blank-->
[reference.code05.com](https://reference.code05.com/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
[kyoma.top](https://reference.kyoma.top/)<!--rehype:target=_blank&class=contributing&data-info=👆实时同步-->
[quickreference.pages.dev](https://quickreference.pages.dev/)<!--rehype:target=_blank-->
[code05.com](https://reference.code05.com/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
[xhfun.cn](https://ref.xhfun.cn/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
[caitou.org](https://quickref.caitou.org/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
[guoxudong.io](https://reference.guoxudong.io/)<!--rehype:target=_blank&class=contributing&data-info=👆每天自动同步-->
<!--rehype:class=home-card home-links--> <!--rehype:class=home-card home-links-->
如果你有资源,可以很方便部署 web 版,这非常简单,只需要克隆 [gh-pages](https://github.com/jaywcjlove/reference/tree/gh-pages) 分支代码到你的静态服务就可以了,还可以使用 [docker](https://hub.docker.com/r/wcjiang/reference) 快捷部署 web 版。 如果你有资源,可以很方便[部署 web 版](https://github.com/jaywcjlove/reference/issues/102#issue-1451649637),这非常简单,只需要克隆 [gh-pages](https://github.com/jaywcjlove/reference/tree/gh-pages) 分支代码到你的静态服务就可以了,还可以使用 [docker](https://hub.docker.com/r/wcjiang/reference) 快捷部署 web 版。
<!--rehype:ignore:start--> <!--rehype:ignore:start-->
## License ## License

5
assets/kubernetes.svg Normal file
View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" height="1em" width="1em">
<path d="m10.013 13.738-2.254.387a4.475 4.475 0 0 0 1.753 2.231l.865-2.095a.27.27 0 0 0 .022-.228c-.022-.18-.204-.295-.386-.295zm.865-2.914c.205 0 .387-.159.387-.364l.114-2.277-.456.091a4.516 4.516 0 0 0-2.118 1.162l1.89 1.343c.069.022.115.045.183.045zm-1.002 1.48a.366.366 0 0 0-.045-.524l-1.685-1.503a4.797 4.797 0 0 0-.661 2.778l2.209-.637c.091-.023.137-.046.182-.114zm1.457.797.616.296.614-.296.16-.661-.433-.546h-.683l-.433.546zm1.344-2.436c.114.159.341.182.5.091l1.867-1.32a4.286 4.286 0 0 0-2.573-1.23l.137 2.3a.215.215 0 0 0 .069.159z"/>
<path d="m21.944 14.103-1.73-7.446c-.113-.364-.387-.66-.729-.842L12.541 2.49c-.182-.091-.387-.114-.569-.114s-.387 0-.569.045L4.457 5.769a1.22 1.22 0 0 0-.683.842l-1.708 7.492c-.068.387.023.774.25 1.093l4.805 5.943c.273.273.66.456 1.047.479h7.651c.41.045.797-.137 1.048-.479l4.805-5.943c.227-.319.318-.706.272-1.093zm-2.845.501c-.046 0-.068 0-.114-.023-.022-.023-.022-.023-.045-.023-.046 0-.068-.022-.092-.022-.091-.023-.159-.068-.25-.114a.32.32 0 0 1-.137-.045h-.022a3.91 3.91 0 0 0-.729-.205h-.022a.26.26 0 0 0-.182.068s0 .023-.023.023l-.183-.024a5.628 5.628 0 0 1-2.46 3.097l.068.182s-.022 0-.022.022a.264.264 0 0 0-.022.228c.091.228.205.455.364.66v.045a.396.396 0 0 1 .091.114.81.81 0 0 1 .159.228c.023.022.046.045.046.068 0 0 .022 0 .022.022a.582.582 0 0 1 .023.342.38.38 0 0 1-.205.25c-.068.022-.114.045-.183.045a.511.511 0 0 1-.433-.273c-.022 0-.022-.022-.022-.022-.022-.023-.022-.045-.046-.068-.045-.068-.068-.159-.091-.25l-.046-.137v-.022a3.816 3.816 0 0 0-.296-.706.353.353 0 0 0-.182-.137c0-.023 0-.023-.023-.023l-.091-.159c-.228.068-.479.159-.729.205-.41.114-.82.159-1.229.159a5.368 5.368 0 0 1-1.981-.364l-.091.182c0 .023 0 .023-.023.023a.35.35 0 0 0-.182.137c-.114.228-.228.455-.296.706l-.045.137c-.023.091-.068.159-.091.25-.022.023-.045.045-.045.068-.023 0-.023.022-.023.022a.508.508 0 0 1-.433.273.434.434 0 0 1-.159-.045.469.469 0 0 1-.182-.615c.023 0 .023-.023.023-.023.022-.023.022-.045.045-.068.068-.091.114-.182.159-.228s.068-.068.091-.114v-.023a3.73 3.73 0 0 0 .364-.66.268.268 0 0 0-.023-.228s-.022 0-.022-.022l.114-.16a3.578 3.578 0 0 1-.615-.41 5.493 5.493 0 0 1-1.867-2.664l-.205.022s0-.022-.023-.022a.256.256 0 0 0-.182-.068h-.022a4.015 4.015 0 0 0-.751.205h-.024c-.045 0-.091.023-.137.046-.068.022-.159.068-.25.091-.022 0-.091-.022-.091 0 0 .023 0 .023-.023.023-.045.023-.068.023-.114.023a.424.424 0 0 1-.456-.319.445.445 0 0 1 .364-.524c.023-.023.023-.023.046-.023.045 0 .068-.022.091-.022.091 0 .182-.023.273-.023.045-.022.091-.022.137-.022a4.2 4.2 0 0 0 .774-.137c.068-.046.137-.091.16-.16 0 0 .022 0 .022-.022l.182-.046c-.205-1.298.091-2.618.797-3.734.022-.045.045-.068.068-.114l-.131-.132a.106.106 0 0 1-.004.019v-.023l.004.004c.01-.065-.031-.145-.072-.186-.182-.182-.41-.319-.638-.455l-.136-.069a2.587 2.587 0 0 1-.251-.136c-.022 0-.068-.045-.068-.045s0-.023-.022-.023a.49.49 0 0 1-.092-.639c.068-.114.182-.159.319-.159a.54.54 0 0 1 .319.114l.023.023c.022.022.045.022.068.045.068.069.114.137.182.205.023.022.068.045.091.091.159.182.364.364.569.524.045.022.091.045.137.045.045 0 .068-.023.091-.023h.023l.137.091a5.426 5.426 0 0 1 2.801-1.594c.273-.046.523-.091.774-.114l.023-.182v-.045c.068-.045.091-.114.114-.182 0-.273 0-.524-.045-.774v-.023c0-.045 0-.091-.023-.137a1.129 1.129 0 0 1-.045-.273v-.113c0-.114.045-.228.137-.319.114-.114.25-.182.387-.159a.45.45 0 0 1 .387.478v.137c-.023.091-.023.182-.045.273 0 .045-.023.091-.023.136v.023c-.048.273-.048.524-.048.774.023.068.045.136.114.182v-.023l.023.182a5.84 5.84 0 0 1 2.96 1.184c.183.182.387.364.569.546l.183-.114h.022c.022.023.068.023.091.023.046 0 .091-.023.137-.045.205-.137.41-.319.569-.501.022-.023.068-.046.091-.091.046-.068.114-.137.183-.205.022 0 .045-.022.068-.045l.022-.023a.546.546 0 0 1 .318-.114c.114 0 .251.068.319.16.159.205.113.478-.091.637 0 .023.022.023 0 .046-.023.022-.046.022-.068.045-.092.045-.16.091-.251.137l-.137.068a4.104 4.104 0 0 0-.638.455c-.045.046-.068.137-.068.205v.023l-.136.137c.364.569.638 1.207.797 1.867.137.66.182 1.343.091 2.003l.182.046a.278.278 0 0 0 .16.159c.25.068.523.114.773.137h.023a.297.297 0 0 0 .137.022c.091 0 .182 0 .272.023.046 0 .092 0 .092.023 0 .022.022.022.045.022a.537.537 0 0 1 .41.479.49.49 0 0 1-.453.32z"/>
<path d="M12.085 14.718a.352.352 0 0 0-.455.091l-1.116 2.027c.456.136.957.228 1.435.228.341 0 .66-.045.979-.114.159-.045.296-.068.433-.091l-1.093-1.981c-.069-.069-.115-.115-.183-.16zm3.644-4.441-1.708 1.548a.36.36 0 0 0-.091.16c-.046.205.068.41.273.455l2.163.615a4.375 4.375 0 0 0-.092-1.435 4.63 4.63 0 0 0-.545-1.343zm-2.073 3.484a.371.371 0 0 0-.205.433l.889 2.141a4.366 4.366 0 0 0 1.366-1.366c.182-.25.318-.547.433-.865l-2.277-.387a.634.634 0 0 0-.206.044z"/>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -1,7 +1,7 @@
Android ADB 备忘清单 Android Debug Bridge 备忘清单
=== ===
[ADB](https://developer.android.com/studio/command-line/adb.html)Android Debug Bridge包含在 Google 的 Android SDK 中,可用于从计算机控制您的 Android 设备。以下是您可以与 [ADB](https://developer.android.com/studio/command-line/adb.html) 一起使用的一些最常见的命令及其用法 [ADB](https://developer.android.com/studio/command-line/adb.html)Android Debug Bridge Google 的 Android SDK 中的一个命令行工具,可让您的计算机控制 Android 设备执行各种设备操作。以下是您可以与 [ADB](https://developer.android.com/studio/command-line/adb.html) 一起使用的一些最常见的命令及其用法
入门 入门
---- ----
@@ -11,15 +11,18 @@ Android ADB 备忘清单
:-- | -- :-- | --
:-- | -- :-- | --
`adb devices` | 列出连接的设备 `adb devices` | 列出连接的设备
`adb devices -l` | 列出连接的设备和种类 `adb devices -l` | 列出连接的设备和种类
`adb connect [IP:PORT]` | 连接到指定 IP 和端口的设备
`adb disconnect [IP:PORT]` | 断开指定 IP 和端口的设备连接,若未指定,则断开所有连接
`adb root` | 以 `root` 权限重新启动 `adbd` `adb root` | 以 `root` 权限重新启动 `adbd`
`adb start-server` | 启动 `adb` 服务 `adb start-server` | 启动 `adb` 服务
`adb kill-server` | 杀死 `adb` 服务器 `adb kill-server` | 停止 `adb` 服务器
`adb remount` | 重新挂载具有读/写访问权限的文件系统 `adb remount` | 重新挂载具有读/写访问权限的文件系统
`adb reboot` | 重启设备 `adb reboot` | 重启设备
`adb reboot bootloader` | 将设备重新启动到快速启动 `adb reboot bootloader` | 将设备重启到 fastboot 模式
`adb disable-verity` | 将设备重新启动到快速启动 `adb reboot recovery` | 将设备重启到恢复模式
`adb disable-verity` | 禁用设备的 dm-verity 安全特性
<!--rehype:className=left-align code-nowrap--> <!--rehype:className=left-align code-nowrap-->
--- ---
@@ -45,12 +48,12 @@ $ adb -s somedevice-1234 root
:-- | -- :-- | --
:-- | -- :-- | --
`adb logcat` | 开始将日志消息打印到标准输出 `adb logcat` | 将日志消息打印到标准输出
`adb logcat -g` | 显示当前日志缓冲区大小 `adb logcat -g` | 显示当前日志缓冲区大小
`adb logcat -G <size>` | 设置缓冲区大小K 或 M `adb logcat -G <size>` | 设置缓冲区大小K 或 M
`adb logcat -c` | 清除日志缓冲区 `adb logcat -c` | 清除日志缓冲区
`adb logcat *:V` | 启用所有日志消息(详细) `adb logcat *:V` | 启用所有日志消息(详细)
`adb logcat -f <filename>` | 转储到指定文件 `adb logcat -f <filename>` | 将日志转储到指定文件
<!--rehype:className=left-align code-nowrap--> <!--rehype:className=left-align code-nowrap-->
#### 示例 #### 示例
@@ -62,16 +65,16 @@ $ adb logcat *:V > output.log
#### 过滤日志输出 #### 过滤日志输出
- `V` 详细(最低优先级) - `V` 详细的信息(最低优先级)
- `D` 调试 - `D` 调试信息
- `I` 信息 - `I` 普通信息
- `W` 警告 - `W` 警告信息
- `E` 错误 - `E` 错误信息
- `F` 严重错误 - `F` 致命错误信息
- `S` 静默(最高优先级) - `S` 静默(最高优先级)
<!--rehype:className=cols-2 shortcuts style-none--> <!--rehype:className=cols-2 shortcuts style-none-->
过滤器表达式显示优先级不低于 `警告` 的所有标记的所有日志消息: 例如,要显示优先级不低于 `警告` 的所有标记的所有日志消息,可以使用以下命令
```bash ```bash
$ adb logcat *:W $ adb logcat *:W
@@ -81,8 +84,8 @@ $ adb logcat *:W
:-- | -- :-- | --
:-- | -- :-- | --
`adb push <local> <remote>` | 将本地复制到远程设备 `adb push <local> <remote>` | 将本地文件复制到远程设备
`adb pull <remote> <local>` | 将远程设备从设备复制到本地 `adb pull <remote> <local>` | 将远程设备文件复制到本地
<!--rehype:className=left-align code-nowrap--> <!--rehype:className=left-align code-nowrap-->
#### 示例 #### 示例
@@ -97,22 +100,22 @@ $ adb pull /sdcard/test.txt pulledTest.txt
:-- | -- :-- | --
:-- | -- :-- | --
`adb shell <command>` | 在设备上运行指定的命令(大多数 unix 命令在这里工作) `adb shell <command>` | 在设备上运行指定的命令(大多数 Unix 命令在这里工作)
`adb shell wm size` | 显示当前屏幕分辨率 `adb shell wm size` | 显示当前屏幕分辨率
`adb shell wm size WxH` | 将分辨率设置为 WxH `adb shell wm size WxH` | 将分辨率设置为 WxH
`adb shell pm list packages` | 列出所有已安装的包 `adb shell pm list packages` | 列出所有已安装的应用
`adb shell pm list packages -3` | 列出所有已安装的 3rd 方 `adb shell pm list packages -3` | 列出所有已安装的第三方的应用
`adb shell monkey -p app.package.name` | 启动指定包 `adb shell monkey -p app.package.name` | 启动指定包名的应用程序
<!--rehype:className=style-list-arrow--> <!--rehype:className=style-list-arrow-->
### 包安装 ### 包安装
:-- | -- :-- | --
:-- | -- :-- | --
`adb shell install <apk>` | 安装应用程序 `adb shell install <apk>` | 安装应用程序
`adb shell install <path>` | 手机路径安装应用 `adb shell install <path>` | 手机路径安装应用
`adb shell install -r <path>` | 手机路径安装应用 `adb shell install -r <path>` | 手机路径安装应用(允许覆盖安装)
`adb shell uninstall <name>` | 删除应用程序 `adb shell uninstall <name>` | 卸载应用程序
<!--rehype:className=left-align code-nowrap--> <!--rehype:className=left-align code-nowrap-->
### Paths ### Paths
@@ -121,10 +124,10 @@ $ adb pull /sdcard/test.txt pulledTest.txt
:-- | -- :-- | --
:-- | -- :-- | --
`/data/data/<package>/databases` | 应用程序数据库 `/data/data/<package>/databases` | 应用程序数据库
`/data/data/<package>/shared_prefs/` | 共享偏好 `/data/data/<package>/shared_prefs/` | 共享偏好设置
`/data/app` | 用户安装的apk `/data/app` | 用户安装的 APK
`/system/app` | 预装的 APK 文件 `/system/app` | 系统预装的 APK 文件
`/mmt/asec` | 加密的应用程序\|App2SD `/mmt/asec` | 加密的应用程序App2SD
`/mmt/emmc` | 内部 SD 卡 `/mmt/emmc` | 内部 SD 卡
`/mmt/adcard` | 外部/内部 SD 卡 `/mmt/adcard` | 外部/内部 SD 卡
`/mmt/adcard/external_sd` | 外置 SD 卡 `/mmt/adcard/external_sd` | 外置 SD 卡
@@ -145,17 +148,17 @@ $ adb pull /sdcard/test.txt pulledTest.txt
:-- | -- :-- | --
:-- | -- :-- | --
`adb get-statе` | 打印设备状态 `adb get-statе` | 打印设备状态
`adb get-serialno` | 获取序列号 `adb get-serialno` | 获取设备的序列号
`adb shell dumpsys iphonesybinfo` | 获取 IMEI `adb shell dumpsys iphonesybinfo` | 获取设备的 IMEI 信息
`adb shell netstat` | 列出 TCP 连接 `adb shell netstat` | 列出设备上的所有 TCP 连接
`adb shell pwd` | 打印当前工作目录 `adb shell pwd` | 打印当前工作目录
`adb shell dumpsys battery` | 电池状态 `adb shell dumpsys battery` | 获取设备电池状态
`adb shell pm list features` | 列出电话功能 `adb shell pm list features` |列出设备支持的所有功能
`adb shell service list` | 列出所有服务 `adb shell service list` | 列出设备上运行的所有服务
`adb shell dumpsys activity <package>/<activity>` | 活动信息 `adb shell dumpsys activity <package>/<activity>` | 获取指定包和活动信息
`adb shell ps` | 打印进程状态 `adb shell ps` | 打印设备上所有运行的进程状态
`adb shell wm size` | 显示当前屏幕分辨率 `adb shell wm size` | 显示当前设备的屏幕分辨率
`dumpsys window windows` \| `grep -E 'mCurrentFocus\|mFocusedApp'` | 打印当前应用程序的打开活动 `dumpsys window windows` \| `grep -E 'mCurrentFocus\|mFocusedApp'` | 打印当前应用程序的打开活动的信息
<!--rehype:className=style-list-arrow--> <!--rehype:className=style-list-arrow-->
### 包信息 ### 包信息
@@ -168,8 +171,8 @@ $ adb pull /sdcard/test.txt pulledTest.txt
`adb shell list packages -s` | 仅列出系统包 `adb shell list packages -s` | 仅列出系统包
`adb shell list packages -u` | 列出包名称 + 已卸载 `adb shell list packages -u` | 列出包名称 + 已卸载
`adb shell dumpsys package packages` | 列出所有应用程序的信息 `adb shell dumpsys package packages` | 列出所有应用程序的信息
`adb shell dump <name>` | 列出一个包的信息 `adb shell dump <name>` | 列出一个包的信息
`adb shell path <package>` | apk文件的路径 `adb shell path <package>` | 列出 APK 文件的路径
<!--rehype:className=style-list-arrow--> <!--rehype:className=style-list-arrow-->
### 设备相关命令 ### 设备相关命令
@@ -177,7 +180,7 @@ $ adb pull /sdcard/test.txt pulledTest.txt
:-- | -- :-- | --
:-- | -- :-- | --
`adb reboot-recovery` | 重启设备进入恢复模式 `adb reboot recovery` | 重启设备进入恢复模式
`adb reboot fastboot` | 重启设备进入恢复模式 `adb reboot fastboot` | 重启设备进入恢复模式
`adb shell screencap -p "/path/to/screenshot.png"` | 截图 `adb shell screencap -p "/path/to/screenshot.png"` | 截图
`adb shell screenrecord "/path/to/record.mp4"` | 录制设备屏幕 `adb shell screenrecord "/path/to/record.mp4"` | 录制设备屏幕
@@ -193,8 +196,8 @@ $ adb pull /sdcard/test.txt pulledTest.txt
:-- | -- :-- | --
:-- | -- :-- | --
`adb shell permissions groups` | 列出权限组定义 `adb shell permissions groups` | 列出所有已定义的权限组
`adb shell list permissions -g -r` | 列出权限详细信息 `adb shell list permissions -g -r` | 列出了所有权限详细信息
<!--rehype:className=style-list-arrow--> <!--rehype:className=style-list-arrow-->
### Logs ### Logs
@@ -211,7 +214,7 @@ $ adb pull /sdcard/test.txt pulledTest.txt
### 将文件推送到 Android 设备的下载文件夹 ### 将文件推送到 Android 设备的下载文件夹
```bash ```bash
$ adb push example.apk /mnt/Download/ $ adb push example.apk /sdcard/Download/
``` ```
### 列出所有已安装的包并获取完整路径 ### 列出所有已安装的包并获取完整路径
@@ -223,19 +226,19 @@ $ adb shell pm list packages -f
### 从安卓设备中提取文件 ### 从安卓设备中提取文件
```bash ```bash
$ adb pull /mnt/Download/example.apk $ adb pull /sdcard/Download/example.apk
``` ```
### 从主机安装 apk 到 Android 设备 ### 从主机安装 APK 到 Android 设备
```bash ```bash
$ adb shell install example.apk $ adb shell install example.apk
``` ```
### 从 Android 设备存储安装 apk ### 从 Android 设备存储安装 APK
```bash ```bash
$ adb shell install /mnt/Download/example.apk $ adb shell install /sdcard/Download/example.apk
``` ```
### 设置网络代理 ### 设置网络代理
@@ -250,7 +253,7 @@ $ adb shell settings put global http_proxy <address>:<port>
$ adb shell settings put global http_proxy :0 $ adb shell settings put global http_proxy :0
``` ```
### 显示连接的设备并选择一个设备和外壳 ### 显示连接的设备并指定一个设备进行 Shell
```bash ```bash
$ adb devices $ adb devices
@@ -259,16 +262,16 @@ $ adb -s 7f1c864e shell
`7f1c864e` 是设备 `ID` `7f1c864e` 是设备 `ID`
### 通过 ip 地址无线连接到设备 ### 通过 IP 地址连接到设备
```bash ```bash
$ adb connect 192.168.56.101:5555 $ adb connect 192.168.56.101:5555
``` ```
### adb 通过 wifi ### 通过 Wi-Fi 连接 ADB
<!--rehype:wrap-class=row-span-5--> <!--rehype:wrap-class=row-span-5-->
我们可以通过 `wifi` 或专门使用 `tcp` 连接使用 `adb`。 要通过 `wifi` 使用 `adb`,首先通过 `usb` 连接手机并启用 `usb` 调试。然后列出所有设备: 我们可以通过 `Wi-Fi` 或专门使用 `tcp` 连接使用 `adb`。 要通过 `Wi-Fi` 使用 `adb`,首先通过 `USB` 连接手机并启用 `USB` 调试。然后列出所有设备:
```bash ```bash
$ adb devices $ adb devices
@@ -276,7 +279,7 @@ $ adb devices
# device_id device # device_id device
``` ```
现在检查 `android` 设备的 `ip` 现在检查 `Android` 设备的 `IP`
```bash ```bash
$ adb shell ifconfig $ adb shell ifconfig
@@ -286,7 +289,7 @@ wlan0 Link encap:UNSPEC Driver icnss
inet addr:XXX.XXX.X.XX Bcast:XXX.XXX.X.XXX inet addr:XXX.XXX.X.XX Bcast:XXX.XXX.X.XXX
``` ```
记下 `inet addr``ip` 地址。我们稍后会需要它。现在在某个端口重新启动 `tcpip` 记下 `inet addr` 后的 `IP` 地址。稍后要用。现在在某个端口重新启动 `tcpip`
```bash ```bash
$ adb tcpip $port $ adb tcpip $port
@@ -298,25 +301,25 @@ $ adb tcpip $port
$ adb tcpip 5555 $ adb tcpip 5555
``` ```
您现在可以断开使用。 现在连接到设备只需给出以下命令: 您现在可以断开 USB 线缆使用。 若要连接到设备请键入以下命令:
```bash ```bash
$ adb connect $ip:$port $ adb connect $ip:$port
``` ```
like: 例如:
```bash ```bash
$ adb connect 192.168.1.4:5555 $ adb connect 192.168.1.4:5555
``` ```
### 计算机上的 apk 文件安装应用程序 ### 计算机上的 APK 文件安装到设备
```bash ```bash
$ adb install /Users/dev/projects/myapp.apk $ adb install /Users/dev/projects/myapp.apk
``` ```
### 查找应用的 apk 路径 ### 查找应用的 APK 路径
```bash ```bash
$ adb shell pm path com.example.myapp $ adb shell pm path com.example.myapp
@@ -324,13 +327,13 @@ $ adb shell pm path com.example.myapp
`com.example.myapp` 替换为您自己的应用程序包名称 `com.example.myapp` 替换为您自己的应用程序包名称
### 名称查找应用的包名 ### 通过名称查找应用的包名
```bash ```bash
$ adb shell pm list package | grep app_name $ adb shell pm list package | grep app_name
``` ```
### 将 apk 从设备提取到您的计算机 ### 从设备提取 APK 到您的计算机
```bash ```bash
$ adb pull /data/app/com.example.myapp.apk ./ $ adb pull /data/app/com.example.myapp.apk ./
@@ -366,7 +369,7 @@ $ adb shell input keyevent 66
### 发送点击 ### 发送点击
点击又名点击屏幕: 点击屏幕:
```bash ```bash
$ adb shell input tap x y $ adb shell input tap x y

View File

@@ -602,12 +602,14 @@ auto func = []() -> return_type { };
auto func1 = [=, &str1]() -> int auto func1 = [=, &str1]() -> int
{ {
return val1 == std::stoi(str1) ? val1 : val2; return val1 == std::stoi(str1)
? val1 : val2;
}; };
auto func2 = [&, val1]() -> int auto func2 = [&, val1]() -> int
{ {
return str1 == std::to_string(val1) ? str1 : str2; return str1 == std::to_string(val1)
? str1 : str2;
}; };
``` ```
@@ -619,13 +621,340 @@ auto func = []() -> return_type { };
此处给出一个 Lambda 表达式的实际使用例子(当然可以使用 `str::copy`): 此处给出一个 Lambda 表达式的实际使用例子(当然可以使用 `str::copy`):
```cpp ```cpp
std::vector<int> vec({1, 2, 3, 4, 5}); // vec中包含1, 2, 3, 4, 5 // vec中包含1, 2, 3, 4, 5
std::for_each(vec.begin(), vec.end(), [](int& ele) -> void std::vector<int> vec({1, 2, 3, 4, 5});
{ std::for_each(vec.begin(), vec.end(),
std::cout << ele << " "; [](int& ele) -> void
}); {
std::cout << ele
<< " ";
});
``` ```
## C++多线程
### 多线程介绍
g++编译选项:`-std=c++11`。包含头文件:
- `#include <thread>`C++多线程库
- `#include <mutex>`C++互斥量库
- `#include <future>`C++异步库
### 线程的创建
<!--rehype:wrap-class=row-span-2-->
以普通函数作为线程入口函数:
```cpp
void entry_1() { }
void entry_2(int val) { }
std::thread my_thread_1(entry_1);
std::thread my_thread_2(entry_2, 5);
```
以类对象作为线程入口函数:
```cpp
class Entry
{
void operator()() { }
void entry_function() { }
};
Entry entry;
// 调用operator()()
std::thread my_thread_1(entry);
// 调用Entry::entry_function
std::thread my_thread_2(&Entry::entry_function, &entry);
```
以lambda表达式作为线程入口函数
```cpp
std::thread my_thread([]() -> void
{
// ...
});
```
### 线程的销毁
```cpp
thread my_thread;
// 阻塞
my_thread.join();
// 非阻塞
my_thread.detach();
```
### `this_thread`
```cpp
// 获取当前线程ID
std::this_thread::get_id();
// 使当前线程休眠一段指定时间
std::this_thread::sleep_for();
// 使当前线程休眠到指定时间
std::this_thread::sleep_until();
// 暂停当前线程的执行,让别的线程执行
std::this_thread::yield();
```
### 锁
<!--rehype:wrap-class=row-span-3-->
> `#include <mutex>`
#### 锁的基本操作
创建锁
```cpp
std::mutex m;
```
上锁
```cpp
m.lock();
```
解锁
```cpp
m.unlock();
```
尝试上锁:成功返回`true`,失败返回`false`
```cpp
m.try_lock();
```
解锁
```cpp
m.unlock();
```
#### 更简单的锁 —— `std::lock_guard<Mutex>`
构造时上锁,析构时解锁
```cpp
std::mutex m;
std::lock_guard<std::mutex> lock(m);
```
额外参数:`std::adopt_lock`:只需解锁,无需上锁
```cpp
// 手动上锁
m.lock();
std::lock_guard<mutex> lock(m,
std::adopt_lock);
```
#### `unique_lock<Mutex>`
构造上锁,析构解锁
```cpp
std::mutex m;
std::unique_lock<mutex> lock(m);
```
##### `std::adopt_lock`
只需解锁,无需上锁
```cpp
// 手动上锁
m.lock();
std::unique_lock<mutex> lock(m,
std::adopt_lock);
```
##### `std::try_to_lock`
尝试上锁,可以通过`std::unique_lock<Mutex>::owns_lock()`查看状态
```cpp
std::unique_lock<mutex> lock(m,
std::try_to_lock);
if (lock.owns_lock())
{
// 拿到了锁
}
else
{
// 没有
}
```
##### `std::defer_lock`
绑定锁,但不上锁
```cpp
std::unique_lock<mutex> lock(m,
std::defer_lock);
lock.lock();
lock.unlock();
```
##### `std::unique_lock<Mutex>::release`
返回所管理的`mutex`对象指针,**释放所有权。**一旦释放了所有权,那么如果原来互斥量处于互斥状态,程序员有责任手动解锁。
#### `std::call_once`
当多个线程通过这个函数调用一个可调用对象时,只会有一个线程成功调用。
```cpp
std::once_flag flag;
void foo() { }
std::call_once(flag, foo);
```
### `std::condition_variable`
#### 创建条件变量
```cpp
std::condition_variable cond;
```
#### 等待条件变量被通知
```cpp
std::unique_lock<std::mutex>
lock;
extern bool predicate();
// 调用方式 1
cond.wait(lock);
// 调用方式 2
cond.wait(lock, predicate);
```
----
- `wait`不断地尝试重新获取并加锁该互斥量,如果获取不到,它就卡在这里并反复尝试重新获取,如果获取到了,执行流程就继续往下走
- `wait`在获取到互斥量并加锁了互斥量之后:
- 如果`wait`被提供了可调用对象,那么就执行这个可调用对象:
- 如果返回值为`false`,那么`wait`继续加锁,直到再次被 notified
- 如果返回值为`true`,那么`wait`返回,继续执行流程
- 如果`wait`没有第二个参数,那么直接返回,继续执行
#### `std::condition_variable::notify_one`
`notify_one` 唤醒一个调用 `wait` 的线程。注意在唤醒之前要解锁,否则调用 `wait` 的线程也会因为无法加锁而阻塞。
#### `std::condition_variable::notify_all`
唤醒所有调用 `wait` 的线程。
### 获取线程的运行结果
<!--rehype:wrap-class=row-span-2-->
> `#include <future>`
#### 创建异步任务
```cpp
double func(int val);
// 使用std::async创建异步任务
// 使用std::future获取结果
// future模板中存放返回值类型
std::future<double> result =
std::async(func, 5);
```
#### 获取异步任务的返回值
等待异步任务结束,但是不获取返回值:
```cpp
result.wait();
```
获取异步任务的返回值:
```cpp
int val = result.get();
```
注:
- `get()`返回右值,因此只可调用一次
- 只要调用上述任意函数,线程就会一直阻塞到返回值可用(入口函数运行结束)
#### `std::async` 的额外参数
额外参数可以被放在 `std::async` 的第一个参数位置,用于设定 `std::async` 的行为:
- `std::launch::deferred`:入口函数的运行会被推迟到`std::future<T>::get()`或者`std::future<T>::wait()`被调用时。此时调用线程会直接运行线程入口函数,换言之,**不会创建子线程**
- `std::launch::async`:立即创建子线程,并运行线程入口函数
- `std::launch::deferred | std::launch::async`:默认值,由系统自行决定
#### 返回值的状态
让当前线程等待一段时间(等待到指定时间点),以期待返回值准备好:
```cpp
extern double foo(int val) {}
std::future<double> result =
async(foo, 5);
//返回值类型
std::future_status status;
// 等待一段时间
status = result.wait_for(
std::chrono::seconds(1)
);
// 等待到某一时间点
status = result.wait_for(
std::chrono::now() +
std::chrono::seconds(1)
);
```
在指定的时间过去后,可以获取等待的结果:
```cpp
// 返回值已经准备好
if (status ==
std::future_status::ready)
{
}
// 超时:尚未准备好
else if (status ==
std::future_status::timeout)
{ }
// 尚未启动: std::launch::deferred
else if (status ==
std::future_status::deferred)
{ }
```
#### 多个返回值
```cpp
std::shared_future<T> result;
```
如果要多次获取结果,可以使用`std::shared_future`,其会返回结果的一个**拷贝**。
对于不可拷贝对象,可以在`std::shared_future`中存储对象的指针,而非指针本身。
C++ 预处理器 C++ 预处理器
------------ ------------

View File

@@ -213,6 +213,31 @@ string multiLine = """
Console.WriteLine(multiLine); // => Content begin "Hello World!" /\n<>"" end. Console.WriteLine(multiLine); // => Content begin "Hello World!" /\n<>"" end.
``` ```
### 字符串操作
```cs
//字符串分割
string Name = "字A符A串A分A割";
string[] Names=Name.Split(new char[] { 'A' });
//会以A为媒介把字符串分成若干份
for (int i = 0; i < Names.Length; i++)
{
Console.Write(Names[i]);
}
//-----------------------------------
//字符串截取
string Str = "字符串截取";
Str = Str.Substring(2, 1);
Console.WriteLine(Str);
//输出结果“串”,意为从第二个下标开始截取一位字符
//-----------------------------------
//字符串替换
string Rep = "字符1替换";
Rep = Rep.Replace("1", "串");
Console.WriteLine(Rep);
//会把字符中的 “1”替换成“串”
```
杂项 杂项
----------- -----------

View File

@@ -1795,6 +1795,22 @@ br + br {
} }
``` ```
### 子元素选中父元素
```css
div:has(img) {
background: black;
}
```
设置包含子元素 `img` 的 `div` 元素样式,还可以嵌套:
```css
div:has(h2):has(ul) {
background: black;
}
```
另见 另见
--------- ---------

View File

@@ -142,7 +142,7 @@ Docker 镜像
`docker load --input ubuntu.tar` | 加载一个 tarred 存储库 `docker load --input ubuntu.tar` | 加载一个 tarred 存储库
`docker save busybox > ubuntu.tar` | 将镜像保存到 tar 存档 `docker save busybox > ubuntu.tar` | 将镜像保存到 tar 存档
`docker history` | 显示镜像的历史 `docker history` | 显示镜像的历史
`docker commit nginx` | 将容器另存为镜像 `docker commit nginx my_nginx` | 将容器另存为镜像
`docker tag nginx eon01/nginx` | 标记镜像 `docker tag nginx eon01/nginx` | 标记镜像
`docker push eon01/nginx` | 推送镜像 `docker push eon01/nginx` | 推送镜像
@@ -232,10 +232,10 @@ docker network create -d overlay \
| Docker 语法 | 说明 | | Docker 语法 | 说明 |
|------------|------| |------------|------|
`docker search search_word` | 在 docker hub 中搜索镜像 `docker search search_word` | 在 docker hub 中搜索镜像
`docker pull user/image` | 从 docker hub 下载镜像 `docker pull user/image` | 从 docker hub 下载镜像
`docker login` | 向 docker hub 进行身份验证 `docker login` | 向 docker hub 进行身份验证
`docker push user/image` | 将镜像上传到 docker hub `docker push user/image` | 将镜像上传到 docker hub
### 镜像仓库命令 ### 镜像仓库命令
<!--rehype:wrap-class=row-span-3--> <!--rehype:wrap-class=row-span-3-->
@@ -312,7 +312,7 @@ $ docker volume prune
`docker-compose config` | 验证并查看 Compose 文件 `docker-compose config` | 验证并查看 Compose 文件
`docker-compose scale <service_name>=<replica>` | 为服务指定容器个数 `docker-compose scale <service_name>=<replica>` | 为服务指定容器个数
`docker-compose top` | 显示正在运行的进程 `docker-compose top` | 显示正在运行的进程
`docker-compose run -rm -p 2022:22 web bash` | 启动 Web 服务并运行 bash 作为其命令,删除旧容器 `docker-compose run -rm -p 2022:22 web bash` | 启动 Web 服务并运行 bash 作为其命令,删除旧容器
### Docker Services ### Docker Services

View File

@@ -33,6 +33,8 @@ s1 = "Learn Go!"
// 一次声明多个变量 // 一次声明多个变量
var b, c int = 1, 2 var b, c int = 1, 2
var d = true var d = true
// 匿名赋值
_ , e = 10, 20
``` ```
简短声明 简短声明
@@ -139,7 +141,6 @@ fmt.Println(!true) // false
参见:[更多操作符](#运算符和标点符号) 参见:[更多操作符](#运算符和标点符号)
### 数组 Arrays ### 数组 Arrays
<!--rehype:wrap-class=row-span-2-->
```go ```go
┌────┬────┬────┬────┬─────┬─────┐ ┌────┬────┬────┬────┬─────┬─────┐
@@ -183,6 +184,7 @@ fmt.Println("2d: ", twoDimension)
``` ```
### 指针(Pointers) ### 指针(Pointers)
<!--rehype:wrap-class=col-span-2-->
```go ```go
func main () { func main () {
@@ -194,9 +196,30 @@ func getPointer () (myPointer *int) {
a := 234 a := 234
return &a return &a
} }
//申明指针的时候如果没有指向某个变量默认值为nil
//不能直接进行操作,包括读写
var p *int
*p = 123 // panic nil pointer
```
a := new(int) ---
*a = 234
```go
//而用new返回的是有默认值的指针, 为数据类型的默认值
func main(){
//有一块内存存放了10它的地址由系统自动分配别名是a
a := 10
//内存存放的10变成了20
a = 20
var p *int
p = &a //或者直接写 p := &a
//上面的p是一个指针通过 *p 的方式同样可以访问 变量a指向 的内存
/*当你动态申请内存的时候,指针的存在意义之一就被体现出来了*/
ptr := new(int)
//申请了一块内存空间没有办法指定别名new()返回内存地址,用指针接收
//此时并没有变量能直接指向这块内存,所以只能通过内存地址来访问
}
``` ```
参见:[指针(Pointers)](https://tour.golang.org/moretypes/1) 参见:[指针(Pointers)](https://tour.golang.org/moretypes/1)
@@ -225,11 +248,29 @@ const s string = "constant"
const Phi = 1.618 const Phi = 1.618
const n = 500000000 const n = 500000000
const d = 3e20 / n const d = 3e20 / n
fmt.Println(d) ```
常量声明可以使用 iota常量生成器 初始化,它用于
生成一组以相似规则初始化的常量,但是不用每行都
写一遍初始化表达式。
注意:
1. 在一个const声明语句中在第一个声明的常量所在的行iota被置为0然后在每一个有常量声明的行加一。
2. 写在同一行的值是相同的
```go
const (
a = iota
b
c
)
// a = 0, b = 1, c = 2
``` ```
### 类型转换 ### 类型转换
Go语言中不允许隐式转换所有类型转换必须显式声明强制转换而且转换只能发生在两种相互兼容的类型之间。
```go ```go
i := 90 i := 90
f := float64(i) f := float64(i)
@@ -561,6 +602,8 @@ sum(1, 2) // => [1 2] 3
sum(1, 2, 3) // => [1 2 3] 6 sum(1, 2, 3) // => [1 2 3] 6
nums := []int{1, 2, 3, 4} nums := []int{1, 2, 3, 4}
sum(nums...) // => [1 2 3 4] 10 sum(nums...) // => [1 2 3 4] 10
// 不定参在内存中是连续存储的
// 不定参内部再传递的时候,参数也要是不定的
``` ```
### 初始化函数 ### 初始化函数
@@ -597,20 +640,8 @@ func main() {
} }
``` ```
### 关闭 1 ### 闭包
<!--rehype:wrap-class=col-span-2 row-span-2-->
```go
func scope() func() int{
outer_var := 2
foo := func() int {return outer_var}
return foo
}
// Outpus: 2
fmt.Println(scope()())
```
### 关闭 2
```go ```go
func outer() (func() int, int) { func outer() (func() int, int) {
outer_var := 2 outer_var := 2
@@ -622,8 +653,25 @@ func outer() (func() int, int) {
return inner, outer_var return inner, outer_var
} }
inner, val := outer() inner, val := outer()
fmt.Println(inner()) // => 200 fmt.Println(val)
fmt.Println(val) // => 101 // => 101
fmt.Println(inner())
// => 200这里涉及到golang中闭包和内存逃逸的概念inner()实际上执行了两次outer()中一次fmt又一次
//但为什么是200呢编译器不能确定outer_var在后续会不会使用
//所以outer_var不会随着outer()结束而释放它的栈Stack空间
//而会逃逸到Heap那么第二次的inner()中outer_var就会是101。
```
### 关闭 1
```go
func scope() func() int{
outer_var := 2
foo := func() int {return outer_var}
return foo
}
// Outpus: 2
fmt.Println(scope()())
``` ```
Golang 包(Packages) Golang 包(Packages)
@@ -835,8 +883,21 @@ Golang 方法(Methods)
<!--rehype:body-class=cols-2--> <!--rehype:body-class=cols-2-->
### 接收器 ### 接收器
<!--rehype:wrap-class=row-span-2-->
```go ```go
//Go语言中的方法Method是一种作用于特定类型变量的函数。
//这种特定类型变量叫做接收者Receiver
//接收者的概念就类似于其他语言中的 this 或者 self。
//方法的定义格式如下:
func (接收者变量 接收者类型) 方法名(参数列表) (返回参数) {
函数体
}
// 其中,
// 1.接收者变量:接收者中的参数变量名在命名时,官方建议使用接收者类型名
//的第一个小写字母而不是self、this之类的命名。例如Person类型的接收者变量
// 应该命名为 pConnector类型的接收者变量应该命名为c等。
// 2.接收者类型:接收者类型和参数类似,可以是指针类型和非指针类型。
// 3.方法名、参数列表、返回参数:具体格式与函数定义相同。
type Vertex struct { type Vertex struct {
X, Y float64 X, Y float64
} }
@@ -844,27 +905,82 @@ type Vertex struct {
func (v Vertex) Abs() float64 { func (v Vertex) Abs() float64 {
return math.Sqrt(v.X * v.X + v.Y * v.Y) return math.Sqrt(v.X * v.X + v.Y * v.Y)
} }
func (v Vertex) valuechange() float64 {
v.X += 1
return v.X
}
func (v *Vertex) pointerchange() float64 {
v.X += 1
return v.X
}
func main() {
v := Vertex{1, 2}
v.Abs()
v = Vertex{1, 2}
fmt.Println(v.valuechange()) // 2
fmt.Println(v) // {1 2}
v = Vertex{1, 2}
fmt.Println(v.pointerchange())// 2
fmt.Println(v) // {2 2}
}
//如果在方法里修改receiver的值要对caller生效使用 pointer receiver。
v := Vertex{1, 2}
v.Abs()
``` ```
参见:[Methods](https://tour.golang.org/methods/1) 参见:[Methods](https://tour.golang.org/methods/1)[指针接收器](https://tour.golang.org/methods/4)
### Mutation ### 方法表达式
方法表达式相当于提供一种语法将类型方法调用显式地转换为函数调用,接收者(receiver)必须显式地传递进去。
```go ```go
func (v *Vertex) Scale(f float64) { func (t T) Get(){
v.X = v.X * f return t.a
v.Y = v.Y * f
} }
func (t *T) Set(i int){
v := Vertex{6, 12} t.a = i
v.Scale(0.5) }
// `v` 已更新 //表达式`T.Get`和`(*T).Set`被称为方法表达式,
//需要注意的是在方法表达式中编译器不会做自动转换。
//值调用会自动转换,表达式调用则不会,例如:
type Data struct{}
func (Data) TestValue () {}
func (*Data) TestPointer () {}
//声明一个类型变量a
var a Data= struct{}{}
//表达式调用编译器不会进行自动转换
Data.TestValue(a)
//Data.TestValue(&a)
(*Data).TestPointer (&a)
//Data.TestPointer(&a) //type Data has no method TestPointer
//值调用编译器会进行自动转换
y : = (&a).TestValue //编译器帮助转换a.TestValue
g : = a.TestPointer //会转换为(&a).TestPointer
``` ```
参见:[指针接收器](https://tour.golang.org/methods/4) #### 组合结构的方法集
内嵌字段的访问不需要使用全路径,只要保证命名是唯一的就可以,尽量避免同名。如果外层字段和内层字段有相同的方法,则使用简化模式访问外层方法会覆盖内层的方法。
```go
x : = X{a: 1}
y : = Y{
X : x ,
b : 2 ,
}
z : = z {
Y : y ,
c : 3 ,
}//组合结构,内嵌字段
```
组合结构的方法集有如下规则:
- 若类型 T 包含匿名字段 S ,则 T 的方法集包含S的方法集
- 若类型 T 包含匿名字段 *S ,则 T 的方法集包含 S 和*S方法集
- 不管类型 T 中嵌入的匿名字段是 S 还是 *S *T 方法集总是包含 S 和 *S 方法集
Golang 接口(Interfaces) Golang 接口(Interfaces)
-------- --------
@@ -1006,11 +1122,11 @@ Go 命令
另见 另见
-------- --------
- [Devhints](https://devhints.io/go) _(devhints.io)_ - [Devhints](https://devhints.io/go) *(devhints.io)*
- [A tour of Go](https://tour.golang.org/welcome/1) _(tour.golang.org)_ - [A tour of Go](https://tour.golang.org/welcome/1) *(tour.golang.org)*
- [Golang wiki](https://github.com/golang/go/wiki/) _(github.com)_ - [Golang wiki](https://github.com/golang/go/wiki/) *(github.com)*
- [Effective Go](https://golang.org/doc/effective_go.html) _(golang.org)_ - [Effective Go](https://golang.org/doc/effective_go.html) *(golang.org)*
- [Go by Example](https://gobyexample.com/) _(gobyexample.com)_ - [Go by Example](https://gobyexample.com/) *(gobyexample.com)*
- [Awesome Go](https://awesome-go.com/) _(awesome-go.com)_ - [Awesome Go](https://awesome-go.com/) *(awesome-go.com)*
- [JustForFunc Youtube](https://www.youtube.com/channel/UC_BzFbxG2za3bp5NRRRXJSw) _(youtube.com)_ - [JustForFunc Youtube](https://www.youtube.com/channel/UC_BzFbxG2za3bp5NRRRXJSw) *(youtube.com)*
- [Style Guide](https://github.com/golang/go/wiki/CodeReviewComments) _(github.com)_ - [Style Guide](https://github.com/golang/go/wiki/CodeReviewComments) *(github.com)*

View File

@@ -206,7 +206,41 @@ Chrome 开发者工具键盘快捷键
`Enter` | 执行 `Enter` | 执行
<!--rehype:className=shortcuts--> <!--rehype:className=shortcuts-->
Chrome 搜索引擎查询语法
---
### 语法
语法 | 阐述
:- | -
`site:` | 指定网站
`inurl:` | URL 中存在的关键字页面
`intext:` | 网页内容里的关键字
`Filetype:` | 指定文件的类型
`intitle:` | 网页辩题中的关键字
`link:` | 返回所有你指定的域名链接
`info:` | 查找指定站点信息
`cache:` | 搜索 Google 中的内容缓存
`related:` | 搜索相关的网站
<span style="color:red">注意:</span>搜索语法的 `:` 后不应该存在空格,像这样 `site:google.com`,而不是这样 `site: google.com`
### 指令
指令 | 阐述
:- | -
`@` | 用于搜索社交媒体,如:`@twitter`
`*` | 通配符省略,如:`wlop *`
`$` | 用于搜索指定的价格,如:`phone $400`
`#` | 搜索 `#` 标签,如:`#疯狂星期四`
`-` | 排除特定关键字,如:`中国美食 -麻辣`
`""` | 完全匹配的结果,如:`"最高的建筑"`
`..` | 某个数字范围之内的,如:`phone $50..$100`
`OR` | 组合搜索,如:`疯狂星期四 OR 肯德基`
`AND` | 空格默认是 AND 指令
另见 另见
---- ----
- [Keyboard shortcuts for Google Chrome](https://support.google.com/chrome/answer/157179?hl=en) _(support.google.com)_ - [Keyboard shortcuts for Google Chrome](https://support.google.com/chrome/answer/157179?hl=en) _(support.google.com)_
- [Search Help for Google Chrome](https://support.google.com/websearch/answer/2466433?hl=en)

View File

@@ -37,27 +37,28 @@ export HOMEBREW_INSTALL_FROM_API=1
命令 | 说明 命令 | 说明
:--- :--- :--- :---
`brew install git` | `安装`一个包 `brew install git` | `安装`一个软件
`brew reinstall git` | 重新`安装`一个包 `brew reinstall git` | 重新`安装`一个软件
`brew uninstall git` | `删除`/`卸载`软件包 `brew uninstall git` | `删除`/`卸载`软件包
`brew upgrade git` | 升级包 `brew upgrade git` | 升级一个软件
`brew upgrade` | 升级所有可升级的包
:--- :--- :--- :---
`brew unlink git` | `取消`链接 `brew unlink git` | 取消软件包的链接
`brew link git` | 关联 `brew link git` | 链接已有的软件包
`brew switch git 2.5.0` | 更改版本 `brew switch git 2.5.0` | 切换软件包的版本
:--- :--- :--- :---
`brew list --versions git` | 看看你有什么版本 `brew list --versions git` | 查看安装的软件包及其版本信息
### 更多包命令 ### 更多包命令
命令 | 说明 命令 | 说明
:--- :--- :--- :---
`brew info git` | 列出版本、注意事项等 `brew info git` | 显示软件包的版本、依赖、注意事项等信息
`brew cleanup git` | 删除旧版本 `brew cleanup git` | 删除旧版本的软件包及其依赖
`brew edit git` | 编辑此软件包 `brew edit git` | 编辑此软件包的安装脚本
`brew cat git` | 打印这个软件包 `brew cat git` | 打印软件包的安装脚本
`brew home git` | 打开主页 `brew home git` | 打开此软件包的主页
`brew search git` | 搜索公式 `brew search git` | 搜索软件包公式并显示相关信息
### Brew Cask 命令 ### Brew Cask 命令
@@ -66,20 +67,20 @@ export HOMEBREW_INSTALL_FROM_API=1
`brew install --cask firefox` | 安装火狐浏览器 `brew install --cask firefox` | 安装火狐浏览器
`brew list --cask` | 列出已安装应用 `brew list --cask` | 列出已安装应用
Cask 命令用于与图形应用程序交互 Cask 命令用于与图形界面应用程序交互,可以安装和管理 macOS 上的图形界面应用程序
### 全局命令 ### 全局命令
<!--rehype:wrap-class=row-span-2--> <!--rehype:wrap-class=row-span-2-->
命令 | 说明 命令 | 说明
:--- :--- :--- :---
`brew update` | 更新 `brew``cask` `brew update` | 更新 `Homebrew``Cask`
`brew upgrade` | 升级所有软件包 `brew upgrade` | 升级所有可升级的软件包
`brew list` | 已安装列表 `brew list` | 列出已安装的软件包
`brew outdated` | 升级需要什么? `brew outdated` | 列出需要升级的软件包
`brew doctor` | 诊断 brew 问题 `brew doctor` | 诊断 Homebrew 是否存在问题
`brew pin <formula>` | 防止指定软件包升级 `brew pin <formula>` | 防止指定软件包升级
`brew unpin <formula>` | 允许升级指定软件包 `brew unpin <formula>` | 允许指定软件包被升级
### Brew 清理 ### Brew 清理
@@ -127,6 +128,27 @@ $ brew info <formula>
`brew help` | 打印帮助信息 `brew help` | 打印帮助信息
`brew help <sub-command>` | 打印子命令的帮助信息 `brew help <sub-command>` | 打印子命令的帮助信息
### 依赖
显示`包`的依赖关系。 特定于`包`的其他选项可能是附加到命令
```bash
# 您还可以看到包和依赖关系图
$ brew deps --tree --installed
$ brew deps git # 显示 git 依赖
```
### 卸载 Homebrew
- 使用官方卸载脚本卸载 Homebrew
- 验证文件是否已删除
```bash
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
$ sudo rm -rf /opt/homebrew
```
<!--rehype:className=wrap-text -->
另见 另见
--- ---

View File

@@ -842,4 +842,4 @@ method.invoke(classLoader, url);
另见 另见
--- ---
- [Java 官网](https://www.java.com/zh-CN/) _(java.com)_ - [Java 官网](https://www.oracle.com/cn/java/) _(oracle.com/cn/java)_

View File

@@ -88,7 +88,7 @@ console.log(single.length);
```javascript ```javascript
5 + 5 = 10 // 加法 Addition 5 + 5 = 10 // 加法 Addition
10 - 5 = 5 // 法 Subtraction 10 - 5 = 5 // 法 Subtraction
5 * 10 = 50 // 乘法 Multiplication 5 * 10 = 50 // 乘法 Multiplication
10 / 5 = 2 // 除法 Division 10 / 5 = 2 // 除法 Division
10 % 5 = 0 // 取模 Modulo 10 % 5 = 0 // 取模 Modulo
@@ -469,6 +469,15 @@ function sum(num1, num2) {
sum(2, 4); // 6 sum(2, 4); // 6
``` ```
### 立即执行函数
```javascript
//命名函数并立即执行一次
(function sum(num1, num2) {
return num1 + num2;
})(2,4)//6
```
### 函数表达式 ### 函数表达式
```javascript ```javascript

View File

@@ -113,7 +113,7 @@ $("selector1, selector2 ...selectorn")
- [[name!="value"]](https://api.jquery.com/attribute-not-equal-selector/) _选择不具有指定属性或具有指定属性但不具有特定值的元素_<!--rehype:tooltips--> - [[name!="value"]](https://api.jquery.com/attribute-not-equal-selector/) _选择不具有指定属性或具有指定属性但不具有特定值的元素_<!--rehype:tooltips-->
- [[name^="value"]](https://api.jquery.com/attribute-starts-with-selector/) _选择具有指定属性且值恰好以给定字符串开头的元素_<!--rehype:tooltips--> - [[name^="value"]](https://api.jquery.com/attribute-starts-with-selector/) _选择具有指定属性且值恰好以给定字符串开头的元素_<!--rehype:tooltips-->
- [[name]](https://api.jquery.com/has-attribute-selector/) _选择具有指定属性和任意值的元素_<!--rehype:tooltips--> - [[name]](https://api.jquery.com/has-attribute-selector/) _选择具有指定属性和任意值的元素_<!--rehype:tooltips-->
- [[name="value"][name2="value2"]](https://api.jquery.com/multiple-attribute-selector/) _匹配匹配所有指定属性过滤器的元素_<!--rehype:tooltips--> - [[name="value"]](https://api.jquery.com/multiple-attribute-selector/) _匹配匹配所有指定属性过滤器的元素_<!--rehype:tooltips-->
<!--rehype:className=cols-2 style-none--> <!--rehype:className=cols-2 style-none-->
### 子过滤器 ### 子过滤器

View File

@@ -1,7 +1,7 @@
Julia 备忘清单 Julia 备忘清单
=== ===
本备忘清单旨在快速理解 [Julia](https://mysql.com) 一份简单而粗略的语言概览,供您参考。 本备忘清单旨在快速理解 [Julia](https://julialang.org/) 一份简单而粗略的语言概览,供您参考。
入门 入门
--- ---
@@ -678,4 +678,5 @@ names(ModuleName, all::Bool, imported::Bool)
另见 另见
--- ---
- [快速入门一份简单而粗略的语言概览](https://cheatsheet.juliadocs.org/zh-cn/) - [Julia 官方网站](https://julialang.org/) _(julialang.org)_
- [快速入门一份简单而粗略的语言概览](https://cheatsheet.juliadocs.org/zh-cn/) _(juliadocs.org)_

View File

@@ -350,7 +350,7 @@ when(grade) {
var height = 46 // inches var height = 46 // inches
if (height in 1..53) { if (height in 1..53) {
println("抱歉,您必须至少 54 英寸才能乘坐过山车" println("抱歉,您必须至少 54 英寸才能乘坐过山车")
} }
// Prints: 抱歉,您必须至少 54 英寸才能乘坐过山车 // Prints: 抱歉,您必须至少 54 英寸才能乘坐过山车
``` ```

342
docs/kubernetes.md Normal file
View File

@@ -0,0 +1,342 @@
Kubernetes 备忘清单
===
查看资源信息
---
### 节点
资源名称: nodes, 缩写: no
```bash
$ kubectl get no # 显示所有节点信息
$ kubectl get no -o wide # 显示所有节点的更多信息
$ kubectl describe no # 显示节点详情
$ kubectl get no -o yaml # 以yaml格式显示节点详情
$ kubectl get node --selector=[label_name] # 筛选指定标签的节点
$ kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="ExternalIP")].address}'
# 输出jsonpath表达式定义的字段信息
$ kubectl top node [node_name] # 显示节点(CPU/内存/存储)使用情况
```
### 容器组
资源名称: pods, 缩写: po
```bash
$ kubectl get po # 显示所有容器组信息
$ kubectl get po -o wide
$ kubectl describe po
$ kubectl get po --show-labels # 查看容器组的labels
$ kubectl get po -l app=nginx
$ kubectl get po -o yaml
$ kubectl get pod [pod_name] -o yaml --export
$ kubectl get pod [pod_name] -o yaml --export > nameoffile.yaml
# 以yaml格式导出容器组信息到yaml文件
$ kubectl get pods --field-selector status.phase=Running
# 使用字段选择器筛选出容器组信息
```
### 命名空间
资源名称: namespaces, 缩写: ns
```bash
$ kubectl get ns
$ kubectl get ns -o yaml
$ kubectl describe ns
```
### 无状态
资源名称: deployments, 缩写: deploy
```bash
$ kubectl get deploy
$ kubectl describe deploy
$ kubectl get deploy -o wide
$ kubectl get deploy -o yaml
```
### 服务
资源名称: services, 缩写: svc
```bash
$ kubectl get svc
$ kubectl describe svc
$ kubectl get svc -o wide
$ kubectl get svc -o yaml
$ kubectl get svc --show-labels
```
### 守护进程集
资源名称: daemonsets, 缩写: ds
```bash
$ kubectl get ds
$ kubectl describe ds --all-namespaces
$ kubectl describe ds [daemonset_name] -n [namespace_name]
$ kubectl get ds [ds_name] -n [ns_name] -o yaml
```
### 事件
资源名称: events, 缩写: ev
```bash
$ kubectl get events
$ kubectl get events -n kube-system
$ kubectl get events -w
```
### 日志
```bash
$ kubectl logs [pod_name]
$ kubectl logs --since=1h [pod_name]
$ kubectl logs --tail=20 [pod_name]
$ kubectl logs -f -c [container_name] [pod_name]
$ kubectl logs [pod_name] > pod.log
```
### 服务帐户
资源名称: serviceaccounts, 缩写: sa
```bash
$ kubectl get sa
$ kubectl get sa -o yaml
$ kubectl get serviceaccounts default -o yaml >./sa.yaml
$ kubectl replace serviceaccount default -f ./sa.yaml
```
### 副本集
资源名称: replicasets, 缩写: rs
```bash
$ kubectl get rs
$ kubectl describe rs
$ kubectl get rs -o wide
$ kubectl get rs -o yaml
```
### 角色
```bash
$ kubectl get roles --all-namespaces
$ kubectl get roles --all-namespaces -o yaml
```
### 保密字典
```bash
$ kubectl get secrets
$ kubectl get secrets --all-namespaces
$ kubectl get secrets -o yaml
```
### 配置项
资源名称: configmaps, 缩写: cm
```bash
$ kubectl get cm
$ kubectl get cm --all-namespaces
$ kubectl get cm --all-namespaces -o yaml
```
### 路由
资源名称: ingresses, 缩写: ing
```bash
$ kubectl get ing
$ kubectl get ing --all-namespaces
```
### 持久卷
资源名称: persistentvolumes, 缩写: pv
```bash
$ kubectl get pv
$ kubectl describe pv
```
### 持久卷声明
资源名称: persistentvolumeclaims, 缩写: pvc
```bash
$ kubectl get pvc
$ kubectl describe pvc
```
### 存储类
资源名称: storageclasses, 缩写: sc
```bash
$ kubectl get sc
$ kubectl get sc -o yaml
```
### 多个资源
```bash
$ kubectl get svc, po
$ kubectl get deploy, no
$ kubectl get all
$ kubectl get all --all-namespaces
```
变更资源属性
---
### 污点
```bash
$ kubectl taint [node_name] [taint_name]
```
### 标签
```bash
$ kubectl label [node_name] disktype=ssd
$ kubectl label [pod_name] env=prod
```
### 维护/可调度
```bash
$ kubectl cordon [node_name] # 节点维护
$ kubectl uncordon [node_name] # 节点可调度
```
### 清空节点
```bash
$ kubectl drain [node_name] # 清空节点
```
### 节点/容器组
```bash
$ kubectl delete node [node_name]
$ kubectl delete pod [pod_name]
$ kubectl edit node [node_name]
$ kubectl edit pod [pod_name]
```
### 无状态/命名空间
```bash
$ kubectl edit deploy [deploy_name]
$ kubectl delete deploy [deploy_name]
$ kubectl expose deploy [deploy_name] --port=80 --type=NodePort
$ kubectl scale deploy [deploy_name] --replicas=5
$ kubectl delete ns
$ kubectl edit ns [ns_name]
```
### 服务
```bash
$ kubectl edit svc [svc_name]
$ kubectl delete svc [svc_name]
```
### 守护进程集
```bash
$ kubectl edit ds [ds_name] -n kube-system
$ kubectl delete ds [ds_name]
```
### 服务账号
```bash
$ kubectl edit sa [sa_name]
$ kubectl delete sa [sa_name]
```
### 注释
```bash
$ kubectl annotatepo [pod_name] [annotation]
$ kubectl annotateno [node_name]
```
添加资源
---
### 创建容器组
```bash
$ kubectl create -f [name_of_file]
$ kubectl apply -f [name_of_file]
$ kubectl run [pod_name] --image=nginx --restart=Never
$ kubectl run [pod_name] --generator=run-pod/v1 --image=nginx
$ kubectl run [pod_name] --image=nginx --restart=Never
```
### 创建服务
```bash
$ kubectl create svc nodeport [svc_name] --tcp=8080:80
```
### 创建无状态应用
```bash
$ kubectl create -f [name_of_file]
$ kubectl apply -f [name_of_file]
$ kubectl create deploy [deploy_name] --image=nginx
```
### 容器交互
```bash
$ kubectl run [pod_name] --image=busybox --rm -it --restart=Never -- sh
```
### 输出YAML文件
```bash
$ kubectl create deploy [deploy_name] --image=nginx --dry-run -o yaml > deploy.yaml
$ kubectl get po [pod_name] -o yaml --export > pod.yaml
```
### 获取帮助
```bash
$ kubectl -h
$ kubectl create -h
$ kubectl run -h
$ kubectl explain deploy.spec
```
请求
---
### API调用
```bash
$ kubectl get --raw /apis/metrics.k8s.io/
```
### 集群信息
```bash
$ kubectl config
$ kubectl cluster-info
$ kubectl get componentstatus
```
另见
---
- [Kubernetes 官方文档 命令行工具 (kubectl)](https://kubernetes.io/zh-cn/docs/reference/kubectl/) _(kubernetes.io)_

View File

@@ -201,7 +201,7 @@ export default Blog
- Next.js 在后台触发页面的重新生成 - Next.js 在后台触发页面的重新生成
- 一旦页面生成成功Next.js 将使缓存失效并显示更新后的页面。如果后台重新生成失败,旧页面仍将保持不变 - 一旦页面生成成功Next.js 将使缓存失效并显示更新后的页面。如果后台重新生成失败,旧页面仍将保持不变
### 使用 useeffect 客户端数据获取 ### 使用 useEffect 客户端数据获取
```jsx ```jsx
import { useState, useEffect } from 'react' import { useState, useEffect } from 'react'
@@ -399,7 +399,7 @@ const path = require('path')
module.exports = { module.exports = {
sassOptions: { sassOptions: {
includePaths: includePaths:
[path.join(__dirname, 'styles')], [path.join(__dirname, 'styles')],
}, },
} }
@@ -1336,7 +1336,7 @@ NEXT_PUBLIC_ANALYTICS_ID=abcdefghijk
// pages/index.js // pages/index.js
import setupAnalyticsService from '../lib/my-analytics-service' import setupAnalyticsService from '../lib/my-analytics-service'
// //
// 它将在构建时转换为 `setupAnalyticsService('abcdefghijk')` // 它将在构建时转换为 `setupAnalyticsService('abcdefghijk')`
setupAnalyticsService(process.env.NEXT_PUBLIC_ANALYTICS_ID) setupAnalyticsService(process.env.NEXT_PUBLIC_ANALYTICS_ID)
@@ -1528,11 +1528,11 @@ export default function Home() {
```js ```js
// GET `/post` (empty object) // GET `/post` (empty object)
{ } { }
// `GET /post/a` (single-element array) // `GET /post/a` (single-element array)
{ "slug": ["a"] } { "slug": ["a"] }
// `GET /post/a/b` (multi-element array) // `GET /post/a/b` (multi-element array)
{ "slug": ["a", "b"] } { "slug": ["a", "b"] }
``` ```
### 事件执行调整页面 ### 事件执行调整页面

248
docs/ps.md Normal file
View File

@@ -0,0 +1,248 @@
ps 备忘清单
===
Linux 为我们提供了一个名为 `ps` 的实用程序,用于查看与系统上的进程相关的信息,它是 `Process Status` 的缩写
这份 `ps` 命令备忘清单的快速参考列表,包含常用选项和示例。
入门
---
### 语法
<!--rehype:wrap-class=row-span-4-->
```bash
$ ps [options]
```
命令运行示例,列出当前 shell 中的所有进程:
```bash
$ ps
PID TTY TIME CMD
12330 pts/0 00:00:00 bash
21621 pts/0 00:00:00 ps
```
---
:-- | --
:-- | --
`PID` | 唯一的进程 ID
`TTY` | 用户登录的终端类型
`TIME` | 进程运行的 CPU 数量,以分钟和秒为单位
`CMD` | 启动进程的命令的名称
注意:有时当我们执行 `ps` 命令时,它显示 `TIME``00:00:00`
---
ps 命令支持 3 种使用语法风格
- `Unix` 可以分组并以连字符开头
- `BSD` 可以分组但前面没有连字符
- `GNU` 长选项,前面有双连字符
### 示例
<!--rehype:wrap-class=row-span-3-->
Option | Function
:-- | --
`ps -ef / -aux` | 以完整格式列出当前正在运行的进程
`ps -ax` | 列出当前正在运行的进程
`ps -u <username>` | 列出特定用户的进程
`ps -C <command>` | 列出给定命令的进程
`ps -p <PID>` | 列出具有给定 PID 的进程
`ps -ppid <PPID>` | 列出具有给定 ppid 的进程
`pstree` | 在层次结构中显示过程
`ps -L` | 列出特定进程的所有线程
`ps --sort pmem` | 查找内存泄漏
`ps -eo` | 显示安全信息
`ps T` | 允许您仅选择与此终端关联的所有进程
`ps -U root -u root u` | 显示由 root 运行的进程
<!--rehype:className=code-nowrap-->
### 查看系统上的每个进程
要使用标准语法查看系统上的每个进程:
```bash
$ ps -e # 列出所有进程
$ ps -ef
$ ps -eF
$ ps -ely
```
要使用 BSD 语法查看系统上的每个进程:
```bash
$ ps ax # 以 BSD 格式列出所有进程
$ ps axu
```
### 打印进程树
```bash
$ ps -ejH
$ ps axjf
```
### 仅打印 PID 42 的名称
```bash
$ ps -q 42 -o comm=
```
### 获取有关线程的信息
```bash
$ ps -eLf
$ ps axms
```
### 列出当前用户拥有的所有进程
```bash
$ ps x
```
### 获取安全信息
<!--rehype:wrap-class=col-span-2-->
```bash
$ ps -eo euser,ruser,suser,fuser,f,comm,label
$ ps axZ
$ ps -eM
```
### 查看以 root 身份运行的每个进程
查看以 root 身份运行的每个进程(真实且有效的 ID用户格式
```bash
$ ps -U root -u root u
```
### 查看具有用户定义格式的每个进程
<!--rehype:wrap-class=col-span-2-->
```bash
$ ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
$ ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
$ ps -Ao pid,tt,user,fname,tmout,f,wchan
```
### 仅打印 syslogd 的进程 ID
```bash
$ ps -C syslogd -o pid=
```
### 显示面向用户的格式
<!--rehype:wrap-class=col-span-2 row-span-2-->
```bash
$ ps u
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
refs 11400 1.1 0.0 34853544 5816 s025 Ss Tue02PM 0:02.82 /bin/zsh --login
refs 34561 0.6 0.0 34822644 3152 s016 S+ 14Dec22 115:59.28 zsh (figterm)
refs 21377 0.5 0.0 34973972 7076 s028 S+ Wed09AM 4:32.19 zsh (figterm)
refs 78881 0.5 0.0 34843484 3256 s015 S+ 17Dec22 90:27.10 zsh (figterm)
```
### 列出具有完整格式的进程
```bash
$ ps f
$ ps -F
```
### 显示虚拟内存格式
```bash
$ ps v
```
### 按有效用户 ID 或名称显示进程
```bash
$ ps -u user[name or id]
# OR
$ ps --user user[name or id]
$ ps -u root
```
按**真实**用户 ID 或名称显示进程
```bash
$ ps -U user[name or id]
# OR
$ ps --User user[name or id]
```
### 按实际组 ID 或名称显示进程
```bash
$ ps -G group[name or id]
# OR
$ ps --Group group[name or id]
```
### 隐藏 ps 命令输出的标题
```bash
$ ps h
PID TT STAT TIME COMMAND
33790 s000 S+ 104:10.45 zsh (figterm)
33800 s001 Ss+ 0:02.76 /bin/zsh --login
77830 s002 S+ 90:22.51 zsh (figterm)
77840 s003 Ss 0:00.66 /bin/zsh --login
```
### 显示命令后的环境
```bash
$ ps e
PID TTY STAT TIME COMMAND
886 tty2 Ssl+ 0:00 /usr/li....
```
### 重复 ps 命令输出的标题行
```bash
$ ps --headers -A
PID TTY TIME CMD
1 ? 00:00:01 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 rcu_gp
```
### 显示进程树
```bash
$ ps --forest -A
PID TTY TIME CMD
2 ? 00:00:00 kthreadd
3 ? 00:00:00 \_ rcu_gp
4 ? 00:00:00 \_ rcu_par_gp
960 ? 00:00:00 \_ goa-identity-se
1118 ? 00:00:00 \_ at-spi-bus-laun
1124 ? 00:00:00 | \_ dbus-daemon
```
您可以使用 -H 选项打印进程层次结构
```bash
$ ps -H -A
PID TTY TIME CMD
2 ? 00:00:00 kthreadd
3 ? 00:00:00 rcu_gp
1832 ? 00:00:37 gnome-terminal-
1840 pts/0 00:00:00 bash
1925 pts/1 00:00:00 bash
2867 pts/1 00:00:00 su
2868 pts/1 00:00:00 bash
```

View File

@@ -152,7 +152,7 @@ message += "Part 2."
'10 + 10 = 20' '10 + 10 = 20'
``` ```
查看: [Python F-Strings](#f-字符串(Python 3.6+)) 查看: [Python F-Strings](#python-f-字符串自-python-36-起)
Python 数据类型 Python 数据类型
--------------- ---------------
@@ -489,7 +489,7 @@ Python F 字符串(自 Python 3.6+ 起)
'text ' 'text '
>>> f'{"test":*>10}' # 向左填充 >>> f'{"test":*>10}' # 向左填充
'******test' '******test'
>>> f'{"test":*<10}' # 填写正确 >>> f'{"test":*<10}' # 向右填充
'test******' 'test******'
>>> f'{"test":*^10}' # 填充中心 >>> f'{"test":*^10}' # 填充中心
'***test***' '***test***'
@@ -649,7 +649,7 @@ a_list[start:end:step]
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster'] ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
``` ```
#### 迈着大步 #### 跳跃索引
```python ```python
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster'] ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
@@ -678,7 +678,7 @@ a_list[start:end:step]
['butter'] ['butter']
``` ```
### 使用权 ### 列表边界
```python ```python
>>> li = ['a', 'b', 'c', 'd'] >>> li = ['a', 'b', 'c', 'd']

View File

@@ -297,7 +297,7 @@ RegEX 备忘清单
范例 | 说明 范例 | 说明
:-|- :-|-
`colou?r` | 匹配 <yel>color</yel><yel>color</yel> `colou?r` | 匹配 <yel>color</yel><yel>colour</yel>
`[BW]ill[ieamy's]*` | 匹配 <yel>Bill</yel><yel>Willy</yel><yel>William's</yel> 等。 `[BW]ill[ieamy's]*` | 匹配 <yel>Bill</yel><yel>Willy</yel><yel>William's</yel> 等。
`[a-zA-Z]+` | 匹配 1 个或多个字母 `[a-zA-Z]+` | 匹配 1 个或多个字母
`\d{3}-\d{2}-\d{4}` | 匹配 SSN `\d{3}-\d{2}-\d{4}` | 匹配 SSN
@@ -615,7 +615,7 @@ M(?(?=.*?\bher\b)s|r)\.
表达式 | 匹配示例 表达式 | 匹配示例
:- | - :- | -
`The` | The `fat` cat sat on the mat. `The` | `The` fat cat sat on the mat.
`/The/gi` | `The` fat cat sat on `the` mat. `/The/gi` | `The` fat cat sat on `the` mat.
<!--rehype:className=show-header--> <!--rehype:className=show-header-->

View File

@@ -180,7 +180,7 @@ let p = Point { x: 10, y: 11 };
let px: i32 = p.x; let px: i32 = p.x;
``` ```
#### 元结构体 #### 元结构体
```rust ```rust
struct Color (i32, i32, i32); struct Color (i32, i32, i32);

View File

@@ -1,6 +1,6 @@
{ {
"name": "@wcj/reference", "name": "@wcj/reference",
"version": "1.34.0", "version": "1.36.0",
"description": "为开发人员分享快速参考备忘单(主要是方便自己)。", "description": "为开发人员分享快速参考备忘单(主要是方便自己)。",
"author": "jaywcjlove", "author": "jaywcjlove",
"license": "MIT", "license": "MIT",
@@ -30,9 +30,9 @@
"husky": "^8.0.1", "husky": "^8.0.1",
"lint-staged": "^13.0.3", "lint-staged": "^13.0.3",
"prettier": "^2.7.1", "prettier": "^2.7.1",
"refs-cli": "^1.2.12", "refs-cli": "^1.3.2",
"markdownlint": "^0.26.2", "markdownlint": "^0.27.0",
"markdownlint-cli": "^0.32.2" "markdownlint-cli": "^0.33.0"
}, },
"engines": { "engines": {
"node": ">=16.0.0" "node": ">=16.0.0"