• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

Linux知识心得20 存储管理+shell基础

开发技术 开发技术 5小时前 2次浏览

笔记

1、作业

1、挂载硬盘的步骤?

	挂载硬盘 -->  分区 ---> 制作文件系统 ---> 挂载

2、动态扩容硬盘的步骤
	
	制作PV -> 制作VG -> 制作LV -> 制作文件系统 -> 挂载 -> 制作PV -> 扩容VG -> 扩容LV -> 更新硬盘空间

3、为什么不建议缩容

	可能丢失部分数据

4、实时计算内存空闲百分比

	[root@localhost ~]# while true; do sleep 1; clear; FREE=`free | awk 'NR==2{print $4}'`; TOTAL=`free | awk 'NR==2{print $2}'`; NUM=`echo " $FREE * 100 / $TOTAL" | bc`; echo $NUM%; done

2、复习

1、MBR

	1、分区2TB以下的硬盘
	2、MBR有4个主分区

	fdisk [硬盘路径]
		n : 创建分区
		p : 查看分区
		d : 删除分区
		w :写入分区
		q : 退出
		m : 查看帮助

2、GPT

	1、分区2TB以上的硬盘
	2、有128个分区
	
	gdisk [硬盘路径]
	
	?:查看帮助
	n : 创建分区
	p : 查看分区
	d : 删除分区
	w :写入分区
	q : 退出

3、制作文件系统
	mkfs.xfs [分区路径]
	
4、修复文件系统
	
5、备份与恢复

	xfsdump -L [备注] -M [媒体备注] -l [等级] -f [备份路径] [备份源路径]
 	xfsrestore -f [备份路径] 数据恢复的路径

6、LVM动态扩容

	用多少,给多少?

3、shell基础

1、变量
	在程序运行过程中,值不断变化的标识符

	定于:先定义,后引用。
	
	$ : 取某个变量中的值

	知识储备:read -p '解释' [变量]

	例1:编写一个脚本,实现登录功能?
		
        #!/bin/bash
        read -p '请输入用户名:' username
        read -p '请输入密码:' password
        if [[ $username == "admin" && $password == "123" ]];then
            echo "登录成功"
        fi

	知识储备: ping
				-c : 探测几次
				-t : 超时时间
			ping命令探测成功,$?返回0 ;探测失败,$?返回非0
	例2:给定一个IP,写一个脚本测试IP是否正常使用
        #!/bin/bash
        IP="192.168.230.10"
        ping -c 1 -t 1 $IP
        if [ $? -eq 0 ];then
        	echo "可以正常访问"
        else
        	echo "不可以"
        fi

	2、单引号与双引号之间的区别
		单引号=》强引⽤
		双引号=》弱引⽤
		
	------------------------------------------------------------------------
	    👇符号区别:👇
        ''   :单引号 强引用,无论引号中的字符串为什么,都原封不动的显示 
        "": 双引号 弱引用,其中的变量会做变量替换,相当于变量值。
        `` : 反引号 实现命令替换,注意是针对命令,相当于命令结果。
        $(): 实现命令替换,与反引号作用相同,相当于命令结果。
 	------------------------------------------------------------------------
		例1:定义一个变量num=123, 用单双引号分别打印,看结果
            [root@localhost ~]# num=123
            [root@localhost ~]# echo $num
            123
            [root@localhost ~]# echo "$num"  # 弱引用,识别$
            123
            [root@localhost ~]# echo '$num'  # 强引用,将$识别为普通字符
            $num
           
           结论:双引号可以解析变量,但是单引号则不行。
		
		例2:定义一个变量num,其值等价于100 * 10的结果,并打印
            [root@localhost ~]# num=`echo "100 * 10" | bc`
            [root@localhost ~]# echo $num
            1000
            [root@localhost ~]# num=$(echo "100 * 10" | bc)
            [root@localhost ~]# echo $num
            1000
           
          结论:反引号和$() 将括号里面的命令的运行结果放在括号的地方。
         
   3、变量作⽤域
       环境变量: 在当前shell及⼦shell⽣效!
       ⾃定义变量: 仅在当前shell⽣效!
       
       set 查看所有变量(包括⾃定变量和环境变量) 
       env 查看环境变量
       
       系统环境变量配置⽂件:(系统定义的)
       1、/etc/profile
       2、/etc/bashrc
       3、~/.bashrc
       4、~/.bash_profile
   	
   4、元字符
   		例1:实时计算内存空闲百分比,要求保留2位小数
        [root@localhost ~]# while true; do sleep 1; clear; FREE=`free | awk 'NR==2{print $4}'`; TOTAL=`free | awk 'NR==2{print $2}'`; NUM=`echo "scale=2;$FREE * 100 / $TOTAL" | bc`; echo $NUM%; done
                      
    ; : 前面执行无论成功与否,后面都执行
    && : 前面执行成功之后,后面才执行
    || :前面执行失败之后,后面才执行

 
  习题1:创建1到100个txt文件
  	touch {1..100}.txt
  习题2:判断80端口是否被占用
  	[root@localhost ~]# netstat -nutlp | grep -E '<80>'
  	[root@localhost ~]# netstat -nutlp | awk 'NR>2{print $4}'| awk -F: '{print $NF}' | sort |uniq

程序员灯塔
转载请注明原文链接:Linux知识心得20 存储管理+shell基础
喜欢 (0)