screen

借助screen工具即可,其相当于一个窗口管理器。用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。

具体说来,有以下方式创建窗口:

  1. 直接输入screen命令
    2. Screen+要执行的代码

常用的screen参数如下:

screen -S yourname -> 新建一个叫yourname的session

screen -ls -> 列出当前所有的session

screen -r yourname -> 回到yourname这个session

screen -d yourname -> 远程detach某个session

screen -d -r yourname -> 结束当前session并回到yourname这个session

还有一些快捷键,就是C-a(ctrl + a)配合其它命令:

C-a k -> kill window,强行关闭当前的 window(或者输入exit)

C-a d -> detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。

C-a w -> 显示所有窗口列表。

C-a n -> Next,切换到下一个 window

C-a p -> Previous,切换到前一个 window

C-a 0..9 -> 切换到第 0..9 个 window

parallel

并行执行程序除了可以用&讲程序放到后台执行,还可以用parallel工具。
GNU parallel 可以确保程序的输出和顺序输出时结果一致。
简单使用可以直接用重定向运算符:

  1. parallel < command.sh

更多参考文档

cron

basic terminology:
- cron(8) is the daemon that executes scheduled commands.
- crontab(1) is the program used to modify user crontab(5) files.
- crontab(5) is a per user file that contains instructions for cron(8).

Each entry in a crontab file consists of six fields, specifying in the following order:

minute(s) hour(s) day(s) month(s) weekday(s) command(s)

文档

bz2文件压缩解压

  1. 压缩
  2. bzip2 -z fileName
  3. 解压
  4. bzip2 -d fileName.bz2
  5. bunzip2 fileName

默认在压缩解压完成后会删除源文件,可以用 -k 保留。