1 Star 0 Fork 0

AfterGlowShadow / AfterGlowShadow

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
atom.xml 73.42 KB
一键复制 编辑 原始数据 按行查看 历史
AfterGlowShadow 提交于 2022-02-09 17:06 . Site updated: 2022-02-09 17:06:40
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>余晖残影</title>
<subtitle>秋风扫落叶 余晖映残影</subtitle>
<link href="/AfterGlowShadow/atom.xml" rel="self"/>
<link href="http://afterglowshadow.gitee.io/AfterGlowShadow/"/>
<updated>2022-01-22T09:16:51.894Z</updated>
<id>http://afterglowshadow.gitee.io/AfterGlowShadow/</id>
<author>
<name>Shadow</name>
</author>
<generator uri="https://hexo.io/">Hexo</generator>
<entry>
<title>vim跳转命令</title>
<link href="http://afterglowshadow.gitee.io/AfterGlowShadow/2022/01/22/vimjumpcommand/"/>
<id>http://afterglowshadow.gitee.io/AfterGlowShadow/2022/01/22/vimjumpcommand/</id>
<published>2022-01-22T09:16:51.894Z</published>
<updated>2022-01-22T09:16:51.894Z</updated>
<content type="html"><![CDATA[<h2 id="常规移动-上下左右"><a href="#常规移动-上下左右" class="headerlink" title="常规移动[上下左右]"></a>常规移动[上下左右]</h2><p>hjkl 这是代替箭头键功能的<br>H M L 跳到屏幕的顶上 中间 下方</p><p>w 跳到下一个单词的开始<br>e 跳到单词的结束<br>b 向后跳</p><p>gg 跳到文件的开始<br>G 跳到文件的结束<br>10gg 或10G 跳到第10行</p><p>另外看文件时 除了pageup pagedown外还有其它的快速键<br>如CTRL-F 向前一页 CTRL-B 向后一页</p><p>CTRL-D 向下半页 CTRL-U 向上半页我觉得更实用 这样看文章时就不会跳转出错<br>另外还有<br>CTRL-E 向下一行<br>CTRL-Y 向上一行</p><p>^ 行首<br>$行尾<br>0 第一个字符</p><p>另外还有ctrl-t ctrl-i ctrl-]<br>如果已经使用了ctags 或是cscope创建索引文件的话 那看代码时很是方便[ctags需要单独设置,在使用前必须检索一遍才能用]</p><p>跳转到函数、变量定义处:[ctags]<br>[+ctrl+i 跳转到函数、变量和#define<br>[+ctrl+d 跳转到#define处<br>ctrl+i 向前跳到前几次光标位置<br>ctrl+o 向后跳到后几次光标位置</p><p>函数体跳转:<br>[[<br>]]<br>[]<br>][<br>{}</p><details> <summary>函数体示例</summary> 如何选中括号中的内容 进行: 将光标移至括号内,按shift+v进入行选模式,然后 i{ - 选小括号中内容,不包括小括号 a{ - 选小括号中内容,包括小括号 ib - 选中括号中内容,不包括括号 ab - 选中括号中内容,包括括号 i{ - 选大括号中内容,不包括大括号 a{ - 选大括号中内容,包括大括号</details><p>下面还有些相关的tips,未全部验证:<br>vi{ 选中{}中间的内容,不包括{}<br>va{ 选中{}中间内容,包括{}<br>vi( 选中()中间内容<br>vi&lt; 选中&lt;&gt;中间内容<br>vi[ 选中[]中间内容<br>vit 选中中间的内容<br>vi” 选中””中间内容<br>vi’ 选中”中间的内容<br>vis 选中一个句子<br>vib 选中一个block<br>viw选中一个单词<br>vip 选中一个段落</p><p>gg光标定位到第一行开头,G定位到最后一行开头<br>H光标跳到当前窗口显示文本的第一行<br>M光标跳到当前窗口显示文本的中间一行<br>L光标跳到当前窗口显示文本的最后一行<br>g*查找包含当前单词的所有单词(*只查找与当前单词精确匹配的单词),<br>-d光标下跳半屏,文本上滚半屏<br>-u光标上跳半屏,文本下滚半屏<br>-e文本向上滚动一行<br>zz屏幕滚动使得当前行成为屏幕的中间一行</p><ul><li>跳到下一个不同之处<br>:]c</li></ul><p>*跳到上一个不同之处<br>:[c</p><p>*不论何种情况下-o都可以上一次跳转的地方</p><p>*查看变量和函数的申明<br>[i</p><h2 id="查找并跳转"><a href="#查找并跳转" class="headerlink" title="查找并跳转"></a>查找并跳转</h2><p>ta 跳到下一个a 前面<br>fa 跳到下一个a<br>大写的意思相反</p><p>另外上面也作为vim其它命令的定位符 如删除d<br>dt)<br>一直删除到这行的)</p><p>另外还有%(跳到文件的%多少) 和|(跳到第几列) 不过我很少用</p><h2 id="vim文件跳转"><a href="#vim文件跳转" class="headerlink" title="vim文件跳转"></a>vim文件跳转</h2><p>如果使用vim 打开了多个文件 ,如vim file1 file2 … fileN<br>可以通过<br>:n 或 :prev来跳转 到前一个或者后一个文件<br>还可以通过<br>:first或:last来跳转到第一个和最后一个文件</p><p>如果你只打开一个文件,如vim file1<br>然后在使用过程中,通过<br>:e file2编辑了第二个文件,这时, :prev是不起作用的<br>可以用<br>:e#返回上一个编辑的文件</p><p>无论哪两种方式都可以用<br>:bN跳转到打开的第N个文件<br>如:b1跳转到第一个打开的文件</p><h2 id="其他方法"><a href="#其他方法" class="headerlink" title="其他方法"></a>其他方法</h2><p>在normal模式下光标停在某个字符上ga可以查看该字符的ascii码<br>#复制删除粘贴的操作:按V(shift+v),进入可视模式,jk上下选择需要的行,然后按<br>y 复制<br>d 删除<br>x 剪切<br>p 粘贴<br>可视模式很好用,例如想把两行的所有单词变成小写,按V然后按j或k选中这两行,按gu即可<br>#折叠或展开(在折叠的那一行左右移动光标也可展开折叠)<br>#删除光标所在行所处的范围的折叠<br>#展开折叠:zo<br>#折叠:zc<br>#不在单词中间断行。 设置了这个选项后, 如果一行文字非常长, 无法在一行内显示完的话,<br>它会在单词与单词间的空白处断开, 尽量不会把一个单词分成两截放在两个不同的行里。<br>set lbr<br>#sw是shiftwidth的缩写,表缩进列数<br>fx把光标移动到该行的下个x字符上,这个x也可以是一个汉字,;重复fx操作。Fx把光标移动到该行的上一个x字符上。</p><p>normal模式下按J删除此行末尾的换行符,从而合并两行<br>:ab myname william_djj<br>以后再编辑时键入myname,然后空格或回车myname串就会被william_djj代替<br>:r !date<br>在当前位置插入系统时间(linux下的date命令),同理当前位置插入某文件的内容就是<br>:r filename<br>:set ignorecase<br>查找时取消case sensitive<br>:set noignorecase<br>查找时case sensitive<br>############ 使用tags ###################<br>以下命令递归当前目录下的所有文件创建tags文件<br>ctags -R .<br>vim打开当前目录下的任意一文件,命令模式下键入下面语句以指定刚才创建的tags的位置,以后就可以在不同文件间查阅函数<br>set tags=..\tags<br>#分割窗口显示当前函数的定义<br>-w ]<br>##########################################<br>如果插件目录下有echofunc.vim,用以下命令生成tags,以后编辑代码函数名后打“(“时有参数提示。<br>$ ctags -R –fields=+lS .<br>:Tlist打开左边一个taglist的窗口,显示symbols。要注意的是在windows下如果tags文件路径中有空格或中文会报找不到tags文件的错误,<br>+w+w 或者+w+left/right 窗口切换<br>+] 进入光标所指的symbol的定义(如果用鼠标也是+鼠标左键,跟SI的用法一样)<br>+t 返回第一个用+t 跳转位置,注意+o是跳回上一个视图,而+t是跳回上一次按+]的位置<br>#以下命令分裂出一个窗口显示定义处<br>ptag 函数名<br>#以下命令关闭刚才打开的分裂窗口<br>pclose</p><p>#垂直分裂窗口打开一文件<br>vsplit 文件名</p><p>#水平分裂窗口打开一文件<br>split 文件名<br>变量名写成\name表示匹配模式<br>停在某个括号上按%,跳到匹配的括号处,#if跳到匹配的#else或#endif处<br>set fdm=syntax折叠函数体<br>双击]往后逐个函数跳读,双击[往前逐个函数跳读</p><p>#解决乱码<br>set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1</p><p>#在vim下对比两个文件,原来打开了fnpro.c,现在和fnpro.c.bak对比</p><p>#垂直分割<br>:vert diffsplit fnpro.c.bak</p><p>#水平分割<br>:diffsplit fnpro.c.bak</p><p>#重新对文件代码进行缩进<br>gg=G</p><p>. 相对行号<br>:set relativenumber</p>]]></content>
<summary type="html">
vim文件内常用跳转命令
</summary>
<category term="工具" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/categories/%E5%B7%A5%E5%85%B7/"/>
<category term="vim" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/categories/%E5%B7%A5%E5%85%B7/vim/"/>
<category term="vim" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/tags/vim/"/>
</entry>
<entry>
<title>定时任务</title>
<link href="http://afterglowshadow.gitee.io/AfterGlowShadow/2022/01/22/linuxtimetasks/"/>
<id>http://afterglowshadow.gitee.io/AfterGlowShadow/2022/01/22/linuxtimetasks/</id>
<published>2022-01-22T09:16:51.893Z</published>
<updated>2022-01-22T09:16:51.893Z</updated>
<content type="html"><![CDATA[<p>​crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设 定自己的时程表。</p><h2 id="纯linux定时任务"><a href="#纯linux定时任务" class="headerlink" title="纯linux定时任务"></a>纯linux定时任务</h2><h3 id="常用参数"><a href="#常用参数" class="headerlink" title="常用参数"></a>常用参数</h3><p>​crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数 来指定使用那个文字编辑器(比如说 setenv VISUAL joe)<br>crontab -r : 删除目前的时程表<br>crontab -l : 列出目前的时程表<br>crontab file [-u user]-用指定的文件替代目前的crontab。<br>crontab file [-u user]-用指定的文件替代目前的crontab。<br>crontab-[-u user]-用标准输入替代目前的crontab.<br>crontab-1[user]-列出用户目前的crontab.<br>crontab-e[user]-编辑用户目前的crontab.<br>crontab-d[user]-删除用户目前的crontab.<br>crontab-c dir- 指定crontab的目录。</p><h3 id="Crontab编辑内容格式"><a href="#Crontab编辑内容格式" class="headerlink" title="Crontab编辑内容格式"></a>Crontab编辑内容格式</h3><p><img src="http://note.youdao.com/yws/res/335/OFFICE9A2C49ED2B1B4AC6B9286CE505AE9FBD" alt="img"></p><table><thead><tr><th>代表意义</th><th>分钟</th><th>小时</th><th>日期</th><th>月份</th><th>周</th><th>命令</th></tr></thead><tbody><tr><td>数字范围</td><td>0~59</td><td>0~23</td><td>1~31</td><td>1~12</td><td>0~7</td><td>就命令啊</td></tr></tbody></table><p>crontab文件的格式:M H D m d cmd.<br>M: 分钟(0-59)。<br>H:小时(0-23)。<br>D:天(1-31)。<br>m: 月(1-12)。<br>d: 一星期内的天(0~6,0为星期天)。<br>*  *  *  *  *  command<br>分  时  日  月  周  命令<br>第1列表示分钟1~59 每分钟用*或者 */1表示<br>第2列表示小时1~23(0表示0点)<br>第3列表示日期1~31<br>第4列表示月份1~12<br>第5列标识号星期0~6(0表示星期天)</p><h3 id="特殊字符"><a href="#特殊字符" class="headerlink" title="特殊字符:"></a>特殊字符:</h3><p>星号(<em>):代表每的意思,例如month字段如果是星号,则表示每月都执行该命令操作。<br>逗号(,):表示分隔时段的意思,例如,“1,3,5,7,9”。<br>中杠(-):表示一个时间范围,例如“2-6”表示“2,3,4,5,6”。<br>正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如</em>/10,如果用在minute字段,表示每十分钟执行一次。</p><h3 id="设置大体流程"><a href="#设置大体流程" class="headerlink" title="设置大体流程"></a>设置大体流程</h3><p>1、使用xshell 登录linux 服务器</p><ol><li>输入以下命令。查看已有的定时任务<br>crontab -l</li><li> 输入 以下命令,进入定时任务文件<br>crontab -e<br><img src="http://note.youdao.com/yws/res/336/OFFICE3A884FD6E34941478B3D5B44148BF00E" alt="img"></li><li>esc 键退出 :wq 保存并退出<br>举例: 写一个每隔 五分钟 执行的文件</li><li>*/5 * * * * /usr/local/php/bin/php /home/wwwroot/default/push.php<br>/usr/local/php/bin/php : PHP 的安装路径<br>/home/wwwroot/default/push.php 需要执行的脚本文件</li><li>查看结果 命令<br>crontab -l<br><img src="http://note.youdao.com/yws/res/337/OFFICE81C2BB2509944CD28D1796456082B618" alt="img"><br>至此,每次开机自启的定时任务设置完毕</li></ol><h3 id="简单示例:"><a href="#简单示例:" class="headerlink" title="简单示例:"></a>简单示例:</h3><ol><li>30 21 * * * /usr/local/etc/rc.d/lighttpd restart //上面的例子表示每晚的21:30重启apache。</li><li> 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart //上面的例子表示每月1、10、22日的4 : 45重启apache。</li><li>10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart //上面的例子表示每周六、周日的1 : 10重启apache。</li><li>0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart //上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache</li><li>0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart //上面的例子表示每星期六的11 : 00 pm重启apache。</li><li>0 */1 * * * /usr/local/etc/rc.d/lighttpd restart //每一小时重启apache </li><li>0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart //晚上11点到早上7点之间,每隔一小时重启apache </li><li>0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart //每月的4号与每周一到周三的11点重启apache </li><li>0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart //一月一号的4点重启apache </li></ol><h3 id="线上测试网址"><a href="#线上测试网址" class="headerlink" title="线上测试网址"></a>线上测试网址</h3><p><a href="https://www.box3.cn/page/crontab.html">https://www.box3.cn/page/crontab.html</a></p><h3 id="其他相关常用命令"><a href="#其他相关常用命令" class="headerlink" title="其他相关常用命令"></a>其他相关常用命令</h3><ol><li>检查是否安装了crontab,如果提示未安装请自行安装,crontab安装包在系统光盘里面的pacekage文件夹crontabs安装包。<br>rpm -qa | grep crontab</li><li>crontab服务启动与关闭。<br>/etc/init.d/crond stop –关闭服务<br>/etc/init.d/crond start –启动服务<br>/etc/init.d/crond restart –重启服务<br>/etc/init.d/crond reload –重新载入配置</li><li>crontab在/etc目录下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五个目录和crontab,cron.deny二个文件。<br>cron.daily是每天执行一次的job<br>cron.weekly是每个星期执行一次的job<br>cron.monthly是每月执行一次的job<br>cron.hourly是每个小时执行一次的job<br>cron.d是系统自动定期需要做的任务<br>crontab是设定定时任务执行文件<br>cron.deny文件就是用于控制不让哪些用户使用Crontab的功能</li><li>用户配置文件:<br>每个用户都有自己的cron配置文件,通过crontab -e 就可以编辑,一般情况下我们编辑好用户的cron配置文件保存退出后,系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名.linux的cron服务是每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面</li></ol>]]></content>
<summary type="html">
Linux 定时任务记录
</summary>
<category term="系统" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/categories/%E7%B3%BB%E7%BB%9F/"/>
<category term="linux" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/categories/%E7%B3%BB%E7%BB%9F/linux/"/>
<category term="linux" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/tags/linux/"/>
<category term="系统" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/tags/%E7%B3%BB%E7%BB%9F/"/>
<category term="windows" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/tags/windows/"/>
</entry>
<entry>
<title>php常用代码段</title>
<link href="http://afterglowshadow.gitee.io/AfterGlowShadow/2022/01/22/phpnote/"/>
<id>http://afterglowshadow.gitee.io/AfterGlowShadow/2022/01/22/phpnote/</id>
<published>2022-01-22T09:16:51.893Z</published>
<updated>2022-01-22T09:16:51.894Z</updated>
<content type="html"><![CDATA[<h2 id="PHP常用代码段记录"><a href="#PHP常用代码段记录" class="headerlink" title="PHP常用代码段记录"></a>PHP常用代码段记录</h2><h3 id="url封装请求-包含post-get等格式"><a href="#url封装请求-包含post-get等格式" class="headerlink" title="url封装请求(包含post,get等格式)"></a>url封装请求(包含post,get等格式)</h3><pre class="line-numbers language-php" data-language="php"><code class="language-php"><span class="token keyword">function</span> <span class="token function-definition function">MyCurl</span><span class="token punctuation">(</span><span class="token variable">$url</span><span class="token punctuation">,</span><span class="token variable">$data</span><span class="token punctuation">,</span><span class="token variable">$method</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'GET'</span><span class="token punctuation">,</span><span class="token variable">$type</span><span class="token operator">=</span><span class="token string single-quoted-string">'json'</span><span class="token punctuation">,</span><span class="token variable">$headers</span><span class="token operator">=</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">&#123;</span> <span class="token keyword">try</span><span class="token punctuation">&#123;</span> <span class="token comment">//初始化</span> <span class="token variable">$ch</span> <span class="token operator">=</span> <span class="token function">curl_init</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$headers</span><span class="token punctuation">[</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"cache-control: no-cache"</span><span class="token punctuation">;</span> <span class="token variable">$contentType</span> <span class="token operator">=</span> <span class="token punctuation">[</span> <span class="token string single-quoted-string">'form-data'</span> <span class="token operator">=></span> <span class="token string single-quoted-string">'Content-Type: multipart/form-data'</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'json'</span> <span class="token operator">=></span> <span class="token string single-quoted-string">'Content-Type: application/json'</span><span class="token punctuation">,</span> <span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token variable">$method</span> <span class="token operator">==</span> <span class="token string single-quoted-string">'GET'</span><span class="token punctuation">)</span><span class="token punctuation">&#123;</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token variable">$data</span><span class="token punctuation">)</span><span class="token punctuation">&#123;</span> <span class="token variable">$querystring</span> <span class="token operator">=</span> <span class="token function">http_build_query</span><span class="token punctuation">(</span><span class="token variable">$data</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$url</span> <span class="token operator">=</span> <span class="token variable">$url</span><span class="token operator">.</span><span class="token string single-quoted-string">'?'</span><span class="token operator">.</span><span class="token variable">$querystring</span><span class="token punctuation">;</span> <span class="token punctuation">&#125;</span> <span class="token punctuation">&#125;</span> <span class="token variable">$headers</span><span class="token punctuation">[</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token variable">$contentType</span><span class="token punctuation">[</span><span class="token variable">$type</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token comment">// 请求头,可以传数组</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_URL</span><span class="token punctuation">,</span><span class="token variable">$url</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_HTTPHEADER</span><span class="token punctuation">,</span><span class="token variable">$headers</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_HEADER</span><span class="token punctuation">,</span> <span class="token constant boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_RETURNTRANSFER</span><span class="token punctuation">,</span> <span class="token constant boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 执行后不直接打印出来</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token variable">$method</span> <span class="token operator">==</span> <span class="token string single-quoted-string">'POST'</span><span class="token punctuation">)</span><span class="token punctuation">&#123;</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token variable">$type</span><span class="token operator">==</span><span class="token string single-quoted-string">'json'</span><span class="token punctuation">)</span><span class="token punctuation">&#123;</span> <span class="token variable">$data</span> <span class="token operator">=</span> <span class="token function">json_encode</span><span class="token punctuation">(</span><span class="token variable">$data</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">&#125;</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_CUSTOMREQUEST</span><span class="token punctuation">,</span><span class="token string single-quoted-string">'POST'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 请求方式</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_POST</span><span class="token punctuation">,</span> <span class="token constant boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// post提交</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_POSTFIELDS</span><span class="token punctuation">,</span><span class="token variable">$data</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// post的变量</span> <span class="token punctuation">&#125;</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token variable">$method</span> <span class="token operator">==</span> <span class="token string single-quoted-string">'PUT'</span><span class="token punctuation">)</span><span class="token punctuation">&#123;</span> <span class="token function">curl_setopt</span> <span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_CUSTOMREQUEST</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"PUT"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_POSTFIELDS</span><span class="token punctuation">,</span><span class="token variable">$data</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">&#125;</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token variable">$method</span> <span class="token operator">==</span> <span class="token string single-quoted-string">'DELETE'</span><span class="token punctuation">)</span><span class="token punctuation">&#123;</span> <span class="token function">curl_setopt</span> <span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_CUSTOMREQUEST</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"DELETE"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_POSTFIELDS</span><span class="token punctuation">,</span><span class="token variable">$data</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">&#125;</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_TIMEOUT</span><span class="token punctuation">,</span> <span class="token number">1000</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 最大执行时间</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_HTTP_VERSION</span><span class="token punctuation">,</span> <span class="token constant">CURL_HTTP_VERSION_1_1</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 最大执行时间</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_SSL_VERIFYPEER</span><span class="token punctuation">,</span> <span class="token constant boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 跳过证书检查</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_SSL_VERIFYHOST</span><span class="token punctuation">,</span> <span class="token constant boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 不从证书中检查SSL加密算法是否存在</span> <span class="token function">curl_setopt</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">,</span> <span class="token constant">CURLOPT_SSLVERSION</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token comment">// curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'SSLv3');</span> <span class="token variable">$output</span> <span class="token operator">=</span> <span class="token function">curl_exec</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//执行并获取HTML文档内容</span> <span class="token variable">$err</span> <span class="token operator">=</span> <span class="token function">curl_error</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token variable">$err</span><span class="token punctuation">)</span><span class="token punctuation">&#123;</span> <span class="token keyword">return</span> <span class="token string double-quoted-string">""</span><span class="token punctuation">;</span> <span class="token keyword">exit</span><span class="token punctuation">;</span> <span class="token punctuation">&#125;</span> <span class="token function">curl_close</span><span class="token punctuation">(</span><span class="token variable">$ch</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//释放curl句柄</span> <span class="token keyword">return</span> <span class="token variable">$output</span><span class="token punctuation">;</span> <span class="token punctuation">&#125;</span><span class="token keyword">catch</span> <span class="token punctuation">(</span><span class="token class-name class-name-fully-qualified"><span class="token punctuation">\</span>Exception</span> <span class="token variable">$e</span><span class="token punctuation">)</span><span class="token punctuation">&#123;</span> <span class="token keyword">return</span> <span class="token constant boolean">false</span><span class="token punctuation">;</span> <span class="token punctuation">&#125;</span><span class="token punctuation">&#125;</span><span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h3 id="base64图片转文件"><a href="#base64图片转文件" class="headerlink" title="base64图片转文件"></a>base64图片转文件</h3><pre class="line-numbers language-php" data-language="php"><code class="language-php"><span class="token keyword">function</span> <span class="token function-definition function">base64_img</span><span class="token punctuation">(</span><span class="token variable">$base64url</span><span class="token punctuation">,</span><span class="token variable">$bool</span> <span class="token operator">=</span> <span class="token constant boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">&#123;</span> <span class="token comment">//匹配出图片的格式</span> <span class="token variable">$base64url</span> <span class="token operator">=</span> <span class="token function">str_replace</span> <span class="token punctuation">(</span><span class="token string single-quoted-string">' '</span> <span class="token punctuation">,</span> <span class="token string single-quoted-string">'+'</span> <span class="token punctuation">,</span> <span class="token variable">$base64url</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token function">preg_match</span> <span class="token punctuation">(</span><span class="token string single-quoted-string">'/^(data:\s*image\/(\w+);base64,)/'</span> <span class="token punctuation">,</span> <span class="token variable">$base64url</span> <span class="token punctuation">,</span> <span class="token variable">$result</span><span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">&#123;</span> <span class="token variable">$type</span> <span class="token operator">=</span> <span class="token variable">$result</span><span class="token punctuation">[</span> <span class="token number">2</span> <span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token variable">$new_file</span> <span class="token operator">=</span> <span class="token constant">ROOT_PATH</span> <span class="token operator">.</span> <span class="token string single-quoted-string">'public'</span> <span class="token operator">.</span> <span class="token constant">DS</span> <span class="token operator">.</span> <span class="token string single-quoted-string">'uploads/face/'</span> <span class="token operator">.</span> <span class="token function">date</span> <span class="token punctuation">(</span><span class="token string single-quoted-string">'Ymd'</span> <span class="token punctuation">,</span> <span class="token function">time</span> <span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"/"</span><span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token operator">!</span><span class="token function">file_exists</span> <span class="token punctuation">(</span><span class="token variable">$new_file</span><span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">&#123;</span> <span class="token comment">//检查是否有该文件夹,如果没有就创建,并给予最高权限</span> <span class="token function">mkdir</span> <span class="token punctuation">(</span><span class="token variable">$new_file</span> <span class="token punctuation">,</span> <span class="token number">0700</span><span class="token punctuation">,</span><span class="token constant boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">&#125;</span> <span class="token variable">$new</span> <span class="token operator">=</span> <span class="token function">md5</span> <span class="token punctuation">(</span><span class="token function">time</span> <span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">.</span><span class="token function">uuid</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$new_file</span> <span class="token operator">=</span> <span class="token variable">$new_file</span> <span class="token operator">.</span> <span class="token variable">$new</span> <span class="token operator">.</span> <span class="token string double-quoted-string">".<span class="token interpolation"><span class="token punctuation">&#123;</span><span class="token variable">$type</span><span class="token punctuation">&#125;</span></span>"</span><span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token function">file_put_contents</span> <span class="token punctuation">(</span><span class="token variable">$new_file</span> <span class="token punctuation">,</span> <span class="token function">base64_decode</span> <span class="token punctuation">(</span><span class="token function">str_replace</span> <span class="token punctuation">(</span><span class="token variable">$result</span><span class="token punctuation">[</span> <span class="token number">1</span> <span class="token punctuation">]</span> <span class="token punctuation">,</span> <span class="token string single-quoted-string">''</span> <span class="token punctuation">,</span> <span class="token variable">$base64url</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">&#123;</span> <span class="token comment">//压缩图片</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token variable">$bool</span> <span class="token operator">==</span> <span class="token constant boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">&#123;</span> <span class="token function">image_png_size_add</span> <span class="token punctuation">(</span><span class="token variable">$new_file</span> <span class="token punctuation">,</span> <span class="token variable">$new_file</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">//删除未压缩前图片</span> <span class="token punctuation">&#125;</span> <span class="token variable">$url</span> <span class="token operator">=</span> <span class="token function">http_type</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$file_name</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"/uploads/face/"</span> <span class="token operator">.</span> <span class="token function">date</span> <span class="token punctuation">(</span><span class="token string single-quoted-string">'Ymd'</span> <span class="token punctuation">,</span> <span class="token function">time</span> <span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"/"</span> <span class="token operator">.</span> <span class="token variable">$new</span> <span class="token operator">.</span> <span class="token string double-quoted-string">".<span class="token interpolation"><span class="token punctuation">&#123;</span><span class="token variable">$type</span><span class="token punctuation">&#125;</span></span>"</span><span class="token punctuation">;</span> <span class="token keyword">return</span> <span class="token punctuation">[</span><span class="token string single-quoted-string">'code'</span><span class="token operator">=></span><span class="token number">200</span><span class="token punctuation">,</span><span class="token string single-quoted-string">'msg'</span><span class="token operator">=></span><span class="token variable">$file_name</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token punctuation">&#125;</span> <span class="token keyword">else</span> <span class="token punctuation">&#123;</span> <span class="token keyword">return</span> <span class="token punctuation">[</span><span class="token string single-quoted-string">'code'</span><span class="token operator">=></span><span class="token number">100</span><span class="token punctuation">,</span><span class="token string single-quoted-string">'msg'</span><span class="token operator">=></span><span class="token string single-quoted-string">'图片不是base64格式!'</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token punctuation">&#125;</span> <span class="token punctuation">&#125;</span><span class="token punctuation">&#125;</span><span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h3 id="数组排序"><a href="#数组排序" class="headerlink" title="数组排序"></a>数组排序</h3><pre class="line-numbers language-php" data-language="php"><code class="language-php"><span class="token comment">/** * 对查询结果集进行排序,支持多维数组 * @param array $list 查询结果 * @param string $field 排序的字段名 * @param array $sortby 排序类型 * asc正向排序 desc逆向排序 nat自然排序 * @return array */</span><span class="token keyword">function</span> <span class="token function-definition function">list_sort</span><span class="token punctuation">(</span><span class="token variable">$list</span><span class="token punctuation">,</span><span class="token variable">$field</span><span class="token punctuation">,</span> <span class="token variable">$sortby</span><span class="token operator">=</span><span class="token string single-quoted-string">'asc'</span><span class="token punctuation">)</span> <span class="token punctuation">&#123;</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token function">is_array</span><span class="token punctuation">(</span><span class="token variable">$list</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">&#123;</span> <span class="token variable">$refer</span> <span class="token operator">=</span> <span class="token variable">$resultSet</span> <span class="token operator">=</span> <span class="token keyword">array</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">foreach</span> <span class="token punctuation">(</span><span class="token variable">$list</span> <span class="token keyword">as</span> <span class="token variable">$i</span> <span class="token operator">=></span> <span class="token variable">$data</span><span class="token punctuation">)</span> <span class="token variable">$refer</span><span class="token punctuation">[</span><span class="token variable">$i</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token operator">&amp;</span><span class="token variable">$data</span><span class="token punctuation">[</span><span class="token variable">$field</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">switch</span> <span class="token punctuation">(</span><span class="token variable">$sortby</span><span class="token punctuation">)</span> <span class="token punctuation">&#123;</span> <span class="token keyword">case</span> <span class="token string single-quoted-string">'asc'</span><span class="token punctuation">:</span> <span class="token comment">// 正向排序</span> <span class="token function">asort</span><span class="token punctuation">(</span><span class="token variable">$refer</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">break</span><span class="token punctuation">;</span> <span class="token keyword">case</span> <span class="token string single-quoted-string">'desc'</span><span class="token punctuation">:</span><span class="token comment">// 逆向排序</span> <span class="token function">arsort</span><span class="token punctuation">(</span><span class="token variable">$refer</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">break</span><span class="token punctuation">;</span> <span class="token keyword">case</span> <span class="token string single-quoted-string">'nat'</span><span class="token punctuation">:</span> <span class="token comment">// 自然排序</span> <span class="token function">natcasesort</span><span class="token punctuation">(</span><span class="token variable">$refer</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">break</span><span class="token punctuation">;</span> <span class="token punctuation">&#125;</span> <span class="token keyword">foreach</span> <span class="token punctuation">(</span> <span class="token variable">$refer</span> <span class="token keyword">as</span> <span class="token variable">$key</span><span class="token operator">=></span> <span class="token variable">$val</span><span class="token punctuation">)</span> <span class="token variable">$resultSet</span><span class="token punctuation">[</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token operator">&amp;</span><span class="token variable">$list</span><span class="token punctuation">[</span><span class="token variable">$key</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">return</span> <span class="token variable">$resultSet</span><span class="token punctuation">;</span> <span class="token punctuation">&#125;</span> <span class="token keyword">return</span> <span class="token constant boolean">false</span><span class="token punctuation">;</span><span class="token punctuation">&#125;</span><span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
<summary type="html">
PHP常用代码段记录
</summary>
<category term="语言" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/categories/%E8%AF%AD%E8%A8%80/"/>
<category term="php" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/categories/%E8%AF%AD%E8%A8%80/php/"/>
<category term="php" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/tags/php/"/>
</entry>
<entry>
<title>hexo</title>
<link href="http://afterglowshadow.gitee.io/AfterGlowShadow/2021/12/13/hexo/"/>
<id>http://afterglowshadow.gitee.io/AfterGlowShadow/2021/12/13/hexo/</id>
<published>2021-12-13T07:40:14.000Z</published>
<updated>2022-01-22T09:16:51.892Z</updated>
<summary type="html">
</summary>
</entry>
<entry>
<title>ArchLinux下基本配置</title>
<link href="http://afterglowshadow.gitee.io/AfterGlowShadow/2021/11/22/archsystemset/"/>
<id>http://afterglowshadow.gitee.io/AfterGlowShadow/2021/11/22/archsystemset/</id>
<published>2021-11-22T09:03:41.000Z</published>
<updated>2022-01-22T09:16:51.891Z</updated>
<content type="html"><![CDATA[<h1 id="ArchLinux下基本配置"><a href="#ArchLinux下基本配置" class="headerlink" title="ArchLinux下基本配置"></a>ArchLinux下基本配置</h1><h2 id="yay"><a href="#yay" class="headerlink" title="yay"></a>yay</h2><h3 id="1-先安装清华源-archlixcn"><a href="#1-先安装清华源-archlixcn" class="headerlink" title="1. 先安装清华源(archlixcn)"></a>1. 先安装清华源(archlixcn)</h3><p> 编辑 /etc/pacman.conf 文件,在此文件最后添加下面几行配置。(编辑此文件需要管理员权限即 sudo 命令)。</p><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">[archlinuxcn]Include &#x3D; &#x2F;etc&#x2F;pacman.d&#x2F;archlinuxcn-mirrorlist<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><h3 id="2-更新-archlinuxcn-库"><a href="#2-更新-archlinuxcn-库" class="headerlink" title="2. 更新 archlinuxcn 库"></a>2. 更新 archlinuxcn 库</h3><p>/etc/pacman.d/archlinuxcn-mirrorlist,所以我们现在就需要把相应的镜像站服务器信息填写进去。</p><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">Server &#x3D; http:&#x2F;&#x2F;mirrors.cqu.edu.cn&#x2F;archlinux&#x2F;$repo&#x2F;os&#x2F;$archServer &#x3D; http:&#x2F;&#x2F;mirrors.dgut.edu.cn&#x2F;archlinux&#x2F;$repo&#x2F;os&#x2F;$archServer &#x3D; http:&#x2F;&#x2F;mirrors.zju.edu.cn&#x2F;archlinux&#x2F;$repo&#x2F;os&#x2F;$archServer &#x3D; http:&#x2F;&#x2F;mirrors.ustc.edu.cn&#x2F;archlinux&#x2F;$repo&#x2F;os&#x2F;$archServer &#x3D; http:&#x2F;&#x2F;mirrors.tuna.tsinghua.edu.cn&#x2F;archlinux&#x2F;$repo&#x2F;os&#x2F;$archServer &#x3D; http:&#x2F;&#x2F;mirrors.bfsu.edu.cn&#x2F;archlinux&#x2F;$repo&#x2F;os&#x2F;$archServer &#x3D; http:&#x2F;&#x2F;mirror.lzu.edu.cn&#x2F;archlinux&#x2F;$repo&#x2F;os&#x2F;$arch<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h3 id="3-更新keying"><a href="#3-更新keying" class="headerlink" title="3. 更新keying"></a>3. 更新keying</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -S archlinuxcn-keyring<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="4-安装yay"><a href="#4-安装yay" class="headerlink" title="4. 安装yay"></a>4. 安装yay</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -Syysudo pacman -S yay<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><h2 id="oh-my-zsh"><a href="#oh-my-zsh" class="headerlink" title="oh-my-zsh"></a>oh-my-zsh</h2><p>参考文献:<a href="https://www.jianshu.com/p/17790d2fc2f6">https://www.jianshu.com/p/17790d2fc2f6</a></p><h3 id="1-安装"><a href="#1-安装" class="headerlink" title="1.安装"></a>1.安装</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -S zsh<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="2-配置"><a href="#2-配置" class="headerlink" title="2.配置"></a>2.配置</h3><p>oh-my-zsh安装方式有两种,下面选其中一种即可</p><h4 id="2-1-脚本一键自动安装-oh-my-zsh"><a href="#2-1-脚本一键自动安装-oh-my-zsh" class="headerlink" title="2.1 脚本一键自动安装 oh-my-zsh"></a>2.1 脚本一键自动安装 oh-my-zsh</h4><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sh -c &quot;$(curl -fsSL https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;ohmyzsh&#x2F;ohmyzsh&#x2F;master&#x2F;tools&#x2F;install.sh)&quot;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h4 id="1-2-手动安装-oh-my-zsh"><a href="#1-2-手动安装-oh-my-zsh" class="headerlink" title="1.2 手动安装 oh-my-zsh"></a>1.2 手动安装 oh-my-zsh</h4><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -S gitgit clone https:&#x2F;&#x2F;github.com&#x2F;skillf-qf&#x2F;ohmyzsh.gitcd .&#x2F;ohmyzsh&#x2F;tools&#x2F;.&#x2F;install.sh<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span></span></code></pre><h3 id="3-设置zsh为默认shell"><a href="#3-设置zsh为默认shell" class="headerlink" title="3. 设置zsh为默认shell"></a>3. 设置zsh为默认shell</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo chsh -s &#x2F;bin&#x2F;zsh skillf # skillf 为用户名<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="4-修改主题"><a href="#4-修改主题" class="headerlink" title="4. 修改主题"></a>4. 修改主题</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell"># &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;# 主题的设置文件在 : ~&#x2F;.zshrc# 主题的存放目录在 : ~&#x2F;.oh-my-zsh&#x2F;themes# 推荐主题 : ZSH_THEME&#x3D;&quot;ys&quot;# &#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;&#x3D;ZSH_THEME&#x3D;&quot;robbyrussel&quot; # 这是默认主题 robbyrussel ,更改别的主题只需替换这个名字即可。ZSH_THEME&#x3D;&quot;random&quot; # 如果一时之间找不到合适的,可以用:random 这里会随机获取主题。 echo $RANDOM_THEME # 然后使用 echo 命令读取当前主题,可以将喜欢的主题保存到 ZSH_THEME。<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h3 id="5-给history命令增加时间"><a href="#5-给history命令增加时间" class="headerlink" title="5. 给history命令增加时间"></a>5. 给history命令增加时间</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">vim ~&#x2F;.zshrcHIST_STAMPS&#x3D;&quot;yyyy-mm-dd&quot;source ~&#x2F;.zshrc<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span></span></code></pre><h3 id="6-更新oh-my-zsh"><a href="#6-更新oh-my-zsh" class="headerlink" title="6. 更新oh-my-zsh"></a>6. 更新oh-my-zsh</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell"># 设置自动更新oh-my-zsh : ~&#x2F;.zshrcDISABLE_UPDATE_PROMPT&#x3D;true# 加入需要手动更新upgrade_oh_my_zsh<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span></span></code></pre><h3 id="7-添加插件"><a href="#7-添加插件" class="headerlink" title="7. 添加插件"></a>7. 添加插件</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell"># 插件存放的目录 : ~&#x2F;.oh-my-zsh&#x2F;plugins# 添加插件 plugins&#x3D;(插件名) 默认启用git插件$ cd ~&#x2F;.oh-my-zsh&#x2F;plugins$ git clone https:&#x2F;&#x2F;github.com&#x2F;zsh-users&#x2F;zsh-syntax-highlighting$ git clone https:&#x2F;&#x2F;github.com&#x2F;zsh-users&#x2F;zsh-autosuggestions$ git clone https:&#x2F;&#x2F;github.com&#x2F;robbyrussell&#x2F;oh-my-zsh&#x2F;tree&#x2F;master&#x2F;plugins&#x2F;history-substring-search$ vim ~&#x2F;.zshrc# 找到 plugins&#x3D;(git) 并修改为以下内容plugins&#x3D;( git zsh-syntax-highlighting zsh-autosuggestions history-substring-search)<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h2 id="安装deb软件"><a href="#安装deb软件" class="headerlink" title="安装deb软件"></a>安装deb软件</h2><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">yay -S debtapsudo debtap -usudo debtap xxxx.debsudo pacman -U x.tar.xz<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span></span></code></pre><h2 id="安装声卡驱动"><a href="#安装声卡驱动" class="headerlink" title="安装声卡驱动"></a>安装声卡驱动</h2><h3 id="1-安装基本软件"><a href="#1-安装基本软件" class="headerlink" title="1. 安装基本软件"></a>1. 安装基本软件</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -S alsa-utils<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="2-编辑下alsa的服务-服务脚本有问题,不能由systemctl管理"><a href="#2-编辑下alsa的服务-服务脚本有问题,不能由systemctl管理" class="headerlink" title="2. 编辑下alsa的服务(服务脚本有问题,不能由systemctl管理)"></a>2. 编辑下alsa的服务(服务脚本有问题,不能由systemctl管理)</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell"># nano &#x2F;lib&#x2F;systemd&#x2F;system&#x2F;alsa-state.service<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="3-查看是否有”-Install-”-包含此字段"><a href="#3-查看是否有”-Install-”-包含此字段" class="headerlink" title="3. 查看是否有”[Install]”(包含此字段)"></a>3. 查看是否有”[Install]”(包含此字段)</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">[Install]WantedBy&#x3D;multi-user.target<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><h3 id="4-有的话就不用继续编辑了,没有的话在末尾加上上述字段,保存"><a href="#4-有的话就不用继续编辑了,没有的话在末尾加上上述字段,保存" class="headerlink" title="4. 有的话就不用继续编辑了,没有的话在末尾加上上述字段,保存"></a>4. 有的话就不用继续编辑了,没有的话在末尾加上上述字段,保存</h3><p>然后启动服务,并允许其开机自启动:</p><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell"># systemctl start alsa-state.service# systemctl enable alsa-state.service<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><h2 id="虚拟机-安装微信使用"><a href="#虚拟机-安装微信使用" class="headerlink" title="虚拟机(安装微信使用)"></a>虚拟机(安装微信使用)</h2><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">yay -S deepin-wine5<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h2 id="微信和tim"><a href="#微信和tim" class="headerlink" title="微信和tim"></a>微信和tim</h2><p>其他问题参考:<a href="https://blog.csdn.net/loongfox/article/details/116099613">https://blog.csdn.net/loongfox/article/details/116099613</a></p><h3 id="1-必备打包编译工具"><a href="#1-必备打包编译工具" class="headerlink" title="1. 必备打包编译工具"></a>1. 必备打包编译工具</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -S path make<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="2-安装"><a href="#2-安装" class="headerlink" title="2. 安装"></a>2. 安装</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">#timyay -S com.qq.tim.spark#微信yay -S com.qq.weixin.spark#字体不识别sudo pacman -S wqy-microhei wqy-bitmapfont wqy-zenhei wqy-microhei-lite ttf-dejavu noto-fonts noto-fonts-extra noto-fonts-emoji noto-fonts-cjk#更新缓存字体fc-cache -fv<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h2 id="输入法"><a href="#输入法" class="headerlink" title="输入法"></a>输入法</h2><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -S fcitx-qt5 fcitx-configtool#可能需要使用yaysudo pacman -S fcitx-sogoupinyin<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span></span></code></pre><h2 id="磁盘管理工具"><a href="#磁盘管理工具" class="headerlink" title="磁盘管理工具"></a>磁盘管理工具</h2><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -S gparted<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h2 id="数据库"><a href="#数据库" class="headerlink" title="数据库"></a>数据库</h2><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -S dbeaver<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h2 id="网络管理-wifi"><a href="#网络管理-wifi" class="headerlink" title="网络管理(wifi)"></a>网络管理(wifi)</h2><h3 id="1-安装networkmanager"><a href="#1-安装networkmanager" class="headerlink" title="1. 安装networkmanager"></a>1. 安装networkmanager</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">pacman -S networkmanager#开机自启systemctl enable networkmanager<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span></span></code></pre><h3 id="2-图形化"><a href="#2-图形化" class="headerlink" title="2. 图形化"></a>2. 图形化</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">pacman -S network-manager-applet<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="3-连接wifi"><a href="#3-连接wifi" class="headerlink" title="3. 连接wifi"></a>3. 连接wifi</h3><p>参考链接:<a href="https://www.shangmayuan.com/a/992fb3ae5b3a474d8163d71b.html">https://www.shangmayuan.com/a/992fb3ae5b3a474d8163d71b.html</a></p><h4 id="3-1-查看列表"><a href="#3-1-查看列表" class="headerlink" title="3.1 查看列表"></a>3.1 查看列表</h4><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">nmcli d wifi list<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h4 id="3-2-连接wifi"><a href="#3-2-连接wifi" class="headerlink" title="3.2 连接wifi"></a>3.2 连接wifi</h4><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">nmcli d wifi connect &lt;WiFiSSID&gt; password &lt;WiFiPassword&gt; iface &lt;WifiInterface&gt;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h2 id="字体"><a href="#字体" class="headerlink" title="字体"></a>字体</h2><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -S ttf-dejavu ttf-bitstream-vera wqy-zenhei ttf-arphic-ukai ttf-arphic-uming opendesktop-fonts ttf-inconsolata ttf-ubuntu-font-family adobe-source-code-pro-fonts<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h2 id="Docker"><a href="#Docker" class="headerlink" title="Docker"></a>Docker</h2><h3 id="1-docker安装"><a href="#1-docker安装" class="headerlink" title="1. docker安装"></a>1. docker安装</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -S docker<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="2-添加权限"><a href="#2-添加权限" class="headerlink" title="2. 添加权限"></a>2. 添加权限</h3><p>免sudo执行docker</p><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo gpasswd -a $&#123;USER&#125; docker<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="3-配置docker国内镜像"><a href="#3-配置docker国内镜像" class="headerlink" title="3. 配置docker国内镜像"></a>3. 配置docker国内镜像</h3><p>在/etc/docker目录下新建daemon.json文件,写入下面内容(网易镜像)</p><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">&#123; &quot;registry-mirrors&quot;: [&quot;http:&#x2F;&#x2F;hub-mirror.c.163.com&quot;] &#125;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="4-安装dnmp"><a href="#4-安装dnmp" class="headerlink" title="4. 安装dnmp"></a>4. 安装dnmp</h3><p><a href="https://gitee.com/yeszao/dnmp/">https://gitee.com/yeszao/dnmp/</a></p><h2 id="tmux"><a href="#tmux" class="headerlink" title="tmux"></a>tmux</h2><h3 id="1-安装tmux"><a href="#1-安装tmux" class="headerlink" title="1. 安装tmux"></a>1. 安装tmux</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -S tmux<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="2-配置重启还存在"><a href="#2-配置重启还存在" class="headerlink" title="2. 配置重启还存在"></a>2. 配置重启还存在</h3><h2 id="Go"><a href="#Go" class="headerlink" title="Go"></a>Go</h2><h3 id="1-安装-1"><a href="#1-安装-1" class="headerlink" title="1. 安装"></a>1. 安装</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">sudo pacman -Syyusudo pacman -Sy go<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><h3 id="2-配置-1"><a href="#2-配置-1" class="headerlink" title="2.配置"></a>2.配置</h3><p>配置在.bash_profile或者.bashrc文件内</p><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">export GOROOT&#x3D;&#x2F;usr&#x2F;lib&#x2F;goexport GOPATH&#x3D;~&#x2F;workspace&#x2F;goexport GOBIN&#x3D;~&#x2F;workspace&#x2F;go&#x2F;gobinexport PATH&#x3D;$PATH:$GOROOT&#x2F;bin:$GOBIN<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span></span></code></pre><h3 id="3-刷新配置"><a href="#3-刷新配置" class="headerlink" title="3. 刷新配置"></a>3. 刷新配置</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">source .bash_profile<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h3 id="4-切换源"><a href="#4-切换源" class="headerlink" title="4. 切换源"></a>4. 切换源</h3><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">export GO111MODULE&#x3D;onexport GOPROXY&#x3D;https:&#x2F;&#x2F;goproxy.cn<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre>]]></content>
<summary type="html">
ArchLinux下基本配置
</summary>
<category term="linux" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/categories/linux/"/>
<category term="linux" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/tags/linux/"/>
</entry>
<entry>
<title>vim配置及插件</title>
<link href="http://afterglowshadow.gitee.io/AfterGlowShadow/2020/08/05/vimplug/"/>
<id>http://afterglowshadow.gitee.io/AfterGlowShadow/2020/08/05/vimplug/</id>
<published>2020-08-05T07:21:41.000Z</published>
<updated>2022-01-22T09:16:51.895Z</updated>
<content type="html"><![CDATA[<p>命令均是在archlinux系统下的,其他系统会有细微差别,请自行区分.</p><h2 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h2><pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">1. 更新源sudo pacman -Syy2.安装nvimsudo pacman -S neovim<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span></span></code></pre><p>安装过程缓慢,请修改镜像源重新尝试.</p><h2 id="其他辅助设置"><a href="#其他辅助设置" class="headerlink" title="其他辅助设置"></a>其他辅助设置</h2><h3 id="不生成缓存文件"><a href="#不生成缓存文件" class="headerlink" title="不生成缓存文件"></a>不生成缓存文件</h3><ol><li>删除~的缓存文件</li></ol><ul><li>windows<br>打开gVim安装目录下的”vimrc__example.vim”将其中的如下部分中的else语句用引号注释掉:<pre class="line-numbers language-txt" data-language="txt"><code class="language-txt">if has("vms")set nobackup " do not keep a backup file, use versions insteadelseset backup " keep a backup file即将上面四句改为:if has("vms")set nobackup " do not keep a backup file, use versions instead" else" set backup " keep a backup file<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre></li><li>linux<pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">usr&#x2F;share&#x2F;vim&#x2F;vim70&#x2F;vimrc_example.vim(vim安装目录下的文件,不一定目录相同)<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre></li></ul>]]></content>
<summary type="html">
vim配置与插件记录
</summary>
<category term="工具" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/categories/%E5%B7%A5%E5%85%B7/"/>
<category term="vim" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/categories/%E5%B7%A5%E5%85%B7/vim/"/>
<category term="vim" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/tags/vim/"/>
</entry>
<entry>
<title>linux下安装steamcmd</title>
<link href="http://afterglowshadow.gitee.io/AfterGlowShadow/2020/08/05/linuxsteam/"/>
<id>http://afterglowshadow.gitee.io/AfterGlowShadow/2020/08/05/linuxsteam/</id>
<published>2020-08-05T03:03:41.000Z</published>
<updated>2022-01-22T09:16:51.892Z</updated>
<content type="html"><![CDATA[<p>linux下的steam.由于复杂程度安装的是steamcmd.系统采用archlinux.</p><h2 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h2><ol><li>下载安装程序<pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">git clone https:&#x2F;&#x2F;aur.archlinux.org&#x2F;steamcmd.git <span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre></li><li>编译安装<pre class="line-numbers language-shell" data-language="shell"><code class="language-shell">cd steamcmdmakepkg -si<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre>当出现steam&gt; 即代表安装成功<br>其他系统安装可参考:<a href="https://developer.valvesoftware.com/wiki/SteamCMD:zh-cn">https://developer.valvesoftware.com/wiki/SteamCMD:zh-cn</a></li></ol><h2 id="安装游戏"><a href="#安装游戏" class="headerlink" title="安装游戏"></a>安装游戏</h2><h2 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h2><ul><li>archlinux官方wiki:<a href="https://wiki.archlinux.org/index.php/Steam">https://wiki.archlinux.org/index.php/Steam</a></li><li>steamcmd文档:<a href="https://developer.valvesoftware.com/wiki/SteamCMD:zh-cn">https://developer.valvesoftware.com/wiki/SteamCMD:zh-cn</a></li></ul>]]></content>
<summary type="html">
linux下steamcmd的安装与使用
</summary>
<category term="linux" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/categories/linux/"/>
<category term="linux" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/tags/linux/"/>
<category term="steam" scheme="http://afterglowshadow.gitee.io/AfterGlowShadow/tags/steam/"/>
</entry>
</feed>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/AfterGlowShadow/AfterGlowShadow.git
git@gitee.com:AfterGlowShadow/AfterGlowShadow.git
AfterGlowShadow
AfterGlowShadow
AfterGlowShadow
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891