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

歡迎訪問 生活随笔!

生活随笔

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

linux

Note For Linux By Jes(5)-认识与学习 BASH

發布時間:2023/12/14 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Note For Linux By Jes(5)-认识与学习 BASH 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正確的關機方法:

數據同步寫入磁盤:sync

慣用的關機命令:shutdown

重新啟動,關機:reboot, halt, poweroff

切換運行等級:init

  • run level 0:關機

  • run level 3:純文本模式

  • run level 5:含有圖形接口模式

  • run level 6:重新啟動



認識BASH這個Shell



/etc/shells

  • /bin/sh (已經被/bin/bash 所取代)

  • /bin/bash (就是Linux 默認的shell)

  • /bin/ksh (Kornshell AT&T Bell lab. 發展出來的,兼容于bash)

  • /bin/tcsh (整合C Shell ,提供更多的功能)

  • /bin/csh (已經被/bin/tcsh 所取代)

  • /bin/zsh (基于ksh 發展出來的,功能更強大的shell)

Bash shell 的功能:

命令編修能力(history)

命令與文件補全功能:([tab] 按鍵的好處)

命令別名配置功能:(alias)

工作控制、前景背景控制:(job control, foreground, background)

程序化腳本:(shell scripts)

通配符:(Wildcard)

Bash shell 的內建命令:type

命令的下達:

如果命令串太長的話,如何使用兩行來輸出? [vbird@www ~]# cp /var/spool/mail/root /etc/crontab \ > /etc/fstab /root



Shell的變量功能

變量的取用與配置:echo,變量配置守則,unset

環境變量的功能:用env 觀察環境變量與常見環境變量說明,用set觀察所有變量(含環境變量與自定義變量)export:自定義變量轉成環境變量

影響顯示結果的語系變量(locale)

變量鍵盤讀取、數組與宣告:read, array, declare

與文件系統及程序的限制關系:ulimit

變量內容的刪除、取代與替換:

變量配置方式

說明

${變量#關鍵詞}
${變量##關鍵詞}

若變量內容從頭開始的數據符合『關鍵詞』,則將符合的最短數據刪除
若變量內容從頭開始的數據符合『關鍵詞』,則將符合的最長數據刪除

${變量%關鍵詞}
${變量%%關鍵詞}

若變量內容從尾向前的數據符合『關鍵詞』,則將符合的最短數據刪除
若變量內容從尾向前的數據符合『關鍵詞』,則將符合的最長數據刪除

${變量/舊字符串/新字符串}
${變量//舊字符串/新字符串}

若變量內容符合『舊字符串』則『第一個舊字符串會被新字符串取代』



變量的測試與內容替換:

變量配置方式

str 沒有配置

str 為空字符串

str 已配置非為空字符串

var=${str-expr}

var=expr

var=

var=$str

var=${str:-expr}

var=expr

var=expr

var=$str

var=${str+expr}

var=

var=expr

var=expr

var=${str:+expr}

var=

var=

var=expr

var=${str=expr}

str=expr
var=expr

str 不變
var=

str 不變
var=$str

var=${str:=expr}

str=expr
var=expr

str=expr
var=expr

str 不變
var=$str

var=${str?expr}

expr 輸出至stderr

var=

var=$str

var=${str:?expr}

expr 輸出至stderr

expr 輸出至stderr

?



命令別名與歷史命令

命令別名配置:alias, unalias

歷史命令:history



Bashshell 的操作環境

bash 的進站與歡迎信息:/etc/issue, /etc/motd

bash 的環境配置文件:




終端機的環境配置:stty, set

通配符與特殊符號:



符號

意義

*

代表『0 個到無窮多個』任意字符

?

代表『一定有一個』任意字符

[ ]

同樣代表『一定有一個在括號內』的字符(非任意字符)。例如[abcd] 代表『一定有一個字符,可能是 a, b, c, d 這四個任何一個』

[ - ]

若有減號在中括號內時,代表『在編碼順序內的所有字符』。例如[0-9] 代表0 9 之間的所有數字,因為數字的語系編碼是連續的!

[^ ]

若中括號內的第一個字符為指數符號(^) ,那表示『反向選擇』,例如[^abc] 代表一定有一個字符,只要是非 a, b, c的其他字符就接受的意思。





符號

內容

#

批注符號:這個最常被使用在script 當中,視為說明!在后的數據均不運行

\

跳脫符號:將『特殊字符或通配符』還原成一般字符

|

管線(pipe):分隔兩個管線命令的界定(后兩節介紹)

;

連續命令下達分隔符:連續性命令的界定(注意!與管線命令并不相同)

~

用戶的家目錄

$

取用變量前導符:亦即是變量之前需要加的變量取代值

&

工作控制(job control):將命令變成背景下工作

!

邏輯運算意義上的『非』not 的意思!

/

目錄符號:路徑分隔的符號

>, >>

數據流重導向:輸出導向,分別是『取代』與『累加』

<, <<

數據流重導向:輸入導向(這兩個留待下節介紹)

' '

單引號,不具有變量置換的功能

" "

具有變量置換的功能!

` `

兩個『` 』中間為可以先運行的命令,亦可使用$( )

( )

在中間為子shell 的起始與結束

{ }

在中間為命令區塊的組合!



數據流重導向(Redirection)

  • 1>:以覆蓋的方法將『正確的數據』輸出到指定的文件或裝置上;

  • 1>>:以累加的方法將『正確的數據』輸出到指定的文件或裝置上;

  • 2>:以覆蓋的方法將『錯誤的數據』輸出到指定的文件或裝置上;

  • 2>>:以累加的方法將『錯誤的數據』輸出到指定的文件或裝置上;

/dev/null 垃圾桶黑洞裝置與特殊寫法

standard input < <<

命令運行的判斷依據:; , &&, ||



命令下達情況

說明

cmd1 && cmd2

1. cmd1 運行完畢且正確運行($?=0),則開始運行cmd2
2.cmd1 運行完畢且為錯誤($?≠0),則cmd2 不運行。

cmd1 || cmd2

1. cmd1 運行完畢且正確運行($?=0),則cmd2 不運行。
2.cmd1 運行完畢且為錯誤($?≠0),則開始運行cmd2



管線命令(pipe)

擷取命令:cut, grep

排序命令:sort, wc(統計),uniq(僅列出一個顯示)

雙向重導向:tee

字符轉換命令:tr, col, join, paste, expand

分割命令:split

關于減號– 的用途:[root@www ~]# tar -cvf - /home |tar -xvf -




總結

以上是生活随笔為你收集整理的Note For Linux By Jes(5)-认识与学习 BASH的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。