话说孔乙己时常混迹于磁共振基础班,处理功能数据算是得心应手了。虽然时常拖欠学费,但不出几月,定然还上,从粉板上拭去了孔乙己的名字。因此,DTI班第一天,当他悄悄溜进来的时候,掌柜并未在意。
彼时,寿镜吾老先生正在一板一眼地教授大家Linux基础命令:
-------------------------------
1.Linux命令:
在Windows系统下,我们已经习惯了图形界面操作。而在Linux系统下,许多程序没有图形界面、或者使用命令更为方便。在Linux下执行命令,首先要打开终端:
终端左侧的siying@siying-vbox,意思是在用户siying已经登陆了电脑siying-vbox,而且当前文件夹在~位置下(即个人文件夹下)。在白色方块提示符处输入命令,按回车键即可执行。
Linux命令包括系统自带命令:比如ls、cd、cp等。
第三方软件的程序也可以作为命令执行:比如,如果自己安装了FSL或者Freesurfer等软件,他们也包含了一些命令工具集。如下图中的fslmerge、fslmaths等等。
2. Linux文件管理:
2.1根目录、/home目录的概念
与Windows的C盘D盘E盘不同,Linux系统下的文件都在/目录下边。/,即右斜杠,称之为根目录。
观察一下,上图中即是 Linux根目录中的文件夹和文件,整个Linux系统里的文件(夹)都可以由/出发找到。
/home目录则放置Linux用户的个人文件夹。比如用户siying的个人文件夹的路径是/home/siying;如果新建一个用户zhangsan,该用户的个人文件夹路径是/home/zhangsan。个人文件夹也可以用~来代替。
/目录下的其他文件夹,比如/opt,一般存放自己安装的第三方软件;/bin,一般存放系统的二进制文件,比如我们用的cd等常用命令都在这里;/etc,一般用于存放系统及其他软件的配置文件;/lib,存放系统的库文件;如果插入了移动硬盘,则一般挂载在/media下面。这些了解即可。
2.2基本文件管理命令
(1)列出文件(夹)ls:即列出某个目录下的文件(夹)。命令ls可以跟一个参数,即目录。
输入命令ls /,可列出根目录下的文件(夹)。
输入命令ls ~,可列出个人文件夹下的文件(夹)。
输入命令ls,后边任何参数都不带,可列出当前文件夹下的文件(夹)。比如,当前文件夹在/opt,可列出/opt下的文件(夹)。
(2)改变路径cd:即改变当前文件夹的意思。命令cd可以跟一个参数,即目录。
比如当前文件夹在~下,执行cd sharefolder可以把当前文件夹改变到~/sharefolder。
输入命令cd,后边任何参数都不带,则可切换到个人文件夹,即~。
(3)复制文件cp:把文件从一个位置复制到另一个位置。命令cp可以跟两个参数,前一个是源文件,后一个是目标路径。
(4)移动文件mv:把文件从一个位置移动到另一个位置。命令mv可以跟两个参数,前一个是源文件,后一个是目标路径。
命令mv还可以用以重命名,比如把list.txt重命名为new.txt:
(5)删除文件rm: 把某(些)文件删除。比如删除list.txt:
删除所有sa开头的文件:
(6)创建文件夹mkdir: 创建一个文件夹。比如在~下创建test文件夹:
3. *号的含义:
*代表“任意”的意思。比如*.txt就代表任意以.txt为后缀的文件,sub*则代表任意以sub为开头的文件,sub*.nii代表任意以sub开头.nii结尾的文件,s*i代表任意以s开头i结尾的文件。如果你的文件夹里有sub01.nii,sub02.nii,s03.nii三个文件,sub*.nii会筛选出前两个,s*i则会把三个全筛选出来。
4 文件夹简称:~ . ..
在Linux系统中,~代指用户个人文件夹,比如对于用户siying,~代指/home/siying。. ,也即一个点,代表当前文件夹;.. ,也即两个点,代表上层文件夹。比如,在终端执行cd .. 就切换到了上层目录,其他同理。
5 相对路径和绝对路径:相对路径,指目标文件(夹)相对当前文件夹的路径。比如,~目录下的文件(夹)如图所示:
切换当前文件夹到~/test。
则~/sharefolder相对于~/test的相对路径便是:../sharefolder。也就是上层文件夹下的sharefolder文件夹。
绝对路径,指某个文件(夹)从根目录开始的路径。比如~/sharefolder的绝对路径是/home/siying/sharefolder。
6 . Linux系统下的编辑器:
nano编辑器:
终端输入nano 文件名即可,如果文件名存在,则编辑此文件,如果不存在,则新建此文件。
在出现的编辑器界面输入内容,按ctrl+x键保存关闭即可。
Gedit
如果想使用图形界面编辑器,也可使用gedit,在Ubuntu系统左上角搜索gedit点击打开即可启动。或者在终端输入gedit命令也可以打开。
其他编辑器:Emacs/vim 。熟悉了Linux系统后,编辑任务较多时推荐使用其中一个。
查看某文件内容则可以使用:cat。
7.常见命令错误
(1)No command ** found。找不到命令,原因多为命令输错了。
如上图,输入一个不存在的命令“catdog”,系统里没有猫猫狗狗命令,故而报错。
又比如,命令大小写输错,系统照样不认,报错。
(2)参数输错。比如0和O不分(数字0和OPQ的O),下换线漏输,参数连在了一起。总之,Linux命令及参数的输入,不能有一丁点错误!
8.Linux Shell脚本:
Linux脚本即一系列Linux命令的集合。原本在Linux终端里一次可以执行一个命令,使用Linux Shell脚本,可以依次执行多条Linux命令。使用nano新建一个new.sh文件:
输入要依次执行的命令,保存。
在终端执行bash new.sh即可执行该脚本。对于上图,会在~下创建一个test2文件夹,并且复制~/list.txt到~/sharefoler下。
。。。
寿镜吾老先生快要讲完的时候,孔乙己已经溜出去了,怕掌柜的出去要账。掌柜倒并不在意,知道孔乙己这人过一阵想必又补上了,于是只是默默在电脑里记下了账目。
------------------------------------------
眼见过了年关,DTI班又开了,掌柜再次结账的时候,关下电脑,忽然说,“孔乙己长久没有来了。还欠五百学费呢!”我才也觉得他的确长久没有来了。一个正在练习Linux的学员说道,“他怎么会来?他打折了腿了。”“这一次,是他自己发昏。蹭了一节培训班,就自告奋勇给丁举人家修电脑去了。丁举人家的东西,碰得了么。”“后来怎么样?”“怎么样?他输错了命令,把丁举人的电脑格式化了。先写服辩,后来是打,打了大半夜,再打折了腿。”“打折了怎样呢?”“怎样。。谁晓得?许是死了。”
(欲知后事,且看下回。)
分享两个相关的培训班(直接点击,不要客气):
第三届磁共振DTI(弥散张量成像)数据处理班
第二届磁共振脑影像结构班
再分享个比较新技术的班:
第一届磁共振ASL(动脉自旋标记)数据处理班
长按选择识别图中二维码,你就关注了我