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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell高级(一)

發布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell高级(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

Shell/etc/shells

?

BashBourne-again Shell的縮寫

GNU計劃的一個組件

UnixBourne Shell完全兼容

?

Bash優點

Bash支持命令行輸入、操作歷史查詢、快捷鍵、使用變量等功能。

支持通配符、別名、串操作、文件測試、×××算術運算

可以交互使用,或者作為腳本語言

超過60shell變量

?

Bash缺點

資源型敏感,對CPU負擔重的程序

復雜的大項目

需要靈活的處理文件程序(逐行)

需要圖形用戶界面的程序

需要直接與系統硬件打交道的程序

需要訪問I/O端口和網絡套接字的程序

需要使用庫或

?

Bash快捷鍵

? Ctrl + d:輸入已結束 shell下相當于一個exit

? Ctrl + c:鍵盤中斷請求

? Crtl + z:掛起

? Ctrl + s & Ctrl + q:暫停/恢復屏幕輸出

? Ctrl + l:清屏 相當于clear

? Tab:自動補完命令行與文件名 列出所有可能的選

? Ctrl + a:光標移到行首

? Ctrl + e:光標移到行尾

? Ctrl + k:從光標所在處刪除到行結尾

? Ctrl + u:刪除整行

? Esc + f:光標移到下一個單詞的開始處

? Esc + b:光標移到前一個或當前單詞的開始處

?

連續按TAB鍵,可以看現在可以使得命令

 

Shell/etc/shells

?

順序

?

?

Bash命令優先級

Alias

Keyword

Functions

Builtin

$PATH

builtinBASH內置命令

Help cd /man cd查看內置命令

?

Bash的操作環境

主要設置文件

全局設置:/etc/profile

??????? /etc/bashrc

用戶設置:~/.bashrc

??????? ~/.bash_profile

?

Bashrc

定義別名

?

?

?其他設置文件

~/.bash_logout

~/.bash_history

/etc/profile.d/*.sh

.bash_logout離開系統時的操作

一般會寫history -c清除歷史操作和clear操作

?

?Bash各設置文件的執行順序

Start /etc/profile

Start /etc/profile.d/*.sh

Stop /etc/profile.d/*.sh

Stop /etc/profile

Start ~/.bash_profile

Start ~/.bashrc

Start /etc/bashrc

Stop /etc/bashrc

Stop ~/.bashrc

Stop ~/.bash_profile

?

Env:用來列出環境變量

Set:Bash還有與操作系統有關變量,以及用戶自定義的變量。Set顯示全部變量

Stty:設置tty終端,控制backspace刪除等功能

?

?

Unset a刪除SET中的項

Stty intr ""取消Ctrl+C功能

退出終端停止生效

?

/etc/DIR_COLORS控制顏色

?

?

?Set選項

-f 使路徑名替換無效

-n 讀取命令,但不執行(用來對腳本進行語法檢查)

-o optionname 設置指定的選項:emacs,ignoreof,vi

?-v 在命令被讀取時打印命令(調試腳本時有用)

-x 在替換被應用之后打印命令(調試腳本和檢查shell替換時有用)

-C 不允許shell在重定向中損壞文件

?

?

PS1命令提示符:

? \d 可顯示出[星期 ]的日期格式,如:“Mon Feb 2”

? \H 完整的主機名。

? \h 主機名在第一個小數點前的名字,如www后面省略。

? \t 顯示時間,為 24 小時格式的[HH:MM:SS]

? \T 顯示時間,為 12 小時格式的[HH:MM:SS]

? \A 顯示時間,為 24 小時格式的[HH:MM]

? \@ 顯示時間,為 12 小時格式的[am/pm]樣式

? \u 目前使用者的賬號名稱,如root

? \v BASH的版本信息。

? \w 完整的工作目錄名稱,由根目錄寫起的目錄名稱,家目錄會以~ 替代。

? \W 調用basename函數的工作目錄名稱,所以僅會列出最后一個目錄名。

? \# 下達第幾個指令。?

? \$ 提示字符。root時是#,否則就是$

PS1='[\h]\$'

?

\w帶路徑,比較常用

?Bash的啟動

? Shell的自動啟動

? 無論何時登錄或者打開終端,shell都會自動啟動

? Shell的多層關系

有時用戶想運行一個不同的shell或者同一個shell的另外一個實例。由于shell“另外一個程序”,所以新的shell可以從現有的shell上啟動。新的shell被看作是原有shell的子shell。當子shell退出時,就由原來的shell繼續控制。

?

?

?

?Bash-locale

Locale顯示影響顯示結果的語系變量

/etc/sysconfig/i18n配置文件

圖形界面也可以修改

?

System-config-language

LANG=C 設置成英文

LANG=en_US.UTF-8

?

?Bash - declare

? declaretypeset? 就是宣告變量的類型,不加參數

就是列出當前所有,和set命令輸出一樣。

? -a? 將后面的變量定義成數組(array)類型

? -i? 將后面的變量定義成×××(integer)類型

? -x? 將后面的變量定義成環境變量

? -r? 將后面的變量定義成readonly類型

?

?

?

-x 使值成為環境變量

或者

?

Bash - export

? export 變量名? 自定義變量轉換成環境變量

? export? 查看環境變量

Bash - history

? bash中輸入history指令可以查詢用戶的過往操作

? history記錄在內存中而定。

? history表在用戶logout時會記錄入用戶主目錄下的.bash_history文件中,在下次login時載入。

?

?

寫在/etc/profile

?

?

?

?

?Bash history? 如何使用history

? 使用 ! 來調用歷史命令

? !!:重復執行上一條命令

? !ex:重復執行上一條以ex為開頭的命令

? !N:重復執行上一條在history表中記錄號碼為N的命令

? !-N:重復執行前面第N條命令

? 可以用快捷鍵來調用歷史命令

? Ctrl + r:在history表中查詢某條歷史命令

? fc命令:把之前的命令在編輯器中編輯,退出編輯器的時候執行

? Esc + .Alt + .:之前被鍵入的命令行的最后一個標記可以用上面提到的2個組合鍵中的任何一個來恢復

?

Bash - alias

? shell下鍵入alias可以查詢當前alias列表。

? 用戶可以alias來為一條命令取一個簡單的別名

? 用戶也可以用unalias來取消一條別名記錄。

? alias記錄在shell中總是先執行。

?

Bash - ulimit

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

? -H hard limit

? -S sort limit

? -a 列出所有的限制額

? -f 可以建立的做大文件大小

? -u 點用戶可以使用的最大進程數量

? -n 打開文件的最大個數

Unalias vi

Ulimit -n是必改項

?

Bash歡迎信息

? 進入系統時的:/etc/motd

? 登錄系統是的:/etc/issue? /etc/issue.net

?

?

轉載于:https://blog.51cto.com/yangtong/503266

總結

以上是生活随笔為你收集整理的shell高级(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

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