layout: post
title: Linux就該這么學(xué)2
date: 2020-11-14
author: XiaoJia849
categories:
- 后端部
tags: 后端,Linux
- 后端
- Linux
輸入重定向——把文件導(dǎo)入到命令中
輸出重定向——把原本要輸出到屏幕的數(shù)據(jù)信息寫(xiě)到指定文件中
輸入重定向:標(biāo)準(zhǔn)輸入重定向。STDIN,可從鍵盤(pán),其他文件或命令中輸入骗卜。
輸出重定向最常使用沦辙,分為:標(biāo)準(zhǔn)輸出重定向锅劝,錯(cuò)誤輸出重定向
輸出重定向:
Man bash > readme.txt 把屏幕中的內(nèi)容輸出到readme.txt文件內(nèi)躺盛。
覆蓋寫(xiě)入:echo “WELcome” > readme.txt——把雙引號(hào)內(nèi)內(nèi)容覆蓋readme.txt的原本內(nèi)容
追加寫(xiě)入:echo “WELcome” >>readme.txt——把雙引號(hào)內(nèi)內(nèi)容追加到readme.txt
把命令的所有報(bào)錯(cuò)信息寫(xiě)入文件吊趾,使用SHELL腳本寨躁。
Ls -l xxxxx 2>/root/stdeer.txt
把ls -l xxxxx 2的所有提示信息輸入到/root/stdeer.txt
/root/stdeer.txt是一個(gè)只讀文件穆碎。
輸入重定向:
Wc -l < readme.txt 這個(gè)是統(tǒng)計(jì)文本行數(shù)
輸出readme.txt這個(gè)文件內(nèi)容的行數(shù)
管道命令符
| 管道符
A | B 把A命令原本要輸入到屏幕的數(shù)據(jù)當(dāng)作是后一個(gè)命令的標(biāo)準(zhǔn)輸入。
grep “/sbin/nologin” /etc/password | wc -1
這個(gè)是找到在 /etc/password 里“/sbin/nologin”出現(xiàn)的次數(shù)
重置用戶(hù)root的密碼:
echo “l(fā)inuxprobe” | password –stdin root
發(fā)送郵件
echo “Content” | mail -s “Subject” 用戶(hù)名
關(guān)于發(fā)送郵件的詳細(xì)過(guò)程如下:
1.安裝
- sendmail:yum install -y sendmail
- mail:yum install -y mailx
- 安裝mutt:yum install -y mutt
2.修改配置文件
vim /etc/mail.rc
在此文件下補(bǔ)充以下內(nèi)容
set ssl-verify=ignore 無(wú)需ssl確認(rèn)
set nss-config-dir=/etc/pki/nssdb
set from=郵箱
set smtp=smtps://smtp.qq.com:465 如果是qq郵箱就這么寫(xiě)
set smtp-auth-user=郵箱朽缎,同上
set smtp-auth-password=IMAP/SMTP服務(wù)密碼
set smtp-auth=login
啟動(dòng)sendmail : systemctl restart sendmail
echo "郵件內(nèi)容" | mail -s "郵件名" 目標(biāo)郵箱
用這一條命令是表示惨远,我從我的本地賬戶(hù)(mail.rc配置的郵箱)發(fā)送郵件到目標(biāo)郵箱
命令行的通配符
*匹配0個(gè)或者多個(gè)
?匹配單個(gè)字符
[0-9]匹配0-9之間的單個(gè)數(shù)字的字符
[abc]匹配abc中的任意一個(gè)字符
ls -l /dev/sda* 展示所有sda開(kāi)頭的文件的信息话肖。
常用轉(zhuǎn)義字符\ ‘’ “” ``
$$是顯示當(dāng)前進(jìn)程號(hào)北秽,第一個(gè) $ 表示顯示內(nèi)容
\$$ 的第一個(gè) $ 沒(méi)有特殊含義
當(dāng)要執(zhí)行某命令也可以這么寫(xiě)
重要的環(huán)境變量
命令在linux內(nèi)執(zhí)行的步驟:
第一步:判斷用戶(hù)是否以絕對(duì)路徑或者相對(duì)路徑的方式輸入命令
第二步:檢查輸入命令是否為別名命令
可以用alias命令創(chuàng)建屬于自己的命令別名
alias 別名 =命令 運(yùn)用此別名
unalias 別名 釋放此別名
第三步:Bash解釋器判斷用戶(hù)輸入的是內(nèi)部命令還是外部命令
內(nèi)部命令:解釋器內(nèi)部的指令,直接執(zhí)行
外部命令:由下一步執(zhí)行最筒,用 type 命令名稱(chēng) 判斷用戶(hù)輸入的是內(nèi)部命令還是外部命令
cat是bin里的贺氓,說(shuō)明是內(nèi)部命令
第四步:系統(tǒng)在多個(gè)路徑中查找用戶(hù)輸入的命令文件,而定義這些路徑的變量叫PATH
不能將當(dāng)前目錄(.)添加到PATH,因?yàn)椋喝绻诳驮诠灿媚夸?tmp中存放了和ls或者cd命令同名的木馬文件床蜘,用戶(hù)如果在公共目錄下執(zhí)行了這些命令辙培,就有可能中招。
設(shè)定解釋器搜索所執(zhí)行的命令的路徑——PATH變量
注意:不同用戶(hù)下的同一變量代表的意義不同
隨便使用一個(gè)命令就可以創(chuàng)建這樣的變量邢锯,例如WI=/home/workdir cd $WI就可以跳轉(zhuǎn)到這個(gè)目錄扬蕊。
但是這種變量的作用范圍有限,不可以被其他用戶(hù)使用丹擎。但是可以使用export WI 把WI這個(gè)命令轉(zhuǎn)換為全局變量尾抑。