Shell 编程基础1 2019-7-6
?
Shell基礎
一、Shell概述
1)?Shell的使用對象人數用對象人數是有限的,僅供自己或是自己的團隊,也就是說可以不考慮效率的問題,即不需要進行優化。追求的是實現功能,邏輯簡單。
2)?命令解釋器,終端輸入的內容內核無法識別,這個時候shell用來翻譯這些指令為二進制然后內核將返回信息交給shell進行翻譯顯示在終端。腳本是命令的集合。
常見的Shell種類有:
Bourne Shell(/usr/bin/sh或/bin/sh)----古老,接近淘汰
Bourne Again Shell (/bin/bash)-----Linux標準shell
C Shell (/usr/bin/csh)
K Shell (/usr/bin/ksh)
Shell for Root (/sbin/sh)
1)?Echo命令:輸出,帶有空格的內容需要放在“”中。
Echo -n:輸出內容不換行(默認是自動換行的)
Echo -e:支持反斜杠控制的字符轉換(即可支持控制字符)
?轉義符的作用: 取消后面字符的特殊含義
編寫腳本一定要加#!/bin/bash ?告訴計算機是什么類型的腳本
書寫腳本需要注意 ???書寫內容中有! ?一定要在!后面加空格
執行三種方法:1) 賦予執行權限chmod 755 hello.sh ??然后絕對路徑執行/root/hello.sh ????2)也要賦予執行權限,采用相對路徑執行./hello.sh ??注意:使用相對路徑執行時應與腳本文件在同一目錄下。 3)不需要賦予執行權限,直接用bash調用bash hello.sh
?
二、Bash的基本功能
?
(1)?歷史命令的查看:history 會被一直保存下去即使重啟也不會消失(存儲位置:.bash_history)當前查看.bash_history中命令會少于history所顯示的命令,原因就是當前的命令還沒有存儲到.bash_history。如果想強制直接保存到.bash_history中使用命令history -w 。這個在用戶注銷時會自動寫入。歷史命令默認存放1000條(在/etc/profile下有一個HISTSIZE)?
History -c :清空歷史命令
(2)?歷史命令的調用
使用原來的歷史命令有以下的方法:
. ?有三個含義: ?單獨的一個. 代表source命令
文件名前面加 . 是隱藏文件
目錄前面加 . 是當前目錄
①?第一順位執行用絕對路徑或者相對路徑執行的命令
②?第二順位執行別名
③?第三順位執行bash的內部命令
④?第四順位執行按照$PATH環境變量定義的目錄查找順序找到的第一個命令。
為了讓這個別名永久生效,可以把別名寫入環境變量的配置文件“~/.bashrc”中。
命令: vi ?/root/.bashrc
Ctrl A: ?光標移動到命令行開始的位置
Ctrl D: ?光標移動到命令行末尾的位置
Ctrl U: ?剪切光標之前命令行(也可作為刪除整行來使用)
Ctrl Y: ??與Ctrl U一同使用,用來粘貼剪切內容
Ctrl C: ??強行終止當前命令
Ctrl L: ???清屏
Ctrl D: ??退出當前終端
Ctrl Z: ???掛起,放入后臺。(注意在:不是中止)
1)?Bash的標準輸入與輸出
Linux下的一切皆為文件,鍵盤名字為:/dev/stdin 作為標準輸入 顯示器名字為: /dev/stdout 作為標準輸出 ?錯誤輸出為: /dev/stderr 作為標準錯誤輸出。由于不好記錄文件描述符設置為0是標準輸入,1是標準輸出,2是標準錯誤輸出。
2)?輸出重定向:命令的輸出本來應該輸出給標準輸出設備的,重定向的作用就是不讓命令輸出到顯示器上而是輸出到文件中,改變其輸出方向。(最終的結果就是把命令保存到文件中)可以作為記錄系統的日志。
?
轉載于:https://www.cnblogs.com/plutozzl/p/11142863.html
總結
以上是生活随笔為你收集整理的Shell 编程基础1 2019-7-6的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux seq_file 接口
- 下一篇: WordPress 短代码集