Linux磁盘管理和Shell编程知识点有哪些

63次阅读
没有评论

共计 4569 个字符,预计需要花费 12 分钟才能阅读完成。

这篇文章主要介绍“Linux 磁盘管理和 Shell 编程知识点有哪些”,在日常操作中,相信很多人在 Linux 磁盘管理和 Shell 编程知识点有哪些问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux 磁盘管理和 Shell 编程知识点有哪些”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

  磁盘管理

Linux 磁盘管理常用三个命令为 df、du 和 fdisk。

列出文件系统的磁盘使用状况

列出文件系统的磁盘使用状况 –「df」。

文件系统   容量   已用   可用   已用 %  挂载点  udev 1.9G 0 1.9G 0% /dev tmpfs 393M 6.3M 386M 2% /run /dev/sda1 19G 13G 5.5G 69% / tmpfs 2.0G 300K 2.0G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup tmpfs 393M 4.0K 393M 1% /run/user/108 tmpfs 393M 60K 393M 1% /run/user/1000 /dev/sr0 1.6G 1.6G 0 100% /media/maoli/Ubuntu 16.04.6 LTS amd64

磁盘分区表操作

磁盘分区表操作 –「fdisk」。

maoli@ubuntu:~$ sudo fdisk -l [sudo] maoli  的密码: Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xdc219461  设备   启动  Start  末尾   扇区  Size Id  类型  /dev/sda1 * 2048 39942143 39940096 19G 83 Linux /dev/sda2 39944190 41940991 1996802 975M 5  扩展  /dev/sda5 39944192 41940991 1996800 975M 82 Linux  交换  / Solaris

磁盘分区工具

磁盘分区工具 –「parted」。

格式化文件系统

格式化文件系统 –「mkfs」。

maoli@ubuntu:~$ mkfs -t ext4 -v /dev/sdb

-t – 指定文件系统的类型。

-c – 创建文件系统时检查磁盘损坏情况。

-v – 显示详细信息。

文件系统检查

文件系统检查 –「fsck」。

转换或拷贝文件

转换或拷贝文件 –「dd」。

挂载 / 卸载

挂载 / 卸载 –「mount」/「umount」。

创建 / 激活 / 关闭交换分区

创建 / 激活 / 关闭交换分区 –「mkswap」/「swapon」/「swapoff」。

参考菜鸟教程:“https://www.runoob.com/linux/linux-filesystem.html”

Shell

Shell 是一个连接用户和操作系统的应用程序,它提供了人机交互的界面(接口),用户通过这个界面访问操作系统内核的服务。Shell 脚本是一种为 Shell 编写的脚本程序,我们可以通过 Shell 脚本来进行系统管理,同时也可以通过它进行文件操作。

互联网上有大量关于 Shell 脚本的相关知识,我不打算再此对 Shell 脚本做一个全面系统的讲解,我们通过下面的代码来感性的认识下 Shell 脚本就行了。

新建 Shell 脚本

打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh 代表 shell)。

maoli@ubuntu:~$ vim test.sh #!/bin/bash echo  Hello World !

输入一个 echo Hello World !,这个语法和 php 很相似。运行一个 sh 需用 chmod + x 脚本具有执行权限

maoli@ubuntu:~$ chmod +x ./test.sh maoli@ubuntu:~$ ./test.sh Hello World !

变量

变量名不加美元符号($,PHP 语言中变量需要)。比如在 shell 中 定义变量 name = Runsen,而在 php 就是 $name =  Runsen 使用一个定义过的变量,只要在变量名前面加美元符号即可,如:$name 或者 ${name}。变量名外面的花括号是可选的,加不加都行。

变量支持字符串类型,浮点等类型,常见有这 3 个前缀:

unset:删除变量

readonly:标记只读变量

export:指定全局变量

#!/bin/bash #  定义普通变量,没有特殊字符或者空格,可以不用引号  CITY=Dongguan #  定义全局变量  export NAME=Runsen #  定义只读变量  readonly AGE=20 #  打印变量的值  echo $CITY echo $NAME echo $AGE #  删除  CITY  变量  unset CITY #  不会输出  Dongguan echo $CITY

预定义变量

预定义变量常用来获取命令行的输入,有下面这些:

$0 :脚本文件名  $1-9 :第  1-9  个命令行参数名  $# :命令行参数个数  $@ :所有命令行参数  $* :所有命令行参数  $? :前一个命令的退出状态,可用于获取函数返回值  $$ :执行的进程  ID

一个例子:

#!/bin/bash echo  \$0 = $0  echo  \$1 = $1  echo  \$2 = $2  echo  \$# = $#  echo  \$@ = $@  echo  \$* = $*  echo  \$$ = $$  echo  \$? = $?

执行./hello.sh 1 2 3 4 5 的结果:

#  程序名  $0 = ./hello.sh #  第一个参数  $1 = 1 #  第二个参数  $2 = 2 #  一共有  5  个参数  $# = 5 #  打印出所有参数  $@ = 1 2 3 4 5 #  打印出所有参数  $* = 1 2 3 4 5 #  进程  ID $$ = 9450 #  之前没有执行其他命令或者函数  $? = 0

if 语句

「sh 的流程控制不可为空」

#!/bin/bash read VAR #  下面这两种判断方法都可以,使用  []  注意左右加空格  #if test $VAR -eq 10 if [ $VART -eq 10 ] then echo  true  else echo  false  fi

read 的方法就 python 中的 input,写成一行(适用于终端命令提示符):

if [ $VART -eq 10 ]; then echo  true  else echo  false fi

for 循环

for 循环和 Python 没有什么区别,挺简单的

#  普通  for  循环  for ((i = 1; i  = 3; i++)) do echo $i done # loop  依次代表每个元素  for loop in 1 2 3 4 5 do echo  The value is: $loop  done # VAR  依次代表每个元素  ,{}产生连续数字  for VAR in {1..3} do echo $VAR done # 也可以写成一行,方便在命令行直接运行,注意空格和; 号: maoli@ubuntu:~$ for VAR in {1..3}; do echo $VAR; done 1 2 3

printf 打印

printf 命令模仿 C 程序库 (library) 里的 printf() 程序,这里补充 - e 开启转义 \c 不换行,其他和 Python 一样。

maoli@ubuntu:~$ echo  It is a test  It is a test maoli@ubuntu:~$ echo -e  OK! \n  OK! maoli@ubuntu:~$ printf  %-10s %-8s %-4s\n   姓名   性别   体重 kg  姓名   性别   体重 kg maoli@ubuntu:~$ printf  %-10s %-8s %-4.2f\n  Runsen  男  65 Runsen  男  65.00

test 检查

Shell 中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。

Linux 磁盘管理和 Shell 编程知识点有哪些

比如下判断两个字符串是否相同 t

num1= Runsen  num2= Runsen  if test $num1 = $num2 then echo  两个字符串相等!  else echo  两个字符串不相等!  fi  两个字符串相等!

Shell 函数

shell 中函数的定义格式如下:

#!/bin/bash demoFun(){ echo  这是我的第一个  shell  函数!  } echo  ----- 函数开始执行 -----  demoFun echo  ----- 函数执行完毕 -----  ----- 函数开始执行 -----  这是我的第一个  shell  函数! ----- 函数执行完毕 -----

shell 实例

求和

例子 1:输入两个整数 m 和 n,计算从 m 到 n 的整数求和的结果。

#!/usr/bin/bash printf  m =   read m printf  n =   read n a=$m sum=0 while [ $a -le $n ] do sum=$[ sum + a ] a=$[ a + 1 ] done echo  结果:  $sum

创建文件夹和文件

例子 2:自动创建文件夹和指定数量的文件。

#!/usr/bin/bash printf  输入文件名:   read file printf  输入文件数量(1000):   read num if [ $num -ge 1000 ] then echo  文件数量不能超过 1000  else if [ -e $dir -a -d $dir ] then rm -rf $dir else if [ -e $dir -a -f $dir ] then rm -f $dir fi fi mkdir -p $dir index=1 while [ $index -le $num ] do if [ $index -lt 10 ] then pre= 00  elif [ $index -lt 100 ] then pre= 0  else pre=  fi touch $dir / $file _ $pre$index index=$[ index + 1 ] done fi

到此,关于“Linux 磁盘管理和 Shell 编程知识点有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计4569字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)