首页/文章/ 详情

超算平台开发环境介绍——Linux常用操作指令

9月前浏览10063

Linux操作系统:

Linux前世今生

Linux是一种自由和开放源代码的类Unix操作系统。它起源于1991年,由林纳斯·托瓦兹(Linus Torvalds)在芬兰赫尔辛基大学上学时创建。最初,Linux是为个人计算机设计的,但随着时间的推移,它逐渐发展成为了一种强大的服务器操作系统。

Linux的发展可以分为几个阶段。在早期,Linux主要受到学术界和技术爱好者的关注。然而,随着互联网的普及和开源软件运动的兴起,Linux开始吸引了越来越多的开发者和企业的关注。在20世纪90年代末和21世纪初,Linux逐渐成为了服务器领域的主流操作系统。


 

图:Linux系统的各个发行版本

在过去的几十年里,Linux取得了显著的成就。许多大型互联网公司,如谷歌、亚马逊和Facebook,都在其数据中心中使用Linux作为主要的服务器操作系统。此外,Linux还被广泛应用于嵌入式系统、移动设备和超级计算机等领域。

如今,Linux已经成为了一种全球性的技术现象。它的成功在很大程度上归功于开源社区的贡献和支持。通过共享代码和资源,开发者们共同努力,使Linux不断发展壮大,为用户提供了更加稳定、安全和高效的操作系统。

Linux的发行版本有很多,主要分为两大类:一类是由商业公司维护的发行版本,另一类是由社区组织维护的发行版本。

在由商业公司维护的发行版本中,Redhat系列是最具代表性的,其中包括Redhat Enterprise Linux(RHEL),这是所谓的Redhat高级服务器,是一个收费版本;还有Fedora Core,这个版本是由原来的Redhat桌面版本发展而来,是一个免费版本;然后是CentOS,这是一个由RHEL社区克隆出来的免费版本。Redhat可以说是在我国使用人群最多的Linux版本,甚至有人将Redhat等同于Linux。

而在由社区组织维护的发行版本中,Debian是最古老和最著名的Linux发行版之一,它是许多流行的Linux发行版的基础,特别是Ubuntu和Kali Linux。Debian是一种强调使用自由软件的发行版,支持多种硬件平台。Debian及其派生发行版使用deb软件包格式,并使用dpkg及其前端作为软件包管理器。此外,Debian的最新版本(代号Bullseye)的存储库总共包含了59,000个软件包,使其成为最完整的Linux发行版之一。

除此之外,还有许多其他的Linux发行版,例如Slackware系、Arch Linux等。这些发行版各有特色,为用户提供了丰富的选择。

Windows系统

Windows操作系统是由微软公司开发的一款商业操作系统,凭借其用户友好性、广泛的软件支持以及丰富的游戏应用,深受个人用户和商业应用的青睐。从1985年推出至今,Windows经历了多个版本的更新,如经典的Windows 95、经典的Windows XP,以及最新的Windows 10等。

相比之下,Linux则是一个开源操作系统,由全球各地的开发者共同维护和改进。与Windows不同,用户可以自由访问并修改Linux的源代码,使其更符合个人或企业的特殊需求。由于这一特性,Linux在运行速度上往往优于Windows,尤其在较旧的硬件上。此外,Linux系统不会收集用户的个人数据,因此在隐私保护方面具有优势。

然而,这两种操作系统各有优缺点。Windows因其易用性和广泛的软件兼容性而受到广泛欢迎,特别是在游戏应用方面表现出色。反观Linux,虽然操作复杂,学习成本较高,但由于其开源、免费的特性,加上在服务器环境、开发环境和高性能计算方面的优秀表现,赢得了技术爱好者和开发者的青睐。

总的来说,Windows和Linux是两种截然不同的操作系统,各自拥有独特的特点和优势。无论您是寻求易用性还是追求稳定性和自由度,都可以在这两者中找到适合自己的选择。

 

图:Windows系统及其丰富的图形用户界面

如何使用Linux操作系统

 

图:Linux系统架构

如上图所示,Linux最核心的部分其实是内核。内核依赖于设备的驱动,驱动又依附于计算机的硬件。内核可以通过系统调用应用程序(User Application)、壳(Shell)以及图形用户界面(GUI)。Shell提供了各种命令以运行我们的计算程序。

Linux系统在本地会有相应的图形用户界面(GUI),在超级计算机上(天河系列、曙光系列、神威系列)则是通过命令行的形式展示。

 

图:Linux系统的图形用户界面(本地电脑端)

 

图:Linux系统的命令行(超算端)

Linux常见操作指令

Linux系统主要是通过Shell指令实现指令的发送。在整个Shell会话中主要分为两个部分:Shell指令和可执行第三方程序(或脚本文件)。

 

图:Shell的主要组成部分

Shell指令可以理解成运行一个软件,只不过是以命令行的形式存在。

一条shell指令可能包含:[指令名称] [参数:-para 或 --para] [命令操作对象]

Linux常用操作指令 - 机器信息查询

作者列举了以下的常见的操作指令:


用户名称:当前使用的账户


whoami


服务器名称:当前所使用的节点


hostname


机器信息:基本硬件配置



查看CPU信息:lscpu查看内存信息:free -h



监视进程和Linux整体性能:top

快捷键:



e 调整内存单位(K/M/G/T)1 显示各个CPU核心具体使用情况


 

图:超算分配资源信息截图

上图展示了超算分配资源的信息截图。其中展示了机器的相关资源配置。其中的各项信息如下:

  • PID:进程号USER:进程所有者PR:进程优先级VIRT:虚拟内存总量KbRES:进程使用的、未被换出的物理内存大小Kb(RES=CODE+DATA)S:睡眠,代表进程状态。D=不可中断的睡眠状态;R=运行;S=睡眠;T=跟踪/停止;Z=僵尸进程。%CPU:CPU使用率%MEM:内存使用率








Linux常用操作指令--文件、目录和权限

目录/文件的查看和权限:

  • 查看指定目录下所有文件:ls [directory]以详细列表形式显示文件:ls -l以修改时间倒序显示文件:ls -ltr通配符:星号 *查看文件名中带有na字符的文件:ls*na*





例如当以详细列表显示文件时,列表内容显示如下:


更改文件的权限:

  • chmod [para] [filename]

增减某种权限:

  • chmod +x [filename]chmod -w [filename]


目录的创建,目录以及文件的删除:

  • mkdir [directoryName]rm [-rf] [filename or directoryName]


查看当前目录(路径):

  • pwd

目录切换:

  • cd [absolutePath]cd ..:上级目录cd .:当前目录cd -:上次访问目录cd ~:用户根目录





文件的创建(空文件):

  • touch [filename]

文件/目录的移动:

  • mv [filename] [object_directoryName]

文件/目录的重命名:

  • mv [old_filename][new_filename]

文件/目录的拷贝:

  • cp [source_fielname] [dest_filename]

文件/目录名称补全:

  • 输入文件名称起始n个字符后,单击tab键,将快速把文件名称补全,加快速度

文件目录查找:find(在目录中找文件/文件夹):

  • 在指定目录下搜索,文件名中包含某特定字符串的文件:find [directory] -name [filename]

文件的字符搜索:grep(在文件中查找字符串):

  • 在指定目录下文件中搜索,是否包含特定字符串,存在便显示:grep "[string]" -r [filename]

Linux常用操作指令--文件内容查看

显示文件全部内容cat

  • cat [filename] 将文件整个内容从上到下显示在屏幕

显示文件开头head

  • head [filename]head -n [line_num][filename]


显示文件结尾tail

  • tail [filename]tail -n [line_num][filename]指定行数tail -f [filename]动态刷新文件末尾



显示文件结尾more

  • more [filename]若屏幕输出太长,该命令可以一页一页显示,更方便使用者逐页阅读。

Linux常用操作指令—压缩与解压缩

打包tar及解压

  • tar -cvf jpg.tar *.jpg:将目录里所有jpg文件打包成jpg.tartar czf jpg.tar.gz *.jpg:将目录里所有jpg文件打包成jpg.tar.gztar -xf jpg.tar:解压jpg.tar包中所有文件tar -zxf jpg.tar.gz:解压jpg.tar.gz包中所有文件




压缩zip

  • zip jpg.zip *.jpg:将目录里所有jpg文件压缩成jpg.zipunzip jpg.zip:解压jpg.zip包中所有文件


Linux常用操作指令—环境变量使用

环境变量的查看、设置和删除:

  • env:用来显示环境变量,显示当前用户的变量。export:用来设置环境变量。echo:用来查看指定变量内容。





示例:echo $PATHecho ${PATH}
 


重要的系统级环境变量:

  • PATH:当前shell中命令、系统程序、应用程序以及自定义可执行文件的路径。LD_LIBRARY_PATH:可执行共享库(动态库)的目录链接。


示例:


export PATH=[one_path]:$PATH

注意等号两边不能有空格。

来源:STEM与计算机方法
UM理论自动驾驶游戏数字孪生人工智能清华大学 DeST
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-03-03
最近编辑:9月前
江野
博士 等春风得意,等时间嘉许。
获赞 48粉丝 48文章 312课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈