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