《Linux系統(tǒng)命令及Shell腳本實(shí)踐指南》百度網(wǎng)盤pdf最新全集下載:

成都創(chuàng)新互聯(lián)公司是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的內(nèi)江服務(wù)器托管服務(wù)
鏈接:
?pwd=fdhg 提取碼:fdhg
簡(jiǎn)介:《linux系統(tǒng)命令及shell腳本實(shí)踐指南》由淺入深、全面、系統(tǒng)地介紹了linux系統(tǒng)的基礎(chǔ)命令和shell腳本的開發(fā)。作為一本面向linux入門用戶的書籍,本書力求語言通俗易懂,
用例簡(jiǎn)單明了,便于讀者閱讀領(lǐng)會(huì)。同時(shí),全書穿插了不少要求讀者動(dòng)手實(shí)踐的內(nèi)容,不但可加深讀者對(duì)內(nèi)容的理解和消化,同時(shí)也可通過動(dòng)手實(shí)踐激發(fā)讀者對(duì)linux系統(tǒng)和shell編程的興趣,從而更好地驅(qū)動(dòng)讀者學(xué)習(xí)。
全書共計(jì)18章,從知識(shí)結(jié)構(gòu)上分為三部分。第一部分為前8章,全面介紹了linux的基礎(chǔ)知識(shí)和常用命令;第二部分為第9章和第10章,主要是linux下交互和非交互編輯器的使用;
第三部分為第11~18章,主要是shell腳本開發(fā)。這三部分內(nèi)容各有偏重,讀者可以根據(jù)實(shí)際需要選擇閱讀。
《linux系統(tǒng)命令及shell腳本實(shí)踐指南》根據(jù)作者多年來linux環(huán)境運(yùn)維管理工作的經(jīng)驗(yàn)編著而成,內(nèi)容豐富,且注重實(shí)踐講解,非常適合linux初學(xué)者和基于linux平臺(tái)的軟件開發(fā)者學(xué)習(xí)或查閱。
從內(nèi)容結(jié)構(gòu)上來看,本書摒棄了各章獨(dú)立的寫作風(fēng)格,而是采取了各章有機(jī)結(jié)合的方式,自上而下自成一體,既加深了讀者對(duì)單個(gè)知識(shí)點(diǎn)的理解,也有利于從全局把控linux系統(tǒng)和shell編程的精髓。 ?
Day19
歸檔:課堂筆記
時(shí)間:2019/3/26
老男孩教育教學(xué)核心思想6重:重目標(biāo)、重思路、重方法、重實(shí)踐、重習(xí)慣、重總結(jié)
學(xué)無止境,老男孩教育成就你人生的起點(diǎn)!
第十四章 linux 用戶管理知識(shí)與應(yīng)用實(shí)踐
命令:
groupadd -g 指定組ID
groupdel 刪除組
chage 查看和修改密碼屬性
-l 列表顯示賬戶信息
[root@CentOS-F~]# chage -l oldboy01
Last password change : Mar 25, 2019
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
命令:
w 誰登陸了,在干什么
last 顯示登陸過的用戶信息列表
lastlog 查看最近登錄過的用戶報(bào)告
su 用戶身份切換
-c 以指定用戶身份執(zhí)行命令
工作中怎么使用****su
1、外企先登錄普通用戶,沒事不允許登錄root,只有執(zhí)行的任務(wù)需要root權(quán)限的時(shí)候才允許登錄root。
系統(tǒng)維護(hù)通道。
用su 管理,必須知道root密碼,安全隱患。
10個(gè)運(yùn)維,都得知道root密碼,安全隱患。
需求:
1、不用知道root密碼還能管理服務(wù)器。
2、最小化管理服務(wù)器,想關(guān)機(jī),就只給你halt權(quán)限。
sudo****命令:可以以最小化的權(quán)限(單個(gè)命令),執(zhí)行命令時(shí)擁有****root****用戶的權(quán)限
suid針對(duì)的時(shí)命令,任何用戶執(zhí)行命令都有root身份。任何用戶執(zhí)行某個(gè)命令:模糊
sudo針對(duì)用戶,給某個(gè)用戶以root身份執(zhí)行某個(gè)命令。指定用戶用戶執(zhí)行某個(gè)命令:具體
(相對(duì)比較安全)
如何編輯配置sudo?
Sudo是一個(gè)提權(quán)的命令(對(duì)應(yīng)權(quán)限通過/etc/sudoers文件實(shí)現(xiàn)的)
配置/etc/sudoers可以使用visudo命令,或vim /etc/sudoers(不推薦)
[oldboy@CentOS-F~]$ ls /root
ls: cannot open directory /root: Permission denied
完成上面的動(dòng)作:
給oldboy用戶,針對(duì)ls設(shè)置權(quán)限
[root@CentOS-F~]# visudo visudo進(jìn)入編輯狀態(tài),100G
root ALL=(ALL) ALL
oldboy ALL=(ALL) /usr/bin/ls #===增加一行
用戶 主機(jī)=(角色) 命令
注意:
1、命令的路徑要用全路徑
2、盡量不要vim /etc/sudo,容易報(bào)錯(cuò)(語法錯(cuò)誤),如果非要用,編輯完visudo -c檢查語法
為了安全,禁止root****遠(yuǎn)程鏈接linux****。
[root@CentOS-F~]# su – oldboy
[oldboy@CentOS-F~]$ sudo ls /root
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
[sudo] password for oldboy:
以上是需要oldboy用戶密碼,回root用戶下,passwd oldboy設(shè)置密碼。
[oldboy@CentOS-F~]$ ls /root
ls: cannot open directory /root: Permission denied(沒有權(quán)限)
[oldboy@CentOS-F~]$ sudo ls /root 前綴加sudo
anaconda-ks.cfg pass user.log
sudo 運(yùn)行原理圖
IT路邊社
前言
與其它的編碼規(guī)范一樣,這里所討論的不僅僅是編碼格式美不美觀的問題, 同時(shí)也討論一些約定及編碼標(biāo)準(zhǔn)。這份文檔主要側(cè)重于我們所普遍遵循的規(guī)則,對(duì)于那些不是明確強(qiáng)制要求的,我們盡量避免提供意見。
編碼規(guī)范對(duì)于程序員而言尤為重要,有以下幾個(gè)原因:
本文檔中的準(zhǔn)則致力于最大限度達(dá)到以下原則:
盡管本文檔涵蓋了許多基礎(chǔ)知識(shí),但應(yīng)注意的是,沒有編碼規(guī)范可以為我們回答所有問題,開發(fā)人員始終需要再編寫完代碼后,對(duì)上述原則做出正確的判斷。
注 :未明確指明的則默認(rèn)為必須(Mandatory)
主要參考如下文檔:
僅建議Shell用作相對(duì)簡(jiǎn)單的實(shí)用工具或者包裝腳本。因此單個(gè)shell腳本內(nèi)容不宜太過復(fù)雜。
在選擇何時(shí)使用shell腳本時(shí)時(shí)應(yīng)遵循以下原則:
可執(zhí)行文件不建議有擴(kuò)展名,庫文件必須使用 .sh 作為擴(kuò)展名,且應(yīng)是不可執(zhí)行的。
執(zhí)行一個(gè)程序時(shí),無需知道其編寫語言,且shell腳本并不要求具有擴(kuò)展名,所以更傾向可執(zhí)行文件沒有擴(kuò)展名。
而庫文件知道其編寫語言十分重要,使用 .sh 作為特定語言后綴的擴(kuò)展名,可以和其他語言編寫的庫文件加以區(qū)分。
文件名要求全部小寫, 可以包含下劃線 _ 或連字符 - , 建議可執(zhí)行文件使用連字符,庫文件使用下劃線。
正例:
反例:
源文件編碼格式為UTF-8。避免不同操作系統(tǒng)對(duì)文件換行處理的方式不同,一律使用 LF 。
每行最多不超過120個(gè)字符。每行代碼最大長(zhǎng)度限制的根本原因是過長(zhǎng)的行會(huì)導(dǎo)致閱讀障礙,使得縮進(jìn)失效。
除了以下兩種情況例外:
如出現(xiàn)長(zhǎng)度必須超過120個(gè)字符的字符串,應(yīng)盡量使用here document或者嵌入的換行符等合適的方法使其變短。
示例:
除了在行結(jié)束使用換行符,空格是源文件中唯一允許出現(xiàn)的空白字符。
對(duì)從來沒有用到的或者被注釋的方法、變量等要堅(jiān)決從代碼中清理出去,避免過多垃圾造成干擾。
Bash 是唯一被允許使用的可執(zhí)行腳本shell。
可執(zhí)行文件必須以 #!/bin/bash 開始。請(qǐng)使用 set 來設(shè)置shell的選項(xiàng),使得用 bash echo "Process $: Done making $$$."
# 示例7:命令參數(shù)及路徑不需要引號(hào) grep -li Hugo /dev/ "$1"
# 示例8:常規(guī)變量用雙引號(hào),ccs可能為空的特殊情況可不用引號(hào) git send-email --to "${reviewers}" ${ccs:+"--cc" "${ccs}"}
# 示例9:正則用單引號(hào),$1可能為空的特殊情況可不用引號(hào) grep -cP '([Ss]pecial||?characters*) ${1:+"$1"}
# 示例10:位置參數(shù)傳遞推薦帶引號(hào)的"$@",所有參數(shù)作為單字符串傳遞用帶引號(hào)的"$*" # content of t.sh func_t { echo num: $# echo args: 1:$1 2:$2 3:$3 }
func_t "$@" func_t "$*" # 當(dāng)執(zhí)行 ./t.sh a b c 時(shí)輸出如下: num: 3 args: 1:a 2:b 3:c num: 1 args: 1:a b c 2: 3:
使用 $(command) 而不是反引號(hào)。
因反引號(hào)如果要嵌套則要求用反斜杠轉(zhuǎn)義內(nèi)部的反引號(hào)。而 $(command) 形式的嵌套無需轉(zhuǎn)義,且可讀性更高。
正例:
反例:
條件測(cè)試
使用 [[ ... ]] ,而不是 [ , test , 和 /usr/bin/[ 。
因?yàn)樵? [[ 和 ]] 之間不會(huì)出現(xiàn)路徑擴(kuò)展或單詞切分,所以使用 [[ ... ]] 能夠減少犯錯(cuò)。且 [[ ... ]] 支持正則表達(dá)式匹配,而 [ ... ] 不支持。參考以下示例:
盡可能使用變量引用,而非字符串過濾。
Bash可以很好的處理空字符串測(cè)試,請(qǐng)使用空/非空字符串測(cè)試方法,而不是過濾字符,讓代碼具有更高的可讀性。正例:
反例:
正例:
反例:
正例:
反例:
文件名擴(kuò)展
當(dāng)進(jìn)行文件名的通配符擴(kuò)展時(shí),請(qǐng)指定明確的路徑。
當(dāng)目錄中有特殊文件名如以 - 開頭的文件時(shí),使用帶路徑的擴(kuò)展通配符 ./* 比不帶路徑的 * 要安全很多。
應(yīng)該避免使用eval。
Eval在用于分配變量時(shí)會(huì)修改輸入內(nèi)容,但設(shè)置變量的同時(shí)并不能檢查這些變量是什么。反例:
請(qǐng)使用進(jìn)程替換或者for循環(huán),而不是通過管道連接while循環(huán)。
這是因?yàn)樵诠艿乐蟮膚hile循環(huán)中,命令是在一個(gè)子shell中運(yùn)行的,因此對(duì)變量的修改是不能傳遞給父shell的。
這種管道連接while循環(huán)中的隱式子shell使得bug定位非常困難。反例:
如果你確定輸入中不包含空格或者其他特殊符號(hào)(通常不是來自用戶輸入),則可以用for循環(huán)代替。例如:
使用進(jìn)程替換可實(shí)現(xiàn)重定向輸出,但是請(qǐng)將命令放入顯式子 shell,而非 while 循環(huán)創(chuàng)建的隱式子 shell。例如:
總是檢查返回值,且提供有用的返回值。
對(duì)于非管道命令,使用 $? 或直接通過 if 語句來檢查以保持其簡(jiǎn)潔。
例如:
當(dāng)內(nèi)建命令可以完成相同的任務(wù)時(shí),在shell內(nèi)建命令和調(diào)用外部命令之間,應(yīng)盡量選擇內(nèi)建命令。
因內(nèi)建命令相比外部命令而言會(huì)產(chǎn)生更少的依賴,且多數(shù)情況調(diào)用內(nèi)建命令比調(diào)用外部命令可以獲得更好的性能(通常外部命令會(huì)產(chǎn)生額外的進(jìn)程開銷)。
正例:
反例:
加載外部庫文件不建議用使用.,建議使用source,已提升可閱讀性。正例:
反例:
除非必要情況,盡量使用單個(gè)命令及其參數(shù)組合來完成一項(xiàng)任務(wù),而非多個(gè)命令加上管道的不必要組合。常見的不建議的用法例如:cat和grep連用過濾字符串; cat和wc連用統(tǒng)計(jì)行數(shù); grep和wc連用統(tǒng)計(jì)行數(shù)等。
正例:
除特殊情況外,幾乎所有函數(shù)都不應(yīng)該使用exit直接退出腳本,而應(yīng)該使用return進(jìn)行返回,以便后續(xù)邏輯中可以對(duì)錯(cuò)誤進(jìn)行處理。正例:
反例:
推薦以下工具幫助我們進(jìn)行代碼的規(guī)范:
原文鏈接:
獲取更多的面試題、腳本等運(yùn)維資料點(diǎn)擊: 運(yùn)維知識(shí)社區(qū) 獲取
腳本之---短信轟炸機(jī)
腳本之---QQ微信轟炸機(jī)
ansible---一鍵搭建redis5.0.5集群
elk7.9真集群docker部署文檔
全球最全loki部署及配置文檔
最強(qiáng)安全加固腳本2.0
一鍵設(shè)置iptbales腳本
網(wǎng)站名稱:實(shí)踐命令linux 實(shí)踐命令名詞解釋
瀏覽路徑:http://chinadenli.net/article20/hijhjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、全網(wǎng)營(yíng)銷推廣、響應(yīng)式網(wǎng)站、App設(shè)計(jì)、動(dòng)態(tài)網(wǎng)站、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)