粒子物理与核物理实验中的数据分析(同名29)课件.ppt

上传人(卖家):晟晟文业 文档编号:4519630 上传时间:2022-12-16 格式:PPT 页数:25 大小:570.50KB
下载 相关 举报
粒子物理与核物理实验中的数据分析(同名29)课件.ppt_第1页
第1页 / 共25页
粒子物理与核物理实验中的数据分析(同名29)课件.ppt_第2页
第2页 / 共25页
粒子物理与核物理实验中的数据分析(同名29)课件.ppt_第3页
第3页 / 共25页
粒子物理与核物理实验中的数据分析(同名29)课件.ppt_第4页
第4页 / 共25页
粒子物理与核物理实验中的数据分析(同名29)课件.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、粒子物理与核物理实验中的粒子物理与核物理实验中的数据分析数据分析杨振伟清华大学第一讲:Linux环境下编程(1)2022-12-162本讲摘要n什么是Linuxn为什么使用Linuxn登陆和使用Linux服务器nLinux简介(内核、shell以及目录结构等)nLinux终端的常用命令(!)nLinux终端的常用编辑器(vi,emacs,pico,etc)nLinux 环境变量与Shell 脚本(!)nLinux下编译运行c/c+,fortran程序2022-12-163什么是Linux(1)什么是Linux?Linux是众多操作系统的一种主要特点 源代码开放,自由软件/代码 众多的不同发行版

2、 强大的shell指令以及shell编程功能:cd,ls,grep,find,sed 大量的科学计算、数据分析处理的程序包 (CERN、FermiLab、KEK以及其它众多机构提供支持)2022-12-164什么是Linux(2)粒子与核物理界普遍使用的是 Scientific Linux CERN(SLC)或Scientific Linux(SL),(1)Redhat发行Redhat Enterprise Linux(RHEL)发行版(2)CERN与FermiLab基于RHEL内核,联合发行SL(3)CERN在SL的基础上发行SLC 主要定制了CERNLIB包。本课程服务器采用的是Scien

3、tific Linux CERN3(SLC3)版本最新版为SLC5.4http:/linux.web.cern.ch/linux/2022-12-165为什么使用Linux(1)为什么使用Linux?源代码开放,自由软件/代码 Linux的强势不在桌面、游戏等方面 Linux的强势主要在于科学研究方面 尤其是需要大量计算或编程进行数据分析的科研工作 强大的shell命令和脚本,多任务长时间的运算科研中可能会遇到的小问题(程序相关):1.在某文件夹下有很多文件和子文件夹,需要将所有的.cpp文件中的yang_int改成yang_float2.同样该文件夹,有很多文件中可能包含某个函数,比如Fit

4、_Landau(),需要找到函数的定义及使用3.查看某个文本文件a.txt一共有多少行4.某程序,需要变更其中的参数进行多次运行。2022-12-166为什么使用Linux(2)问题1可以用下面一行命令解决:find.-name*.cpp-exec sed-i s/yang_int/yang_float/g ;即用find命令在当前目录寻找(递归)所有的cpp文件,找到后执行sed命令,其中-name和-exec是find命令的参数,分别表示按文件名寻找和执行指令。sed指令在文件中寻找(s)字符串“yang_int”,替换为“yang_float”。find后面的“.”表示在当前目录寻找,也

5、可以改成其它想寻找的目录,比如/home/yangzw/mywork问题2可以用grep命令解决:grep-srn Fit_Landau/home/yangzw/mywork即用grep命令递归查找/home/yangzw/mywork目录里面的所有文件,打印出所有包含“Fit_Landau”字符串的文件名称,以及该字符串出现的行号和该行的内容。其中-srn是grep的参数,s表示忽略文件不存在或无法读取等错误信息,r表示在文件夹中递归查找,n表示打印出字符串出现的行号。这些参数可以组合使用。2022-12-167为什么使用Linux(3)问题3可以用下面一行命令解决:wc-l a.txt即用

6、wc命令,计算a.txt文件有多少行,其中-l参数表示计算行号。如果改成-w,则表示计算有多少word。问题4可以用shell脚本快速解决,详见shell脚本编程。这仅仅是几个简单的例子,Linux提供的这种指令不计其数。一般通过baidu或者google都可以查到如何实现你需要的功能。如何获取更多关于Linux的使用信息?不得不说的一句:搜索引擎是个好东西!思考题:如果在linux下获得系统当前时间并截取时间中的月份?可以baidu试一下。2022-12-168登录和使用Linux前提:拥有帐号(包括密码),知道服务器的域名或ip 课程服务器的域名/ip是: 166.111.32.11 某用

7、户的用户名为:yangzw登录远程服务器一般用ssh方式:1)从Linux终端登录 ssh 2)Windows下用ssh客户端软件登录 putty,SecureCRT,Xmanager,登录之后就进入服务器的term终端,然后可以在提示行中键入shell 指令输入服务器域名,用户名,密码选择ssh方式登录目录名提示行和提示符2022-12-169Linux 简介(1)-内核和shellUNIX/Linux 的任务可以简单地分为两部分:承担操作系统与计算机之间的互动工作-内核(kernel),承担操作系统与用户之间的互动工作-shell.目前广泛应用的几大类shell(即指令集):sh,csh,

8、tcsh,bash,目前一般系统默认的是bash,高能物理里常用的为tcsh。语法稍微有些区别,大同小异。用自己习惯的就可以,无所谓优劣。2022-12-1610Linux简介(2)-目录UNIX/Linux 对文件与目录的管理,整体呈树状(tree)结构:/根(root)目录usr/bin/home/sys/tmp/.chensm/zhanghb/yangzw/.WWW/code/thesis/.操作系统设定 系统管理员设定 用户自己设定Linux:public_html/2022-12-1611Linux简介(3)-文件所有者和权限所有者与权限:所有者与权限:Linux文件都有特定的所有者

9、和所有组。文件都有特定的所有者和所有组。文件具有文件具有3类权限:可读类权限:可读(r)、可写、可写(w)、可执行、可执行(x)所有者有权规定所有者有权规定3类用户对该文件的权限:类用户对该文件的权限:所有者自己所有者自己(owner)、所有者同组成员、所有者同组成员(group)、其它用户、其它用户(other)最前面的字母”d”表示这是个目录”-”表明没有该位置对应的权限2022-12-1612一个完整文件名应指定出其所处在的路径(path),路径有相对路径和绝对路径 绝对路径绝对路径:/home/chensm/geom/geom.dat(都是以都是以”/”开始开始)一个符号可以用来简单表

10、示home:(相对路径的例子)/geom/geom.dat 所登录的用户(e.g.chensm)zhanghb/geom/result.dat 不同的用户单个点.表示当前目录,两个点“.”表示上一层目录 /home/chensm/geom 当前目录 ./geom 表示/home/chensm/geom这种文件技巧对以后编写通用的 shell 脚本文件很有用。Linux简介(4)-绝对和相对路径2022-12-1613Linux终端的常用命令(1)pwd 显示当前目录(print working dir)passwd 修改当前用户的密码ls-lahrt 列出当前目录中的文件(list)cd di

11、r 进入指定目录或从当前目录回到用户的home目录 cd,cd foo,cd./cd/home/zhanghb/mkdir dfoo 生成名为 dfoo 的子目录rm-rffoo 删除文件 foo(参数rf表示强制删除文件夹,慎用)rmdir foo 删除名为 foo的子目录(foo 应已经为空目录)cp foo bar拷贝文件 foo 到另一文件 barmv foo bar更改文件 foo 的名称为 barman 显示 command指令说明man-k 寻找“keyword”指令说明页history 列出最近使用过的指令很有用du 显示当前目录所用空间大小注意指令字母大小写。实际上注意指令字

12、母大小写。实际上LinuxLinux区分一切大小写,指令区分一切大小写,指令,文件名文件名,目录名目录名2022-12-1614Linux终端的常用命令(2)more foo 显示名为foo 的文件(按空格键换页)less foo 与 more foo类似,但可以往回翻页(按q 退出)emacs foo&用emacs 编辑名为 foo 的文件(&为提交后台进程)vi,pico,nano,这些命令都以可编辑方式打开文件ps显示正在运行的进程kill 345删除进程 345(如果不行可尝试使用kill-9)./foo在当前目录运行可执行文件 fooctrl-c中断目前在前台执行的进程ln s so

13、urce linkname 为source建立一个符号链接linknamelocate foo 在所有目录中寻找有文件名 foo 的路径find.name file1在当前目录中寻找文件名为file1的路径grep TH1F foo 显示文件 foo 中含“TH1F”的每一行sed e“s/str1/str2/g”foo bar 将文件foo中字符串 “str1”改为“str2”并将修改后的文件写到新文件bar,foo保持不变。2022-12-1615Linux终端的常用命令(3)chmod 755 更改文件file的属性,1:x 2:w 4:r 5:rx 7:rwxchmod ug+x fo

14、o使文件 foo对用户与同小组成员增加执行权限diff file1 file2 比较文件file1和file2的不同tar zcvf 1.tgz file1 file2 压缩file1,file2为1.tgztar zxvf 1.tgz 解压缩1.tgzgcc test.c o try1 用C编译器编译test.c,生成可执行文件tryg+test.cpp o try2 用C+编译器编译程序date 显示系统当前时间sleep 10 暂停10秒钟wc lw file 显示file的行数/字数等信息echo“Welcome to Linux World!”屏幕显示指定字符串file file1

15、显示文件file1的属性注:注:LinuxLinux有些特殊字符,比如有些特殊字符,比如 ,|,&,|,&等符号等符号ls hehe.txt ls hehe.txt 将将lsls的结果写入的结果写入hehe.txthehe.txt,即重定向,即重定向ps aux|grep yangzw ps aux|grep yangzw 显示跟用户显示跟用户yangzwyangzw有关的进程,即通道有关的进程,即通道2022-12-1616Emacs、Vi编辑器的基本指令emacs:很好很强大很好很强大打开文件打开文件 emacs filename保存文件保存文件 x s退出文件退出文件 x c vi(vi

16、m):古老,不过也很强大:古老,不过也很强大打开文件打开文件 vi filename保存文件保存文件 :w (注意:是输入冒号然后输入注意:是输入冒号然后输入w或或q或或q!)退出文件退出文件 :q不存退出不存退出 :q!注:注:vi有两种模式,命令模式和输入模式有两种模式,命令模式和输入模式按小写字母按小写字母”i”进入输入模式,按进入输入模式,按”esc”键进入命令模式键进入命令模式在命令模式中可以输入命令很方便的进行编辑修改在命令模式中可以输入命令很方便的进行编辑修改 讲义最后列了一些讲义最后列了一些vivi的常用命令的常用命令 熟练使用任何一种编辑器都可以极大提高工作效率,建议多多练习

17、。熟练使用任何一种编辑器都可以极大提高工作效率,建议多多练习。nano(pico):简单文本编辑打开文件 nano filename保存文件 o退出文件 x2022-12-1617Shell、环境变量和脚本(1)承担操作系统与用户之间的互动工作-shell.常用的shell(即指令集):tcsh,bash,chsh 该命令改变shell,输入密码后输入/bin/tcsh或/bin/bashshell中有很多环境变量,有的是系统的环境变量,有的是用户自己定义的环境变量,为系统和用户程序服务。环境变量一般用大些字母定义(有些类似于C语言的宏定义)比如比如PATH,PWD,USER,GROUP等都是

18、系统环境变量。等都是系统环境变量。查看所有环境变量:查看所有环境变量:env或者或者printenv查看环境变量查看环境变量PATH的值:的值:echo$PATH或或printenv PATH定义环境变量定义环境变量export YANGDIR=/home/yangzw (bash)setenv YANGDIR/home/yangzw (tcsh)取消环境变量 unset YANGDIR2022-12-1618Shell、环境变量和脚本(2)什么是脚本(script):脚本就是用于实现某种目的的命令集合。这些命令集合放在一个文件中,由shell来解析执行。为什么需要用脚本:很多工作是重复性的,

19、脚本可以让你更高效。比如用脚本循环修改程序的某一部分,自动运行。目 标:1)知道什么是shell脚本(script),如何写自己的脚本 2)可以看懂别人的脚本执行shell脚本,比如有脚本test.sh:./test.sh 注:运行前确保用户对test.sh有可执行权限,否则,chmod u+x test.sh2022-12-1619Shell、环境变量和脚本例:最简单的一个脚本 编写一个shell脚本test.sh:#!/bin/bash#This is a simple test shell scriptecho“Hello everyone!”ls/projects/$USERdatee

20、cho$PWD注:1)标准的脚本都以“#!”开头,后面跟随bash/tcsh或其它脚本程序的路径(用which bash指令可以查看bash的路径)2)注释行以“#”开头(第一行的#!除外)3)需要执行的指令(一般每行一个指令)2022-12-1620Shell、环境变量和脚本脚本中变量和循环的例子:bash vs tcsh#!/bin/bash#Another test shell script#for循环循环#for i in ls/home/yangzwdo echo$idone#while循环循环#num=1DIR=“testDir”while($num 5)do if -d$DIR$

21、num;then echo“$DIR$num exist!“else mkdir$DIR$num fi let num+=1done#!/bin/tcsh#Another test shell script#for循环循环#foreach i ls/home/yangzw echo$iend#while循环循环#num=1DIR=“testDir”while($num 5)if(-d$DIR$num)then echo“$DIR$num exist!“else mkdir$DIR$num endif set num=expr$num+1end2022-12-1621练习1.到到/project

22、s目录下以目录下以$USER为名建立自己的工作目录,在为名建立自己的工作目录,在$HOME目目录下建立一个符号链接录下建立一个符号链接“workdir”,链接到,链接到/projects/$USER (提示:可以用提示:可以用echo或或printenv看看看看USER和和HOME两个环境变量的值两个环境变量的值)然后到然后到workdir中创建目录中创建目录dir1,dir2,dir3,以及文件以及文件file1,file2,index1.htm,index2.htm,test1.txt (提示:创建文件有多种方法,简单的方法是用提示:创建文件有多种方法,简单的方法是用touch命令命令)设

23、定以下两个环境变量设定以下两个环境变量WORKDIR和和MYNAME,让它们分别等于,让它们分别等于 /projects/$USER$USER_$GROUP2.编写脚本编写脚本myscript1.sh,要求:要求:1)显示开始运行的时间;显示开始运行的时间;2)在屏幕上打印出当前目录,当前用户名以及在屏幕上打印出当前目录,当前用户名以及SHELL类型类型 3)显示显示WORKDIR与与MYNAME的值的值 4)显示当前显示当前$WORKDIR目录所用磁盘空间目录所用磁盘空间 5)间隔间隔5秒钟之后再显示出当前时间秒钟之后再显示出当前时间2022-12-16223.编写脚本编写脚本looptes

24、t.sh,要求:要求:1)将练习将练习1中所有文件属性改成只有自己可以读中所有文件属性改成只有自己可以读/写写/执行,执行,其他人只能读其他人只能读 2)将将$WORKDIR目录中目录中*.htm文件改成文件改成*.html (提示,可以用提示,可以用rename命令,也可以用命令,也可以用for循环循环)4.将将/projects/yangzw/Lec_materials/test1.txt拷贝到自己的拷贝到自己的工作目录,再把工作目录,再把test1.txt备份成备份成test1.txt.bak。练习用练习用sed修改其中的字符串,用修改其中的字符串,用grep查找其中的字符串,查找其中的

25、字符串,比如:比如:1)查找其中包含查找其中包含”Vim”的行,并将结果写入的行,并将结果写入final1.txt 2)不区分大小写查找包含不区分大小写查找包含”vim”的行,显示查找出多少行的行,显示查找出多少行 3)用用sed将其中的将其中的”vim”修改成修改成”Vim”4)比较比较test1.txt与与test1.txt.bak的差别的差别 5)删除删除final1.txt 5.练习使用其它常用的练习使用其它常用的Linux命令命令练习2022-12-1623总结n介绍Linux操作系统以及常用命令nLinux终端的常用编辑器(vi,emacs,pico,etc)n介绍shell、环境

26、变量和脚本n介绍Linux下c/c+程序的编译指令目的:了解Linux操作系统的基本概念 熟练掌握Linux操作系统的常用命令 了解Shell脚本编程的基本概念2022-12-1624参考资料1.Linux从入门到精通,Phil Cornes著;童寿彬等译2.RedHat Linux 9系统管理,李蔚泽编著3.精通Shell编程,Sriranga Veeraraghavan著;卢涛译 4.Linux命令、编辑器与Shell编程,Mark Sobell著,杨明军等译5.http:/ and/or Baidu !2022-12-1625备用(vi常用指令)vi 的常用技巧1.显示行号 :se nu

27、2.移动光标到第5行 :53.移动光标到行首 4.移动光标到行尾$5.移动光标到文件头 gg6.移动光标到文件尾 G7.向后移动3个字 3w8.向前移动4个字 4b9.删除光标所在字 dw10.删除光标所在字符 x11.删除行 dd12.删除光标后3行 3dd13.删除光标至行尾 D14.用某字母(如”k”)替换光标所在字符 r k15.向下新增一行 o16.向上新增一行 O17.复制光标所在行 yy18.将复制的行粘贴到光标所在行下方 p19.将复制的行粘贴到光标所在行上方 P20.查找字符串”Abc”/Abc21.全局替换”Abc”为”ABC“:%s/Abc/ABC/g22.将3-9行的”

28、Abc”替换为”ABC”:3,9s/Abc/ABC/g23.将3-6行复制到第9行 :3,6 co 924.将3-6行移动到第9行 :3,6 m 925.删除3-6行 :3,6 d26.3-6行行首加上”ABC”:3,6s/ABC/g27.3-6行行首加上”/”,即C+注释 :3,6s/g28.3-6行行尾添加”ABC”:3,6s/$/ABC/g29.将光标的下一行连接到光标所在行 J30.将光标所在处字母变更大小写 31.取消操作(undo)u32.重复操作(redo).33.全文加亮光标当前变量 gd34.保存文件 :w35.保存退出 :wq36.不保存退出 :q!37.进入输入模式 i38.进入命令模式 ESC39.在行首进入输入模式 I40.在行尾进入输入模式 A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(粒子物理与核物理实验中的数据分析(同名29)课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|