云起冬季實(shí)戰(zhàn)營(yíng)第二期期學(xué)習(xí)報(bào)告——Linux指令入門(mén)
整理了一下,本次學(xué)到linux指令
白名單提示的處理
假如創(chuàng)立資源后遇到這個(gè)提示,需要先處理下,再持續(xù)試驗(yàn)
白名單提示
新建inprivate窗口
翻開(kāi)阿里云登錄頁(yè)面https://signin.aliyun.com/login.htm#/main
用所給資源的賬號(hào)暗碼登錄
進(jìn)入實(shí)例
翻開(kāi)安全組頁(yè)面
按提示添加
保存后就能夠用了
一、文本處理類
Vim
指令描繪:文本編輯
輸入i
居中:ce
保存:wq
cat
指令描繪:cat指令用于檢查內(nèi)容較少的純文本文件。
指令運(yùn)用示例:
1. 將一個(gè)自增序列寫(xiě)入test.txt文件中。
for i in $(seq 1 10); do echo $i >> test.txt ; done
2. 檢查文件內(nèi)容。
cat test.txt
指令輸出成果:
3. 將文件內(nèi)容清空。
cat /dev/null > test.txt
more
指令描繪:more指令早年向后分頁(yè)顯現(xiàn)文件內(nèi)容。
指令運(yùn)用示例:
從第20行開(kāi)始分頁(yè)檢查體系日志文件/var/log/messages。
more +20 /var/log/messages
less
指令描繪:less指令能夠?qū)ξ募蚱渌敵鲞M(jìn)行分頁(yè)顯現(xiàn),與moe指令相似,但運(yùn)用 less 能夠隨意瀏覽文件,而 more 僅能向前移動(dòng),卻不能向后移動(dòng)。
指令運(yùn)用示例:
檢查指令前史運(yùn)用記載并經(jīng)過(guò)less分頁(yè)顯現(xiàn)。
history | less
head
指令描繪:head指令用于檢查文件開(kāi)頭指定行數(shù)的內(nèi)容。
指令運(yùn)用示例:
檢查/etc/passwd文件的前5行內(nèi)容。
head -5 /etc/passwd
tail
指令描繪:tail指令用于檢查文檔的后N行或持續(xù)改寫(xiě)內(nèi)容。
指令運(yùn)用示例:
檢查/var/log/messages體系日志文件的最新10行,并堅(jiān)持實(shí)時(shí)改寫(xiě)。
tail -f -n 10 /var/log/messages
按ctrl+c鍵退出文本實(shí)時(shí)檢查界面。
stat
指令描繪:用來(lái)顯現(xiàn)文件的詳細(xì)信息,包含inode、atime、mtime、ctime等。
指令運(yùn)用示例:
檢查/etc/passwd文件的詳細(xì)信息。
stat /etc/passwd
wc
指令描繪:wc指令用于計(jì)算指定文本的行數(shù)、字?jǐn)?shù)、字節(jié)數(shù)。
指令運(yùn)用示例:
計(jì)算/etc/passwd文件的行數(shù)。
wc -l /etc/passwd
file
指令描繪: file指令用于辨識(shí)文件類型。
指令運(yùn)用示例:
檢查/var/log/messages文件的文件類型。
file /var/log/messages
diff
指令描繪:diff指令用于比較文件的差異。
grep
指令描繪:grep指令用于查找文件里契合條件的字符串。
grep全稱是Global Regular Expression Print,表明全局正則表達(dá)式版別,它能運(yùn)用正則表達(dá)式查找文本,并把匹配的行打印出來(lái)。
在Shell腳本中,grep經(jīng)過(guò)返回一個(gè)狀況值來(lái)表明查找的狀況:
- 0:匹配成功。
- 1:匹配失敗。
- 2:查找的文件不存在。
指令運(yùn)用示例:
- 檢查sshd服務(wù)裝備文件中監(jiān)聽(tīng)端口裝備所在行編號(hào)。grep -n Port
- 查詢字符串在文本中呈現(xiàn)的列數(shù)。grep -c localhost /etc/hosts
- 反向查找,不顯現(xiàn)契合條件的行。ps -ef | grep sshdps -ef | grep -v grep | grep sshd
- 以遞歸的方法查找目錄下含有關(guān)鍵字的文件。grep -r *.sh /etc
- 運(yùn)用正則表達(dá)式匹配httpd裝備文件中異常狀況碼響應(yīng)的相關(guān)裝備。grep 'ntp[0-9].aliyun.com' /etc/ntp.conf
sed
sed是一種流編輯器,它是文本處理中十分中的東西,能夠完美的合作正則表達(dá)式運(yùn)用。
指令運(yùn)用示例:
- 刪去第3行到最后一行內(nèi)容。sed '3,$d' /etc/passwd
- 在最后一行新增行。sed '$a admin:x:1000:1000:admin:/home/admin:/bin/bash' /etc/passwd
- 替換內(nèi)容。sed 's/SELINUX=disabled/SELINUX=enforcing/' /etc/selinux/config
- 替換行。sed '1c abcdefg' /etc/passwd
awk
指令描繪:和 sed 指令類似,awk 指令也是逐行掃描文件(從第 1 行到最后一行),尋找含有目標(biāo)文本的行,假如匹配成功,則會(huì)在該行上履行用戶想要的操作;反之,則不對(duì)行做任何處理。
指令運(yùn)用示例:
- 檢查本機(jī)IP地址。ifconfig eth0 |awk '/inet/{print $2}'
- 檢查本機(jī)剩余磁盤(pán)容量。df -h |awk '/\/$/{print $4}'
- 計(jì)算體系用戶個(gè)數(shù)。awk -F: '$3<1000{x++} END{print x}' /etc/passwd
- 輸出其間登錄Shell不以nologin結(jié)尾(對(duì)第7個(gè)字段做!~反向匹配)的用戶名、登錄Shell信息。awk -F: '$7!~/nologin$/{print $1,$7}' /etc/passwd
- 輸出/etc/passwd文件中前三行記載的用戶名和用戶uid。head -3 /etc/passwd | awk 'BEGIN{FS=":";print "name\tuid"}{print $1,"\t"$3}END{print "sum lines "NR}'
- 檢查tcp連接數(shù)。netstat -na | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
-
關(guān)閉指定服務(wù)的一切的進(jìn)程。ps -ef | grep httpd | awk {'print $2'} | xargs kill -9
cut
指令描繪:cut指令首要用來(lái)切開(kāi)字符串,能夠?qū)斎氲臄?shù)據(jù)進(jìn)行切開(kāi)然后輸出。
指令運(yùn)用示例:
- 按字節(jié)進(jìn)行切開(kāi)。
- 按字符進(jìn)行切開(kāi)。
tr
指令描繪:tr指令用于對(duì)來(lái)自規(guī)范輸入的字符進(jìn)行替換、緊縮和刪去。
示例:
- 將輸入字符由大寫(xiě)轉(zhuǎn)換為小寫(xiě)。echo "HELLO WORLD" | tr 'A-Z' 'a-z'
- 刪去字符。echo "hello 123 world 456" | tr -d '0-9'
- 緊縮字符。echo "thissss is a text linnnnnnne." | tr -s ' sn'
- 發(fā)生隨機(jī)暗碼。cat /dev/urandom | tr -dc a-zA-Z0-9 | head -c 13
二、體系辦理類
echo
指令描繪:echo指令用于在終端輸出字符串或變量提取后的值。
- 顯現(xiàn)成果定向至文件
echo "This is a test text." > test.txt
假如您希望將文本追加到文件內(nèi)容最后,而不是覆蓋它,請(qǐng)運(yùn)用>>輸出追加重定向符號(hào)。
- 顯現(xiàn)指令履行成果
以下指令將會(huì)在終端顯現(xiàn)當(dāng)時(shí)的作業(yè)途徑。
echo `pwd`
運(yùn)用$(command)形式能夠達(dá)到相同效果。
date
指令描繪:date指令用于顯現(xiàn)和設(shè)置體系的時(shí)刻和日期。
- 依照指定格局檢查當(dāng)時(shí)體系時(shí)刻
date "+%Y-%m-%d %H:%M:%S"
- 檢查今天是當(dāng)年中的第幾天
date "+%j"
- 將體系的當(dāng)時(shí)時(shí)刻設(shè)置為2020年02月20日20點(diǎn)20分20秒
date -s "20200220 20:20:20"
- 校對(duì)體系時(shí)刻,與網(wǎng)絡(luò)時(shí)刻同步
a. 安裝ntp校時(shí)東西
yum -y install ntp
b. 用ntpdate從時(shí)刻服務(wù)器更新時(shí)刻
ntpdate time.nist.gov
wget
指令描繪:在終端中下載文件。
:下載一張圖片到途徑/root/static/img/中,-p參數(shù)默認(rèn)值為當(dāng)時(shí)途徑,假如指定途徑不存在會(huì)主動(dòng)創(chuàng)立。
wget -P /root/static/img/ http://img.alicdn.com/tfs/TB1.R._t7L0gK0jSZFxXXXWHVXa-2666-1500.png
ps
指令描繪:ps指令用于檢查體系中的進(jìn)程狀況。
指令運(yùn)用示例:
ps -ef | grep sshd
top
指令描繪:top指令動(dòng)態(tài)地監(jiān)督進(jìn)程活動(dòng)與體系負(fù)載等信息。
按 q 鍵退出監(jiān)控頁(yè)面。
pidof
指令描繪:pidof指令用于查詢指定服務(wù)進(jìn)程的PID值。
查詢出crond服務(wù)下的一切進(jìn)程ID。
pidof crond
kill
指令描繪:kill指令用于停止指定PID的服務(wù)進(jìn)程。
刪去pid為1247的進(jìn)程。
kill -9 1247
killall
指令描繪:killall指令用于停止指定稱號(hào)的服務(wù)對(duì)應(yīng)的悉數(shù)進(jìn)程。
刪去crond服務(wù)下的一切進(jìn)程。
killall crond
ifconfig
指令描繪:ifconfig指令用于獲取網(wǎng)卡裝備與網(wǎng)絡(luò)狀況等信息。
uname
指令描繪:uname指令用于檢查體系內(nèi)核與體系版別等信息。
- 顯現(xiàn)體系信息。
uname -a
- 顯現(xiàn)當(dāng)時(shí)體系的硬件架構(gòu)。
uname -i
- 顯現(xiàn)操作體系發(fā)行編號(hào)。
uname -r
- 顯現(xiàn)操作體系稱號(hào)。
uname -s
- 顯現(xiàn)主機(jī)稱號(hào)。
name -n
uptime
指令描繪:uptime 用于檢查體系的負(fù)載信息。
free
指令描繪:free用于顯現(xiàn)當(dāng)時(shí)體系中內(nèi)存的運(yùn)用量信息。
- 顯現(xiàn)當(dāng)時(shí)體系中內(nèi)存的運(yùn)用量信息。
free -h
who
指令描繪:who 指令顯現(xiàn)關(guān)于當(dāng)時(shí)在本地體系上的一切用戶的信息。
- 顯現(xiàn)用戶登錄來(lái)源
who -l -H
- 精簡(jiǎn)模式顯現(xiàn)
who -q
last
指令描繪: last 指令用于顯現(xiàn)用戶最近登錄信息。
history
指令描繪:history指令用于顯現(xiàn)前史履行過(guò)的指令。
bash默認(rèn)記載1000條履行過(guò)的前史指令,被記載在~/.bash_history文件中。
指令運(yùn)用示例:
- 顯現(xiàn)最新10條履行過(guò)的指令。
history 10
- 清除前史記載。
history -c
三、磁盤(pán)辦理指令
df
df指令描繪:該指令檢查文件體系的磁盤(pán)空間占用狀況。能夠運(yùn)用該指令來(lái)獲取硬盤(pán)被占用了多少空間,目前還剩余多少空間等信息。
- 履行如下指令,以inode模式來(lái)顯現(xiàn)磁盤(pán)運(yùn)用狀況。
df -i
- 履行如下指令,顯現(xiàn)體系內(nèi)的一切特別文件格局、稱號(hào)及磁盤(pán)運(yùn)用狀況。
df -aT
- 履行如下指令,以GBytes、MBytes、KBytes等格局顯現(xiàn)各文件體系容量。
df -h
du
du指令描繪:檢查磁盤(pán)運(yùn)用空間。du與df指令不同點(diǎn)在于,du指令用于檢查文件和目錄磁盤(pán)的運(yùn)用空間。
- 履行如下指令,列出當(dāng)時(shí)目錄下的一切文件夾和文件的容量。
du -a
- 履行如下指令,列出當(dāng)時(shí)目錄下的一切文件夾和文件的容量。
du -ah
- 履行如下指令,列出根目錄底下每個(gè)目錄所占用的容量,并以MBytes單位顯現(xiàn)容量。
du -sm /*
fdisk
fdisk指令描繪:該指令用于磁盤(pán)分區(qū)。
- 履行如下指令,列出體系一切裝置的分區(qū)信息。
fdisk -l
四、文件與權(quán)限
ls
指令描繪: ls指令用于顯現(xiàn)指定作業(yè)目錄下的內(nèi)容。
指令運(yùn)用示例:
檢查當(dāng)時(shí)目錄下的一切文件(包含隱藏文件)。
ll -a
pwd
指令描繪:獲取當(dāng)時(shí)作業(yè)目錄的絕對(duì)途徑。
cd
指令描繪:cd指令用于切換作業(yè)目錄。
在途徑表明中:
- 一個(gè)半角句號(hào)(.)表明當(dāng)時(shí)目錄,例如途徑./app/log等同于app/log。
- 兩個(gè)半角句號(hào)(..)表明上級(jí)目錄,例如途徑/usr/local/../src等同于/usr/src,其間local和src目錄同級(jí)。
cd指令的默認(rèn)參數(shù)為~,符號(hào)~表明當(dāng)時(shí)用戶的家目錄,即在root用戶登錄時(shí),指令cd、cd ~和cd /root履行效果相同。
touch
指令描繪:touch指令用于修正文件或許目錄的時(shí)刻屬性,包含存取時(shí)刻和更改時(shí)刻。若文件不存在,體系會(huì)建立一個(gè)新的文件。
指令運(yùn)用示例:
- 創(chuàng)立兩個(gè)空文件。
touch demo1.txt demo2.txt
mkdir
mkdir指令用于新建子目錄。-p參數(shù)確保目錄稱號(hào)存在,不存在的就新建一個(gè)。
tree
檢查創(chuàng)立后的目錄結(jié)構(gòu)。
rm
指令描繪:rm指令用于刪去一個(gè)文件或許目錄。
示例:
- 無(wú)需確認(rèn)直接刪去文件。
rm -rf demo*
- 無(wú)需確認(rèn)直接刪去目錄a及其目錄下一切子目錄和文件。
rm -rf a
cp
指令描繪: cp指令首要用于復(fù)制文件或目錄。
mv
指令描繪: mv指令用來(lái)為文件或目錄改名、或?qū)⑽募蚰夸浺迫肫渌轿弧?
-
將文件名a.txt改為b.txt。
-
將c目錄移動(dòng)到a/b/c/d/下。
- 將當(dāng)時(shí)目錄內(nèi)容悉數(shù)移動(dòng)到/tmp目錄中。
mv ./* /tmp
rename
指令描繪:rename指令用字符串替換的方法批量改動(dòng)文件名。
指令運(yùn)用示例:
-
將當(dāng)時(shí)目錄下一切文件名中的字符串demo改為大寫(xiě)的字符串DEMO。
-
將當(dāng)時(shí)目錄下一切.txt文件后綴都改為text。
chmod
chmod指令用于修正文件權(quán)限mode,-R參數(shù)以遞歸方法對(duì)子目錄和文件進(jìn)行修正。
-
將hello.sh文件添加屬主的履行權(quán)限。
-
將hello.sh文件吊銷屬主的履行權(quán)限。
-
將hello.sh文件權(quán)限修正為八進(jìn)制表明的744權(quán)限。
-
運(yùn)用bash指令解釋器履行hello.sh腳本文件。
其間,u+x表明添加屬主的履行權(quán)限,u表明屬主,g表明屬組,o表明其他,a表明一切用戶。
chown
chown指令修正文件的屬主和屬組;-R參數(shù)以遞歸方法對(duì)子目錄和文件進(jìn)行修正;ls -l指令顯現(xiàn)的第三列和第四列便是文件的屬主和屬組信息。
chgrp
chgrp指令用于修正文件的屬組。
五、文件辦理
cmp
指令描繪:該指令用于比較兩個(gè)文件是否有差異。當(dāng)相互比較的兩個(gè)文件完全一樣時(shí),該指令不會(huì)顯現(xiàn)任何信息。不然會(huì)標(biāo)示出第一個(gè)不同之處的字符和列數(shù)編號(hào)。當(dāng)不指定任何文件稱號(hào),或文件名為"-",則cmp指令會(huì)從規(guī)范輸入設(shè)備讀取數(shù)據(jù)。
find
指令描繪:該指令用來(lái)在指定目錄下查找文件。任何坐落參數(shù)之前的字符串都將被視為欲查找的目錄名。假如運(yùn)用該指令時(shí),不設(shè)置任何參數(shù),則find指令將在當(dāng)時(shí)目錄下查找子目錄與文件。而且將查找到的子目錄和文件悉數(shù)進(jìn)行顯現(xiàn)。
運(yùn)用示例:
- 履行如下指令,將當(dāng)時(shí)目錄及其子目錄下一切文件后綴為.txt的文件列出來(lái)。
find . -name "*.txt"
- 履行如下指令,查找體系中一切文件長(zhǎng)度為0的普通文件,并列出它們的完好途徑。
find / -type f -size 0 -exec ls -l {} \;