高性能mysql
http://a.xiazai163.com/down/gxnmysql3_pdf_itmop.com.zip
杂项
ubuntu 输入结束符
Ctrl-d
cat
读取文件并输出到终端
cat /etc/hosts 查看本机网络
cat /proc/version 查看当前操作系统版本信息
cat /etc/environment 查看环境变量
cat /proc/4332/cmdline 根据 pid 查看 进程完整命令行
dh 文件夹尺寸
du -sh 整个目录的大小
du -sh * 目录里的每个字目录的大小
du -ah 子目录以及子目录里的文件的大小
ls
查看当前目录
ls -tl 按时间排序 新到旧
ls -tlr 按时间逆序
ls -Sl 按尺寸排序
ls -Slr 按尺寸小到大
ls -lh 按人的习惯显示文件大小, k m 等等
ls -lh
total 283k
-rw-rw-r-- 1 zlgmcu zlgmcu 139 2019-01-25 15:43 Cask
-rw-rw-r-- 1 zlgmcu zlgmcu 225 2019-01-25 15:43 ISSUE_TEMPLATE
-rw-rw-r-- 1 zlgmcu zlgmcu 130 2019-01-25 15:43 Makefile
-rw-rw-r-- 1 zlgmcu zlgmcu 1.1k 2019-01-25 15:43 README.md
-rw-rw-r-- 1 zlgmcu zlgmcu 26k 2019-01-25 15:43 ag.el
-rw-rw-r-- 1 zlgmcu zlgmcu 247k 2019-01-25 15:43 ag_el_screenshot.png
drwxrwxr-x 2 zlgmcu zlgmcu 4.0k 2019-01-25 15:43 docs
-rwxrwxr-x 1 zlgmcu zlgmcu 165 2019-01-25 15:43 tag_release.sh
drwxrwxr-x 2 zlgmcu zlgmcu 4.0k 2019-01-25 15:43 test
env
列出所有环境变量
kill
杀进程
kill -l 查看所有信号名称及对应的编号 (eshell 下不能运行)
kill pid
kill -9 pid 强杀
查看 kill -l 输出,由于 SIGKILL 的编号是9,所以 kill -9 pid 和 kill -SIGKILL pid 是一样的
killall 命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID
kill -STOP 57573 把STOP 信号 发给 57573进程
批量杀进程
ps -ef | grep "node cli" | grep -v grep | awk '{print $2}' | xargs kill -9
ps
查看所有进程,可是这个命令有个问题,如果太长,会截断. 导致有些程序显示不完全
ps -ef | grep mysql
加了w 就显示的下了
ps -efw | grep mysql
查看是否僵尸进程
ps -a -o stat,ppid,pid,cmd
根据 pid 查看 进程完整命令行
cat /proc/4332/cmdline
top
查看cpu 内存使用率
进入top后按
m 可以切换内存显示方式,按百分比输出 还是按多少输出
M 按内存使用百分百排序
P cpu排序
1 查看各核cpu情况
main > me 2>&1 </dev/null
执行 main 这个程序 把 main 的 stdout 输出到 me 这个文件中
每个程序 0 表示 stdinput 1 stdout 2 stderr
shell 里 &1 表示 往 stdout 里输出
2>&1 ,把 stderr 输出到 stdout , 因为 stdout 已经输出到了 me 文件, 所以这时候 stderror 也一并输出给了 me 文件
</dev/null 把/dev/null 文件作为 main 的 stdinput , 其实就是空文件啦
举例
main.go 并go build main.go 编译成 main 程序
package main
import(
"fmt"
"os"
"io"
)
func main() {
fmt.Println("args: ", os.Args)
fmt.Fprintln(os.Stdout, "hello stdout")
fmt.Fprintln(os.Stderr, "hello stderr")
buf := make([]byte, 1024)
n,_ := io.ReadFull(os.Stdin, buf)
fmt.Print("content from stdin: \n", string(buf[:n]))
}
info 文件里有 hello info
main > out < info
控制台输出了 hello stderr,
out 文件里 有, 注意 往os.Stderr输出的 hello stderr 并没有输出到 out文件中
args: [main]
hello stdout
content from stdin:
hello info
如果想把 stderr 一起输出到 out 文件中就要这么写
main > out 2>&1 < info
ssh 断开,程序还能继续运行
制定输出到outputFile文件中
nohup mongostat -u admin -p xxx--host 192.168.4.20 --authenticationDatabase admin >outputFile 2>&1 &
其它
df -hl 查看硬盘存储情况
netstat -tlnp | grep 3306 查看3306端口 t 包含tcp协议的, n 以数字显示 ,p 包含pid , l 显示侦听端口号
ip addr 查看网络接口信息
ifconfig
C d 终端输入 EOF
C z 切换到后台
fg 1 切换回前台
echo $ETCDCTL_API 查看 ETCDCTL_API 环境变量的值
tar -xvf redis-4.0.10.tar.gz 解压
chmod +x /usr/bin/someapp 加执行权限
远程拷贝文件
scp flannel-v0.10.0-linux-amd64.tar.gz wjs@192.168.255.129:/home/wangjunsheng/kubernetes/flannel
scp src dest
systemctl
管理开机启动
/lib/systemd/system/ 目录下 的各种 .service 文件, 比如 docker.service
systemctl daemon-reload 重新加载
systemctl start etcd 启动
systemctl status etcd -l 查看状态
systemctl enable etcd 开机启动
systemctl disable etcd 禁止开机启动
systemctl stop etcd 停止
centos 开机启动网络
etc/sysconfig/network-scripts/ifcfg-ens33
ONBOOT=yes