美文网首页
linux 查漏补缺 2

linux 查漏补缺 2

作者: 七白七白七七白 | 来源:发表于2019-04-03 13:54 被阅读0次

    Linux 下软件安装相关

    2.1 文件属性和可执行属性

    2.1.1 文件属性

    文件属性 rwx 中 r 表示 read (数字表示为 4)、w 表示 write (数字表示为 2)、x 表示执行 (数字表示为 1)。三个为一
    组,连续出现三次 (如下面命令行中所示), 第一组表示文件的所有者拥有的权限,第二组为文件所有者所在的用户组所拥
    有的权限,组内所有成员都具有的权限,第三组为其它用户的权限。

    ct@ehbio:~$ ls -l /home
    -rwxr-xr-x 1 ct ct 26 12 月 7 2016 ct
    # 让自己的家目录只自己可见
    ct@ehbio:~$ chmod go-rwx /home/ct
    ct@ehbio:~$ ls -l /home
    -rwx------ 1 ct ct 26 12 月 7 2016 ct
    # 同组人增加可读和可执行属性
    ct@ehbio:~$ chmod g+rx /home/ct
    ct@ehbio:~$ ls -l /home
    -rwxr-x--- 1 ct ct 26 12 月 7 2016 ct
    # 所有人增加可读和可执行属性
    ct@ehbio:~$ chmod a+rx /home/ct
    ct@ehbio:~$ ls -l /home
    -rwxr-xr-x 1 ct ct 26 12 月 7 2016 ct
    

    2.1.2 可执行属性

    which: 表示查看命令的路径。一般用于当我们想知道使用的命令来源于什么地方时,比如安装了多个 R 或多个 python,
    但又分不清用的是哪个时,which 一下,立即明了。在这儿我们用 which 获取的是可执行的命令所在的路径,进而查看
    其属性。

    ct@ehbio:~$ ls -l "`which cd`"
    -rwxr-xr-x 1 root root 26 12 月 7 2016 /usr/bin/cd
    
    ct@ehbio:~$ ls -l "`which mkdir`"
    -rwxr-xr-x. 1 root root 79768 11 月 6 2016 /usr/bin/mkdir
    
    ct@ehbio:~$ ls -l "`which python`"
    #l: 代表软连接
    # 软连接自身是所有人可读可写,但具体的权限依赖于其链接的文件
    lrwxrwxrwx. 1 root root 7 3 月 22 15:04 /usr/bin/python -> python2
    ct@ehbio:~$ ls -l "`which python2`"
    # 第二层链接
    lrwxrwxrwx. 1 root root 9 3 月 22 15:04 /usr/bin/python2 -> python2.7
    # 链接的原始文件
    ct@ehbio:~$ ls -l "`which python2.7`"
    -rwxr-xr-x. 1 root root 7136 11 月 6 2016 /usr/bin/python2.7
    

    chmod a+x file: 表示给文件增加所有人 (a) 可执行权限 (+x)
    chmod u+x file: 表示给文件增加所有者 (u,user,) 可执行权限 (+x)
    chmod g+x, chmod o+X: 表示给文件增加组内人或其它人可执行权限
    chmod 755 file: 表示拥有者有可读写执行权限,其它人有可读执行权限。

    2.2 环境变量

    ct@ehbio:~$ echo $PATH
    /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
    ct@ehbio:~$ export PATH=$PATH:/home/ct
    ct@ehbio:~$ echo $PATH
    /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ct
    

    对于普通用户,在远程登录终端时,家目录下的 ~/.bash_profile (不是 ~/.bashrc, 在本地登录时才会被读取) 会
    自动被读取,所以我们需要把 export 语句加入到这个文件中。


    师兄的图

    建议分开写,方便后续查看,多用绝对路径
    常见的命名 用alias 建立快捷方式就好了

    前面提到,系统查找命令的顺序是从环境变量的第一个目录到最后一个目录,在第一次碰到查询的命令后,就调用执行。
    假如系统存在一个 python 命令,我们自己又安装了一个 python (假如在/home/ct/anaconda/bin 目录下),如果我们
    想执行自己的 python 程序,就需要把/home/ct/anaconda/bin 写在 PATH 前面, export PATH=/home/ct/anaconda/bin:PATH

    2.3 软件安装的几种方式

    2.3.1 系统包管理器安装

    # centos
    # 如果长时间没更新,先运行下update
    yum update
    # 如果不知道软件具体名字,可以先用一个关键字search一下, 选择正式的名字
    # 需要注意的是一般的服务器都是64bit,需要选x86_64版本
    yum search soft_name or soft_description
    yum search soft_official_name
    

    2.3.2 下载二进制文件

    wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.7.1+-x64-linux.tar.gz
    tar xvzf ncbi-blast-2.7.1+-x64-linux.tar.gz
    cd ncbi*
    cd bin
    ln -s pwd/* ~/bin# 直接进入 bin 目录,找到对应可执行文件,链接到在环境变量的目录中去。

    2.3.3 源码编译安装

    • configure 是检查系统的库文件、类文件、依赖软件是否存在以及它们的版本是否满足需求,并根据实际检测结果生成 Makefile 的工具。一般是一堆 bash 命令的组合。通常也需要在这一步配置一些参数。最常用的就是指定软件的
    安装目录--prefix=/home/ct/soft/specific_name。
    • make 则是具体的编译过程。编译的语句都写在了 Makefile 中。make 默认编译 Makefile 中出现的第一个 target,
    也可以指定 target 编译,并根据 Makefile 的设置方式依次编译所有依赖的东西。
    • make install 通常是拷贝 make 编译出来的可执行文件或者依赖的库文件 (如果有的话) 到 configure 时的--prefix 指定的目录下。

    文章来源:生信宝典

    相关文章

      网友评论

          本文标题:linux 查漏补缺 2

          本文链接:https://www.haomeiwen.com/subject/rfaobqtx.html