简介
  我们经常使用ssh或telnet远程登陆到Linux服务器,而执行一些长时间任务如ftp传输,深度学习等任务时常常使我们感到头疼,因为我们不能关闭远程会话,否则进程会强制终止。screen可以很方便地处理这种情况,让我们可以放心地断开连接而让Linux服务器继续执行任务。下面介绍Linux非root用户如何安装配置screen。

安装screen
  root用户可以直接用yum install screen命令安装screen,但对于非root用户或无网络连接的情况,我们需要使用源码来安装screen。screen下载地址在这里,可选择最新版的下载。
  这里我选择最新版的screen-4.6.2.tar.gz下载,使用tar -zxvf screen-4.6.2.tar.gz -C screen-4.6.2解压到screen-4.6.2目录,目录下的INSTALL文件有安装教程。在该目录下,运行./configure --prefix=/home/username/screen_dir,其中--prefix后面是screen安装目录。执行该指令时,可能会出现如下错误:

configure: error: !!! no tgetent - no screen

这是没有安装ncurses依赖包的缘故,这时就需要先下载安装ncurses,其源码下载地址在这里。同样选择最新版的ncurses-6.1.tar.gz下载,下载后用tar指令解压,解压后用如下指令进行安装:

./configure --prefix=/home/username/ncurses_dir
make
make install
如果第一条命令运行后有Error,可用如下命令尝试替换:
./configure --prefix=/home/username/ncurses_dir --with-shared --without-debug --without-ada --enable-overwrite

这里安装到ncurses_dir,目录下有bin,include,lib,share目录,依赖包在lib目录下。接着切换到screen解压目录,执行如下指令:

export LDFLAGS=’-L/home/username/ncurses_dir/lib’
export CPPFLAGS=’-I/home/username/ncurses_dir/include’
./configure --prefix=’/home/username/screen_dir’
make
make install

这样就能将screen安装到screen_dir目录下了。接着在.bashrc文件里设置screen执行路径,加入export PATH=/home/username/screen_dir/bin:$PATH,接着执行source .bashrc更新PATH,在终端输入screen就能进入screen界面了。

screen使用相关
  screen用户手册可以查阅1或者2。

背景

在使用scp命令时,现有教程总是区分远端、本地,甚至区分发送、复制,导致每次使用时都记不住参数顺序,十分麻烦。本教程将统一和简化以上说法。

基本命令

scp -P port -r 想要操作的目录或者文件  想要保存的位置

命令讲解

只需要记住,第一个参数永远是想要操作的目录或者文件,第二个参数是想保存的位置,不需要刻意区分,只需要根据远端和近端调整写法即可。

命令示例

scp -P 26518 -r Result  root@218.123.69.7:/home/test/

下载mac arm版本的jdk,在.zprofile中按如下配置:
export JAVA_HOME=/Users/wlg/Softwares/jdk1.8.0_381.jdk/Contents/Home
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH