核磁数据分析学习笔记[01_Linux基础]

一、人与计算机的交互方式

两种交互方式

  • GUI(Graphic User Interface)图形用户界面

    • 指采用图形方式显示的计算机操作用户界面。允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。

    • 优点:便捷;美观性强;对操作的技术要求低

    • 缺点:难以大量执行重复性任务

  • CLI(Command-Line Interface)命令行界面

    • 允许用户键入指示计算机执行特定任务的文本命令。通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。

    • 优点:基于文本的程序占用很少资源;可以轻松地自动执行重复操作

    • 缺点:输入错误命令可能最终会删除错误的文件或在保存工作之前意外关闭程序。


二、Linux基本知识

1、 操作系统

  • 什么是操作系统?

    • 操作系统(Operating System,OS)本质上是一组程序,用于管理计算机的所有活动以及驱动系统中所有硬件。
    • 操作系统除了有效控制这些硬件资源的分配,并提供计算机运行时所需要的功能之外,还需要提供程序员更容易开发软件的环境,即一组系统调用接口。
  • 什么是Linux?

    • Linux是一种操作系统,是基于UNIX而来的,而且是一种开源的操作系统,它可以被修改成适合在各种硬件构架上运行的版本。

2、Shell

  • Shell是一个用户界面,负责处理在CLI上键入的所有命令——连接用户与操作系统

    • 它读取并解释命令并指示操作系统按要求执行任务。换句话说,Shell是管理CLI并充当中间人的用户界面,将用户与操作系统连接起来。
  • 功能

    • 使用文件和目录
    • 打开和关闭程序
    • 管理计算机进程
    • 执行重复性任务
  • 类型

    • Windows shell(适用于Windows系统)
    • bash(适用于Linux和MacOS系统):在MacOS中,程序是Terminal.app

3、命令

  • 基本格式:命令名 [选项…] 参数 …

    • 参数和选项的一个共同点就是都以短杠连接,都是用于明确命令的内容的;
    • 有些命令不需要选项也不需要参数,但有的命令在运行时需要多个选项或参数;
    • 命令名区分大小写,包括参数。
  • 选项[options]是用于调整命令执行行为的开关,即选项不同决定了命令的显示结果不同

    • 分为长选项和短选项,短选项诸如:-h -l -a -s,是“-”后接单个字母;长选项诸如:–help --version,是两个短线后接完整的单词,长选项通常不能够组合
  • 参数[arguments]是指定命令的作用对象

  • 用“命令名 --help”或者“man 命令名”可以获取相应命令的详细用法;

4、常用命令

  • ls 命令

    • list,查看文件与目录
    • 常用参数:
      -l :列出长数据串,包含文件的属性与权限数据等
      -a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
      -d :仅列出目录本身,而不是列出目录的文件数据 -h :将文件容量以较易读的方式(GB,kB等)列出来
      -R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
  • cd命令

    • change directory,切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径
    • 示例:
      cd /root/Docements # 切换到目录/root/Docements
      cd ./path # 切换到当前目录下的path目录中,“.”表示当前目录
      cd …/path # 切换到上层目录中的path目录中,“…”表示上一层目录
      cd - # 切换到刚刚的目录
  • cp命令

    • copy,复制文件

    • 常用参数:
      -i :若目标文件已经存在时,在覆盖时会先询问操作的进行
      -r :递归持续复制,用于目录的复制行为
      -u :目标文件与源文件有差异时才会复制

    • 示例:
      cp a b
      (a) a是个文件,b是个不存在的文件,ok
      (b) a是个文件,b是个存在的目录,ok
      © a是个目录,会报错 --> (d) -r a (r:recursive 递归的)

  • mv命令

    • move,移动文件、目录或更名

    • 常用参数:
      -f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
      -i :若目标文件已经存在,就会询问是否覆盖
      -u :若目标文件已经存在,且比目标文件新,才会更新

    • 示例:
      mv file1 file2 file3 dir # 把文件file1、file2、file3移动到目录dir中
      mv file1 file2 # 把文件file1重命名为file2

  • rm命令

    • remove,删除文件或目录

    • 常用参数:
      -f :就是force的意思,忽略不存在的文件,不会出现警告消息
      -i :互动模式,在删除前会询问用户是否操作
      -r :递归删除,最常用于目录删除,它是一个非常危险的参数

    • 示例:
      rm -i file # 删除文件file,在删除之前会询问是否进行该操作
      rm -fr dir # 强制删除(-f)目录dir中的所有(-r)文件

  • cat命令

    • concatenate(连接),查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据

    • 常用参数:
      -n 或 --number:由 1 开始对所有输出的行数编号。
      -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

    • 示例:
      cat -n textfile1 > textfile2 # 把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里
      cat /dev/null > /etc/test.txt # 清空 /etc/test.txt 文档内容

5、连接服务器

  • ssh客户端

    • 通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上,也就是说,我们可以通过ssh来远程控制我们的电脑或者服务器。ssh协议的优点是数据传输是加密的,可以防止信息泄露,而且数据传输是压缩的,可以提高传输速度。
  • ssh命令

    命令格式:ssh [-p port] user@remote

    • user 是在远程机器上的用户名,如果不指定的话默认为当前用户

    • remote 是远程机器的地址,可以是IP/域名,或者是别名

    • port 是SSH Server监听的端口,如果不指定,就为默认值22

6、目录

  • 根目录——root

    • linux文件系统的最顶端是/,我们称/为Linux的root,也就是 Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。
  • 目录结构

    • Linux 系统中所有的文件(目录)都被组织成以根目录“/”开始的倒置的树状结构。
      Linux常见目录结构
  • 家目录

    • 家目录是系统中每个用户的工作目录。在Linux系统中,每个用户都有自己的一个目录,而该目录一般是由用户的账号命名的。
      • 家目录是默认的工作目录。
      • 用户登录后在家目录 ,可用pwd命令查看,普通用户为 /home/用户名,root用户为/root
      • “~” 展开家目录
  • 当前工作目录

    • 每个进程都有一个工作目录(working directory),有时称其为当前工作目录(current working directory)。所有相对路径名都从工作目录开始解释。
      • 用“pwd”命令显示当前工作目录

7、工作路径

  • 一个文件的路径,指的就是该文件存放的位置。指明一个文件存放的位置,有 2 种方法,分别是使用绝对路径和相对路径。

  • 绝对路径:

    • 一定是由根目录 / 开始写起。如: /usr/bin
  • 相对路径:

    • 从当前所在的工作目录开始写起。如:cd ./Desktop
    • 当前目录用 . 表示,父目录和子目录之间用 / 隔开
    • 父目录用 … 表示

三、从DICOM整理到BIDS(NIFTI-based)

  • 核磁导出数据:DICOM格式

  • 分析数据:NIFTI格式
    分析数据前,应将DICOM格式的数据转成NIFTI格式。

  • BIDS(Brain Imaging Data Structure):一种规范化的整理脑成像数据和行为数据的数据结构模式
    从DICOM格式整理为基于NIFTI格式的BIDS结构

    • participants.tsv
    • sub_ xx(文件夹:被试编号):
      • anat/
        -> sub-xx_ T1w.nii.gz(存储被试脑结构数据的压缩文件)
      • func/
        -> sub-xx_ task-rest_ bold.nii.gz(存储被试BOLD信号数据的压缩文件)
        -> sub-xx_ task-rest_ bold.json (补充在格式转换时丢失的重要头文件信息等,如TR、TE等)
        -> (行为实验每个trial的onset,duration,condition)
      • dwi/
        -> sub-xx_ dwi.nii.gz
        -> sub-xx_ dwi.nii.json
        -> sub-xx_ dwi.nii.bval
        -> sub-xx_ dwi.nii.bvec

四、Docker简介

什么是Docker?

  • Docker

    • Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository)。

    • Docker属于操作系统层面的虚拟化技术,以更好的利用硬件实体资源。Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。

    • 镜像(Image)

      • 是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。 可以理解为容器的源代码。
    • 容器(Container)

      • 容器是基于镜像创建的, 即容器中的进程依赖于镜像中的文件, 这里的文件包括进程运行所需要的可执行文件, 依赖软件, 库文件, 配置文件等等。包括:一个镜像格式;一些列标准操作;一个执行环境。

Docker基本用法

  1. 基本格式:docker [分组] [命令]
    分组:
    docker image […] # 镜像操作
    docker run […] # 执行操作

  2. 从仓库中拉取或更新镜像
    docker pull 镜像作者/镜像名:版本(版本不写默认为latest)

  3. 创建一个新的容器并运行一个命令
    docker run [docker 选项] 镜像作者/镜像名:版本 镜像的参数和选项(若分行写要加“\”)

    *[docker 选项] # 进行目录绑定
    -v 主机目录:容器目录:权限
    * 权限 # ro -> read only ;rw -> read and write(默认)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值