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

這篇文章主要介紹“Linux磁盤管理和Shell編程知識點有哪些”,在日常操作中,相信很多人在Linux磁盤管理和Shell編程知識點有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux磁盤管理和Shell編程知識點有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

成都創(chuàng)新互聯(lián)是專業(yè)的鹿泉網(wǎng)站建設公司,鹿泉接單;提供成都網(wǎng)站建設、網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行鹿泉網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

 磁盤管理

Linux磁盤管理常用三個命令為df、du和fdisk。

列出文件系統(tǒng)的磁盤使用狀況

列出文件系統(tǒng)的磁盤使用狀況 - 「df」。

文件系統(tǒng)        容量  已用  可用 已用% 掛載點 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

磁盤分區(qū)表操作

磁盤分區(qū)表操作 - 「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   末尾   扇區(qū)  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

磁盤分區(qū)工具

磁盤分區(qū)工具 - 「parted」。

格式化文件系統(tǒng)

格式化文件系統(tǒng) - 「mkfs」。

maoli@ubuntu:~$ mkfs -t ext4 -v /dev/sdb
  • -t - 指定文件系統(tǒng)的類型。

  • -c - 創(chuàng)建文件系統(tǒng)時檢查磁盤損壞情況。

  • -v - 顯示詳細信息。

文件系統(tǒng)檢查

文件系統(tǒng)檢查 - 「fsck」。

轉換或拷貝文件

轉換或拷貝文件 - 「dd」。

掛載/卸載

掛載/卸載 - 「mount」 / 「umount」。

創(chuàng)建/激活/關閉交換分區(qū)

創(chuàng)建/激活/關閉交換分區(qū) - 「mkswap」 / 「swapon」 / 「swapoff」。

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

Shell

Shell是一個連接用戶和操作系統(tǒng)的應用程序,它提供了人機交互的界面(接口),用戶通過這個界面訪問操作系統(tǒng)內核的服務。Shell腳本是一種為Shell編寫的腳本程序,我們可以通過Shell腳本來進行系統(tǒng)管理,同時也可以通過它進行文件操作。

互聯(lián)網(wǎng)上有大量關于Shell腳本的相關知識,我不打算再此對Shell腳本做一個全面系統(tǒng)的講解,我們通過下面的代碼來感性的認識下Shell腳本就行了。

新建Shell腳本

打開文本編輯器(可以使用 vi/vim 命令來創(chuàng)建文件),新建一個文件 test.sh,擴展名為 sh(sh代表shell)。

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

輸入一個echo "Hello World !",這個語法和php很相似。運行一個sh需用 chmod +x腳本具有執(zhí)行權限

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 個命令行參數(shù)名 $# :命令行參數(shù)個數(shù) $@ :所有命令行參數(shù) $* :所有命令行參數(shù) $? :前一個命令的退出狀態(tài),可用于獲取函數(shù)返回值 $$ :執(zhí)行的進程 ID

一個例子:

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

執(zhí)行./hello.sh 1 2 3 4 5 的結果:

# 程序名 $0 = ./hello.sh # 第一個參數(shù) $1 = 1 # 第二個參數(shù) $2 = 2 # 一共有 5 個參數(shù) $# = 5 # 打印出所有參數(shù) $@ = 1 2 3 4 5 # 打印出所有參數(shù) $* = 1 2 3 4 5 # 進程 ID $$ = 9450 # 之前沒有執(zhí)行其他命令或者函數(shù) $? = 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 循環(huán)

for 循環(huán)和Python沒有什么區(qū)別,挺簡單的

# 普通 for 循環(huán) 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 依次代表每個元素 ,{}產(chǎn)生連續(xù)數(shù)字 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 命令用于檢查某個條件是否成立,它可以進行數(shù)值、字符和文件三個方面的測試。

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

比如下判斷兩個字符串是否相同t

num1="Runsen" num2="Runsen" if test $num1 = $num2 then     echo '兩個字符串相等!' else     echo '兩個字符串不相等!' fi 兩個字符串相等!

Shell 函數(shù)

shell中函數(shù)的定義格式如下:

#!/bin/bash   demoFun(){     echo "這是我的第一個 shell 函數(shù)!" } echo "-----函數(shù)開始執(zhí)行-----" demoFun echo "-----函數(shù)執(zhí)行完畢-----"  -----函數(shù)開始執(zhí)行----- 這是我的第一個 shell 函數(shù)! -----函數(shù)執(zhí)行完畢-----

shell實例

求和

例子1:輸入兩個整數(shù)m和n,計算從m到n的整數(shù)求和的結果。

#!/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

創(chuàng)建文件夾和文件

例子2:自動創(chuàng)建文件夾和指定數(shù)量的文件。

#!/usr/bin/bash printf '輸入文件名: ' read file printf '輸入文件數(shù)量(<1000): ' read num if [ $num -ge 1000 ] then     echo '文件數(shù)量不能超過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編程知識點有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

文章標題:Linux磁盤管理和Shell編程知識點有哪些
文章路徑:http://muchs.cn/article14/geside.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作品牌網(wǎng)站制作、標簽優(yōu)化、App設計搜索引擎優(yōu)化、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)