SHELL备忘
Shell脚本-Demo
#!/bin/bash
VAR="world"
echo "Hello $VAR!" # => Hello world!
执行脚本
$ bash hello.sh
变量规则
NAME="John"
echo ${NAME} # => John (变量)
echo $NAME # => John (变量)
echo "$NAME" # => John (变量)
echo '$NAME' # => $NAME (字符串原样输出)
echo "${NAME}!" # => John! (变量)
NAME = "John" # => Error (注意不能有空格)
注释规则
# 这是一个内联 Bash 注释。
: '
这是一个
非常整洁的
bash 注释
'
多行注释使用 :' 打开和 ' 关闭
参数规则
$1 … $9 参数 1 ... 9
$0 脚本本身的名称
$1 第一个参数
${10} 位置参数 10
$# 参数数量
$$ shell 的进程 id
$* 所有参数
$@ 所有参数,从第一个开始
$- 当前选项
$_ 上一个命令的最后一个参数
条件语法
if [[ -z "$string" ]]; then
echo "String is empty"
elif [[ -n "$string" ]]; then
echo "String is not empty"
fi
执行语法
# => I'm in /当前/的/路径
echo "I'm in $(PWD)"
# Same as:
echo "I'm in `pwd`"
Blender
Blender选取快捷键
1 点模式
2 线模式
3 面模式
tab 切换物体模式和编辑模式
操作快捷键
g 抓握移动
x,y,z沿具体轴向移动
r 旋转
e 外突面
f 连接点线面
Nginx
Nginx常用指令
nginx -s stop 快速停止nginx
nginx -s quit 优雅退出
nginx -s reload 重新加载配置文件
nginx配置简述
全局块
event块
http块
server块
location块
FFMPEG
Linux安装
$ apt-get install ffmpeg
$ yum install ffmpeg
简单示例
mp4 转 avi:
$ ffmpeg -i input.mp4 output.avi
webm 转 mp4:
$ ffmpeg -i movie.webm movie.mp4
基础参数
-codecs 列出可用编码
-formats 列出支持的格式
-protocols 列出支持的协议
-i input.mp4 指定输入文件
-c:v libx264 指定视频编码
-c:a aac 指定音频编码
-vcodec libx264 旧写法
-acodec aac 旧写法
-fs SIZE 指定文件大小
Crontab笔记
Min Hour Day Mon Weekday
分钟 小时 天 月 周
* * * * * <要执行的命令>
┬ ┬ ┬ ┬ ┬
│ │ │ │ └─ 星期几 (0=周日 .. 6=星期六)
│ │ │ └────── 月 (1..12)
│ │ └─────────── 月份中的某天 (1..31)
│ └──────────────── 小时 (0..23)
└───────────────────── 分钟 (0..59)
字段 范围 特殊字符
分钟Minute 0 - 59 , - * /
小时Hour 0 - 23 , - * /
月份中的某天 1 - 31 , - * ? / L W
月Month 1 - 12 , - * /
星期几 0 - 6 , - * ? / L #
年Year 1970-2099 , -
使用示例
*/15 * * * * 每 15 分钟
0 * * * * 每隔一小时
0 */2 * * * 每 2 小时
15 2 * * * 每天凌晨 2 点 15 分
15 2 * * ? 每天凌晨 2 点 15 分
10 9 * * 5 每周五上午 9:10
0 0 * * 0 每个星期日的午夜
15 2 * * 1L 每月最后一个星期一凌晨 2 点 15 分
15 0 * * 4#2 每个月的第二个星期四早上 00:15
0 0 0 1 * * 每个月的 1 日(每月)
0 0 0 1 1 * 每年 1 月 1 日(每年)
@reboot 每次重启 (非标准)
Git常用命令笔记
创建新的本地存储库
$ git init [项目名称]
克隆存储库(代码仓库)
$ git clone
将存储库克隆到指定目录
$ git clone 指定目录
将存储库克隆到指定目录,并指定分支
$ git clone -b <分支名称> 指定目录
做出更改后
在工作目录中显示修改后的文件,为您的下一次提交暂存
$ git status
暂存文件,准备提交
$ git add [file]
暂存所有更改的文件,准备提交
$ git add .
将所有暂存文件提交到版本化历史记录
$ git commit -m "commit message"
将所有跟踪的文件提交到版本化历史记录
$ git commit -am "commit message"
取消暂存文件,保留文件更改
$ git reset [file]
将所有内容恢复到最后一次提交
$ git reset --hard
已更改但未暂存内容的差异
$ git diff
已 commited 但尚未提交的内容的差异
$ git diff --staged
在指定分支之前应用当前分支的任何提交
$ git rebase [branch]
相关配置
设置将附加到您的提交和标签的名称
$ git config --global user.name "name"
设置将附加到您的提交和标签 tags 的电子邮件地址
$ git config --global user.email "email"
启用 Git 输出的一些着色
$ git config --global color.ui auto
在文本编辑器中编辑全局配置文件
$ git config --global --edit
显示本地 repo 配置设置
$ git config --list
删除全局设置
$ git config --global --unset
临时提交
# 保存已修改和分阶段的更改
$ git stash
# 列出隐藏文件更改的堆栈顺序
$ git stash list
# 从存储堆栈顶部编写工作
$ git stash pop
# 丢弃存储堆栈顶部的更改
$ git stash drop
# 回到某个 stash 的状态
$ git stash apply
# 删除所有的 stash
$ git stash clear