Linux学习七 磁盘空间管理和初步了解变量

Linux学习七 磁盘空间管理和初步了解变量

知识点磁盘空间管理

lsblk命令 列出系统上的所有磁盘列表
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0 1000M  0 part /boot
NAMEMAJMINRMSIZER0TYPEMOUNTPOINT
装置名称主要装置代码次要装置代码是否为可卸除装置(0、1)容量是否为只读装置是磁盘(disk)、分区槽(partition)、只读存储器(rom)、lvm挂载点
选项 参数举例说明
-dlsblk -d /dev/sda仅列出磁盘本身,并不会列出该磁盘的分区数据
-flsblk -f /dev/sda列出文件系统与装置的UUID(全局单一标识符)
-ilsblk -i /dev/sda使用ASCLL线段输出(不是很懂,区别好像就前面线条不一样)
-mlsblk -m /dev/sda同时输出该装置再/dev 底下的权限数据(rwx的数据)
-plsblk -p /dev/sda列出完整文件名(就是文件名是绝对路径)
-tlsblk -t /dev/sda列出磁盘装置的详细数据,磁盘队列机制,预读写的数据量大小

parted命令 列出磁盘的分区表类型与分区信息

parted [装置] [ 指令 [参数] ]

功能格式举例
新增分区mkpart [primary|logical|extended] [ext4|vfat | xfs] 开始 结束
显示分区printparted /dev/sdb2 print
删除分区rm [partition]parted /dev/sdb rm 2

磁盘分区:gdisk/fdisk
  • MBR分区表使用fdisk分区
  • GPT分区表使用gdisk分区

磁盘格式化(建置文件系统 mkfs mkswap)

mkfs.xfs

选项参数说明
-b512~4kblock容量
-dagcount=xxxxxx个储存群组(AG)
agsize=xxx每个AG设定多大容量
file格式化的是文件不是个装置(如虚拟磁盘)
size=xxxdata section的容量,就是设置的话就会留下容量,默认用完
-f如果装置内已有文件系统,需要强制格式化
-i与inode相关设定
-LLabel name设置文件系统的标头名称
mkswap /dev/sdb2  #格式化为swap文件系统
swapon -s #查看swap空间组成员

swapon /dev/sdb2     #启用/dev/sdb2交换分区
swapoff /dev/sdb2    #停用

文件扩展swap空间
dd if=/dev/zero of=/opt/swap.db bs=1M count=2048
#dd命令字 if读取数据来源 of数据写到哪里 bs每次读取和写入数据大小为1M count为读取和写入的次数为2048次
mkswap /opt/swap.db #格式化为swap文件系统
swapon /opt/swap.db  #启用swap.db
swapon -s  #查看swap空间
Filename				Type		Size	Used	Priority
/dev/dm-1                              	partition	2097148	25940	-2
/opt/swap.db                           	file	2097148	0	-3
swapoff /opt/swap.db #停用swap.db

变量

变量的设置和读取
  • 变量与变量内容以一个等号来连接
  • 等号两边不能直接接空格符
  • 变量名称只能是英文字母、某些特殊字符、数字,但是开头不能是数字
  • 可使用”或’来使变量内容结合空格
  • 可以使用`指令`或$(指令) 来取得变量
  • 若该变量为扩增变量时,可以用” 变 量 名 称 “ 或 变量名称“或 {变量}累加内容
  • 若该变量需要在其他子程序中执行,需要export暴露为环境变量
  • 取消变量的方法为:unset [变量名(不加$)]
  • 读取变量的方法:echo $变量名
  • ”“与’‘的区别 双引号仍然可以保有变量的内容,但单引号内仅能是一般字符,而不会有特殊符号 直白讲就是”“能套娃
[root@localhost ~]# name='cjh'
[root@localhost ~]# myname='my name is $name' 
[root@localhost ~]# myname2="my name is $name"
[root@localhost ~]# echo $name;echo $myname;echo $myname2
cjh
my name is $name     #myname变量定义的时候是用单引号,$name并不能转义
my name is cjh       #myname2变量定义的时候是用双引号,$name转义成了cjh

  • 没有变量提升的机制
[root@localhost ~]# myname3="my name is $sss"
[root@localhost ~]# sss='xxxx'
[root@localhost ~]# echo $myname3
my name is                             #sss定义在myname3之后 所以就为空了

[root@localhost ~]# source .bashrc
[root@localhost ~]# echo $name  #.bashrc中已经设置了name变量
yu xian she ding de bian liang
[root@localhost ~]# name='hehe' #设置name变量
[root@localhost ~]# echo $name  #name变量被修改了
hehe
[root@localhost ~]# unset name  #释放
[root@localhost ~]# echo $name  #name空了

  • env命令列出所有环境变量

  • set命令列出所有变量(含环境变量与自定义变量)

  • 读入变量命令read

read -p "请输入名字:" -t 30 name  #-p提示字符 -t 时间限制
请输入名字:zhangsan
[root@localhost ~]# echo $name
zhangsan


变量类型
  • declare / typeset

declare/typeset命令

命令参数说明
-a将变量定义为数组(array)类型
-i将变量定义为整数数字(integer)类型
-x与export一样,就是将变量设置为环境变量
-r将变量设置为readonly类型,不能被修改内容,也不能unset
-p列出变量类型
########################         #-i测试
[root@localhost ~]# sum=100+32
[root@localhost ~]# echo $sum   #默认字符串类型
100+32
[root@localhost ~]# declare -i sum=100+23  #定义为整数数字类型
[root@localhost ~]# echo $sum
123
[root@localhost ~]# declare -i sum=100+0.2   #只能整数  所以报错了
bash: declare: 100+0.2: syntax error: invalid arithmetic operator (error token is ".2")
[root@localhost ~]# declare -i sum=1/3 #精度只能达到整数
[root@localhost ~]# echo $sum
0

[root@localhost ~]# declare -r sum    #添加只读属性
[root@localhost ~]# declare -p sum	  #查看sum类型属性
declare -ir sum="0"
[root@localhost ~]# declare +r sum    #因为是只读属性,无法修改
bash: declare: sum: readonly variable
[root@localhost ~]# declare -p sum    
declare -ir sum="0"
[root@localhost ~]# declare -x sum    #添加为环境变量
[root@localhost ~]# declare -p sum
declare -irx sum="0"
[root@localhost ~]# declare +x sum    #通过+来取消属性,取消环境变量
[root@localhost ~]# declare -p sum
declare -ir sum="0"

#################################    #数组测试
[root@localhost ~]# var[0]='xiaoming'
[root@localhost ~]# var[1]='xiaowang'
[root@localhost ~]# var[2]='xiaochen'
[root@localhost ~]# echo "$var[0],$var[1],$var[2]"  #错误示范输出
xiaoming[0],xiaoming[1],xiaoming[2]
[root@localhost ~]# echo "${var[0]},${var[1]},${var[2]}"  #正确示范输出


变量内容的删除、取代与替换

to be continue…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值