Linux命令行界面和shell腳本學習

      網(wǎng)友投稿 979 2025-03-31

      主要學習執(zhí)行效率較高的Linux命令操作,包括Shell的啟動、命令格式及Shell的高級應用,以及vi編輯器的使用

      課程學習通過華為云服務器使用CloudShell登錄

      1Shell命令概述

      1.1shell簡介

      shell是Linux的一個特殊程序,是內核與用戶的接口,它是命令語言、命令解釋程序及程序設計語言的統(tǒng)稱。Shell是一個命令語言解釋器,它擁有自己內建的Shell命令集,Shell也能被系統(tǒng)中其他應用程序所調用。

      當用戶成功登錄Linux系統(tǒng)后,即開始了與Shell的對話交互過程,此時,不論何時鍵入一個命令,都被Shell解釋執(zhí)行。有一些命令,比如改變工作目錄命令cd,是包含在Shell內部的,只要處在Shell命令行下就可以執(zhí)行。還有一些命令,例如復制命令cp和移動命令mv,是獨立的應用程序,必須存在于文件系統(tǒng)中某個目錄下才能執(zhí)行。對用戶而言,不必關心一個命令是建立在Shell內部還是一個單獨的程序。

      1.2Linux命令行的格式

      Linux命令的通用命令格式

      命令字 [選項] [參數(shù)]

      選項及參數(shù)的含義

      選項:用于調節(jié)命令的具體功能

      以“-”引導短格式選項(單個字符),例如“-l"

      以“--”引導長格式選項(多個字符),例如“--color"

      多個短格式選項可以寫在一起,只用一個“-”引導,例如“-al"

      參數(shù):命令操作的對象,如文件、目錄名等

      Linux命令行的格式

      命令行編輯的幾個輔助操作

      Tab鍵:自動補齊

      反斜杠 “\”:強制換行

      快捷鍵 Ctrl+U:清空至行首

      快捷鍵 Ctrl+K:清空至行尾

      快捷鍵 Ctrl+L:清屏

      快捷鍵 Ctrl+C:取消本次命令編輯

      Home:跳到行首

      End:跳到行尾

      1.3獲得命令幫助

      內部命令help

      查看Bash內部命令的幫助信息

      命令的“--help”選項

      適用于大多數(shù)外部命令

      使用man命令閱讀手冊頁

      man -k [關鍵字]

      使用"↑"、"↓"鍵滾動文本

      使用Page Up和Page Down鍵翻頁

      按Q或q鍵退出閱讀環(huán)境、按"/ ”鍵后查找內容

      1.4文件和目錄管理

      目錄操作命令pwd、cd、s、 mkdir

      文件操作命令 touch、cp、rm、mv、find

      文件內容操作命令cat、less、grep

      歸檔及壓縮命令?tar

      1.5目錄操作命令-pwd、cd、ls、mkdir

      pwd命令——用途:查看工作目錄

      cd命令——用途:切換工作目錄? ? 格式:cd [目錄位置]

      mkdir命令——用途:創(chuàng)建新的目錄? ?格式:mkdir [-p] [/路徑/]目錄名

      1.6文件操作命令-ls、touch、cp、rm、mv、find

      ls命令

      用途:列表(List)顯示目錄內容

      格式:ls[選項].…[目錄或文件名]

      常用命令選項

      -l:以長格式顯示

      -a:顯示所有子目錄和文件的信息,包括隱藏文件

      -d:顯示目錄本身的屬性

      -lh:大小以k為單位顯示

      --color:以顏色來區(qū)分不同類型文件

      touch命令

      用途:新建空文件,或更新文件時間標記

      格式:touch 文件名...

      cp命令

      用途:復制(Copy)文件或目錄

      格式:cp [選項]... 源文件或目錄... 目標文件或目錄

      常用命令選項

      -r:遞歸復制整個目錄樹

      rm命令

      用途:刪除(Remove)文件或目錄

      格式:rm [選項]... 文件或目錄

      常用命令選項

      -r:遞歸刪除整個目錄樹

      -f:強制刪除,不進行提示

      rmdir命令

      用途:刪除(directory)目錄

      mv命令

      用途:移動(Move)文件或目錄,若如果目標位置與源位置相同,則相當于改名

      格式:mv [選項]... 源文件或目錄.. 目標文件或目錄

      find命令

      用途:用于查找文件或目錄

      格式:find [查找范圍] [查找條件]

      常用查找條件

      name:按文件名稱查找

      user:按文件屬主查找

      type:按文件類型查找

      f? ? 查找文件

      d? ?查找目錄

      l? ? 鏈接

      p? ?管道

      -size:按大小查找

      1.7文件內容操作命令-cat、less、grep

      cat命令

      用途:顯示出文件的全部內容

      格式:cat目標文件

      less命令

      用途:全屏方式分頁顯示文件內容

      交互操作方法:

      按Enter鍵向下逐行滾動

      按空格鍵向下翻一屏、按b鍵向上翻一屏

      按q鍵退出

      grep命令

      用途:在文件中查找并顯示包含指定字符串的行

      格式:grep [選項] 查找條件 目標文件

      常用命令選項

      -i:查找時忽略大小寫

      -V:反轉查找,輸出與查找條件不相符的行

      查找條件設置

      要查找的字符串以雙引號括起來

      “^……”表示……開頭,“……$”表示以……結尾

      “^$”表示空行

      1.8歸檔及壓縮命令 -tar

      tar命令

      用途:制作歸檔文件、釋放歸檔文件

      格式:tar [選項]... 歸檔文件名 源文件或目錄

      tar [選項]... 歸檔文件名 [-C 目標目錄]

      常用命令

      打包:

      tar-czvf[存放路徑]歸檔文件名tar.gz源文件或目錄

      或tar-cjvf[存放路徑]歸檔文件名tar.bz2源文件或目錄

      或 tar cJvf[存放路徑]歸檔文件名tar.xz源文件或目錄

      解包:

      tar-xzvf[存放路徑]歸檔文件名tar.gz[-C解壓目錄]

      或tar-xjvf[存放路徑]歸檔文件名tar.bz2[-C解壓目錄]

      或 tar xJvf[存放路徑]歸檔文件名tar.xz[-C解壓目錄]

      2Bash的應用

      2.1Bash的命令歷史

      命令歷史-保存用戶曾經(jīng)執(zhí)行過的命令操作

      查看歷史命令-使用↑、↓按鍵逐條翻看,允許編輯并重復執(zhí)行、執(zhí)行: history

      清除歷史命令-執(zhí)行: history -c

      調用歷史命令-!n:執(zhí)行歷史記錄中的第n條命令

      2.2Bash的命令別名

      命令別名-為使用頻率較高的復雜命令行設置簡短的調用名稱

      查看命令別名-? 格式: alias [別名]

      設置命令別名-? 執(zhí)行: alias 別名='實際執(zhí)行的命令'

      取消已設置的命令別名-? 格式:unalias別名、unalias -a

      使別名永久生效- 將設置命令保存到~/.bashrc文件中

      2.3重定向

      重定向:將命令的執(zhí)行結果輸出到指定的文件中,而不是直接顯示在屏幕上

      重定向標準輸出

      >將命令的執(zhí)行結果輸出到指定的文件中,而不是直接顯示在屏幕上

      >>將命令執(zhí)行的結果追加輸出到指定文件

      重定向標準錯誤

      2>清空指定文件的內容,并將標準錯誤信息保存到該文件中

      2>>將標準錯誤信息追加輸出到指定的文件中

      重定向標準輸出和標準錯誤

      &>將標準輸出、標準錯誤的內容全部保存到指定的文件中,而不是直接顯示在屏幕上

      2.4輸出重定向實例

      將命令輸出重定向到文件

      將標準輸出重定向到文件

      $ ls /etc/ > etcdir

      將標準輸出重定向追加到文件

      $ 1s /etc/sysconfig/ >> etcdir

      將錯誤輸出重定向到文件

      $ nocmd 2> errfile

      將標準輸出和錯誤輸出重定向到文件

      $ ls afile bfile &> errfile

      3程序編輯器vim

      3.1vim文本編輯器

      文本編輯器的作用

      維護 Linux系統(tǒng)中的各種配置文件

      編寫 shell腳本

      3.2vim編輯器的工作模式

      三種工作模式

      命令模式、輸入模式、末行模式

      不同模式之間的切換

      3.3命令模式的基本操作

      控制光標移動,對文本進行復制、粘貼、刪除等工作

      用戶剛剛啟動 vi/vim,便進入了命令模式。此狀態(tài)下敲擊鍵盤動作會被Vim識別為命令,而非輸入字符

      強調一下:這些快捷鍵必須在命令模式下使用

      光標移動

      復制、粘貼、刪除

      查找匹配字符串

      撤銷編輯及保存退出

      3.4末行模式中的基本操作

      保存文件及退出vi編輯器

      打開新文件或讀入其他文件內容

      文件內容替換

      4Shell腳本

      4.1shell腳本的概念

      Shell腳本

      用途:完成特定的、較復雜的系統(tǒng)管理任務

      格式:集中保存多條 Linux命令,普通文本文件

      執(zhí)行方式:按照預設的順序依次解釋執(zhí)行

      4.2編寫可執(zhí)行的shell腳本

      Linux命令行界面和shell腳本學習

      在腳本文件的各組成部分中,只有可執(zhí)行語句是必不可少的(否則就不叫程序了)

      當缺省運行環(huán)境設置時,會自動由當前加載該腳本的 Shell解釋器負責解釋執(zhí)行

      Shell腳本文件的擴展名并無嚴格的約束,不一定非得是".sh"結尾的

      4.3運行shell的腳本程序

      直接執(zhí)行具有"x"權限的腳本文件

      例如:./repboot.sh

      使用指定的解釋器程序執(zhí)行腳本內容

      例如: bash repboot.sh、 sh repboot.sh

      通過 source命令(或.)讀取腳本內容執(zhí)行

      例如: soucre repboot.sh或 ./hello.sh

      4.4shell腳本

      #!”是一個約定的標記,它告訴系統(tǒng)這個腳本需要什么解釋器來執(zhí)行,即使用哪一種 Shell

      echo命令用于向窗口輸出文本。

      #!/bin/bash

      echo "hello, world!!"

      4.5shell腳本應用示例

      如果/boot分區(qū)的空間使用超過80%,輸出報警信息

      #!/bin/bash RATE=`df -hT | grep "/boot" | awk '{print $6}' | cut -d "%" -f1 ` if [ $RATE -gt 80 ] then echo "Warning, DISK is full !" fi

      批量添加20個系統(tǒng)用戶賬號,用戶名依次為“stu1”、“stu2”、......、“stu20”

      #!/bin/bash i=1 while [ $i -le 20 ] do useradd stu$i echo "123456" | passwd --stdin stu$i &> /dev/null let i++ done

      刪除用戶

      #!/bin/bash i=1 while [ $i -le 20 ] do userdel -r stu$i i=`expr $i + 1` done

      九九乘法表的輸出顯示

      #!/bin/bash for (( i = 1; i <= 9; i ++ )) do for (( j = 1; j <= i; j ++ )) do let "temp = i * j" echo -n "$i*$j=$temp " done printf "\n" done

      【第十期讀書會學習整理】

      Linux Shell

      版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。

      上一篇:如何用excel查詢的教程
      下一篇:Excel2010的工作簿的擴展名是什么
      相關文章
      亚洲中文久久精品无码1| 亚洲高清日韩精品第一区| 亚洲视频一区二区三区四区| 亚洲AV无一区二区三区久久| 亚洲中文字幕久久精品无码APP| 亚洲国产成人乱码精品女人久久久不卡| 亚洲精品乱码久久久久久自慰| 国产午夜亚洲不卡| 亚洲精品无码av天堂| 亚洲国产精品尤物YW在线观看| 亚洲AⅤ男人的天堂在线观看 | 亚洲精品无码日韩国产不卡?V| 国产精品亚洲一区二区无码| 日本亚洲中午字幕乱码| 国产亚洲人成在线影院| 亚洲欧洲久久av| 亚洲一级黄色视频| 国产啪亚洲国产精品无码| 国产亚洲午夜高清国产拍精品| 色久悠悠婷婷综合在线亚洲| 亚洲中文字幕在线观看| 国产亚洲成AV人片在线观黄桃| 国产亚洲精品无码成人| 久久久无码精品亚洲日韩蜜桃| 亚洲另类激情综合偷自拍| 亚洲精品国产电影午夜| 亚洲另类春色校园小说| 久久综合久久综合亚洲| 亚洲欧美日韩综合久久久| 337P日本欧洲亚洲大胆艺术图| 亚洲成a人无码av波多野按摩| 亚洲国产一级在线观看| 国产亚洲精久久久久久无码77777| 亚洲精品午夜国产VA久久成人| 久久精品国产亚洲夜色AV网站| 亚洲人成网站影音先锋播放| 亚洲国产日韩在线| 中国亚洲呦女专区| 少妇亚洲免费精品| 亚洲中文字幕不卡无码| 亚洲国产精品一区二区久久|