首頁 運維 安全 bash基礎特性是什麼

bash基礎特性是什麼

May 14, 2023 pm 11:07 PM
bash

#bash基礎特性之命令別名
bash在shell進程中可以為指令本身或指令加上選項設定別名,設定後可以直接輸入別名的方式呼叫其功能。
設定指令別名的方式為:~]# alias NAME=COMMAN。
撤銷指令別名的方式為:~]# unalias NAME
查看目前bash中已經設定的指令別名方式為:~]# alias
注意1:此方式設定的指令別名生命週期只是當前shell進程。退出目前shell再登陸即已經失效。若要在shell啟動後自動生效,需要設定bash的環境變數相關設定檔。
注意2:如果指令別名和指令名相同,則直接呼叫別名定義的指令其功能。如需直接呼叫該指令本身功能而非別名,可使用「~]# \COMMAND。

##bash基礎特性之指令歷史
bash在shell進程會自動儲存其會話中使用者曾經執行過的命令,在shell運行中該記錄存儲在內存空間中,shell進程結束時通過將其存儲在“歷史文件”來持久保存先前執行過的命令,每次shell進程啟動都會讀取該檔案內容到記憶體空間中,每個使用者都有自己專用的歷史檔案。
歷史相關參數的變數
HISTSIZE:SHELL程序的緩衝區保留的歷史指令的條數
~]# echo $HISTSIZE 可查看其大小
~]# export HISTSIZE=# 可設定其大小
HISTFILESIZE:命令歷史檔案可儲存的歷史指令的條數
~]# echo $HISTFILESIZE 可查看其大小
~]# export HISTFILESIZE=# 可設定其大小
HISTFILE:目前使用者的命令歷史檔案
~]# echo $HISTFILE 可查看檔案名稱和位址
HISTCONTROL:目前使用者記錄指令歷史的方式
~]# echo $HISTCONTROL 可查看檔案名稱和位址
~]# export HISTCONTROL=方式名可設定記錄指令歷史的方式
共有三種方式:
ignoredups:忽略重複的命令;重複是指連續且相同的命令;
ignorespace:以空白字元開頭的命令不記入歷史;
ignoreboth:上述兩者同時生效;
查看和管理命令歷史的相關指令
查看指令歷史清單:~]# history 
指令用法:
history -c:清除指令歷史;
history -d:OFFSET:刪除指定的條目;
-a        將目前緩衝的歷史行追加到歷史文件中
-n        從歷史文件中讀取所有未曾讀取的行
-r        讀取歷史文件上在上的內容中讀取至歷卷#呼叫指令歷史列表中的指令以重執行之目的:
!#:再一次執行歷史清單中的第#條指令;
!!:再一次執行上一條指令;
!STRING :再一次執行指令歷史清單中最近一個以指定的STRING開頭的指令;
                
#呼叫上一條指令的最後一個參數:
快速鍵:ESC,兩個鍵)
     Alt .(同時按下這兩個鍵)
     !$:給定的上一個指令的參數
              ”#        
##bash基礎特性之快速鍵 
Ctrl a:遊標跳至命令列首;
Ctrl e:遊標跳至命令列尾;

Ctrl k:刪除遊標所在處至尾部的內容;

Ctrl u:刪除行首至遊標所在處的內容;



##bash的特性之命令列展開:
把命令列的給定的特殊符號自動替換為對應字串的機制;
~: 自動替換為使用者家目錄;
~USERNAME:自動替換為指定使用者的家目錄;

{ }:可承載一個以逗號分隔的路徑列表,能夠將其展開為多個獨立路徑;

範例:/tmp/{x,y,z} = /tmp/x  /tmp/y  /tmp/z
範例:/tmp/{ x/y, m/{m,n}} = /tmp/x/y /tmp/m/m /tmp/m/n
範例:/tmp/{x,y}/z = /tmp/ x/z  /tmp/y/z 


#

#bash的基礎特性:命令補全和路徑補全
命令補全:
shell程式在接收到用戶執行命令補全的請求後(單擊Tab),最左側字符串將被當作指令去查找;
其查找機制:
    1):找出內部
    2):找出外部指令:去$PATH變數所指定的各路徑下,自左而右逐個搜尋各目錄下的檔名;
查找完成後,給定的打頭的字串如果能惟一標識某指令程式檔的檔名,則直接自動補全為該指令,不能惟一標識,再擊tab可給予清單;如果或沒有反應則表示錯誤,沒有任何指令可被此打頭字串標識;
路徑補全:
在給定的起始路徑的上級目錄下,以對應路徑下的打頭字串來逐一匹配上級目標下的每個檔案:如果是惟一標識,Tab補全;不能惟一標識:tab, tab給出列表;錯誤路徑:沒有回應。

#bash的特性之glob
glob:檔案名稱通配;快速引用多個檔案;檔案名稱整體匹配度偵測
*:符合任意長度的任意字元
? :符合任意單一字元
[ ]:符合指定集合內的任一字元 
[a-z]:表示所有的字母,不區分大小寫
[0-9]:表示所有數字
[a-z0-9]:所有字母加上數字
[[:upper:]]:所有大寫字母
[[:lower:]]:所有小寫字母
[[:digit:]] :所有數字
[[:alpha:]]:表示所有字母
[[:alunm:]]:表示所以字母加數字
[[:space:]]:表示空白字元
[[:punct:]]:表示所有標點符號
[^ ]:取反

以上是bash基礎特性是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在 Windows 上執行 shell 腳本檔案的不同方法 在 Windows 上執行 shell 腳本檔案的不同方法 Apr 13, 2023 am 11:58 AM

適用於 Linux 的 Windows 子系統第一種選擇是使用適用於 Linux 或 WSL 的 Windows 子系統,這是一個相容層,用於在 Windows 系統上本機執行 Linux 二進位執行檔。它適用於大多數場景,允許您在 Windows 11/10 中執行 shell 腳本。 WSL 不會自動可用,因此您必須透過 Windows 裝置的開發人員設定來啟用它。您可以透過前往設定 > 更新和安全性 > 對於開發人員來完成。切換到開發人員模式並透過選擇是確認提示。接下來,找 W

Ubuntu Bash效能比較:Ubuntu與Win10週年版 Ubuntu Bash效能比較:Ubuntu與Win10週年版 Jan 04, 2024 pm 09:36 PM

今年初,當Microsoft和Canonical發布Windows10Bash和Ubuntu用戶空間,我嘗試做了一些初步性能測試UbuntuonWindows10對比原生Ubuntu,這次我發布更多的,關於原生純淨的Ubuntu和基於Windows10的基準對比。 Windows的Linux子系統測試完成了所有測試,並隨著Windows10週年更新釋放。預設的Ubuntu用戶空間還是Ubuntu14.04,但已經可以升級到16.04。所以測試先在14.04測試,完成後將系統升級升級到16.04

Bash程式以找到A的B次方? Bash程式以找到A的B次方? Aug 30, 2023 pm 09:01 PM

這裡我們將看到如何使用bash腳本獲得數字A的B次方。邏輯很簡單。我們必須使用“**”運算子或冪運算子來執行此操作。讓我們看下面的程式來清楚地理解這個概念。範例#!/bin/bash#GNUbashScripta=5b=6echo"$(($a**$b))"輸出15625

五個鮮為人知的現代 Bash 腳本編寫技術 五個鮮為人知的現代 Bash 腳本編寫技術 Jun 26, 2023 pm 08:36 PM

程式設計師經常使用Bash命令語言建立Shell腳本來自動化手動任務。例如,他們會為各種設定、檔案操作、產生建置結果和各種與DevOps相關的活動建立Bash腳本。幾乎所有類別Unix或基於Unix的作業系統都為使用者提供預先安裝的Bash解釋器,因此我們可以使用Bash編寫更具可移植性的自動化腳本。正如我們已經知道的那樣,Bash腳本編寫是指使用Bash命令語言的語法、內建Bash命令和核心作業系統CLI程式(如GNU核心工具)編寫一系列命令。標準且老式的Bash腳本通常執行一些命令並在終端上顯示純文字

bash漏洞復現的範例分析 bash漏洞復現的範例分析 May 19, 2023 am 11:13 AM

BourneAgainShell(簡稱BASH)是在GNU/Linux上最受歡迎的SHELL實現,於1980年誕生,經過了幾十年的進化從一個簡單的終端命令行解釋器演變成了和GNU系統深度整合的多功能接口。 Bash,Unixshell的一種。 1989年發布第一個正式版本,原先計劃用在GNU作業系統上,但能運行於大多數類Unix系統的作業系統之上,包括Linux與MacOSXv10.4都將它作為預設shell。它也被移植到MicrosoftWindows上的Cygwin與MinGW,或是可以在MS-

今天是您獲得 Windows 11 Bug Bash 貼紙的最後一天 今天是您獲得 Windows 11 Bug Bash 貼紙的最後一天 May 13, 2023 pm 08:25 PM

上週微軟宣布了BugBash,這是一項旨在吸引Windows內部人員完成任務(希望如此)以在長期和短期內改善Windows11開發的活動。最初在3月16日,大約有26個任務可供完成,但現在已經成長到了驚人的75個任務。不過,更重要的是:BugBash將於3月22日結束,同時還有機會獲得BugBash特定貼紙這將出現在您的回饋中心。要參加Windows11BugBash,您需要從Dev頻道取得最新的Windows11預覽版本,即build2

八個 Shell 指令,讓你瞬間成為 Linux 命令列大師 八個 Shell 指令,讓你瞬間成為 Linux 命令列大師 Jun 17, 2023 am 09:38 AM

擁有紮實的程式設計基礎顯然是優秀軟體工程師的必備素質。無論是像Python這樣的解釋型語言,或是像C++這樣的編譯型語言,至少掌握一門程式語言至關重要。然而,這只是成為一個真正全面發展的工程師的一個面向。如果你在Shell環境下迷失方向,那些基礎知識也就毫無用處了。在Bash中靈活運用指令將帶你到達傳統程式語言無法觸及的領域。有時候,你其實並不需要使用更強大的程式語言。只要使用Shell,你可以更快、更輕鬆地完成所需任務,而且不需要額外的依賴。在本文中,我們將探討一些非常實用的Bash指令

使用 Bash 製作 Web 安全色 使用 Bash 製作 Web 安全色 Jul 07, 2023 pm 06:54 PM

當電腦顯示器的調色板有限時,網頁設計師通常會使用一組Web安全性顏色來建立網站。雖然在較新設備上顯示的現代網站可以顯示比最初的Web安全調色板更多的顏色,但我有時喜歡在創建網頁時參考Web安全顏色。這樣我就知道我的網頁在任何地方都看起來不錯。你可以在網路上找到Web安全調色板,但我想擁有自己的副本以方便參考。你也可以使用Bash中的for迴圈來建立一個。 Bashfor迴圈Bash中的for迴圈的語法如下:for變數in集合;do語句;done例如,假設你想要印出從1到3的所有數字。你可以快速在Bas

See all articles