如何运行多个进程
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 %1kill -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.comssh 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 serverfilescp path/to/local_file remote_host:path/to/remote_file- rsync进行备份
rsync -avP . remote_server:test
ssh配置文件
- 为远程服务器起别名实现快速登录