设为首页 收藏本站
查看: 835|回复: 0

【unit4 & unit6】常用shell命令,关于磁盘管理的重点内容

[复制链接]

尚未签到

发表于 2018-8-27 09:27:27 | 显示全部楼层 |阅读模式
  **************************
  ********6.shell脚本命令*****
  **************************
  ******1.diff****
  difffile file1//比较两个文件的不同
  -c//显示上下周围的行
  -u//按照一格式统一输出生成补丁
  -r//比较两个目录有什么不同
  patchfile   file.path        //打补丁
DSC0000.png

DSC0001.png

DSC0002.png

DSC0003.png

  ******2.grep****   【查询,grep 正则表达式】
  grep关键字符 文件|目录//在文件或目录中查找含有关键字的行
  grep-i//忽略大小写
  -n//显示关键字所在行
  -c//显示过滤结果的个数
  -v//反向过滤 【非】
  -E “关键字1|关键字2”//过滤多个关键字  【表示的两个关键字意义为:或,且。满足其中一个,或者同时满足两个】
  -r目录//在目录中查找含有关键字的文件 【例如: grep -r root /etc/ ,绝对会有很多数据输出来,并且开头有文件名称】
  注意: ^关键字             //以关键字开头的
  关键字$//以关键字结尾
DSC0004.png

DSC0005.png

DSC0006.png

DSC0007.png

  *****3.cut*****
  cut//截取字符
  cut -d 分隔符//指定分隔符
  cut -f 1,7//显示指定的列
  cut -c 1-4//显示指定序号的字符(第几到第几个)
DSC0008.png

DSC0009.png

DSC00010.png

  【例子,显示ifconfig br0 下的ip ifconfig br0 | grep "inet " | awk -F " " '{print $2}' 】
  ***4.sort***//排序
  sort
  -n//纯数字排序
  -u//去掉重复
  |uniq -c//去掉重复的,并统计重复次数 【首行显示】
  -t//指定分隔符
  -k//指定列
  【例如 要排序一个文件,但所数字不再开头,在:后。则命令为 sort -t : -k 2 -n file。表示:指定分隔符为:,且在:后第二位 并且将其纯属字进行排序。如若统计重复数字出现的次数,则可家 |uniq -c 】
DSC00011.png

DSC00012.png

DSC00013.png

  ****5.uniq****【必须配合sort使用】
  sort file |uniq -c//去掉重复并统计重复的次数
  -d//显示重复的行
  -u//显示唯一的行
DSC00014.png

DSC00015.png

DSC00016.png

  ****6.sed****
  sed 's/源字符/替换字符/g' file
  sed -e '策略1'-e '策略2' file
  sed -i file//把转换后的内容输入到指定文件
  sed '3,5s/原字符/替换字符/g'//3-5行替换
  sed xd//屏蔽指定行
  sed xp//复制指定行
  sed -n xp//只显示指定行 【显示大于以行的信息   sed -ne xp -ne yp filename】
DSC00017.png

DSC00018.png

DSC00019.png

DSC00020.png

DSC00021.png

DSC00022.png

  ****7.awk****【重点】
  相对于sed常常作为一整行的处理,awk则比较倾向于将一行分成数个“字段”来处理。因此,awk相当适合处理小型的数据,awk通常运行的模式是:awk '条件类型1 {动作1} 条件类型2 {动作2} 'filename。
  执行last -n 5 输出的是当前用户的登陆情况。若想进行优化,只提取出用户名和ip,则可用 last -n 5 | awk '{print $1 "\t" $3}' 。
  其中,$1表示root ; $3表示ip "\t" 表示回车符,其实还有个$0,它代表一整行数据的意思。
  变量名称代表意义
  NF每一行{$0}拥有的字段总数
  NR目前awk处理的是“第几行” 数据
  FS 目前的分割字符,默认是空格键
  举例:last -n 5 | awk '{print $1 "\t lines:" NR "\t columes:" NF}'【显示后五行,并且输出$1,行数和每一行拥有的字段总数(有分隔就为1字段)】
  cat /etc/passwd | \
  >awk 'BEGIN {FS=":"} $3  command (m for help):p//查看分区信息【也可以在命令行写 fdisk -l 查询分区信息】
  Command (m for help):wq//表示保存退出,q表示不保存,放弃更改退出
  [root@localhost mnt]# partprobe//同步分区表【cat /proc/partitions 查看分区信息】
  mkfs.xfs/dev/vdb5//格式化为 xfs文件系统类型【blkid查询可使用的分区】
  mount /dev/vdb5/mnt///挂载
DSC00023.png

DSC00024.png

DSC00025.png

DSC00026.png

  *****2.更改分区功能id**** 【例如:将普通分区更改为swap分区】
  [root@localhost Desktop]# fdisk /dev/vdb
  Command (m for help):t【进入修改分区功能】
  Partition number (1-6, default 6): X【X为你要改的分区名称】
  Partition type (type L to list all types):82【写要更改能容的标号 例如更改为 swap功能为的标号为 82】
  Command (m for help):p【查询分区的信息】
  Command (m for help):wq //保存
  [root@localhost mnt]# partprobe //同步分区表
  mkswap/dev/vdb6//创建swap 【切记要创建,不然无法进行】
  swapon -a/dev/vdb6 //激活增加的swapon 分区
  swapon -s //查看所有的swapon分区列表【blkid也可以查询】
DSC00027.png

DSC00028.png

DSC00029.png

  如果要在每次开机的时候都自动激活
  vim /etc/fstab
  /dev/vdb6 swapswapdefaults0 0【表示的意义以此为:文件名(/dev/vdb6) 激活点(swap) 类型(swap) 参数(默认) 备份(否) 检测(否)】
DSC00030.png

DSC00031.png

  *****3.文件分割一个swap分区功能****
  dd if=/dev/zero of=/mnt/HXL bs=1M count=1000
  mkswap/mnt/westos
  swapon -a /mnt/HXL【后面会有文件权限不合适的提示,不过没关系,你已经激活了】
  swapon -s【查看你激活的swap】
DSC00032.png

  【如果 你想改变swap的优先级(-1 —— 32767),数字越大优先级越高,在你激活的时候 swapon -a /mnt/filename -p X (X就表示你所指定的优先级数)】
  *****3.磁盘加密*****
  1。磁盘加密
  fdisk  /dev/vdb【新建分区】
  cryptsetup luksFormat /dev/vdb1【加密锁 设备】【在cryptsetup后面的命令 是用tab健补不齐的,当然是可以理解的,毕竟是秘密命令】
  cryptsetup open /dev/vdb1 westos【打开加密的分区,并且指定一个临时名称,临时名称是必须指定的,但每次可以不一样】
  mkfs.xfs  /dev/mapper/westos【使得/dev/mapper/westos 使得它为.xfs文件系统】
  mount /dev/mapper/westos  /mnt/【挂载在/mnt下,挂载的时候当前环境不能是要挂载的目录(/mnt/) 】
  umount /mnt/【解挂】【切忌,不能在没有解挂的时候再次加密,会死机】
  cryptsetup close westos【关闭已经打开的加密指定目录】
DSC00033.png

DSC00034.png

DSC00035.png

  2.加密磁盘的永久挂载 【下列步骤应详细,否则虚拟机会开不起来】【注意!,在你能自动挂载 /dev/mapper/HXL之前,首先要打开加密文件指定,然后 mkfs.xfs /dev/mapper/HXL(使之成为.xfs文件系统),要不然 你电脑重启有问题,因为无法识别挂载类型】
  vim /etc/crypttab
  解密后设备管理文件设备加密字符存放文件
  HXL/dev/vdb1/root/lukspsfile【注意!!此处的HXL与下面自动挂载文件中的名称一致】
  vim /root/lukspsfile【!!在此中写入你的/dev/vdb1加密的密码,直接写人密码,啥都不加】
  chmod 600 /root/lukspsfile【!将该文件权限改为600】
  cryptsetup luksAddKey /dev/vdb1  /root/lukspsfile【解密文件与加密分区的对应关系指令】
  vim /etc/fstab 【自动挂载的写入点】
  /dev/mapper/HXL /mntxfsdefaults0 0
  reboot【重启进行检查】
DSC00036.png

DSC00037.png

DSC00038.png

DSC00039.png

DSC00040.png

  3.加密清除【基于已经做过自动挂载功能,如果没做过只需执行后三步】
  vim /etc/fstab【删除自动挂载中的条目】
  > /etc/crypttab【清除磁盘文件中的条目】
  rm -fr /root/lukspsfile【删除密码文件】
  umount /mnt/【卸载挂载】
  cryptsetup close HXL【关闭已经打开的加密指定目录】
  mkfs.xfs  /dev/vdb1-f【将分区格式化为xfs文件系统格式,首先关闭要不然格式化不成功】
  ******4.磁盘阵列*****
  1.建立磁盘阵列
  fdisk /dev/vdb【新建设备分区(此次实验建立三个),注意!要将它的类型改为fd】
  mdadm  -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3} 【建立磁盘阵列 -C ;/dev/md0 :这个名称不能更换; -a yes:如果没有前面的目录自动建立;-l 1:级别为1,1为写入;-n 2: 用两个设备分区;-x 1:剩余一个备用】
  mkfs.xfs/dev/md0
  mount /dev/md0  /mnt/
  watch -n 1 cat /proc/mdstat
DSC00041.png

DSC00042.png

DSC00043.png

DSC00044.png

  2.删除磁盘阵列
  mdadm -f /dev/md0  /dev/vdb1【使这个设备不可用】
  mdadm -D /dev/md0【查看设备】
  mdadm -r /dev/md0  /dev/vdb1 【删除设备vdb1】【这种删除方法,并不能使得磁盘阵列功能关闭,因为这种删除方法,是删除不完的,总会有一个是忙碌,不可删除的】
  mdadm -a /dev/md0 /dev/vdb1【添加设备vdb1】
  umount /mnt/【卸载】
  mdadm -S /dev/md0【删除阵列分】
  fdisk /dev/vdb【当然,你也可以选择把设备分区都删除了】
DSC00045.png

  ****5.配额****【针对分区的,只在指定份额分区生效(/pub)】
  mount -o usrquota /dev/vdb1 /pub【挂载并且开启usrquota(配额功能)】
  quotaon -uv /dev/vdb1【开始并显示quotaon 命令的信息】
  edquota -u student【查看student用户的文件配置信息】
  Disk quotas for user student (uid 1000):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/vdb1                    102400          0       40000       1         0        0
DSC00046.png

DSC00047.png

DSC00048.png

DSC00049.png

  【其中第一个hard规定了你最大可用的字节数,最后一个hard是规定你最大所用的文件的个数】
  su - student【切换到student下,并且实验】
  dd if=/dev/zero of=/pub/file bs=1M count=500【切出一个配额】
  dd: error writing \u2018/pub/file\u2019: Disk quota exceeded   【配额超出】
  101+0 records in
  100+0 records out
  104857600 bytes (105 MB) copied, 0.0916726 s, 1.1 GB/s
  quota【切换到指定的用户(student)写看你的配额信息】
  Disk quotas for user student (uid 1000):
  Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
  /dev/vdb1  102400*      0  102400               1       0       0
DSC00050.png

DSC00051.png

DSC00052.png

DSC00053.png


  **自动挂载分区的配额***
  vim /etc/fstab
  /dev/vdb1/mntxfsdefaults,usrquota0 0
  【配额补录】
  1.soft:表示为磁盘使用量的警戒线,如果文件大小在soft-hard中间,创建文件时会有警告,并且倒计时会开始。但没有关系,当倒数归零的时候soft的值会变成严格限制,你就没有空间再使用了。去删除一些就行。也可以设置warnquota来进行文件告知。
  2.root用户用命令直接这是下层用户的磁盘使用量的限制。例:setquota -u student 200000 300000 0 0 /pub


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-557106-1-1.html 上篇帖子: 二. 第六单元.shell脚本命令 下篇帖子: shell实例:临时解决rsync自动断开的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表