Linux系统环境与变量

作者: Ashu | 来源:发表于2022-04-03 21:54 被阅读0次
    • Linux 系统环境

    • 变量

    Linux 系统环境

    文件系统结构

    • 文件系统结构:一切皆文件(软件,命令,文本或是文件夹)

    生信技能树小郭老师的课件图-文件系统结构

    普通用户一般不会操作以下的文件夹,即使是管理员一般也很少操作以下的文件夹。普通用户一般只在自己的家目录操作,认清自己的家目录(Jan22)就可以:

    / 虚拟目录的根目录。通常不会在这里存储文件
    /bin 二进制目录,存放许多用户级的GNU工具
    /boot 启动目录,存放启动文件
    /dev 设备目录,Linux在这里创建设备节点
    /etc 系统配置文件目录
    /home 主目录,Linux在这里创建用户目录
    /lib 库目录,存放系统和应用程序的库文件
    /media 媒体目录,可移动媒体设备的常用挂载点
    /root root用户的主目录
    /sbin 系统二进制目录,存放许多GNU管理员级工具
    /run 运行目录,存放系统运作时的运行时数据
    /tmp 临时目录,可以在该目录中创建和删除临时工作文件
    /usr 用户二进制目录,大量用户级的GNU工具和数据文件都存储在这里

    Linux系统

    一般有4个主要部分:内核、shell、文件系统应用程序
    内核shell文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。
    内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
    shell是一种应用程序,为用户提供操作界面,是用户与内核进行交互操作的接口。
    shell也是一门编程语言(脚本编程)

    生信技能树小郭老师的课件图-Linux系统

    查看系统资源

    查看CPU信息:lscpu
    查看内存信息:free -h
    查看硬盘信息:df -h
    查看文件大小:du -h -d 1查看文件大小:du -h -d 1
    查看系统进程:top(htop)或者 ps -ef 或者 jobs

    du -h miniconda3
    ##查看miniconda3有多大,递归性去查,把地层的文件都给罗列出来
    du -h -d 1 miniconda3
    ##列出一层,1是数字的1,不是L的小写
    du -sh
    ##也可以直接查看
    
    ##查看系统进程
    top
    ##打开一个窗口,显示正在运行的程序,类似windows的任务管理器
    ##按q退出
     htop
    ##显示更美观
    ##按q退出
     ps -ef 
     ##把服务器上所有正在运行的命令,程序都展示出来
     
    ps -ef | grep Jan22
    ##一般只关心自己运行的程序
    

    用top命令查看系统进程

    top命令查看实时进程

    htop命令显示更美观

    htop命令直观展示

    ps -ef命令

    ps -ef展示所有正在运行的程序

    查看自己运行的程序

    ps -ef | grep Jan22
    
    查看自己的运行程序

    一般只要登录服务器,系统会自动帮我们运行一些程序。

    补充知识

    挂载物理硬盘

    mount /dev/sda /trainee/Jan22
    ##挂载在上,原来的文件就不见了
    ##马哥linux课程,教怎么管理服务器,linux基础与shell脚本编程,鸟哥linux编程(台湾人)
    #至少学半年以上才可以管理Linux
    

    (初学者不适合去管理服务器,管理服务器要学习对应的管理方法。)

    变量

    Linux的变量有:环境变量,位置参数变量、状态变量、自定义变量。

    环境变量、状态变量、位置参数变量、自定义变量,在调用变量时,要在变量前面加一个 $符号

    环境变量:用于存储有关shell会话和工作环境的系统变量(如$PATH);

    状态变量:用于记录命令的运行结果(如果正确运行,状态变量为0,如果运行错误,状态变量为非零);

    位置参数变量:用于用于向命令或程序脚本中传递信息(传参);

    自定义变量:由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等。

    自定义变量

    由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等,用等于号=来赋值(注:= 前后不要有空格)。在Linux里面,空格是一个字符,有无空格是天壤之别。

    a=gene
    a
    ##linux不识别a这个变量,linux格式:命令 [参数] 文件
    

    变量前后有无$区别

    echo打印变量前有无$的区别
    echo 'This is a $a'
    ##This is a $a
    echo "This is a $a"
    #This is a gene
    #单引号:变量不会被解释
    #双引号:变量被解释
    

    单双引号的区别

    单双引号的区别

    单引号:变量不会被解释
    双引号:变量被解释

    在用sed,awk的时候,script的部分都用单引号。

    环境变量

    用于存储有关shell会话和工作环境的系统变量。

    • 常见环境变量:

    $HOME:当前用户的主目录;

    $PATH:shell查找命令的目录列表,由冒号(:)分隔。(最主要的环境变量,它保存的信息是几个路径,路径里面的工具是随时随地可以调用,安装软件要涉及到PATH变量);

    $SHELL:bash shell的全路径名;

    $LOGNAME:当前用户的登录名;

    $PS1:shell命令行界面的主提示符;

    $PS2:shell命令行界面的次提示符。

    echo:①打印字符串②打印变量的值,变量调用要加$

    echo $HOME
    ##记录每个人的家目录
    echo $PS1
    ##命令行配色
    source ~/.bashrc
    ##激活~/.bashrc
    

    需要注意的是~/.bashrc和PATH的关系,PATH与变量之间的关系。

    ~/.bashrc系统配置文件,包含专用于你的bash shell 的bash信息、设置,每次登录或打开新的shell 时,该文件会被自动读取和执行。

    $PATH输入命令时Linux会去查找PATH里面记录的路径,如果命令存在某一个路径中,就可以成功调用。

    状态变量

    用于存储有关shell会话和工作环境的系统变量

    状态变量 作用
    $? 获取执行上一个指令的执行状态返回值,返回0表示 上一个命令或者程序执行成功,返回的值为非0则表 示上一个命令执行失败。
    $$ 获取当前执行的shell脚本的进程号PID。
    $! 获取上一个后台工作的进程的进程号PID。
    $_ 获取在此之前执行的命令或脚本的最后一个参数。
    #####$?非常重要
    ls
    echo $?
    ##ls执行成功返回0
    
    $?的用法

    不成功的例子

    sodjfa
    ##随便输如的命令(或是输入错的命令)
    echo $?
    #127
    ##上一句命令不成功,$?就会出现非零的参数,
    
    $符号演示

    位置参数变量

    用于向命令或程序脚本中传递信息。

    位置参数变量 作用
    $n n 为数字,$0 代表命令本身,$1〜$9 代表第 1〜9 个参数, 10 以上的参数需要用大括号包含, 如${10}
    $* `这个变量代表命令行中所有的参数,把所有的参数看成一个 整体
    $@ 这个变量也代表命令行中所有的参数,不过 $@ 把每个参数 区别对待
    $# 这个变量代表命令行中所有参数的个数

    $n非常重要

    说明

    以上内容是听生信技能树小郭老师授课内容以及参考课件。

    相关文章

      网友评论

        本文标题:Linux系统环境与变量

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