千鋒教育2023新版Linux教程,保姆級零基礎(chǔ)Linux入門到精通全套視頻

Linux系統(tǒng)
基本命令
ip?a?查看機(jī)器ip
ssh?root@IP????##登錄命令
exit???????????##退出當(dāng)前登錄狀態(tài)
su?-?用戶名稱??##切換當(dāng)前用戶
ctrl?+?l???????##快捷命令,
ctrl?+?c???????##換行,不執(zhí)行當(dāng)前命令行的操作
hostnamectl?set-hostname?yangge666??#更改主機(jī)名
?cd?/???????##切換當(dāng)前目錄位置
pwd????????##查看當(dāng)前所在目錄位置
cd?~???????##切換到當(dāng)前用戶家目錄
cd?-???????##切換到原來的位置
init?0?#關(guān)機(jī)
init6??#重啟
history??#查看歷史命令
cat---查看一個文件的全部內(nèi)容---#注意文件大小,不能直接cat大文件
cat?/etc/passwd
head?/etc/passwd??//默查看前十行
head?-2?/etc/passwd??//默認(rèn)查看前兩行
tail?/etc/passwd?//默認(rèn)查看文件的后十行
tail?-1?/etc/passwd??//查看文件最后一行
tail?-f?/var/log/secure??//-f?動態(tài)查看文件的尾部
grep過濾關(guān)鍵字 //grep?針對文件內(nèi)容進(jìn)行過濾
過濾文件中帶有root的內(nèi)容:
?grep?'root'?/etc/passwd??##過濾以root開頭的行:^?--以什么開頭
?grep?'^root'?/etc/passwd??##過濾以bash結(jié)尾的行
grep?'bash$'?/etc/passwd??##過濾以什么結(jié)尾
——-——————————————
less?--分頁顯示
空格鍵是翻頁??回車鍵是翻行
上下箭頭可以來回翻
/關(guān)鍵字?????#搜索?(n按關(guān)鍵字往下翻???N按關(guān)鍵字往上翻)
快捷鍵:q?-quit?退出
————
查看服務(wù)器時間
date??#查看時間
date?+%F??#只顯示當(dāng)前年月日
date?+%X??#只顯示當(dāng)前時間到秒
pwd???#顯示當(dāng)前工作路徑
查看復(fù)制刪除創(chuàng)建移動文件目錄
ls?????????????????#查看當(dāng)前目錄下的所有文件
ls???/root/a.txt???//單獨(dú)列出文件
ls???/home??????????//查看指定目錄下的文件
ls??-l?????//長格式顯示(顯示文件的詳細(xì)信息)
文件類型\權(quán)限????硬鏈接個數(shù)???所有者?所屬組???大小????修改時間???名字?
?ll?-d?/home/??#顯示目錄的詳細(xì)信息
ls?-lh?????//-h?人性化顯示?(顯示文件大小單位)
ls?-a??????//all?顯示所有文件?(包括隱藏文件)
ll?-d?/home/??#查看目錄詳細(xì)信息
?ll?/home/?#查看目錄下面文件的詳細(xì)信息
touch?文件名????????##創(chuàng)建普通文件
touch?/home/{zhuzhu,gougou}?//{}集合
touch?/home/file{1..20}??//批量創(chuàng)建
touch?file{1..20}.txt??#創(chuàng)建file1-10的txt文件
mkdir?文件名????????##創(chuàng)建目錄文件
mkdir?/home/dir2???/etc/dir3??#創(chuàng)建兩個目錄
mkdir?-p?/home/dir8/111/222??#-p?連級創(chuàng)建目錄,一級一級的創(chuàng)建
touch?.文件名??????##創(chuàng)建隱藏文件
?mv?文件名??新文件名??##剪切文件并改名字
rm?-f?文件名??????##只能刪除普通文件
rm?-rf??文件名????##可以刪除任意文件包括目錄
rm?-rf?/home/dir10/*??//不包括隱藏文件
cp?666.txt?/home/dir1/777.txt??#復(fù)制并改文件名
cp?-r?/etc?/home/dir1?????????????#-r?拷貝目錄,連同目錄里面的文件一塊拷貝
————————————————————
關(guān)閉防火墻與selinux
systemctl?stop?firewalld????##關(guān)閉防火墻
systemctl?status?firewalld??##查看防火墻狀態(tài)
systemctl?disable?firewalld?##永久關(guān)閉防火墻
systemctl?start?firewalld???##啟動防火墻
setenforce?0????????????????##臨時關(guān)閉Selinux
vi?/etc/sysconfig/selinux???##永久關(guān)閉selinux,將文件中的SELINUX=enforcing改為disabled
cat?/etc/sysconfig/selinux??##查看更改是否有誤
getenforce??????????????????##查看selinux開啟狀態(tài)
————————————————————
正常寫入數(shù)據(jù)
vi?某個文件?-->?點擊?i?,進(jìn)入編輯模式-->調(diào)整光標(biāo)到需要更改的位置-->改數(shù)據(jù)-->點擊?Esc,退出編輯模式-->shift+:??,并輸入wq(保存并退出)
#如果改錯了,又忘了原始參數(shù)是啥,點擊?Esc,退出編輯模式-->shift+:??,并輸入q?。◤?qiáng)制退出)
————————————————————
ifup?ens33??#啟動網(wǎng)卡
?vi?/etc/sysconfig/network-scripts/ifcfg-ens33??#網(wǎng)卡路徑
把?ONBOOT="no"??改為?ONBOOT="yes"
systemctl?restart?network??#重啟網(wǎng)絡(luò)
文件類型
?-?普通文件
d?目錄文件
b?設(shè)備文件
c?設(shè)備文件?字符設(shè)備文件,比如我們的終端tty1,打印機(jī)。
?l?symbolic?link?即符號鏈接文件,又稱軟鏈接文件?(淺藍(lán)色)
s??socket?即套接字文件,用于實現(xiàn)兩個進(jìn)程進(jìn)行通信
p??管道文件
————
echo??加內(nèi)容???>??加文件名????#覆蓋:把之前的內(nèi)容替換掉
echo??加內(nèi)容??>>?加文件名?????#追加:保留之前的內(nèi)容,在后面添加新內(nèi)容
當(dāng)使用echo?123?>>?a.txt?這個命令的時候在文件不存在的時候會創(chuàng)建該文件并將內(nèi)容追加到改文件中
————————————————
Linux文件管理
文件編輯
編輯模式
i????#在光標(biāo)所在處進(jìn)入編輯模式
a????#在當(dāng)前光標(biāo)后面進(jìn)入編輯模式
A????#在行尾進(jìn)入編輯模式
o????#在光標(biāo)的下一行進(jìn)入編輯模式
大O??#在光標(biāo)的上一行進(jìn)入編輯模式
?#?從編輯模式進(jìn)入命令模式:ESC
命令模式
光標(biāo)定位鍵盤:
hjkl #上下左右
0?$ ????????#行首行尾
gg ????????#頁首--文本頂端
G(shift+g)??#頁尾--文本底部
3G???????????#進(jìn)入第三行
/關(guān)鍵詞?????#查找字符,n下一個,N上一個????(n?N?可以循環(huán)的)
尾行模式
shift+:????#進(jìn)入尾行模式(擴(kuò)展命令模式)
?:10????#進(jìn)入第10行?
?:w?????#保存?
?:q?????#退出?
?:wq????#保存并退出?
?:q!????#不保存并退出?
?:wq!?強(qiáng)制保存退出
可視模式
ctrl+v?????#進(jìn)入可視塊模式
shift+v????#進(jìn)入可視行模式
文本編輯
yy??????#復(fù)制?
?3yy?????#從光標(biāo)開始復(fù)制3行。在最后粘貼
?ygg?????#從當(dāng)前光標(biāo)復(fù)制到頁首
?yG??????#從光標(biāo)開始復(fù)制到頁尾
?dd??????#刪除一行
?3dd?????#從光標(biāo)開始刪除3行
?dgg?????#從光標(biāo)開始刪除到頁首?
?dG??????#從光標(biāo)開始刪除到頁尾
?d^??????#刪除當(dāng)前光標(biāo)之前的內(nèi)容
?p???????#粘貼到本行的下一行
大P??????#粘貼到本行的上一行
?x???????#刪除光標(biāo)所在的字符
?D???????#從光標(biāo)處刪除到行尾
?u???????#undo撤銷
?r???????#可以用來修改一個字符
查找替換
語法---->?:范圍?s/old/new/選項?
:s/world/nice/?????????#替換當(dāng)前光標(biāo)所在行
:3s/sbin/nice/?????????#替換指定行
:1,5?s/nologin/soso/???#從1-5行的nologin?替換為soso
:%s/bin/soso/??????????#替換所有行
:%s/sbin/nice/g????????#替換行內(nèi)所有關(guān)鍵字
——
:set?nu????#設(shè)置行號?
:set?list??#顯示控制字符
:set?nonu??#取消設(shè)置行號?
訪問時間:atime,查看內(nèi)容?
修改時間:mtime,修改內(nèi)容
改變時間:ctime,文件屬性,比如權(quán)限,mv改名
用戶管理
創(chuàng)建組
groupadd?hr???//創(chuàng)建一個用戶組叫hr
?groupadd?market??//創(chuàng)建一個用戶組叫market
?groupadd?net01?-g?2000??//創(chuàng)建組叫net01,并指定gid為2000
grep?'net01'?/etc/group??//查看/etc/group中組net01信息
net01:x:2000:
修改組
[root@linux-server?~]#groupmod?參數(shù)?組名
-g:修改組的gid
-n:修改組名
[root@linux-server?~]#groupmod?-g?2000?grp1
[root@linux-server?~]#groupmod?-n?新組名?grp1
刪除組
[root@linux-server?~]#?groupdel?net01??#刪除組net01
注意:用戶的主屬組不能刪除
useradd?user01???//創(chuàng)建用戶
/etc/passwd??---->查看賬戶是否存在的文件
/home/??---->用戶的家目錄,每創(chuàng)建一個用戶會在/home目錄下面創(chuàng)建對應(yīng)的家目錄
/etc/shadow???--->用戶的密碼文件
?cat?/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
分隔符::
第一列:用戶名
第二列:密碼
第三列:用戶標(biāo)識號--->(uid)是一個整數(shù),系統(tǒng)內(nèi)部用它來標(biāo)識用戶。通常用戶標(biāo)識號的取值范圍是0~65535。0是超級用戶root的標(biāo)識號
第四列:gid
第五列:描述信息。
第六列:家目錄
第七列:是用戶登陸到界面的第一個命令,開啟一個shell。登陸shell
?id?user01???//查看用戶的uid、gid、和所在組
whoami?查看我現(xiàn)在所使用的賬戶
useradd?user02?-u?503???//指定uid為503
?useradd?user05?-s?/sbin/nologin??//創(chuàng)建用戶并指定shell
useradd?user07?-G?it,fd??//創(chuàng)建用戶,指定附加組
useradd?-g?1003?user8?#指定用戶的主屬組為1003組。???
?useradd?user10?-u?4000?-s?/sbin/nologin
userdel?-r?user02??//刪除用戶user2,同時刪除用戶家目錄
passwd?alice??#root用戶可以給任何用戶設(shè)置密碼
1.修改用戶名:
-l
?usermod?-l?NEW_name?user8
?id?user8
id:?user8:無此用戶
2.修改GID:
-g
id?user10
uid=1000(user10)?gid=1000(tom)?groups=1000(tom)
?usermod?user10?-g?new_gid????#gid需要提前存在
3.修改UID
-u
?usermod?-u?new_id?jack
?id?jack
uid=1005(jack)?gid=1004(jack)?groups=1004(jack)
4.修改用戶的登錄shell
-s
?usermod?-s?/sbin/nologin?user07???#修改用戶的登錄shell
給組添加賬戶
-a
gpasswd?-a?user10?grp2
Adding?user?user10?to?group?grp2
同時添加多個用戶到組
-M:members成員的縮寫?(把組員替換掉了)
?gpasswd?-M?tom,alice?it
從組刪除用戶
-d
gpasswd?-d?user07?hr
useradd??#添加用戶
usermod??#更改用戶名
su? ?????#su?-?用戶名??//切換用戶
userdel??#刪除用戶????#?userdel?-r?用戶名??(刪除用戶的同時刪除家目錄)
文件權(quán)限
權(quán)限對象:
屬主------->u
屬組------->g
其他人------>o
基本權(quán)限類型:
讀(read):r???---->4
寫(write):w??---->2
執(zhí)行:?x----->1
chown
?chown?alice.hr?file1.txt??//修改屬主、屬組
?chown?tom??file1.txt??//修改屬主
?chown?.it?file1.txt???//只改屬組
?chown?-R?alice.hr?dir1?//遞歸修改---針對目錄及目錄下的所有文件
改權(quán)限
符號
chmod?u+x?file1.txt?????//屬主增加執(zhí)行
chmod?a=rwx?file1.txt??//所有人等于讀寫執(zhí)行
chmod?a=-?file1.txt???//所有人都沒有權(quán)限
chmod?ug=rw,o=r?file1.txt??//屬主屬組等于讀寫,其他人只讀
數(shù)字
chmod?644?file1.txt?
?ll?file1.txt?
-rw-r--r--.?1?tom?it?0?Nov??1?15:30?file1.txt
?chmod?755?file1.txt
?ll
-rwxr-xr-x??1?root?root????0?Jul?23?22:40?file1.txt
?chmod?521?file1.txt
ll
-r-x-w---x??1?root?root????0?Jul?23?22:40?file1.txt
————
?groupadd?hr???//創(chuàng)建一個用戶組
?useradd?hr01?-G?hr???//創(chuàng)建hr01用戶添加到hr組里
?useradd?hr02?-G?hr???//創(chuàng)建hr02用戶添加到hr組里
mkdir?/home/hr???????//在/home創(chuàng)建一個hr目錄
chown?.hr?/home/hr???//將/home/hr目錄的所屬組設(shè)置為hr
chmod?770?/home/hr???//將/home/hr目錄的權(quán)限設(shè)置為770
ll?-d?/home/hr???????//查看/home/hr目錄本身的權(quán)限
drwxrwx---.?2?root?hr?6?Nov??1?17:11?/home/hr
管道與重定向
>???----覆蓋
>>??----追加
正確輸出:?1>?1>>?等價于?>?>>
錯誤輸出:?2>?2>>
ls?/home/??/aaaaaaaaa?&>list.txt??#混合輸出到相同文件
date?1>?date.txt??#正確輸出--覆蓋
#?注意:如果?>?前面什么都不加默認(rèn)為1,標(biāo)準(zhǔn)正確輸出
date?>>?date.txt?#正確輸出--追加
(cat?>?file?<<?EOF?)是用來創(chuàng)建文件或者在腳本中使用,并向文件中輸入信息輸入的任何東西會被寫入文件中,EOF命令結(jié)束。
語法:cat?>>?file5?<
EOF:開始和結(jié)束的標(biāo)記。
成對使用
結(jié)尾的另一個必須定格寫。
例?cat?>file4?<
>?111
>?222
>?333
>?444
>?EOF
cat?file4?
111
222
333
444
管道
ls?/etc??|grep?'sys'??#查詢目錄內(nèi)符合要求的文件
將/etc/passwd中的用戶按UID大小排序
sort?-t":"?-k3?-n?/etc/passwd??#以:?分隔,將第三列按字?jǐn)?shù)升序
sort?-t":"?-k3?-n?/etc/passwd?-r?#以:?分隔,將第三列按字?jǐn)?shù)降序
?sort?-t":"?-k3?-n?/etc/passwd?|head?#以:?分隔,將第三列按字?jǐn)?shù)升序看前十行
?sort?-t":"?-k3?-n?/etc/passwd?|tail?#以:?分隔,將第三列按字?jǐn)?shù)升序看后十行
參數(shù)詳解:
sort?排序,默認(rèn)升序
-t?指定分隔符
-k?指定列
-n?按數(shù)值
-r?降序
參數(shù)傳遞
cat?a.txt?|?xargs??-i?cp?{}?/目錄
目錄時??-r
軟件管理
語法??rpm?-ivh?軟件包名稱
?rpm?-qa?|?grep?軟件名????#?查找軟件是否安裝
?rpm?-ql?httpd???????????#查詢安裝的http文件及其路徑
rpm?-qf?/usr/share/httpd/noindex?????#查詢該文件屬于哪個包
?rpm?-qf?/etc/passwd??#查詢某一個文件是哪個軟件產(chǎn)生的:只能查詢已經(jīng)安裝好的軟件
語法:#?rpm?-e?軟件名稱??#卸載
rpm工具管理軟件包總結(jié):
1.?很難解決包依賴關(guān)系?
2.? 如果某個文件沒有,很難知道它由哪個rpm包提供
語法?yum?-y?install?軟件名?下載安裝應(yīng)用命令
yum?remove?軟件名?-y???卸載刪除應(yīng)用命令
#可以自動解決rpm軟件依賴關(guān)系,雖然是通過yum安裝的但是最后執(zhí)行的還是rpm,也就是說沒有rpm命令yum也就不能用了。
安裝nginx
編譯安裝
?yum?-y?install?gcc?make?zlib-devel?pcre?pcre-devel?openssl-devel??#編譯環(huán)境的準(zhǔn)備
[root@linux-server?~]#?wget?http://nginx.org/download/nginx-1.16.1.tar.gz
[root@linux-server?~]#?tar?xzf?nginx-1.16.1.tar.gz
[root@linux-server?~]#?cd?nginx-1.16.1
[root@linux-server?nginx-1.16.1]#?./configure?--user=www?--group=www?--prefix=/usr/local/nginx
[root@linux-server?nginx-1.16.1]#?make??#編譯文件
[root@linux-server?nginx-1.16.1]#?make?install??#安裝文件
[root@linux-server?~]#?useradd?www???#創(chuàng)建nginx用戶
[root@linux-server?~]#?/usr/local/nginx/sbin/nginx??#啟動nginx
[root@linux-server?~]#?systemctl?stop?firewalld??#關(guān)閉防火墻
——
停止nginx
?/usr/local/nginx/sbin/nginx?-s?stop
yum安裝
yum?install?yum-utils
vim?/etc/yum.repos.d/nginx.repo
[nginx-stable]?
name=nginx?stable?repo
?baseurl=http://nginx.org/packages/centos/$releasever/$basearch/?
gpgcheck=1?
enabled=1?
gpgkey=https://nginx.org/keys/nginx_signing.key?
module_hotfixes=true
:wq
yum?install?-y?nginx
systemctl?start?nginx
進(jìn)程管理
靜態(tài)查看進(jìn)程
ps?aux
ps?-ef
查看端口
?yum?install?lsof??#安裝軟件包
?lsof?-i:80???#端口號,這能查看帶端口的進(jìn)程
查網(wǎng)絡(luò)進(jìn)程和正在監(jiān)聽的端口
?netstat?-lntp????(該命令對應(yīng)的包名:net-tools)
殺死進(jìn)程
kill??信號參數(shù)??PID???#kill?-9?12345
pkill??信號參數(shù)??進(jìn)程名稱??#pkill?-9??nginx
上傳下載
?yum?install?-y?lrzsz
rz?????????????#上傳
sz??文件???#下載
計劃任務(wù)
一次性調(diào)度執(zhí)行?at
例1:?
[root@linux-server?~?]#?yum?-y?install?at
[root@linux-server?~]#?systemctl?status?atd????#查看啟動狀態(tài)
[root@linux-server?~?]#?systemctl?start?atd #首先要啟動服務(wù)
例:?at?now?+1min????#一分鐘后開始執(zhí)行
at>?useradd?uuuu??回車
at>??????? #Ctrl+D
?id?uuuu
例2:?
vim?at.jobs?
useradd?u00?
touch?/a.txt
at?20:33?<?at.jobs
——
查看一次性任務(wù)?atq
刪除一次性任務(wù)?atrm?序號