为什么使用Linux(1)为什么使用Linux?源代码开放,自由软件/代码Linux的强项不在桌面,游戏等方面Linux的强项主要在于科学研究方面光其是需要大规模集群计算进行数据分析的科研工作强大的sheI命令和脚本,多任务长时间的运算科研中可能会遇到的小问题(程序相关):1.在某文件夹下有很多文件和子文件夹,需要将所有的.cpp文件中的int改成float2.同样该文件夹,有很多文件中可能包含某个函数,比如FitLandau),需要找到函数的定义及使用3.查看某个文本文件a.txt一共有多少行4.某程序,需要变更其中的参数进行多次运行。62026/9/22
2026/9/22 6 为什么使用Linux(1) 为什么使用Linux? 源代码开放,自由软件/代码 Linux的强项不在桌面、游戏等方面 Linux的强项主要在于科学研究方面 尤其是需要大规模集群计算进行数据分析的科研工作 强大的shell命令和脚本,多任务长时间的运算 科研中可能会遇到的小问题(程序相关): 1.在某文件夹下有很多文件和子文件夹,需要将所有的 .cpp文件中的int改成float 2.同样该文件夹,有很多文件中可能包含某个函数,比 如Fit_Landau(),需要找到函数的定义及使用 3.查看某个文本文件a.txt一共有多少行 4.某程序,需要变更其中的参数进行多次运行
为什么使用Linux(2)问题1可以用下面一行命令解决:find.-name"*.cpp"-exec sed -i's/int/float/g 0 l,;即用find命令在当前目录寻找(递归)所有的cpp文件,找到后执行sed命令,其中-name和-exec是find命令的参数,分别表示按文件名寻找和执行指令。sed指令在文件中寻找(s)字符串“int",替换为“float"。find后面的“"表示在当前目录寻找,也可以改成其它想寻找的目录,比如/home/geant4/mywork问题2可以用grep命令解决:grep-srn"Fit_Landau"/home/geant4/mywork即用grep命令递归查找/home/geant4/mywork目录里面的所有文件,打印出所有包含“FitLandau”字符串的文件名称,以及该字串出现的行号和该行的内容。其中-srn是grep的参数,s表示忽略文件不存在或无法读取等错误信息,r表示在文件夹中递归查找,n表示打印出字符串出现的行号。这些参数可以组合使用。72026/9/22
2026/9/22 7 为什么使用Linux(2) 问题1可以用下面一行命令解决: find . -name "*.cpp" -exec sed -i 's/int/float/g' {} \; 即用find命令在当前目录寻找(递归)所有的cpp文件,找到后执行sed命令, 其中-name和-exec是find命令的参数,分别表示按文件名寻找和执行指令。 sed指令在文件中寻找(s)字符串“int”,替换为“float”。 find后面的“.”表示在当前目录寻找,也可以改成其它想寻找的目录,比如 /home/geant4/mywork 问题2可以用grep命令解决: grep -srn "Fit_Landau" /home/geant4/mywork 即用grep命令递归查找/home/geant4/mywork目录里面的所有文件,打印出 所有包含“Fit_Landau”字符串的文件名称,以及该字符串出现的行号和该 行的内容。其中-srn是grep的参数,s表示忽略文件不存在或无法读取等错 误信息,r表示在文件夹中递归查找,n表示打印出字符串出现的行号。这 些参数可以组合使用
为什么使用Linux(3)问题3可以用下面一行命令解决:wc -l a.txt即用wc命令,计算a.txt文件有多少行,其中-参数表示计算行数。如果改成W,则表示计算有多少word。问题4可以用shell脚本快速解决,详见shell脚本编程。这仅仅是几个简单的例子,Linux提供的这种指令不计其数。一般通过baidu或者google/bing都可以查到如何实现你需要的功能。如何获取更多关于Linux的使用信息?不得不说的一句:搜索引擎是个好东西!!!思考题:如何在linux下获得系统当前时间并截取时间中的月份?可以baidu试一下。82026/9/22
2026/9/22 8 为什么使用Linux(3) 问题3可以用下面一行命令解决: wc -l a.txt 即用wc命令,计算a.txt文件有多少行,其中-l参数表示计算行数。如果改成- w,则表示计算有多少word。 问题4可以用shell脚本快速解决,详见shell脚本编程。 这仅仅是几个简单的例子,Linux提供的这种指令不 计其数。一般通过baidu或者google/bing都可以查到如 何实现你需要的功能。如何获取更多关于Linux的使用信 息?不得不说的一句:搜索引擎是个好东西!!! 思考题:如何在linux下获得系统当前时间并截取时间 中的月份?可以baidu试一下
使用Linux虚拟机前提:安装了虚拟机软件VMware或者VirtualBox下载或复制对应的ubuntu14.04LTS虚拟机到本地硬盘解压缩,开机D默认用户名:geant4密码:geant4ageant4登录之后点击左侧的terminal图标,获得一个shell界面疗92026/9/22
2026/9/22 9 使用Linux虚拟机 前提:安装了虚拟机软件VMware或者Virtual Box • 下载或复制对应的ubuntu 14.04 LTS虚拟机到本地硬盘 • 解压缩,开机 • 默认用户名:geant4 密码:geant4 • 登录之后点击左侧的 terminal图标, 获得一个shell界面