本文简单介绍OpenFOAM使用过程中可能会涉及到的Linux常识。
注:本文内容取自Wolf Dynamics公司的培训教材“The Linux Terminal: A Crash Introduction”。
”
Linux是一个类Unix系统。UNIX是由最初的AT&T UNIX衍生而来的多任务、多用户、稳定和便携的计算机操作系统系列,由贝尔实验室在20世纪70年代开发。可以在笔记本电脑、台式PC、服务器和超级计算机中找到UNIX/Linux。
UNIX/Linux系统由三个组件组成:内核、外壳和程序。
一些关于Linux的描述:
一些常见的Linux操作系统包括:Red Hat、CentOS、Fedora、OpenSUSE、Slackware、Debian、Ubuntu、Mint、Arch等。
开源(Open Source)指的是人们可以修改和共享的东西,它们被设计为可公开访问。开源软件是包含源代码的软件,任何人都可以对其代码进行检查、修改和增减。开源软件通常以公共协作方式开发的,并免费提供。
当前有许多开放源码软件许可证,这里仅列举一些常用的:
OpenFOAM遵循GNU通用公共许可证(GNU General Public License,GPL)。GPL的一些主要特点包括:
当我们谈论Linux终端时,我们谈论的是一款模拟物理终端VT220或其前身VT102的软件。
终端仿真器或shell为用户和操作系统之间的接口。shell是一个读取终端中的命令(从键盘)并将结果发回终端(到屏幕)的程序,其充当命令行解释器或CLI。
目前有许多命令shell,仅举几个例子
用shell编写的程序称为脚本。
在Ubuntu系统中启动shell很容易,任何位置点击鼠标右键,选择菜单项Open in terminal
即可开启。在终端中输入命令echo $SHELL
,若给出的结果是/bin/bash
则表示使用的是bash。
这里简单介绍在Linux中可能用到的终端操作命令。
Linux中与文件操作的命令很多,这里仅介绍使用频率最高的几个。这些命令包括:pwd、ls、cd、mkdir、rmdir、tree。
1、pwd命令
pwd命令可以显示当前路径,如下图所示。
2、ls命令
ls命令用于列出文件路径下的文件信息,此命令可以带有参数。若不带参数表示列举当前路径下的文件信息。若想要查看路径下的所有信息,可以带有参数-al
。
3、cd命令
cd命令用于切换文件路径。如下图所示可以从当前路径切换到指定的文件路径。利用命令cd ..
可以进入当前路径的父目录;命令cd ~
和cd
命令可以快速进入根目录。
4、mkdir命令
利用mkdir
命令可以创建目录。如下所示利用mkdir命令创建了一个名为test的文件夹。
5、rmdir命令
利用rmdir
命令可以删除一个文件夹。如下所示利用命令rmdir test
删除了当前路径下的test文件夹。
若文件夹不是空文件夹,此时可以是用rm -r
命令进行删除。
6、tree命令
tree
命令并非原生命令,需要单独安装。若为ubuntu系统,可以使用apt-get install tree
命令进行安装。利用tree命令可以以树状形式显示文件信息。
tree
命令可以带有参数-L
用来控制显示深度,如下面的命令只显示当前目录下的一级路径。
下面了解一下在Linux终端中操作文件的命令,这些命令包括:cat、touch、more、head、tail、less、rm、cp、mv、file等。
cat
命令可用于创建、合并和/或显示文件。执行下面的命令:
mkdir task
cd task
cat > file1.txt
这里利用命令cat > file1.txt
创建并打开文件file1.txt,之后可以在终端输入想要输入的内容,按ctrl+c
组合键完成内容输入并写入文件。
注:这里的
”>
符号为重定向,符号后面接文件名表示将内容输入到文件中。
此时可以使用more
命令或任何文本编辑器查看文本文件中的内容:
more file1.txt
具体操作如下图所示。
显示文件内容可以使用cat
命令,也可以使用more
命令。
若想要部分显示文件内容,可以使用head
命令和tail
命令,这两个命令可以显示文件头部或尾部的少量信息,在打开大文件时很有用。
创建一个文件除了可以使用cat
命令进行重定向外,还可以使用touch
命令。如命令touch file2.txt
可以在当前路径下创建一个名为file2.txt的文件。
删除一个文件,可以使用rm
命令。如下所示利用rm
命令删除file2.txt文件。
利用cp
命令将一个文件的内容拷贝到另一个文件。
注:若想要拷贝文件目录,可以使用cp命令带上参数-r。
”
若想要修改文件名称,可以使用命令mv
,此命令的本意为移动对象,不过如果将一个文件以不同的名称移动到相同的路径下,事实上也是为文件修改名称。如下图所示将文件file2.txt的文件名改为file3.txt。
向文件追加信息,可以使用cat
命令。如下所示。注意使用的是>>
,若使用>
则会覆盖目标文件中的内容。
Linux中有三种通配符:
*
:可以匹配任何字符或字符串?
:可以匹配单个字符[]
:可以匹配字符范围如图所示示例。
IO重定向通常使用符号>
及>>
来实现。若目标文件已存在,利用>
会覆盖目标文件的内容,而>>
会将新的内容追加到目标文件的末尾。
如下图所示的示例将命令ls -al
的结果输出到文件dir.txt中。
Linux常用的进程管理命令包括ps、top、kill、jobs、bg、fg等。
ps
命令可以列举出系统当前正在运行的命令进程。
清除进程可以使用kill
命令。首先可以使用ps
命令找到PID,然后利用命令kill PID
关闭进程。
kill 12
想要查看CPU信息,可以使用命令lscpu
来实现,如下图所示。
在文件或目录中查找信息,可以使用grep、find、which
等命令实现。
如下图所示命令在根目录/
中查找存在字符串hostname文件夹。
若想要查找包含字符串的文件,可以使用命令grep
,如下图所示命令grep -r -n "user" /etc
为在路径/etc
中查找包含字符串user的文件。-r
表示搜索子文件夹中的文件,-n
表示输出行号。
若想要找寻linux命令所在的路径,可以使用命令which
,如下图所示为输出命令find
所在的文件路径。
linux中可以将多个命令组合在一起使用。这里可以使用|
及xargs
来实现。
如下图所示命令ls -lR /usr/bin/ | grep "wc"
列举出路径usr/bin的详细信息,并在其中查找存在字符串wc的文件。
xargs可以直接调用命令,如下图所示的命令操作,先利用touch创建了5个文件,然后利用rm命令删除f1.txt与f5.txt。
Linux中有非常多的用于文件压缩与解压的命令,比较常用的如tar、zip、unzip等。
如当前路径下存在一个名为dir.txt的文件,现在想要压缩dir.txt文件,可以使用下面的命令将其压缩为文件dir.tar.gz:
tar -czvf dir.tar.gz dir.txt
若想要解压dir.tar.gz文件,可以使用命令:
tar -xzvf filename.tar.gz
也可以使用zip和unzip命令,与上面等同命令形式为:
zip dir.zip dir.txt
unzip dir.zip
zip命令不是linux系统内置命令,在使用此命令之前可以使用sudo apt install zip
先行安装。
联系客服