下载官方的静态编译的Linux通用二进制包,同时也包含ARM版本的 下载编译好的git最新版
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz ffmpeg
armhf比armel硬件要求,树莓派2可用armhf,树莓派1使用armel
Windows版本也提供编译好的下载(也提供MacOs版)
https://ffmpeg.zeranoe.com/builds/
Mac编译好的下载(FFmpeg,FFserver,FFprobe,FFplay)
http://evermeet.cx/ffmpeg/
https://www.npmjs.com/package/ffmpeg-static#sources-of-the-binaries
使用brew安装 brew install ffmpeg --with-ffplay
ffmpeg -protocols 查看ffmpeg支持的协议列表
让ffmpeg转为MP4边下边播 ffmpeg -i input.xx -c copy -movflags faststart output.mp4
-movflags faststart 可修改MP4的moov
关于faststart还有一个python项目,类似于ffmpeg软件包中的qt-faststart https://github.com/danielgtaylor/qtfaststart
可以使用pip install qtfaststart,仅需10KB+
pip3 install qtfaststart 也可以
http://blog.chinaunix.net/uid-342902-id-2416123.html
转成 dash 特殊的mp4
ffmpeg –i input.flv –c copy –f mp4 –movflags dash output.mp4 flv to mp4 ffmpeg -i input.flv -codec copy output.mp4 快速转化flv到mp4,高质量转化( only changes container without reencoding )
git配置 git config --global user.email "1126045770@qq.com" git config --global user.name "sucongohu" git config --global core.autocrlf false git config --global color.ui true git config --global credential.helper store git config --global alias.lg "log --graph --all --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ci,%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative" git config --global alias.laststash "diff stash@{0}^!" 以上分别是设置用户信息,禁止转换换行符,颜色高亮,记住密码,设置别名列出分支图. 设置别名后,可以使用 git lg 查看各个分支关系
设置core.autocrlf false 提交检出均不转换 , 否则同时在Mac,Windows,Linux 跨平台协作开发,eslint 检测换行符错误会很头疼.
默认的core.pager 是less
git config --global core.pager "less -FRSX"
可以修改为diff-so-fancy
配置文件 最喜欢的字体Monaco,此处下载
配置文件 Preferences.sublime-settings
{ "close_windows_when_empty": true, "default_encoding": "UTF-8", "default_line_ending": "unix", "folder_exclude_patterns": [ ".svn", ".git", ".hg", "CVS", "node_modules" ], "font_face": "Monaco", "font_size": 14, "highlight_line": true, "highlight_modified_tabs": true, "ignored_packages": [ "Vintage" ], "show_encoding": true, "show_line_endings": true, "tab_size": 4, "translate_tabs_to_spaces": false, "update_check": false, "word_wrap": false } 插件 open_browser.py 插件
import sublime, sublime_plugin import webbrowser import os url_map = { 'D:\\git\\bbs\\' : 'http://127.0.0.3/', 'D:\\php\\su\\' : 'http://127.0.0.2/', 'D:\\php\\htdocs\\' : 'http://127.0.0.1/' } class OpenBrowserCommand(sublime_plugin.TextCommand): def run(self,edit): window = sublime.
避免SSH自动断开连接 如果有一段时间在SSH连接上无数据传输,连接就会断开,以下设定可以解决这个问题
方案一:在客户端设置
sudo vim /etc/ssh/ssh_config
开启 ServerAliveInterval 60 开启 TCPKeepAlive yes
此后该系统里的用户连接SSH时,每60秒会发一个KeepAlive请求,避免被踢。
方案二:在服务器端设置
sudo vim /etc/ssh/sshd_config
开启ClientAliveInterval 60 开启 TCPKeepAlive yes
如果您只想让当前的 ssh 保持连接,可以使用以下的命令:
ssh -o ServerAliveInterval=60 user@sshserver
ssh 链接复用
Host * ForwardAgent yes ServerAliveInterval 30 ServerAliveCountMax 20 TCPKeepAlive no ControlMaster auto ControlPath ~/.ssh/connection-%r@%h:%p ControlPersist 20m Compression yes http://einverne.github.io/post/2017/05/ssh-keep-alive.html
https://www.cyberciti.biz/faq/linux-unix-reuse-openssh-connection/
ssh隧道 CfNg参数 C表示压缩数据传输 f表示后台用户验证,这个选项很有用,没有shell的不可登陆账号也能使用. N表示不执行脚本或命令 g表示允许远程主机连接转发端口,往往会没有效果,需要修改/etc/ssh/sshd_config添加gatewayports yes T禁止分配伪终端,如果ssh使用此选项登录系统时,由于禁用,将无法获得终端;但仍能够获得shell,只不过看起来像在本地,也没有很多应有的环境变量,例如命令提示符,PS1等 n Redirects stdin from /dev/null (actually, prevents reading from stdin). This must be used when ssh is run in the background -L本地转发 -L [本地监听IP:]本地监听端口号:目标主机IP:目标端口号 (其中,“本地监听IP”可以省略,省略的话就认为是“0.
安装NodeJs nodejs官方提供了编译好的二进制的包,全平台都有,十分方便 最新版本NodeJs官方库
https://nodejs.org/en/blog/release/
例如安装Linux版本
wget https://nodejs.org/dist/v6.0.0/node-v6.0.0-linux-x64.tar.xz tar -xJf node-v6.0.0-linux-x64.tar.xz sudo mv node-v6.0.0-linux-x64 /usr/local/nodejs sudo ln -s /usr/local/nodejs/bin/node /usr/local/bin/node sudo ln -s /usr/local/nodejs/bin/npm /usr/local/bin/npm node -v npm -v 单文件版node.exe单独安装npm 1.clone npm 源码 git clone --recursive git://github.com/isaacs/npm.git
2.进入npm目录,安装npm node cli.js install npm -gf
版本切换 使用n来管理node的版本,npm install -g n,小巧无依赖,仅一个文件.
也不会搞乱你的node_modules文件夹,node的可执行文件位置也始终不会变化.
node-compiler 编译nodejs为可执行文件. https://github.com/pmq20/node-compiler 需要 node npm ,编译过程会安装依赖npm install
https://sourceforge.net/projects/squashfs/files/
yum install make gcc zlib-devel glibc-static gcc-c++ -y make -j4 一些必备package sudo npm install -g less autoprefixer express jshint uglify-js webpack react-native-cli airs 一些用node写的工具
基于网页的P2P文件分享 https://www.sharedrop.io/
云计算,存储,分发等 阿里百川 淘宝开放平台
短信,推动消息等 阿里大鱼 阿里巴巴旗下的短信验证码通知服务,价格实惠,短信通知≤0.045元/条,还有文本转语音通知≤0.055元/条
SendCloud 短信和邮件发送服务,邮件有每日免费200封,短信5.5分每条
移动混合应用/HHTML5开发 国产mui 最接近原生APP体验的高性能前端框架,不依赖任何第三方JS库,压缩后的JS和CSS文件仅有100+K和60+K
SUI Mobile 淘宝移动UI框架,轻量,小巧且精美的UI库 方便迅速搭建手机H5应用,兼容iOS 6.0+ 和 Android 4.0+,非常适合开发跨平台Web App。
mobiscroll 移动开发UI,丰富的时间选择器控件还有一些WEBAPP展示,https://github.com/acidb/mobiscroll
桌面开发 nwjs Mac版钉钉使用的就是这个技术,界面还算漂亮
网页动画 百度zrender 基于Canvas的图形仓库交互工具,可以方便的画出很多图形
游戏引擎 阿里Hilo 游戏渲染引擎,实现2048,切水果等.
http://www.egret.com/ 白鹭也是做这个的
https://github.com/iioinc/iio.js 也是canvas的游戏
网页富文本编辑器 wangeditor 轻量简介的富文本编辑器,使用容易,相比百度umeditor更简洁
medium-editor 一个非常简洁的输入框,支持很多插件扩充
quill 功能丰富,样式简介
网页Markdown编辑器 Editor.md 一款开源的、可嵌入的 Markdown 在线编辑器(组件),基于 CodeMirror、jQuery 和 Marked 构建。
markdown-plus Markdown Plus,界面不是很漂亮,也有收费的桌面APP
Markdown解析库 marked 支持nodejs 和浏览器端
markdown-js 支持nodejs 和浏览器端
发现MacOs的Chrome中,input为submit的按钮,添加其他样式不生效,任然是默认样式, 解决方法是为其添加一个border或者backgroud就好了
安装Docker docker 安装需要Linux内核在3.10.0以上,仅支持Linux,在Windows和MacOs上也是基于虚拟机方式运行,需要提前安装虚拟机
OpenVZ的VPS内核版本较低,且不能升级,并不能作为docker server,但是可以使用docker client
通过df -lhT 看到Type为simfs,而不是ext3,ext4,一般就代表使用的是OpenVZ虚拟化的 查看系统内核版本uname -r 查看安装的系统版本 lsb_release -a 或者 cat /etc/issue
以下二种方法适用于RedHat,CentOS
cat /etc/redhat-release 或者 cat /etc/centos-release rpm -q centos-release 或者 rpm -q redhat-release 查看是否是64位系统uname -i
下载安装 http://www.oschina.net/news/83328/docker-17-03-1-ce-released
deb/rpm install: curl -fsSL https://get.docker.com/ | sh Linux 64bits tgz: https://get.docker.com/builds/Linux/x86_64/docker-19.03.2.tgz Darwin/OSX 64bits client tgz: https://get.docker.com/builds/Darwin/x86_64/docker-19.03.2.tgz Linux 32bits arm tgz: https://get.docker.com/builds/Linux/armel/docker-19.03.2.tgz Windows 64bits zip: https://get.docker.com/builds/Windows/x86_64/docker-17.03.1-ce.zip Windows 32bits client zip: https://get.docker.com/builds/Windows/i386/docker-17.03.1-ce.zip 下载地址一览 https://download.docker.com/linux/static/stable/
wget wget -c -O filename "http://xx.com" 下载存储到指定文件,并指定断点续传
wget -nc -c -i url.txt 批量下载文件中指定的资源(每行一个连接),跳过已下载的(同名的),并且断点续传.
wget -i url.txt -O - | mpv - 下载url.txt里的链接,输出到标准输出
使用user-agent
wget --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36" URL-TO-DOWNLOAD
wget 断点续传 使用 -c 限速使用--limit-rate=300k
wget -c --limit-rate=30k http://...
lftp wget 可以断点续传 但是不支持多线程下载, lftp 的一个用法可以实现多线程下载.
lftp -c "pget -n 10 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.gz"
curl Windows 编译好的下载
https://curl.haxx.se/dlwiz/?type=bin&os=Win64&flav=-
常用的命令
curl http://xx.com 只获取http消息正文
curl -I http://xx.
编译安装NGINX 首先安装一些依赖
yum -y install gcc make autoconf automake install zlib zlib-devel openssl openssl-devel pcre-devel apt-get update apt-get -y install gcc make openssl libssl-dev libpcre3 libpcre3-dev 编译安装
Chrome51以后版本废弃了NPN的支持,要让Chrome51以后版本支持http2,需要更新OpenSSL到1.0.2及以上.
查看当前系统的OpenSSL版本:openssl version
更新OpenSSL
OPENSSL_VERSION=openssl-1.0.2h cd /tmp wget https://www.openssl.org/source/${OPENSSL_VERSION}.tar.gz tar zxvf ${OPENSSL_VERSION}.tar.gz cd ${OPENSSL_VERSION} ./config --prefix=/usr --shared make -j4 sudo make install openssl version 最后一句查看版本是否更新了
如果没有www-data用户和组,可以先创建
groupadd www-data adduser -M -s /sbin/nologin www-data -g www-data 编译nginx NGINX_VERSION=nginx-1.11.3 CPU_NUM=`cat /proc/cpuinfo | grep processor | wc -l` cd /tmp wget http://nginx.