久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux磁盤管理和Shell編程知識點有哪些

144次閱讀
沒有評論

共計 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字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 英德市| 大厂| 舟曲县| 漯河市| 兴山县| 南丹县| 黑河市| 汶上县| 台东市| SHOW| 红安县| 和龙市| 四会市| 罗甸县| 英德市| 绥化市| 东兰县| 丰台区| 万宁市| 唐海县| 马山县| 彰化市| 长沙县| 福海县| 塘沽区| 高陵县| 宝坻区| 嘉定区| 沂南县| 龙陵县| 兴海县| 永和县| 云霄县| 大城县| 郧西县| 武川县| 阜宁县| 扶风县| 滁州市| 辽阳市| 乐清市|