OpenFoam Linux 命令指南

 

介绍OpenFOAM用户常用的Linux的信息和终端命令...



本指南提供了与OpenFOAM用户常用的Linux的信息和终端命令示例。输入的命令参考了OpenFOAM的命令,例如,里面包括了OpenFOAM在Linux的环境变量。如果这些命令在安装有OpenFOAM的机器上执行并且用户的环境变量被设置用于OpenFOAM,这些关于OpenFOAM的命令将仅如所述的那样工作。

环境变量

Linux使用指定一组的值的环境变量来影响计算机运行方式。 OpenFOAM配置设置环境变量主要是为了提供使用OpenFOAM的快捷方式,并帮助OpenFOAM的编译。快捷环境变量通常由开始FOAM_,而编译环境变量开始WM_。

env :列出shell(终端)中的所有环境变量

env | grep ^ FOAM_ :列出由FOAM_开始的环境变量

echo$ FOAM_SRC :返回(由$ ...表示)的OAM_SRC的环境变量的值

导航

从终端,您可以浏览文件系统,其中文件组织在目录树(文件夹)中。用户文件系统上的home或top目录通过HOME环境变量来指定(通常为/home/(通过输入echo $ HOME检查))。整个文件系统的根目录(包括系统文件)通常用/表示。您所在的当前目录由 . 来表示。比当前目录高一级的目录表示为..。

pwd :打印当前目录(找到您所在的目录)

cd ~ :将目录切换到主目录(〜是一个快捷的意思$ HOME)

cd constant :常量更改为当前目录中名为constant的目录

cd .. :向上移动一个目录

目录列表

ls :列出当前目录中的文件

ls /etc :列出/etc目录中的文件(系统目录)

ls -a :列出所有文件,包括以.开头的隐藏文件,例如.bashrc

ls -l :包含文件所有权和权限的长列表格式的列表

ls-al :列出所有具有长列表格式的文件

创建,复制,移动和删除文件和目录

数据存储在文件中,文件系统来管理文件和目录的名称和层次结构。复制命令(cp)将文件数据复制到具有新名称的文件。移动命令(mv)简单地重命名文件或目录,或者改变其在目录层次中的位置,因此不涉及文件数据的写入。

echo "Hello World" > file1.txt

创建一个包含文本HelloWorld的新文件file1.txt

mkdir newDir :创建一个新目录newDir

cp file1.txt file2.txt

通过复制file1.txt创建一个新文件file2.txt

mv file2.txt newDir1/

将file2.txt移动到newDir目录

cp -r newDir1 newDir2

将newDir1的目录和内容(-r =“递归”)复制到新目录newDir2

mv file1.txt file3.txt

重命名file1.txt,例如 file3.txt

rm file3.txt :删除file3.txt

rm -rf newDir1 :删除newDir1目录和内容

cp newDir2/file2.txt file1.txt

将file2.txt从newDir1目录复制到当前目录中的file1.txt

打印到终端

有时,将文本文件打印到终端是很有用的。

cat file1.txt :将file1.txt文件打印到终端

less $ WM_PROJECT_DIR/Allwmake

滚动终端中的Allwmake文件;键入滚动,Q退出

head -10 $ WM_PROJECT_DIR/Allwmake

打印Allwmake的前10行

tail -5 $ WM_PROJECT_DIR/Allwmake

打印Allwmake的最后10行

表达式匹配

使用grep命令搜索表达式的文件可能很有用。

grep -h build $ WM_PROJECT_DIR/Allwmake

-h:打印包含表达式build的Allwmake文件行

grep -h -i BuIlD $ WM_PROJECT_DIR/Allwmake

-i:打印包含BuIlD的文件行Allwmake,忽略大小写

grep -l if $ WM_PROJECT_DIR/Allwmake

-l:打印文件名Allwmake到终端,如果它包含表达式构建

grep -H if $ WM_PROJECT_DIR/Allwmake

-H:打印包含表达式的文件的文件名和行

查找文件/目录

find命令允许我们快速搜索归档系统中的文件。

find $ FOAM_SRC

打印OpenFOAMsrc目录中的所有文件,目录和链接

find $ FOAM_SRC -name fvMesh.H

在FOAM_SRC中打印名为fvMesh.H的文件和链接(或目录)

find $ FOAM_SRC -name fvMesh.H -type f

在FOAM_SRC中打印仅名为fvMesh.H的文件

find $ FOAM_SRC -name fvMesh.H -type l

在FOAM_SRC中打印仅名为fvMesh.H的链接

find $ FOAM_SRC -name“*.[CH]”-type f

打印仅在FOAM_SRC中以.H或.C结束(*表示“任字符”)的文件

在大量文件中搜索表达式

结合find和grep允许我们在大量文件中搜索一个表达式。例如,要搜索所有OpenFOAM .C源文件以查找包含表达式kepsilon(不区分大小写)的文件:

find $ FOAM_SRC -name“* .C”| xargs grep -l -i kepsilon

另一种语法,但是执行速度较慢:

find $ FOAM_SRC -name“* .C”-exec grep -l -i kepsilon {} ;

过程处理

当键入终端命令行时,执行进程(或作业)。例如,我们可能希望执行一个运行名为gedit的文本编辑器的进程。我们可以打开前面提到的Allwmake文件

gedit $ WM_PROJECT_DIR/Allwmake

这将在终端窗口的前台启动gedit应用程序。我们现在无法控制窗口中的命令行提示。重新获得控制的一种方法是关闭编辑器;一个强力的方法来做到这一点,就是在终端中按终止进程。

或者,我们可以保持该过程存活,并在终端中按。这将停止进程,允许我们重新获得对命令提示符的控制。从那里,我们可以通过在终端中键入fg在前台重新启动进程,在这种情况下,我们再次失去终端提示。或者,我们可以通过输入bg在后台重新启动进程,允许gedit运行并控制提示。

如果我们希望从开始就在后台执行gedit,我们可以在执行时添加&到命令行,即

gedit $ WM_PROJECT_DIR/Allwmake &

有关运行进程的信息可以通过键入下面这个命令来显示

ps

输出会显示进程ID号(PID)。可以使用kill命令终止进程。它向具有指定PID的进程发送信号,其中-9选项将导致进程被终止。例如,要使用PID2222杀死进程:

kill -9 2222

killall命令可以杀死所有gedit进程,例如:

killall -9 gedit

原文:

http://cfd.direct/openfoam/linux-guide/

蓝威技术有限公司是国内首家在线CAE平台供应商,为普通用户提供3000核/小时的免费计算时间,为企业用户提供行业的云计算平台解决方案,帮助客户整合行业数据资源。

商务合作
求解器
定制化在线工具
openFoam算例
科技好文
请邮件至小易: customer@easycae.cn


    关注 模拟在线


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册