如何运行多个进程
Linux系统的信号
sleep
命令sleep 10
睡10sc-c
中止命令的执行c-c
-> SIGINT信号 停止程序kill -l
查看有多少信号man 7 signal
查看信号的帮助手册SIGQUIT
c-\
发送 Quit from keyboard 会产生一个核心转储文件SIGTERM
kill 进程号
发送 ps
查询进程号SIGHUP
终止终端运行的所有程序(一般是退出终端后发送)SIGSTOP
暂停程序运行SIGCONT
继续运行暂停的程序SIGKILL
Kill signal 不能捕捉的信号,杀死一个程序且不能被忽视
如何让程序在后台运行
系统启动的服务一般叫做守护进程
守护进程和终端是分离的
终端运行的程序也可以在后台运行c-z
程序放入后台但暂停执行sleep 1000 &
程序放入后台执行jobs
查看后台有几个程序bg %1
让一号任务在后台继续运行 kill -CONT %1
kill -STOP %1
让一号任务在后台暂停fg %1
把一号人物从后台放到前台运行
在后台运行的程序输出还会输出到前台 一般都会将输出重定向 /dev/null
nohup sleep 1000 &
让任务在SIGHUP信号后保持运行 退出终端后还在运行
用 kill -KILL %1
杀死
终端多路复用器 tmux
快捷键一般以ctrl-b
开头ctrl-b d
退出tmux回到shelltmux a
重新回到刚才tmux状态
tmux的三个重要概念
- 会话 每次打开tmux会启动一个会话
tmux new -s test
打开一个新的名为test的会话tmux ls
查看会话的列表tmux a -s test
- 窗口 标签
ctrl-b c
打开新的窗口ctrl-b ,
为窗口更名ctrl-b p/n
窗口间的切换
- 面板 多个标签可以打开多个面板
ctrl-b "
水平划分窗口ctrl-b %
垂直划分ctrl-b 方向键
窗口间的切换ctrl-b 空格
调整布局ctrl-b z
进行窗口的缩放
命令的别名
alias
创建常用命令的缩写alias ll="ls -lh"
在 ~/.bashrc
进行别名的设置,每次登入都会生效
使用别名重新定义一些命令的默认行为alias mv="mv -i"
alias mkdir="mkdir -p"
alias rm="rm -i"
删除文件一般 ls *
rm !$
配置文件
~/.bashrc
~/.gitconfig
~/.vimrc
管理配置文件
- 将所有配置文件集中放置到一个目录下
- 并使用版本控制系统进行管理
- 然后通过脚本将其符号链接到需要的地方
远程服务器
ssh不用密码连接远程服务器
ssh test@test.com
ssh test@test.com ls
直接远程执行命令ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519
-o表示向前兼容 -a 100 表示迭代100次 -t ed25519 算法- 输入私钥的密码 非对称加密
- 将公钥上传至服务器可以实现不用密码连接远程服务器
使用ssh复制文件
cat localfile | ssh remote_server tee serverfile
scp path/to/local_file remote_host:path/to/remote_file
- rsync进行备份
rsync -avP . remote_server:test
ssh配置文件
- 为远程服务器起别名实现快速登录