Linux Reference

有任何问题请告诉我,感谢!

1. 登录/登出

在Windows 10下,可以直接在命令行中输入

ssh -p port [email protected]

远程登录。也可使用其它客户端(putty , MobaXterm)登录。注意端口号。

登录后可输入命令

$ passwd

修改密码,并牢记!

使用命令exitlogout登出账户。

2. 上传/下载/打包文件

使用winscp 软件。

文件保存在自己的home目录下

/home/username

如需传输大量文件,建议先打包。在需要压缩的目录的上一级执行

$ tar --use-compress-program=pigz -cf 压缩包名.tar.gz ./需要压缩的目录

3 软件使用范例

3.1 Python

安装conda

每个用户都在自己home目录下安装一个conda。在自己的conda下安装任意python包都不需特权。运行如下命令即可安装,安装选项可全部默认。

$ bash my-conda-install-package.sh

启动conda前的准备

运行conda前用如下命令设置conda的环境变量(以miniconda3为例)

$ eval "$(~/miniconda3/bin/conda shell.bash hook)"

安装python包

建议为每个python项目创建独立的conda环境,如

  • 指定版本的python
$ conda create -n env_foo -c conda-forge python=x.x.x
  • tensorflow
$ conda create -n env_bar -c conda-forge tesnorflow
  • meep
$ conda create -n env_baz -c conda-forge pymeep=*=mpi_mpich_*

-n后接环境名,-c指定conda源。

如有需要,参考4.2节连上Internet后下载。

启用conda环境

$ conda activate env_foo

现在就可以运行python代码了。

其他conda常用命令

  • 退出conda环境
$ conda deactivate
  • 列出所有环境名
$ conda env list
  • 列出当前环境已安装的包
$ conda list
  • 为当前环境安装一个包
$ conda install package_name
  • 删除一个conda环境
$ conda env remove -n env_foo

3.2 MATLAB

运行如下命令可直接启动无图形界面的MATLAB

$ /opt/Polyspace/R2020a/bin/matlab -nodesktop

也可结合4.1节运行如下命令启动带图形界面的MATLAB

$ /opt/Polyspace/R2020a/bin/matlab

运行脚本示范

#!/bin/bash
cd ~/MATLAB_CODE_FOLDER
/opt/Polyspace/R2020a/bin/matlab -nodisplay -sd MATLAB_code_folder -batch the_test_m_file -logfile LOGFILE

-nodisplay表示禁用图形界面,-sd为MATLAB的工作目录,-batch为运行MATLAB的脚本文件名称(不带.m文件后缀),-logfile为记录MATLAB运行过程中的文本输出。

MATLAB运行完成后的所有结果(如图片、数据)均需手动添加代码将其保存为文件。

3.3 COMSOL

需要事先在自己电脑上将仿真文件设置为批处理模式:

  • 在 “模型开发器”树中,单击显示按钮并选择高级研究选项
  • 在 “模型开发器”中,右键单击研究节点并选择批处理,以创建批处理作业
  • 要运行特定的研究,可以添加命令行选项 -study tag,其中 tag 是待运行研究的标记,例如 std1 (若为中文,请修改为英文,若含空格(默认为Study 1,含空格),请删除)

avatar

如果仿真文件中已有运行结果,请先删除以减小文件体积!

运行脚本示范 (Single Host, acquire 1 cpu with 12 cores)

#!/bin/bash
cd ~/COMSOL_FILE_DIR
/opt/comsol55/multiphysics/bin/glnxa64/comsol \
batch -inputfile ./microstrip_patch_antenna_inset.mph \
-outputfile ./out.mph -np 12 -numafirst 0 -numasets 1

-np set number of cores, -numafirst set first NUMA node to bind process to (begin with 0), -numasets set number of NUMA nodes.

仿真完成后,可配合4.1节运行

/opt/comsol55/multiphysics/bin/glnxa64/comsol

直接查看图形结果。

3.4 Lumerical FDTD

环境变量

需要先设置依赖库环境变量

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/LD/lumerical

运行脚本示范 (Single Host, acquire 24 cores)

#!/bin/bash
cd ~/LUMERICAL_FILE_DIR 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/LD/lumerical
/opt/lumerical/fdtd/mpich2/nemesis/bin/mpiexec -n 24 \
/opt/lumerical/fdtd/bin/fdtd-engine-mpich2nem -t 1 \
./lumerical_file.fsp

仿真完成后,可配合4.1节运行

$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/LD/lumerical
$ /opt/lumerical/fdtd/bin/fdtd-solutions

直接查看图形结果。

4. 其他事项

4.1 使用图形界面

方法1

安装xming并启动。

运行putty,在左侧依次找到Connection-SSH-X11,将Enable X11 forwarding打勾。

方法2

使用MobaXterm,默认已启用X11转发。点击软件左上角的Session,选择SSH,输入IP即可连接。

4.2 从Internet下载

方法是先在内网中已连上Internet的计算机A搭建一个代理服务器

然后在需要从Internet下载的计算机B上配置要连接的代理服务器A。

即无Internet的计算机B借助有Internet的计算机A上网。

计算机B上只需执行这两步即可:

$ export http_proxy='http://USERNAME:PASSWORD@PROXYIP:PROXYPORT'
$ export https_proxy='http://USERNAME:PASSWORD@PROXYIP:PROXYPORT'

4.3 后台运行软件

用ssh连接后,如果断开网络连接,则ssh上正在运行的程序也可能会退出。

要始终保持某一程序的运行,需要用到screen程序。

键入

$ screen

会开启一个新的shell。在这里运行的软件即使退出ssh,也还会在后台运行。

依次按下

crtl+A, D

则会断开screen,返回到之前的shell。此时可断开ssh的连接。

下次重连ssh时,键入

$ screen -r

重新连接到之前的screen。

依次按下 crtl+A, Esc 可对screen显示的内容翻页。

最后,键入exit退出screen。

不要在screen下运行图形界面程序。