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也是一门编程语言(脚本编程)
查看系统资源
查看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命令查看系统进程
htop命令显示更美观
htop命令直观展示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
非常重要
说明
以上内容是听生信技能树小郭老师授课内容以及参考课件。
网友评论