[TOC]
# 一些mac需要的软件
https://blog.skk.moe/post/mac-software/
# brew
**仓库**
[https://docs.brew.sh/Interesting-Taps-and-Forks.html](https://docs.brew.sh/Interesting-Taps-and-Forks.html)
---
https://mp.weixin.qq.com/s/L3IPXZae10FswOhmSDQoLg
https://zhuanlan.zhihu.com/p/22598799
---
关闭自带httpd
~~~
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
~~~
## 安装
mac 安装 brew Homebrew
brew 全称Homebrew 是Mac OSX上的软件包管理工具
Homebrew 安装和卸载工具 只用一行命令就能完成
brew官网网址:https://brew.sh/index.html
安装
输入: ruby -version
安装命令:
~~~
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
~~~
假如已经安装了,输入如下命令
~~~
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
~~~
默认oh-my-zsh是不支持HomeBrew的,所以我们需要这样做:
~~~
brew install zsh-completions
~~~
## 使用方法
命令行 输入: brew
## 安装工具
举个栗子: wget 这个工具
输入命令:
~~~
brew install wget
~~~
## 日志
~~~
/Users/jdxia/Library/Caches/Homebrew/Cask
/Users/jdxia/Library/Logs/Homebrew
~~~
## 降级
~~~
git clone https://github.com/Homebrew/homebrew-core.git
git log ./Formula/thrift.rb 找到0.9.2 commit
git checkout 56d8c1eba1e5ac30290dd0c486f4bba37f821e42
brew install ./Formula/thrift.rb
~~~
原理是,从github上下载homebrew,homebrew中记录了各个时期的软件版本,checkout homebrew的低版本分治,把thrift低版本rb找到,然后安装。
其实,也可以直接使用别人分享的thrift-0.9.2.rb文件直接安装。
## 卸载
拿上面的栗子: wget 工具
输入命令
~~~
brew uninstall wget
~~~
工具安装的目录
Homebrew 会将套件安装到独立目录,并将文件软链接至/usr/local
~~~
$ cd /usr/local
$ find Cellar
Cellar/wget/1.16.1
Cellar/wget/1.16.1/bin/wget
Cellar/wget/1.16.1/share/man/man1/wget.1
$ ls -l bin
bin/wget -> ../Cellar/wget/1.16.1/bin/wget
~~~
## 锁定不想更新的包
如果经常更新的话,brew update 一次更新所有的包是非常方便的。但我们有时候会担心自动升级把一些不希望更新的包更新了。数据库就属于这一类,尤其是 PostgreSQL 跨 minor 版本升级都要迁移数据库的。我们更希望找个时间单独处理它。这时可用 brew pin 去锁定这个包,然后 brew update 就会略过它了。
~~~
brew pin $FORMULA # 锁定某个包
brew unpin $FORMULA # 取消锁定
~~~
## 其他命令
http://blog.csdn.net/crper/article/details/78520575
~~~
brew list 列出已安装的软件
brew list 软件名 //列出指定安装软件的文件
brew services list :显示安装的服务
brew reinstall vim 重新安装vim,比如升级系统vim无法使用
brew link xx 添加链接过去
brew swift xx 版本号 切换版本
brew update 更新brew
brew home 用浏览器打开brew的官方网站
brew doctor检查是否存在冲突
brew info 显示软件信息
brew uninstall wget # 卸载软件,很爽,一键静默卸载
brew search git # 模糊搜索brew 支持的软件。如果不加软件名,就会列出所有它支持的软件。多的很。
brew deps 显示包依赖
brew outdated # 看一下哪些软件可以升级
brew upgrade <xxx> # 如果不是所有的都要升级,那就这样升级指定的
brew --cache 下载之后的文件夹
brew upgrade; brew cleanup # 如果都要升级,直接升级完然后清理干净
brew services restart php71 #重启php71
会安装到这个文件下 /usr/local/Cellar 会同步一份到 /usr/local/opt
任何的增删改都会保持这2个目录的同步。并且已经软链好各种命令到/usr/local/bin下。
/usr/local/etc/ 这里也有
brew edit nginx 更改编译参数,在 args 段最后加上,--with-,brew install nginx --build-from-source从源码开始安装 nginx , 默认情况下会采用 bottle 方式安装,bottle 方式就是安装已编译好的二进制包
~~~
homebrew本身就是一个git仓库。使用homebrew安装软件包时,会自动先下载软件包,然后解压安装,但有时候下载会卡住,或者很慢,这个时候你可以通过其他工具先将所需的软件包下载 下来,注意版本一定要对应,homebrew放置软件包源码的路径为/Library/Caches/Homebrew/,只要你将所需要的软件包下载正 确的版本,放置在此目录下,那么再使用brew install xxx的时候,brew就能直接安装了,有时候brew install xxx卡在下载界面,这招很管用
~~~
Making a formula is easy. Just brew create URL and then brew install $FORMULA (perhaps with --debug --verbose). Basically, a formula is a Ruby file. You can place it anywhere you want (local or remote) and install it by pointing to the file or URL.
formula文件位置:/usr/local/Library/Formula/foo.rb 存放安装工具的rb文件
Packages are installed according to their formulae, which live in $(brew --repository)/Library/Formula. Check some out. You can view any formula at anytime; e.g. brew edit wget.
~~~
## 注意
数据存放目录为/usr/local/var
如果一些软件升级,可能要把这个目录下对应程序的文件夹删除,重新创建才可以
比如mongo3升级到4
日志存放位置/usr/local/var/log,出问题可以到这边看
# LaunchRocket
https://github.com/jimbojsb/launchrocket
这是用来管理brew安装的软件的图形界面
## 注意
在Mac OS X 10.11系统以后,/usr/local/等系统目录下的文件读写是需要系统root权限的,以往的Homebrew安装如果没有指定安装路径,会默认安装在这些需要系统root用户读写权限的目录下,导致有些指令需要添加sudo前缀来执行,比如升级Homebrew需要:
~~~
$ sudo brew update
~~~
如果你不想每次都使用sudo指令,你有两种方法可以选择:
1. 对/usr/local 目录下的文件读写进行root用户授权
~~~
$ sudo chown -R $USER /usr/local
示例:
$ sudo chown -R wentianen /usr/local
~~~
2. 安装Homebrew时对安装路径进行指定,直接安装在不需要系统root用户授权就可以自由读写的目录下
~~~
<install path> -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
~~~
# tap
可以关注的Taps
~~~
homebrew/php:和php关联的formulae
denji/nginx: nginx modules 的tap
InstantClientTap/instantclient: Oracle客户端实例的tap
petere/postgresql: 允许同时安装多个PostgreSQL版本的tap
dunn/emacs: Emacs package的tap
sidaf/pentest: 渗透测试工具的tap
osrf/simulation: 机器仿真的tap
~~~
# brew更换源
~~~
https://lug.ustc.edu.cn/wiki/mirrors/help/brew.git
~~~
# brew cask
## 简介
brew cask 是在brew 的基础上一个增强的工具,用来安装Mac上的Gui程序应用包(.dmg/.pkg), 比如qq、chrome、xun lei等。它先下载解压到统一的目录中(/opt/homebrew-cask/Caskroom),省掉了自己去下载、解压、拖拽(安装)等蛋疼步骤,同样,卸载相当容易与干净。然后再软链到~/Applications/
目录下, 一气呵成。非常方便,而且还包含很多在 AppStore 里没有的常用软件
好,我们来来下一个iTerm来看看:
## 安装
~~~
brew cask install iTerm
~~~
简单的2条命令就可以了,非常之快,它会讲软件安装到/opt/homebrew-cask/Caskroom目录下,并且软链到~/Applications了,这样就能在应用程序里找到它。就能方便的使用。
## 常用软件
[https://www.jianshu.com/p/f8444a7658a3](https://www.jianshu.com/p/f8444a7658a3)
## 常用命令
下面说一些常用到的各种命令。
~~~
brew cask install qq # 下载安装软件
brew cask uninstall qq # 卸载软件
brew cask search qq # 模糊搜索软件,如果不加软件名,就列出所有它支持的软件
brew cask info qq # 显示这个软件的详细信息,如果已经用cask安装了,也会显示其安装目录信息等
brew cask list # 列出本机按照过的软件列表
brew cask cleanup # 清除下载的缓存以及各种链接信息
brew update && brew upgrade brew-cask # 更新cask自身
~~~
或许你已经注意到了,好像并没有提供更新用cask安装软件命令啊。的确是没有。是的。目前 homebrew-cask 并没有命令直接更新所有已安装的软件,软件更新主要是通过软件自身的更新流程,不过也可以通过以下所示命令先删除 APP,再重新安装。
~~~
brew cask uninstall APP && brew cask install APP
~~~
软件同样也会安装到/opt/homebrew-cask/Caskroom目录下。
对过时的升级
~~~
https://github.com/buo/homebrew-cask-upgrade
~~~
大多数通过 Cask 安装的软件都自带更新选项,如果没有该选项,用户依旧可以通过终端进行更新,在终端中输入brew tap buo/cask-upgrade,然后再输入下段命令即可更新全部应用:
~~~
brew cu
~~~
## LaunchRocket
安装LaunchRocket就要用到我刚刚提的brew cask,用如下命令即可:
~~~
brew tap jimbojsb/launchrocket
brew cask install launchrocket
~~~
之后LauchRocket设置页面找到(如下图所示),它的启动项同时也保存在/opt/homebrew-cask/Caskroom/launchrocket目录中。

# 需要github的token
去这个网站
https://github.com/settings/tokens/new?scopes=gist,public_repo&description=Homebrew
把勾勾全部勾上,然后生成
然后终端 export HOMEBREW_GITHUB_API_TOKEN=你copy的token字符串
就好了
# 安装php
新版本
https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions
~~~
// 更新brew
$ brew update
// 添加三方仓库
$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php
//卸载仓库
brew untap homebrew/nginx
// 如果没有该目录,则创建
$ sudo mkdir /usr/local/var
$ sudo chmod 777 /usr/local/var
$ sudo mkdir /usr/local/sbin/
$ sudo chown -R <username>:<group> /usr/local/sbin/
// 安装php7前,先关闭老版本的PHP55,并解除/usr/local/bin/php软链接
$ brew unlink php55
// 我们可以通过brew options命令来查看安装选项
$ brew options php70
// 开始安装PHP7
$ brew install php70 (--with-apache 假如需要生成apache的libphp7.so,则添加该安装选项)
// 查看php版本
$ php -v
PHP 7.0.13 (cli) (built: Dec 5 2016 14:49:24) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
~~~
https://laravel-china.org/topics/3373/mac-install-lnmp-environment
## php多版本管理
看这个就行了phpbrew
http://rmingwang.com/php-version-management-phpenv.html
# mac上nginx
nginx设置开机启动
~~~
ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
~~~
nginx默认监听80端口,而mac系统,只有root用户才可以打开<1024的监听端口,所以,这里得设置额外的权限:
~~~
sudo chown root:wheel /usr/local/Cellar/nginx/1.6.0_1/bin/nginx // 这里的版本号换成你自己的
sudo chmod u+s /usr/local/Cellar/nginx/1.6.0_1/bin/nginx // 这里的版本号换成你自己的
~~~
如果你遇到了这样的问题
~~~
2018/02/21 11:45:55 [emerg] 5931#0: open() "/usr/local/var/run/nginx.pid" failed (13: Permission denied)
~~~
那么就要按照上面说的做了
~~~
sudo cp -v /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/
sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
~~~
~~~
sudo chown :staff /var/www
sudo chmod 775 /var/www
~~~
# 一键脚本安装
这个是mac的
https://php-osx.liip.ch
题外话
php72被替换成php
以前启动命令是
~~~
/usr/local/opt/php72/sbin/php-fpm --nodaemonize --fpm-config /usr/local/etc/php/7.2/php-fpm.conf
~~~
变成了
~~~
/usr/local/opt/php/sbin/php-fpm --nodaemonize
~~~
# linux安装brew
~~~
git clone https://github.com/Linuxbrew/brew.git ~/.linuxbrew
~~~
还得把homebrew-core克隆下来,里面有一些核心的软件安装formula,比如gcc。
~~~
git clone https://github.com/Linuxbrew/homebrew-core ~/.linuxbrew/Library/Taps/homebrew
~~~
配置一下bash_profile文件
~~~
export PATH="$HOME/.linuxbrew/bin:$PATH"
export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH"
export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH"
~~~
然后source一下就可以用了。
装软件
装一个oracle的jdk
~~~
brew install jdk
~~~
我还找到一个仓库里面有很多开发工具,比如smartgit, idea等等软件https://github.com/athrunsun/homebrew-linuxbinary
~~~
brew tap athrunsun/linuxbinary
~~~
把要装的都给装了一个遍
~~~
brew install smartgit
brew install intellij-idea-ce
brew install lantern
brew install proxychains-ng
brew install skype
brew install telegram
brew install android-studio
brew install pycharm-ce
brew install sublime-text
brew install telegram
brew install unetbootin
brew install shadowsocks-go-local
brew install smart-synchronize
~~~
可惜没有看到leanote、atom、firefox等软件。
linuxbrew相关的网址
https://github.com/Linuxbrew/brew
https://linuxbrew.sh/
https://github.com/Linuxbrew/brew/tree/master/docs#readme
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-linuxbrew-on-a-linux-vps
# homebrew-bundle
1. Mac 上非常常用的包管理器 Homebrew, 我们经常用它来安装其他的软件包
2. 还有 Homebrew-cask, 可以用来安装图形界面的 App
3. homebrew-bundle 类似 node 中的 package.json 或者 Cocoapods 中的 Podfile
4. 我们将需要的包和 App, 声明在一个 Brewfile 中, 然后执行 brew bundle 即可安装所有包
备份列表包含:
1. brew tap中的软件库
2. brew 安装的命令行工具
3. brew cask 安装的 App
4. Mac App Store 安装的 App
~~~
# 执行brew bundle dump备份命令
brew bundle dump --describe --force --file="~/Desktop/Brewfile"
# 参数说明
--describe:为列表中的命令行工具加上说明性文字。
--force:直接覆盖之前生成的Brewfile文件。如果没有该参数,则询问你是否覆盖。
--file="~/Desktop/Brewfile":在指定位置生成文件。如果没有该参数,则在当前目录生成 Brewfile 文件。
# 该命令会在桌面上生成Brewfile文件,双击打开查看,其内容类似于
## 该部分是 brew 中的 tap,相当于一个个软件库
tap "homebrew/bundle"
tap "homebrew/cask"
## 该部分是 brew 安装的命令行工具
# Mac App Store command-line interface
brew "mas"
# UNIX shell (command interpreter)
brew "zsh"
# Fish shell like syntax highlighting for zsh
brew "zsh-syntax-highlighting"
## 该部分是 brew cask 安装的 app
cask "mounty"
cask "dteoh/sqa/slowquitapps"
## 该部分是 Mac App Store 安装的 app
mas "ting_en", id: 734383760
mas "Xcode", id: 497799835
~~~
**homebrew-bundle 如何恢复**
> 通过备份的软件列表文件批量安装软件
~~~
# 安装 Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 安装 mas
brew install mas
# 批量安装软件
brew bundle --file="~/Desktop/Brewfile"
# 这里分享一份自己的真实备份文件
wangao@wangao-MAC ~/Desktop # cat Brewfile
tap "buo/cask-upgrade"
tap "dteoh/sqa"
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"
tap "homebrew/services"
# GNU compiler collection
brew "gcc"
# Distributed revision control system
brew "git", link: false
# Improved top (interactive process viewer)
brew "htop"
# Mac App Store command-line interface
brew "mas"
# MySQL database connector for C applications
brew "mysql-connector-c"
# Platform built on V8 to build network applications
brew "node"
# Perl compatible regular expressions library
brew "pcre"
# Password generator
brew "pwgen"
# Interpreted, interactive, object-oriented programming language
brew "python"
# Interpreted, interactive, object-oriented programming language
brew "python@2"
brew "sshpass"
# User interface to the TELNET protocol (built from macOS Sierra sources)
brew "telnet"
# Display directories as trees (with optional color/HTML output)
brew "tree"
# Internet file retriever
brew "wget"
# UNIX shell (command interpreter)
brew "zsh"
# Fish shell like syntax highlighting for zsh
brew "zsh-syntax-highlighting"
cask "java"
cask "mounty"
cask "xquartz"
cask "dteoh/sqa/slowquitapps"
mas "GarageBand", id: 682658836
mas "iMovie", id: 408981434
mas "Keynote", id: 409183694
mas "Microsoft Remote Desktop", id: 1295203466
mas "Numbers", id: 409203825
mas "Pages", id: 409201541
mas "ting_en", id: 734383760
mas "Xcode", id: 497799835
~~~
# brew安装指定版本es
**查看软件包安装来源**
~~~
$ brew info ffmpeg
~~~
执行上述命令您会得到如下信息:
~~~
$ From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/ffmpeg.rb
~~~
你看到了什么?github(版本控制) 还有 \*.rb(安装文件)
**Github中查看rb文件历史提价(版本)信息**
复制链接到地址栏:[https://github.com/Homebrew/h...](https://github.com/Homebrew/homebrew-core/blob/master/Formula/ffmpeg.rb)
可以看到如下信息:
~~~
url "https://ffmpeg.org/releases/ffmpeg-4.0.1.tar.xz"
sha256 "605f5c01c60db35d3b617a79cabb2c7032412be243554602eeed1b628125c0ee"
~~~
可以看到当前版本就是: ffmpeg-4.0.1
**接着,在Github上查看历史提交信息,按照如下操作依次点击(熟悉github的同学应该已经看透了秘密):**
1. **点击 History**: 查看历史提交列表
2. **查找 FFmpeg: 3.4.2,并点击**: 找到我们需要的版本
3. **点击 View**:查看当前版本下的ffmpeg.rb完整文件
4. **点击 Raw**: 查看ffmpeg.rb源文件,复制地址栏网址(这一步是不是不需要了,3中的网址应该也可以?我没有尝试)
**安装 ffmpeg-3.4.2 版本软件包**
> ffmpeg:3.4.2 对应的ffmpeg.rb文件网址:[https://raw.githubusercontent...](https://raw.githubusercontent.com/Homebrew/homebrew-core/18b47ee7e250f4e0447dc6454d9189d1fae0c6a5/Formula/ffmpeg.rb)
**执行安装**
~~~
$ brew install https://.../ffmpeg.rb(上面复制的网址)
~~~
- 云主机和vps的区别
- Mac上的开发工具汇总
- brew
- openssl
- php
- apache
- 窗口快捷键
- 允许任何来源
- nginx
- sublime
- shadowsocks
- beyond compare
- 开机自启
- 环境变量
- iterm2
- 改变 Launchpad
- Mac小技巧
- Mac安装 GNU 软件包
- Mac断网
- 关闭isp保护机制
- charles
- redisdesktop
- vnc连接windows
- say
- go2shell
- zsh
- 创建加密文件夹
- u盘格式化为ext4
- sequalpro
- kernel_task过高
- 录屏添加声音
- 一些软件的安装和使用
- java
- vagrant
- 多机器创建
- supervisor
- ubuntu配置https证书
- rinetd端口映射转发
- 安装中文man
- frp内网穿透
- 树莓派
- windows烧写系统
- 如何让树莓派支持中文
- 装系统完全指南
- 使用raspi-config配置树莓派
- 换源
- frp 随时随地访问自己的树莓派
- 安装php和swoole
- 安装docker
- 安装mysql和redis
- 音响配置
- 文字转语音
- 通过usb声卡录音和播放
- 视频监控
- ssh安装
- 安装ss
- 安装teamview
- 安装TensorFlow
- 挂载U盘
- sd卡拷贝
- 备份系统
- 终端翻墙
- jenkins
- jumpserver
- inotify+rsync
- lnmp一键安装包
- markdown自动生成导航栏
- dnsmasq
- 服务器之间文件同步
- samba
- cmder
- notepad++去除BOM
- wireshark
- proxifier
- fish
- chocolatey
- AutoHotkey
- 远程唤醒
- win10子系统和卓越性能
- win10创建计划任务
- 谷歌云免费一年
- windows优化
- windows开机关机脚本
- aliyun DDNS
- BestTrace
- wireguard
- PAC
- telegram
- google voice
- bbr,锐速
- aliyun和tencent云卸载监控
- 通过微博图片的链接找到发图的人
- Socat端口转发
- iso制作
- win10关闭自动更新
- youtube-dl
- vscode
- docker
- 简介
- 网络
- 常用命令
- 命令细解释
- docker架构
- centos安装
- dockerfile
- 使用
- copy
- ADD
- 详解
- 多阶段构建
- docker swarm
- routing mesh
- 清理Docker占用的磁盘空间
- 网络命名空间
- ETCD
- 简介
- 部署集群
- 网络层实现
- docker machine
- 发布
- docker compose
- kubernetes
- 简介
- pod
- services
- 详解
- 日志
- 手写docker
- 基础技术
- namespace
- cgroups
- 简介
- 常用命令
- scp
- rpm
- sftp
- vim
- find
- more分屏显示
- ln
- grep
- init
- nohup
- htop
- top
- w
- ssh
- firewalld
- sudo
- lrzsz
- lsof
- systemctl
- rsync
- screen
- tar打包
- ss
- history
- vmstat
- 基础知识
- 目录
- 权限
- 用户和组
- 防火墙
- crontab
- ps 进程
- 开机自启
- 信号
- 一些资料
- 同步/异步,阻塞/非阻塞区别
- 添加swap
- 查看硬件资源信息
- 文本相关
- zabbix监控
- sql
- 数字签名
- 虚拟内存
- rsyslog
- tcp优化
- 避免rm
- ulimit
- rc.local开机自启
- 文件时间戳
- 文本处理工具
- nginx
- 优点
- 安装
- 配置文件
- 常用命令
- nginx模块
- stub_status模块
- random_index
- sub_module
- secure_link_module模块
- geoip_module
- 请求限制
- 访问控制
- 静态资源web服务
- 防盗链
- 代理服务
- 负载均衡
- 缓存服务
- 动静分离
- rewrite规则
- HTTPS
- nginx+lua
- 常见异常
- 配置文件详解
- keepalived
- keepalived服务说明
- keepalived部署
- 脑裂
- 多实例配置
- 提高安全性的配置
- 日志配置
- SO_REUSEPORT
- 网络管理
- ISO/OSI七层模型
- TCP/IP四层模型
- DNS
- 网页加载慢
- 网关
- IP配置
- NGINX + SSH Tunnel 内网穿透
- 测速
- 防御DDOS
- 屏蔽指定国家所有的IP
- 一键安装桌面环境和RDP
- vps dd win
- iftop监控服务器
- Debian/Ubuntu上使用rclone挂载OneDrive网盘
- 基于serverchan微信推送
- vps dd linux
- ssh端口转发
- ssh设置代理
- lvs
- 服务管理
- 服务分类
- 服务与端口
- RPM包服务管理
- 源码包服务管理
- 总结
- yum
- apt
- Linux VPS一键更换软件源脚本
- pgsql安装
- shell
- shell简介
- echo命令
- 基础
- 运算符
- 环境变量
- 正则表达式
- cut命令
- printf
- 分析服务器日志
- sed和awk
- 流程控制
- 函数
- 批处理
- wc
- sort和uniq
- git
- 配置
- git四个区五种状态
- git常用命令
- 仓库管理
- 分支管理
- 查看管理
- 操作管理
- 恢复管理
- 其他命令
- 总结
- git fetch & git pull
- 各种后悔药
- 储藏
- 标签管理
- 常见问题
- 删除大文件
- 设置缓冲区大小
- fork别人的项目
- git rebase 命令的原理和缺陷
- 改写提交
- git 仓库的子目录独立成新仓库
- git高级用法
- 回滚 reset
- emoji
- git二分法
- stash
- 删除Git记录中的大文件的过程
- git reflog
- 恢复已删除分支
- reset和revert
- git同时push代码到github、码云等多个平台
- .git秘密
- commit,tree,blob关系
- 暂存区的作用
- git diff
- 安全
- 系统扫描
- 无痕后门Redsails
- iptables
- openresty
- 常用架构
- lua
- twemproxy+redis
- 智能DNS
- bind服务安装
- DNS解析记录分类
- bind配置演示
- postman
- zookeeper
- zookeeper简介
- 集群部署
- 核心工作机制
- zookeeper命令行操作
- zookeeper客户端API
- 感知服务器动态上下线
- 分布式共享锁
- 原理
- FastDFS
- 简介
- 家里的电脑,外界访问
- centos7和centos6的变化
- centos7显示中文
- .user.ini
- 设置cookie
- ipv6
- L2TP
- linux性能优化
- socket优化