




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux编程基础周纯葆中国科学院计算机网络信息中心 超级计算中心zhoucb提纲Linux基本操作Linux编程基础集群使用Linux简介什么是Linux?Linux就是一类可供人们使用的操作系统。和Windows或MacOS一样,让人与计算机进行沟通。Fedora、SuSE、Redhat、Ubuntu等Linux能用来干什么?办公、编程、上网、听歌、看电影、玩游戏Linux目录和文件的属性基本属性名字文件大小所属用户所属组创建、修改和访问的时间-rwxrwx1文件、目录或链接文件 (-, d, l)2-4文件所有者权限5-7同用户组的权限8-10其他非本用户组的权限基本权限读写可执行命令结
2、构命令 选项 参数例如: 选项 (通常有减号前置) ls -al file 命令 参数 (通常是文件名或目录)注意: 所有字符区分大小写!目录和文件操作改变当前目录cd 目录名不加参数将回到用户主目录相对路径(./)dirname./当前目录./上一层目录绝对路径/home/user/dirname创建目录mkdir 目录和文件操作删除空目录rmdir (rmdir不能删除非空目录)显示当前所在目录Pwd输出文件列表ls 参数 目录或文件名不加目录或文件名表示列表当前目录下的文件常用参数-l详细文件详细信息-a显示所有文件-t/-S (-r)按时间/大小排序(逆排序)目录和文件操作判断文件类型
3、file 复制文件cp 参数 -r递归复制所有子文件夹和其中的文件-a保留源文件的属性文件或目录移动mv 常用来对文件和目录进行重命名目录和文件操作删除文件或目录rm 参数 -r递归删除-f强制删除输出文件全部内容cat 输出文件开头部分内容head -n 行数 特别提示:覆盖和删除操作,系统默认不会进行提示并确认-i 确认后进行覆盖和删除操作目录和文件操作输出文件末尾部分内容tail -n 行数 分屏查看文件内容more less 搜索符合条件的文件find 参数find -name “”目录和文件操作从文件中搜索匹配字符串grep 参数 “” 常用参数:-i 忽略大小写-r 子目录递归搜索
4、-v 反匹配模式更改文件权限chmod目录和文件操作重定向 命令输出重定向 (创建新文件或覆盖已存在文件) 命令输出重定向 (追加) seq目录和文件操作管道command1 | command2 | 一个命令的输出作为下一个命令的输入例如:ls -al | more 分屏查看ls的输出其他命令history显示最近使用过的命令!string重复命令(其开头为string)上/下键 通过上下键来翻阅最近使用的命令左/右键 编辑当前行命令Control-A 跳到行开头Control-E 跳到行结尾tab 补全当前的命令, 文件名, 或目录, 或者显示可能的补全文件打包和解包工具tar打包工具解包
5、:.tar:tar xvf .tar.gz/.tgz: gzip压缩包tar zxvf .tar.Z: compress压缩包tar Zxvf .tar.bz2: bzip2压缩包tar jxvf 亦可使用相应解压工具先解压成tar再用xvf命令解压打包:tar cvf/zcvf/Zcvf/jcvf 环境变量在系统中存在着若干环境变量,这些变量和变量的值反映了系统和用户的状态,并影响用户对系统的使用。一些常用的环境变量:HOME用户主目录的全路径名PATH查找命令的目录列表PWD当前工作目录的绝对路径SHELL当前使用的ShellTERM当前终端类型如果要使用环境变量的值,必须在变量名之前加上
6、一个“$”符号,不能直接使用变量名。环境变量的基本操作定义环境变量export 查看环境变量exportenv取消环境变量unset 网络和文件转输工具ssh远程登录工具ssh -l 用户名 -p 端口号 命令或程序名scp远程文件复制工具scp 文件或路径可以是本地,也可以是远程。如果是远程文件或路径,格式为:用户名:目录或文件名常用参数-r 递归复制-p 保留源文件属性命令帮助和软件文档命令简单用法command -help命令详细说明man -a commandinfo command软件详细文档/usr/share/docgoogle/baidu 提纲Linux基本操作Linux编程基
7、础集群使用文本编辑打开vim编辑器vim 文件名1,2.n vim的模式一般模式编辑模式命令行模式可视模式文本编辑移动命令h/Left j/Downk/Up l/Right 光标上下左右移动Ctrl+f/PageUp 向前翻页Ctlr+b/PageDown 向后翻页0/Home 移至行首$/End 移至行末n+Space 向右移动n个字符H 移至屏幕最上一行M 移至屏幕正中一行L 移至屏幕最下一行gg 移至文件第一行G 移至文件的最后一行nG 移至文件的第n行n+Enter 光标向下移动n行注:命令通常在一般模式下输入才能生效文本编辑编辑命令x/Del 删除当前字符r+c 用输入的字符c替换光
8、标所在字符i/R 以插入/替换状态进入编辑模式o/O 前行之前/之后插入新行,并进入编辑模式u 逐级撤销之前的操作Ctrl+r 逐级恢复被撤消的操作. 重复上一次的操作d$/y$ 光标至行尾的内容删除/不删除存入缓冲区dd/yy 删除/不删除当前行并存入缓冲区n+dd/n+yy删除/不删除当前行往下n行并存于缓冲区p/P 在光标位置后/前插入缓冲区的内容/string 向后搜索第一个为string的字符串n/N 向后/向前继续搜索上次搜索的字符串注:命令通常在一般模式下输入才能生效文本编辑文件操作命令:e filename 关闭当前文件并打开另一个文件:n多文件编辑时跳至下一个文件:N多文件编
9、辑时跳至上一个文件:w 保存当前文件:w filename 另存为其它文件:q 退出:wq 存盘并退出:q! 不存盘退出 注:命令通常在一般模式下输入才能生效编译运行1. 下载或用编辑器编写程序代码文件。vim hello.c2. 用编译器进行编译,生成可执行文件。gcc -o hello hello.c3. 执行程序。./hello执行程序时注意加上程序路径,或设置环境变量 (export PATH=dir:$PATH)调试GDB (GNU Debugger)一般来说,GDB主要帮助你完成下面四个方面的功能:1、启动你的程序,按照你的自定义的要求随心所欲的运行程序。2、可让被调试的程序在你所
10、指定的调置的断点处停住。(断点可以是条件表达式)3、当程序被停住时,可以检查此时你的程序中所发生的事。4、动态的改变你程序的执行环境。调试在使用gdb前,必须先载入可执行文件,因为要进行调试,文件中就必须包含调试信息,所以在用gcc或cc编译时就需要用-g参数来打开程序的调试选项。例如:gcc -g -o hello hello.c调试调试开始时,必须先载入要进行调试的程序,可以用以下两种方式:在启动gdb后执行以下命令:gdbfile 可执行文件在gdb启动时就载入程序:gdb 可执行文件调试list :显示程序中的代码,常用使用格式有:list输出从上次调用list命令开始往后的10行程序
11、代码。list -输出从上次调用list命令开始往前的10行程序代码。list n输出第n行附近的10行程序代码。list function输出函数function前后的10行程序代码。调试break 在程序中设置断点,当程序运行到指定行上时,会暂停执行。 break 要设置断点的行号tbreak设置临时断点,在设置之后只起作用一次。 tbreak 要设置临时断点的行号clear和break相反,clear用于清除断点。 clear 要清除的断点所在的行号run 启动程序,在run后面带上参数可以传递给正在调试的程序。调试delete 清除断点或自动显示的表达式。 delete 断点号disa
12、ble 让指定断点失效。 disable 断点号列表 注意:断点号之间用空格间隔开。enable 和disable相反,恢复失效的断点。 enable 断点编号列表ignore 忽略断点。 ignore 断点号 忽略次数调试cont/continue 使程序在暂停在断点之后继续运行。 cont 跳过当前断点继续运行。 cont n 跳过n次断点,继续运行。当n为1时,cont 1即为cont。next 继续执行语句,但是跳过子程序的调用。 next 执行一条语句 next n 执行n条语句调试step 与next类似,但是它会跟踪到子程序的内部,而且会显示子程序内部的执行情况。print 打印
13、变量或表达式的值。 print 变量或表达式kill 结束当前程序的调试。 quit 退出gdb。提纲Linux基本操作Linux编程基础集群使用登录http:/www.putty.nl/download.html 登录登录当前用量实际限额最大限额数据上传和下载/eng/download.php 数据上传和下载作业什么是作业(Job)用户按照要求在系统中每运行一次应用程序的全过程就是一个作业。什么是作业管理系统存在于操作系统和用户之间,能够接收并处理用户作业的系统软件。元通过JH UniScheduler作业管理系统接受、调度和运行所有的用户作业。什么是队列(Queue)在超级计算机(集群)中
14、通过作业管理系统人为的划分出的用来接收不同类型作业(按作业时长、规模、用户组等属性区分)的逻辑分区。作业生命周期1、提交作业 用户提交作业,得到作业号,作业在队列中等待执行2、作业调度 主服务器向调度器发调度请求,调度器选择最适合节点运行作业3、分发作业 主服务器收到调度器提供的节点列表,将作业分发至这些节点4、作业运行 计算节点收到主服务器的指令,创建运行环境,执行作业5、结果返回 作业完成,计算节点将输出和运行信息发回给主服务器6、作业报告 主服务器向用户返回作业输出、退出信息查看队列信息bqueues 参数 队列名不加任何参数显示当前用户全部可用队列基本信息-l queuename显示指
15、定队列详细信息队列名队列优先级接收作业状态调度作业状态全部作业处理器核数运行中作业处理器核数排队中作业处理器核数队列详细信息队列简单描述队列中作业时长限制队列中作业规模限制允许使用队列的用户作业节点配置作业提交串行作业bsub -W 3:0 -n 1 -q cpu -o outfile -e errfile ./helloMPI并行作业bsub -W 6:0 -n 120 -q cpu -R spanptile=20 -o out -e err elmpi ./helloMPI+OpenMP并行作业export OMP_NUM_THREADS=20bsub -W 6:0 -n 120 -q c
16、pu -R spanptile=20 -o out -e err elmpi ./helloLSF作业状态每个作业在提交成功到运行结束,在任一时刻都拥有唯一的作业状态,该状态表明这个作业在该时刻的基本情况。常见的LSF作业状态有以下几种:PEND作业在队列中等待调度运行RUN作业正在运行DONE作业“正常”退出(退出码为零)EXITED作业“异常”退出(退出码非零)PSUSP作业在队列中等待调度时被其所有者或管理员挂USUSP作业在运行时被其所有者或管理员挂起SSUSP作业被LSF系统挂起查看作业状态命令格式bjobs 参数 JobID 不加参数执行会得到当前用户未完成的作业列表。常用参数 -a 查看包括未完成的作业和刚结束不久的作业的信息。 -u 看查指定用户的作业信息。 -q 查看指定队列中的作业信息。 -l 查看作业的详细信息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论