日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux(12)-命令行的使用,shell脚本

發(fā)布時間:2023/12/13 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux(12)-命令行的使用,shell脚本 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

命令行的使用,shell腳本

  • 1.終端shell,man
  • 2.shell 編程
    • 2.1 shell腳本
    • 2.2 注釋
    • 2.3 指明所用的shell
    • 2.4 支持函數(shù)
    • 2.5 使用變量
    • 2.6 解析命令行參數(shù)
    • 2.7 if, for, case, while
  • 3.bash 發(fā)展歷史

Linux入門很簡單-第六章筆記

1.終端shell,man

Linux 是一個內(nèi)核,內(nèi)核管硬件-顯卡、聲卡、內(nèi)存、硬盤、硬盤上的程序調(diào)度
Shell–將程序猿操作意圖轉述給內(nèi)核。其本質(zhì)是一個二進制程序,路徑/bin/bash。

終端負責提供輸入命令的交互界面,去環(huán)境變量Path中喚醒對應的命令程序,執(zhí)行具體的操作。

多種多樣的shell終端–bash,csh,ksh。
ubuntu 中默認的shell 是bash。(在/etc/passwd文件中會表明默認的shell終端是什么)

  • Ctrl+alt+T 喚醒偽終端(Gnome終端)
  • Ctrl+alt+F1 喚醒的黑漆漆終端, Ctrl+alt+F7回到圖形界面
  • 終端輸出

    chenyingying@chenyingyingde-Air:~$ // 用戶名@計算機名:當前目錄$ // $命令提示符,mac的命令提示符為%

    bash 執(zhí)行的操作:

  • 預留關鍵字:for、history–自己操作
  • 命令程序:ls、free–去環(huán)境變量中找命令程序交由他們來執(zhí)行
  • 環(huán)境變量PATH中記錄了bash 找程序的路徑,按照該路徑列表挨個去找命令程序。 如果報 xxx:command not found, 就需要查看是環(huán)境變量中是否存在該命令的bin文件路徑。如果沒有請設置相應的路徑(第12條)

    // 查看環(huán)境變量的內(nèi)容,以冒號分割各個路徑 echo $PATH /usr/local/sbin:/usr/local/bin:/Users/chenyingying/anaconda3/bin:/Users/chenyingying/anaconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin

    提示:/usr/local目錄與/usr目錄結構類似,都包含bin,sbin,lib,incud等目錄。一般來說/usr中存放從軟件源中安裝的軟件,/usr/local中存放用戶用其他方式安裝的軟件。

    /usr/sbin–useradd,gdm,smbd,nmbd 管理級的程序
    /usr/bin – 有l(wèi)s命令程序

    一般情況下:

  • 普通用戶使用命令存放目錄–/bin, /usr/bin, /usr/local/bin
  • root 用戶使用命令存放目錄–/sbin, /usr/sbin, /usr/local/sbin
  • 要運行一個二進制程序,而且該程序不在PATH所包含的所有路徑中(新下載的安裝程序),在運行的時候加上路徑即可,bash 就直接去寫的路徑中找相應的二進制程序了。

    ./setup.sh // 直接運行該二進制程序

    man 命令解說員, 查看命令的作用,按Q鍵推出解說界面。
    pwd- print woking directory --輸出當前工作目錄
    date–打印當前的日期
    Linux 軟件設計的理念–只做一個功能,但是要做到最好。通過多個程序組合可以實現(xiàn)任何功能。
    bash 會將所有的通配符都展開之后再傳遞給實際的命令。

    2.shell 編程

    2.1 shell腳本

    把程序打包

  • 文本編輯器,編輯shell 腳本,存成xxx.sh的格式
  • 賦予 腳本可執(zhí)行權限:
  • chmod +x ./xxx.sh

  • 運行腳本(./十分必要)
  • ./xxx.sh

    注意:

  • 腳本文件并不要求特定的擴展名,只要是文本文件,具有可執(zhí)行的權限即可。一般習慣上將腳本文件擴展名設為.sh

  • shell 腳本語句中,能夠先執(zhí)行兩個反引號(和波浪線處于同一個位置)之間的命令,然后用執(zhí)行的的結果替代反引號括住的內(nèi)容。結合data命令可以實現(xiàn)當前日期文件名設置。

  • 2.2 注釋

    shell 腳本的注釋用#號

    2.3 指明所用的shell

    shell 腳本文件第一行說明使用的shell (有點類似于解釋器的說明)

    #!/bin/bash

    也可以直接在運行腳本程序時顯式指定

    bash xxx.sh

    2.4 支持函數(shù)

    有一段代碼需要在腳本里使用執(zhí)行多次,可以將其寫成一個函數(shù)直接調(diào)用。

    #!/bin/bash # shell 腳本函數(shù)使用dmeo # 定義函數(shù) fun1() { xxxxxxxxx xxxxxx } # 調(diào)用函數(shù),不需要寫小括號 fun1

    2.5 使用變量

    shell 中的變量類型只有字符串

    #!/bin/bash value=128 echo value echo $value # 取變量的值,否則直接使用'value'字符串 player1=YOGA # 似乎空格符號都不能用,./shell_test.sh: line 5: YOGA: command not found player2=KEN echo ${player1}vs${player2}

    算術運算

    num=8 num=$num+1 echo $num num=8 num=`expr &num+1` echo $num

    輸出

    8+1 ./shell_test.sh: line 12: num+1: command not found expr: syntax error

    環(huán)境變量–在整個系統(tǒng)運行中都有效的變量.例如PATH,$HOME-當前用戶的家目錄,$TZ-本系統(tǒng)所在的時區(qū),
    可以通過export 讓一個用戶變量,變成全局變量(環(huán)境變量在當前會話結束后失效)

    # mac zsh沒有設置全局變量成功 export num=8 echo $num

    2.6 解析命令行參數(shù)

    參考
    可以在執(zhí)行 Shell 腳本時,向腳本傳遞參數(shù),腳本內(nèi)獲取參數(shù)的格式為:$n。n 代表一個數(shù)字,1 為執(zhí)行腳本的第一個參數(shù),2 為執(zhí)行腳本的第二個參數(shù),以此類推。其中 $0 為執(zhí)行的文件名。

    ./extract_cyy.sh 123 # 在編寫bash 腳本時, 123 可以通過$1獲取

    2.7 if, for, case, while

    該有的它都有,不過我覺得…應該不會大量用到shell編程吧
    (此處略,被虐了再回來補好吧)

    3.bash 發(fā)展歷史

    Thomp Shell-Ken Thompson-Unix操作系統(tǒng)接口界面,用來與人類交流。
    Bourne Shell-Steve Bourne-加入控制流的shell–成為后來的Unix 標準shell。
    Bourne Again Shell-Brain Fox-就是后來的bash,完善了Bourne Shell。

    總結

    以上是生活随笔為你收集整理的Linux(12)-命令行的使用,shell脚本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。