吾生有涯 学海无涯
析模有界 知识无界

OpenFOAM|01 Liunx基础

内容纲要

本文简单介绍OpenFOAM使用过程中可能会涉及到的Linux常识。

注:

本文内容取自Wolf Dynamics公司的培训教材“The Linux Terminal: A Crash Introduction”。

1 Linux简介

Linux是一个类Unix系统。UNIX是由最初的AT&T  UNIX衍生而来的多任务、多用户、稳定和便携的计算机操作系统系列,由贝尔实验室在20世纪70年代开发。可以在笔记本电脑、台式PC、服务器和超级计算机中找到UNIX/Linux。

UNIX/Linux系统由三个组件组成:内核、外壳和程序。

  • 内核是操作系统的中枢。它为程序分配时间和资源,并处理调度和系统管理(文件、进程、设备、网络、内存等)。
  • 外壳(或终端)充当用户和内核之间的接口。
  • 程序是用户使用的各种应用程序。Linux中的大多数程序都是开源和免费的,但也可以找到商业程序。有些程序可能有GUI界面,或者只能通过终端访问。

一些关于Linux的描述:

  • 最初是由Linus Torvalds开发的
  • Linux开发始于1991年
  • Linux得到世界范围的社区(志愿者和商业实体)的支持
  • 免费开放源代码(内核)
  • 广泛的Linux应用程序都是免费和开源的。
  • 它可以安装在各种各样的硬件上(笔记本电脑、台式PC、服务器、超级计算机、手机、嵌入式微芯片等)
  • Linux系统安全、稳定、快速、高度可配置
  • 它是开发应用程序的理想操作系统。它附带了许多编译器、解释器和库
  • 大多数现代Linux版本都带有GUI(类似于Windows或MacOSX),它提供了一种与操作系统交互的简单方式
  • 对于带有GUI的程序未涵盖的操作,或当没有可用的图形界面时,需要终端知识

一些常见的Linux操作系统包括:Red Hat、CentOS、Fedora、OpenSUSE、Slackware、Debian、Ubuntu、Mint、Arch等。

2 开源软件

开源(Open Source)指的是人们可以修改和共享的东西,它们被设计为可公开访问。开源软件是包含源代码的软件,任何人都可以对其代码进行检查、修改和增减。开源软件通常以公共协作方式开发的,并免费提供。

当前有许多开放源码软件许可证,这里仅列举一些常用的:

  • GNU General Public License (GPL)
  • Apache License
  • BSD License
  • Creative Commons
  • European Commission License (EUPL)
  • MIT License

3 GPL

OpenFOAM遵循GNU通用公共许可证(GNU General Public License,GPL)。GPL的一些主要特点包括:

  • 根据GNU通用公共许可证(GPL),用户拥有复制、分发和/或修改源代码的法律许可
  • 包括根据GPL许可的源代码的软件继承GPL许可证
  • 如果重新分发已编译的GPL软件的二进制文件(免费或收费),则必须由发行商提供源代码
  • 该许可证旨在提供自由,特别是它不会强迫软件用户公开修改或开发。这意味着GPL软件可以用作内部专有软件的基础
  • 当我们谈到自由软件时,我们指的是自由,而不是价格
  • 通用公共许可证旨在确保您可以自由分发自由软件的副本(如果您愿意,还可以向其收费)、您可以收到源代码或可以在需要时获得源代码、您可以在新的免费程序中更改软件或使用软件的一部分,并且您知道您可以做这些事情

4 终端

当我们谈论Linux终端时,我们谈论的是一款模拟物理终端VT220或其前身VT102的软件。

终端仿真器或shell为用户和操作系统之间的接口。shell是一个读取终端中的命令(从键盘)并将结果发回终端(到屏幕)的程序,其充当命令行解释器或CLI。

目前有许多命令shell,仅举几个例子

  • Bourne shell(Sh)
  • Korn shell(Ksh)
  • C shell(Csh)
  • Tee  shell(Tcsh)
  • Bourne-Again shell(Bash)

用shell编写的程序称为脚本。

在Ubuntu系统中启动shell很容易,任何位置点击鼠标右键,选择菜单项Open in terminal即可开启。在终端中输入命令echo $SHELL,若给出的结果是/bin/bash则表示使用的是bash。

5 常用操作命令

这里简单介绍在Linux中可能用到的终端操作命令。

5.1 目录操作

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用来控制显示深度,如下面的命令只显示当前目录下的一级路径。

5.2 文件命令

下面了解一下在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命令。如下所示。注意使用的是>>,若使用>则会覆盖目标文件中的内容。

5.3 通配符

Linux中有三种通配符:

  • *:可以匹配任何字符或字符串
  • ?:可以匹配单个字符
  • []:可以匹配字符范围

如图所示示例。

5.4 IO重定向

IO重定向通常使用符号>>>来实现。若目标文件已存在,利用>会覆盖目标文件的内容,而>>会将新的内容追加到目标文件的末尾。

如下图所示的示例将命令ls -al的结果输出到文件dir.txt中。

5.5 进程处理

Linux常用的进程管理命令包括ps、top、kill、jobs、bg、fg等。

ps命令可以列举出系统当前正在运行的命令进程。

清除进程可以使用kill命令。首先可以使用ps命令找到PID,然后利用命令kill PID关闭进程。

kill 12

5.6 查看CPU信息

想要查看CPU信息,可以使用命令lscpu来实现,如下图所示。

5.7 信息查找

在文件或目录中查找信息,可以使用grep、find、which等命令实现。

如下图所示命令在根目录/中查找存在字符串hostname文件夹。

若想要查找包含字符串的文件,可以使用命令grep,如下图所示命令grep -r -n "user" /etc为在路径/etc中查找包含字符串user的文件。-r表示搜索子文件夹中的文件,-n表示输出行号。

若想要找寻linux命令所在的路径,可以使用命令which,如下图所示为输出命令find所在的文件路径。

5.8 命令组合

linux中可以将多个命令组合在一起使用。这里可以使用|xargs来实现。

如下图所示命令ls -lR /usr/bin/ | grep "wc"列举出路径usr/bin的详细信息,并在其中查找存在字符串wc的文件。

xargs可以直接调用命令,如下图所示的命令操作,先利用touch创建了5个文件,然后利用rm命令删除f1.txt与f5.txt。

5.9 压缩与解压文件

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先行安装。

本篇文章来源于微信公众号: CFD之道

赞(5) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《OpenFOAM|01 Liunx基础》
文章链接:https://www.topcfd.cn/12041/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册