p32
block的大小:1024、2048、4096三种类型。
p33
交换分区
虚拟地址/线性地址:假设一台计算机有4G内存,去掉内核运行内存还剩3G留个软件使用,这些软件默认都会有3g的内存可用。但实际上映射到物理地址上的内存要小于3g,因此实际的内存可用被划分多个空间,同时供不同的软件使用。此时的内存被称为 虚拟地址/线性地址。
物理地址:虚拟地址映射的对象称为物理地址
交换空间(swap 分区必须是单独的分区):交换空间的存在允许内存的过载使用。物理地址会将长时间不用的数据暂存到交换空间中,此时就空出了空间供应其他的软件使用。
page out 【内存数据放大磁盘中】对应swap in; page in 对应 swap out
查看物理内存和交换内存命令
free -m
交换分区不足时,可以自己通过fdisk增加交换分区。【主要要调整分区类型为交换分区类型即82】
创建交换分区:
mkswap /dev/sda3
分区创建后需要挂载才可以使用,交换分区挂载命令比较特殊
swapon【启用交换分区】
-a:启用所有的定义在/etc/fstab文件中的交换设备
swapoff【关闭交换分区】
回环设备【当没有剩余分区来创建交换分区时,且系统有一个分区的空间又空着,此时可以用软件模拟并创建交换分区】
loopback:使用软件模拟实现硬件
dd命令:是一个复制命令,命令结果和cp相同,但过程不同。【优点在于可以只复制数据的一部分】
if= :指定起始来源
of= :指定存储目标
bs= :指定复制多少个zijie
count= :指定复制多少个bs
seek= :创建数据文件时,跳过的空间大小
dd if=/dev/sda of=/mnt/usb/mdr.back bs=512 count=1 【备份MDR】
dd if=/mnt/usb/mdr.back of=/dev/sda bs=512 count=1 【MDR拷贝回去】
创建一个文件作为临时的交换分区使用:
mount命令,可以挂在iso镜像:
文件系统的配置文件/etc/fstab
OS在初始化时,会自动挂在此文件中定义的的每个文件系统
要挂在的设备 挂载点 文件系统类型 挂在选项 转储频率【没多少天做一次文件备份,0不备份,1每隔一天备份】 文件系统检测次序【只有根为1】
fuser :验证进程正在使用的文件或套接字文件
-v 查看某文件上正在运行的进程
-k
-m
fuser -km MOUNT_POINT :终止正在访问此挂载点的所有进程
p34linu压缩及归档
gzip:.gz
gzip file 压缩完成后会删除源文件
-d:相当于gunzip
-9 :指定压缩9倍
gunzip file 解压后会删除源文件
bzip2:.bz2 有着更大的压缩比
bzip2 file 压缩文件后会删除源文件
-d :相当于bunzip2
-k:压缩后不删除源文件
-# :1-9,默认是6
xz:.xz
xz file 压缩文件
-d:相当于unxz
-k
-#:1-9
gzip、bzip2、xz只能压缩单个文件,不可压缩目录
archive:归档,归档不会压缩文件
zip:即归档又压缩
tar:归档工具,.tar
-c:创建归档文件
-f:file.tar 做错的归档文件
-x:展开归档
—xattrs:归档时,保留文件的扩展属性信息
-t:不展开归档,直接查看归档了哪些文件
-zcf:归档并调用gzip压缩
-zxf:调用gzip解压
-jcf:归档调用bzip2压缩
-jxf:解压缩
-jtf:不展开归档,直接查看归档了哪些文件
cpio:归档工具
read命令实现交互
-p 显示提示语句
-t 超过多长时间不输入就关闭输入
脚本编程:
顺序结构:
选择结构:if、case
循环结构:for、while、until
while循环适用于循环次数位置的场景,但一定要有退出条件
语法:
while connmand;do
statement
……
done
计算100以内的所有正整数和
#/bin/bash
declare i=1
declare sum=0
while [ i -et 100 ];do
let sum=${sum}+${i}
let i=${i}+1
#let sum+=${i}
#let i++
done
echo "SUM IS ${sum}"
输入quit退出循环否则将小写字符串替换成大写:
#/bin/bash
read -p "input string:" STRING
while [ ${STRING} != quit ];do
echo ${STRING} | tr "a-z" "A-Z"
read -p "input string:" STRING #一定要加这句退出条件
done
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 不知道为什么加了-a不行
#/bin/bash
read -p "input string:" STRING
while [ ${STRING} != quit -a QUIT ];do
echo ${STRING} | tr "a-z" "A-Z"
read -p "input string:" STRING #一定要加这句退出条件
done
每隔5s执行这个脚本,直到hadoop用户登录则退出