[root@oldboy ~]# cp /etc/passwd /root/test.txt
[root@oldboy ~]# cat test.txt
[root@oldboy ~]# vim test.txt
:set nu
j下k上h左l右? ctrl+b上翻兩頁? ctrl+f上翻兩頁
10gg? G? 0^行首? $行尾
set ic? /root 4個
:1,3s#root#--od--#g? u
:% s#root#--od--#g
20gg? dG u
19gg dG u
which:查看某個命令的完整路徑
df -h:查看系統(tǒng)磁盤情況
history:查看歷史輸入的命令
網(wǎng)卡配置路徑:vim /etc/sysconfig/network-scripts/ifcfg-eth0
1.systemctl reboot? ? ? ? 重啟 *
2.shutdown -r now? ? ? ? 立刻重啟 *
3.shutdown -h now? ? ? ? 立刻關(guān)機 *
4.systemctl poweroff? ? 關(guān)閉系統(tǒng)并切斷電源 *
5.systemctl halt? ? ? ? 關(guān)閉系統(tǒng)CPU停止工作 *
6.systemctl suspend? ? ? 暫停系統(tǒng)
7.systemctl hibernat? ? 系統(tǒng)進入休眠狀態(tài)
8.systemctl hybrid-sleep 系統(tǒng)進入交互式休眠狀態(tài)
9.systemctl rescue 啟動進入救援狀態(tài)
pwd 查看當(dāng)前目錄
cd - 去上一次所在的目錄
cd . 去當(dāng)前目錄绍坝,表示當(dāng)前目錄
cd .. 去上一級目錄建芙。 ..表示上一級目錄
cd ~或cd? 去當(dāng)前目錄的家目錄唬渗, ~表示家目錄蔫仙。
root:當(dāng)前登錄系統(tǒng)的用戶
www:當(dāng)前登錄系統(tǒng)的主機名稱
~:當(dāng)前所在的位置
#:通常情況下账蓉,是超級管理員的身份(root)
$:為普通用戶
公網(wǎng)IP地址:
私網(wǎng):辦公室局域網(wǎng)內(nèi)使用的地址凉袱,不能再互聯(lián)網(wǎng)上使用(路由器將私網(wǎng)的IP 地址轉(zhuǎn)換為公網(wǎng))
192.168
172.16
10.0.0
端口的概念:
IP地址:唯一標(biāo)識一臺計算機(身份證)? (找誰工三,去哪里)
端口:不同軟件運行的服務(wù)用端口區(qū)分? ? (到這里干啥)
? ? ? 是一臺計算機里唯一標(biāo)識服務(wù)的數(shù)字
? 我們要訪問一臺計算機拿到IP地址架谎,找到對應(yīng)的服務(wù)就需要端口诸狭。
協(xié)議:計算機之間的通信方式(語言)券膀,采用相同的協(xié)議溝通。? (用什么方式語言干什么)
連接Linux的服務(wù):
SSH服務(wù)? Security Shell服務(wù)
包括客戶端(相當(dāng)于男人)和服務(wù)端(相當(dāng)于女人) 通過客戶端才能連接服務(wù)端
[root@oldboyedu ~]# rpm -qa openssh openssl
openssl-1.0.2k-16.el7_6.1.x86_64? #連接和傳輸過程中加密
openssh-7.4p1-16.el7.x86_64? ? ? ? #SSH服務(wù)端軟件
服務(wù)端運行的SSH的服務(wù):
[root@oldboyedu ~]# ps -ef|grep ssh
root? ? ? 1457? ? ? 1? 0 11:57 ?? ? ? ? 00:00:00 /usr/sbin/sshd -D
root? ? ? 1995? 1457? 0 11:59 ?? ? ? ? 00:00:00 sshd: root@pts/0
root? ? ? 7937? 1457? 0 14:20 ?? ? ? ? 00:00:00 sshd: root@pts/1
root? ? ? 7961? 7941? 0 14:38 pts/1? ? 00:00:00 grep --color=auto ssh
服務(wù)端運行的SSH的服務(wù)所用的端口:22? #<==ss -lntup|grep ssh
服務(wù)端(女人):軟件openssh (提供遠(yuǎn)程連接) openssl(提供加密)
檢查服務(wù)信息:
查IP的命令:ip add
查端口:ss -lntup? 或? netstat -lntup
查進程:ps -ef|grep ssh
暫停SSH服務(wù):systemctl stop? sshd.service
開啟SSH服務(wù):systemctl start sshd.service
客戶端(男人)有哪些驯遇? Xshell芹彬、SeurCRT、Putty叉庐、SSH
連接不上服務(wù)端舒帮,出現(xiàn)連接故障:
Connecting to 10.0.0.201:22...
連接故障的解決方法:
1、檢查服務(wù)端:
? 網(wǎng)卡陡叠、IP是不是啟動和正確的:輸入命令ip add 或 ifconfig
2玩郊、檢查端口和進程:
? 查端口:ss -lntup? 或? netstat -lntup
? 查進程:ps -ef|grep ssh
? 暫停SSH服務(wù)后再開啟SSH服務(wù)? 暫停SSH服務(wù):systemctl stop? sshd.service
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 開啟SSH服務(wù):systemctl start sshd.service
3、檢查客戶端的IP匾竿、端口瓦宜、協(xié)議是不是對的(眼睛查)?
? 都是對的,就是連接不上岭妖,咋辦临庇?
? (1)ping 10.0.0.200 檢查物理鏈路能否到達(dá)
? ? [root@oldboyedu ~]# ping 10.0.0.200
PING 10.0.0.200 (10.0.0.200) 56(84) bytes of data.
64 bytes from 10.0.0.200: icmp_seq=1 ttl=64 time=0.031 ms
64 bytes from 10.0.0.200: icmp_seq=2 ttl=64 time=0.054 ms
64 bytes from 10.0.0.200: icmp_seq=3 ttl=64 time=0.041 ms
64 bytes from 10.0.0.200: icmp_seq=4 ttl=64 time=0.040 ms
^C
? ? 如果不可達(dá):1反璃、連接的IP輸入錯了
? ? ? ? ? ? 2、物理鏈路有問題(VM環(huán)境調(diào)虛擬網(wǎng)絡(luò)編輯器)
? ? (2)telnet 10.0.0.200 22(連接的端口號)檢查對方有沒有提供服務(wù)假夺,開啟服務(wù)
[g:\~]$ telnet 10.0.0.200 22
Connecting to 10.0.0.200:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
SSH-2.0-OpenSSH_7.4
? ? 如果是連不上的狀態(tài):
[g:\~]$ telnet 10.0.0.200 23
Connecting to 10.0.0.200:23...
Could not connect to '10.0.0.200' (port 23): Connection failed.
Type `help' to learn how to use Xshell prompt.
? ? (1)服務(wù)端是否開著防火墻(6是iptables,7是firewalld )(2)服務(wù)端沒有提供服務(wù)
檢查防火墻是否開著: 開啟防火墻:systemctl status firewalld.service
Active:active (running)開著的狀態(tài)
Active:inactive(dead)關(guān)著的狀態(tài)
關(guān)閉防火墻:systemctl stop firewalld.service
開啟防火墻:systemctl start firewalld.service
開機不自動啟動防火墻:systemctl disable firewalld.service
開機自動啟動防火墻:systemctl enable firewalld.service
什么是快照淮蜈?
作用:可以讓時間倒流,操作過的已卷、說過的話 都可以不算數(shù)
克挛嗵铩:
1、鏈接克隆
2侧蘸、開機:
nmtui(C7)===》圖形化更改? set up(C6)P81頁
systemctl restart network 重啟讓修改生效
3裁眯、復(fù)制shell標(biāo)簽 鏈接
#管理員(皇帝)
$普通用戶(大臣)
~家目錄:當(dāng)前位置
@之前的是當(dāng)前用戶名 @之后的是主機名
快捷鍵:
Tab:補全代碼
Ctrl+c:中斷終端正在執(zhí)行的任務(wù)
Ctrl+d:退出Shell命令行,關(guān)閉Xshell
Ctrl+l:清屏相當(dāng)于命令:clear
Ctrl+a:光標(biāo)回到行首
Ctrl+e:光標(biāo)回到行尾
Ctrl+Insert:復(fù)制一行的內(nèi)容
Shift+Insert:粘貼復(fù)制的內(nèi)容
Ctrl+k:剪切(刪除)光標(biāo)處到行尾的字符
Ctrl+u:剪切(刪除)光標(biāo)處到行首的字符
Ctrl+w:刪除光標(biāo)前的一個單詞
Ctrl+y:粘貼Ctrl+k讳癌、Ctrl+u穿稳、Ctrl+w刪除的文本
Ctrl+s:鎖定界面,不顯示輸入的內(nèi)容
Ctrl+q:解除鎖定
Ctrl+r:搜索命令行使用過的歷史命令記錄
Esc+.(點):獲取上一條命令的最后部分(空格分隔)
Ctrl+z:暫停正在執(zhí)行任務(wù)
I卫ぁ7晁摇:執(zhí)行上一條命令
!+命令開頭的幾個字母:執(zhí)行最近以字母開頭的命令
linux如何查找命令幫助:
1骤菠、man:man+ 要查找功能的命令(列:man ls)男人它改,查找命令的功能 參數(shù) 等等幫助信息的工具
2、查內(nèi)置命令:--help :命令+ --help(例:cp --help)
[root@oldboyedu ~]# LANG="zh_CN.UTF-8" 《======查看漢語幫助(只試用于--help命令)
3商乎、搜索引擎輸入:linux+要搜索的命令
普通命令和內(nèi)置命令的區(qū)別:
普通命令是在系統(tǒng)中存在的命令
內(nèi)置命令在系統(tǒng)中不存在文件央拖,存在于bash解釋器里
特殊性:7有些命令也存在文件了。cd,read
man命令找不到截亦,就用help命令
man cd就可以找到所有內(nèi)置命令
info cp(查命令的相關(guān)信息爬泥,幾乎用不著)
reboot、shutdown重啟
halt崩瓤、poweroff關(guān)機
systemctl reboot? ? ? 重啟 *
shutdown -r now? ? ? ? 立刻重啟 *
shutdown -h now? ? ? ? 立刻關(guān)機 *
systemctl poweroff? ? 關(guān)閉系統(tǒng)并切斷電源 *
systemctl halt? ? ? ? 關(guān)閉系統(tǒng)CPU停止工作 *
systemctl suspend? ? ? 暫停系統(tǒng)
systemctl hibernat? ? 系統(tǒng)進入休眠狀態(tài)
systemctl hybrid-sleep 系統(tǒng)進入交互式休眠狀態(tài)
systemctl rescue ? 啟動進入救援狀態(tài)
Linux語法:
? ? 命令 [參數(shù)選項] [文件或路徑] (“[]”里面的東西可有可無)
? ? 例:rm -f /etc/hosts? ? ? ? (完整的路徑不帶空格)
pwd:查看當(dāng)前目錄(print打印 working工作 directory目錄)
自動顯示工作目錄:(o編輯→esc退出編輯→:wq保存)
[root@oldboyedu~]# vim .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
? ? ? ? . /etc/bashrc
fi
PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\
]]\\$ "
".bashrc" 13L, 260C written
[root@oldboyedu~]# source bashrc
cd 切換目錄(change改變 directory目錄)
cd - 去上一次所在的目錄
cd . 去當(dāng)前目錄。.表示當(dāng)前目錄
cd .. 去上一級目錄踩官。 ..表示上一級目錄
cd ~或cd? 去當(dāng)前目錄的家目錄却桶, ~表示家目錄
相對路徑:不是從”/“斜線開始的路徑,目標(biāo)文件對于當(dāng)前文件的路徑蔗牡。
如:data/颖系,mnt/oldboy;
絕對路徑(完整的路徑):是從”/“斜線根開始的路徑,而是從當(dāng)前目錄或指定的目錄開始辩越,從根目錄開始的嘁扼。
如:/data/,/mnt/oldboy
ls -a 列出文件下所有的文件黔攒,包括以“.“開頭的隱藏文件(linux下文件隱藏文件是以.開頭的趁啸,如果存在..代表存在著父目錄)强缘。
ls -l 列出文件的詳細(xì)信息,如創(chuàng)建者不傅,創(chuàng)建時間旅掂,文件的讀寫權(quán)限列表等等。
ls -F 在每一個文件的末尾加上一個字符說明該文件的類型访娶。"@"表示符號鏈接商虐、"|"表示FIFOS、"/"表示目錄崖疤、"="表示套接字秘车。
ls -s 在每個文件的后面打印出文件的大小。 size(大小)
ls -t 按時間進行文件的排序 Time(時間)
ls -A 列出除了"."和".."以外的文件劫哼。
ls -R 將目錄下所有的子目錄的文件都列出來叮趴,相當(dāng)于我們編程中的“遞歸”實現(xiàn)
ls -L 列出文件的鏈接名。Link(鏈接)
ls -S 以文件的大小進行排序
tree:以樹形結(jié)構(gòu)顯示目錄及文件(例:tree /etc)
tree -L 1(顯示的層數(shù)):指定樹形顯示的層數(shù)(例:tree -L 1 /etc)(level層數(shù))
tree -d :指定顯示樹形目錄(例:tree -d /etc)(directory目錄)
tree -L 1 -d /etc:顯示/etc的一層樹形目錄
創(chuàng)建目錄:mkdir (make創(chuàng)建 directory目錄)
mkdir -p:覆蓋目錄創(chuàng)建沦偎,根據(jù)需要創(chuàng)建所有目錄 包括父目錄子目錄疫向,遞歸創(chuàng)建
(例:mkdir -p /oldgirl/oldboy)
在當(dāng)前目錄下創(chuàng)建文件:touch 文件名 (例:touch test.txt)
cat:查看文件內(nèi)容(例:cat wzh.txt)
強制刪除文件:rm -f 文件名(force)
刪除目錄:rm -fr 目錄名? ? rm -i:確認(rèn)
遞歸刪除,刪除目錄和文件:rm -r 文件名 (recusive)
創(chuàng)建連續(xù)文件:touch {1..1000}.txt? ? {}生成數(shù)字序列豪嚎,字母序列搔驼。
? ? ? touch oldboy{1..3}.txt
? ? ? touch {oldboy,oldgirl,oldbaby}.txt
Linux一切皆文件,目錄也是文件侈询,目錄和文件不能重名舌涨。
Linux一切從根開始:Linux系統(tǒng)中的一切的數(shù)據(jù)、文件都是從根目錄下衍生存放的
ls (list)顯示目錄下的內(nèi)容
? -l (long) 以長格式顯示目錄下的內(nèi)容(ll的效果跟ls -l效果一樣)
? -a (all)顯示所有文件扔字,包含隱藏文件(以.開頭的文件)
? -d(dirctory)顯示目錄
ls -ld oldboy:看oldboy目錄的長格式
vim編輯器:(例:vim Linux.txt 進入Linux文件中編輯)
三種模式:普通模式囊嘉、編輯模式、命令行模式
a:進入編輯模式? i:進入編輯模式(insert)
o:在光標(biāo)所在的下一行革为,空行進入編輯模式
esc:退出編輯模式到命令模式? 兩遍esc命令模式到普通模式?
:wq保存退出? :q!強制退出 :q退出不保存 :wq!強制保存退出? :set nu顯示行號
普通模式的快捷方式:
yy? ? ? ? 復(fù)制光標(biāo)所在位置的一行? n yy:復(fù)制多行
p? ? ? ? 粘貼
dd/cc? ? 刪除光標(biāo)所在的行 (dd刪除/剪切本行的所有內(nèi)容包括空行 cc刪除本行的內(nèi)容保留空行)
0? ? ? ? 光標(biāo)移至行首
$? ? ? ? 光標(biāo)移至行尾
u? ? ? ? 撤銷最后一次修改
U? ? ? ? 撤銷當(dāng)前行的所有修改
gg? ? ? ? 移動到文件頭部
G? ? ? ? 光標(biāo)移至文章最后一行頭部
100gg? ? 調(diào)至第100行行首
dG? ? ? ? 刪除光標(biāo)所在位置至文件結(jié)束
r ? 替換單個字符
C ? 刪除光標(biāo)后的整行
ZZ? ? ? ? 保存退出
命令行模式的快捷方式:
:q!? ? ? 不保存文件強制退出vim
:wq ? ? ? 保存文件并退出vim
:wq!? ? ? 強制保存退出
:q? ? ? ? 不保存退出
:set nu? 顯示行號
普通模式的快捷方式:
/3306:向下搜索3306 繼續(xù)搜按n扭粱,向下搜按N?
?3306:向上搜索3306 繼續(xù)搜按n,向下搜按N
:%s/A/B/g:替換? A:要替換的東西? B:拿來替換的東西 g:表示全局
例: :%s/oldboy/oldgirl/g? 把文件里的oldboy全部換成oldgirl
:4,6s/A/B/g:將4-6行的A換成B
cp:復(fù)制文件和目錄(copy)(例:cp test.txt /opt/? 將test文件復(fù)制到/opt)
cp -r:復(fù)制目錄(遞歸復(fù)制)(例:cp -r test /opt/ 將test目錄復(fù)制到/opt)
cp -p:保存文件屬性復(fù)制文件(文件的大小震檩、創(chuàng)建時間琢蛤、權(quán)限都是文件屬性)
cp -a:跟cp -p一樣
cp -d:復(fù)制鏈接?
cp -rp:保存目錄屬性復(fù)制目錄
cp -i:確認(rèn)
mv:(move)移動目錄或文件,相當(dāng)于剪切? mv -i:確認(rèn)? mv -t:顛倒
復(fù)制的時候如何不提示直接覆蓋抛虏?
cp -f
alias:查看所有命令的別名? unalias:刪除別名(unalias cp)臨時生效博其,關(guān)機就沒有了
? ? ? ? ? ? ? ? ? 設(shè)置別名:alias cp='cp -i'
默認(rèn)執(zhí)行pc相當(dāng)于執(zhí)行了cp -i,這是系統(tǒng)默認(rèn)的別名在作怪迂猴。
解決方案:
加“\”:[root@oldboyedu~]#\cp {1.100}.txt /opt/
輸入完整路徑:[root@oldboyedu~]#/bin/cp {1.100}.txt /opt/
which:查看某個命令的完整路徑(例:which cp)
如何防止使用rm誤刪數(shù)據(jù)慕淡?
1、放棄使用rm沸毁,用mv或find替代
2峰髓、不刪除傻寂,只是移動到回收站(/tmp)
3、一定要刪除儿普,要先備份
4崎逃、不要這樣用:rm -fr /opt/*(*代表刪除所有)
? 這樣用更安全些:cd /opt →? rm -fr*
5、為rm設(shè)置別名眉孩,提醒自己和組員
課后作業(yè):
1.cd /tmp pwd mkdir data{1..3}
2.(慢)touch /data1/oldboy1.txt? touch /data2/oldboy2.txt? touch /data/oldboy3.txt
tree -L 2? ls? ll
2.touch data{1..3}/oldboy{1..3}
tree -L 2? ll data1/oldboy1 data2/oldboy1 data3/oldboy1
3.cp /etc/hosts /tmp/data1? cp /opt/data1 /opt? tree /tmp/data1? tree /opt
4.(慢)mv? /tmp/data1 /root? cd /opt/data1 rm -f /hosts cd .. rm -fr /data1
4.mv /tmp/data1 /root? rm -f /opt/data1/hosts? cd /opt? rm -fr data1
echo:輸出和打印 輸入啥輸出啥? echo "dhsdyvnvb"
echo -n:不換行輸出
echo -e:轉(zhuǎn)義字符? \t代表tab鍵? \n回車換行(這兩個要配合-e使用)
[root@oldboyedu /opt]# echo -e "\ngngb\terbvnerug"
gngb erbvnerug
printf:格式化打印
Linux里的目錄和分區(qū)是分離的?
IDE盤:? 不同的磁盤使用字母表示:hda? hdb
? ? ? ? ? 不同分區(qū)是用數(shù)字表示:hda1? hda2
SAS/SATA/SASI? sda sdb,sda1 sda2
/dev/sda1
Linux分區(qū)默認(rèn)是不能訪問的(通過掛載進行訪問)
掛載:為分區(qū)找到一個入口
掛載點:分區(qū)入口的目錄名(例:/etc就是分區(qū)/dev/sda1的掛載點)
掛載命令:mount (例:mount /dev/cdrom /mnt)
卸載掛載命令:umount? (例:umount /mnt)
臨時掛載點:/mnt
df -h:查看系統(tǒng)磁盤情況
磁盤下的目錄結(jié)構(gòu)說明:
/:存放系統(tǒng)相關(guān)
/usr:存放系統(tǒng)方開發(fā)的程序
/usr/local:存放用戶自己安裝的程序个绍,相當(dāng)于c:/program files
/opt:存放第三廠商開發(fā)的程序
/home:存放用戶的數(shù)據(jù)(家目錄)
FHS:目錄層次標(biāo)準(zhǔn)
根下的目錄結(jié)構(gòu)分析:
[root@oldboyedu ~]# tree -L 1 /
/
├── bin -> usr/bin? ? binaries二進制 存放命令相關(guān)
├── boot? 存放Linux的內(nèi)核及系統(tǒng)引導(dǎo)程序所需的文件目錄(大小可為256——1024MB)它也是引導(dǎo)分區(qū)的掛載點
├── dev? Device files設(shè)備文件 存放設(shè)備文件
├── etc? 二進制軟件包配置問價所在路徑
├── home? 普通用戶的家目錄
├── lib -> usr/lib 系統(tǒng)和運行命令所需的共享庫文件和內(nèi)核模塊存放目錄(libraries)
├── lib64 -> usr/lib64? 64庫library庫文件目錄
├── media? 可移除的媒體掛載點
├── mnt? 臨時掛載點 mount
├── opt? (option 可選擇)有些軟件包也會安裝在這里,也就是自定義的軟件包
├── proc? 虛擬的文件系統(tǒng)浪汪,存放進程和內(nèi)核信息的目錄
├── root? 管理員的家目錄
├── run? 存放正在運行進程相關(guān)信息的文件的目錄
├── sbin -> usr/sbin 管理員命令的所在目錄巴柿,普通用戶執(zhí)行不了(system binaries)
├── srv? 給用戶提供數(shù)據(jù)所在的目錄
├── sys? 虛擬的文件系統(tǒng),存放進程和內(nèi)核信息的目錄和proc類似
├── tmp? 存放臨時文件的目錄
├── usr? 存放系統(tǒng)軟件和用戶相關(guān)程序所在的目錄死遭,第二層次目錄
└── var? 存放可變化的數(shù)據(jù)的目錄
1广恢、/etc:系統(tǒng)初始化及設(shè)置相關(guān)重要文件
網(wǎng)卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0(用于配置上網(wǎng)的文件)
C7:nmtui圖形化配置上網(wǎng)? 本質(zhì)就是修改上述文件
C6:setup
2、/etc/resolv.conf: Linux系統(tǒng)DNS客戶配置文件(已被網(wǎng)卡配置文件所替代)
DNS:域名系統(tǒng)(Domain Name System)
作用:把瀏覽器里輸入的域名呀潭,解析為服務(wù)器的IP地址钉迷,然后才能找到服務(wù)器,提供內(nèi)容钠署。
3糠聪、/etc/hosts:系統(tǒng)本地的DNS解析文件(本地DNS配置文件,優(yōu)先于DNS公網(wǎng)解析)?
4谐鼎、/etc/fstab:配置開機設(shè)備自動掛載的文件(自動掛載)
作用:比如插入一個U盤舰蟆,希望下次開機能夠直接訪問。就需要在/etc/fstab里配置
[root@oldboyedu ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Jul 15 15:40:40 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=5402fb0a-5727-4745-b715-83fee4922bf2 /? ? ? ? ? ? xfs? ? ? ? defaults? ? ? 0? ? ? ? 0
UUID=5d25ce16-9259-4a05-a66a-797e208ef456 /boot? ? ? ? xfs? ? ? ? defaults? ? ? 0? ? ? ? 0
UUID=5e66df19-7e49-4658-ac0b-1ca64ce6b7c3 swap? ? ? ? ? swap? ? ? ? defaults? ? ? 0? ? ? ? 0
設(shè)備名(UUID)? ? ? ? ? ? ? ? ? ? ? ? ? 掛載點? 掛載的文件系統(tǒng)類型? 掛載參數(shù)? 是否備份 是否開機檢查?
blkid:查詢所有設(shè)備的文件系統(tǒng)類型
5狸棍、/etc/rc.local:存放開機自啟動程序命令的文件
它的真實路徑:/etc/rc.d/rc.local
[root@oldboyedu ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Jul 15 18:11 /etc/rc.local -> rc.d/rc.local
C7的特殊性:chmod +x /etc/rc.d/rc.local(先執(zhí)行這條命令才能用開機自啟動文件)
C6的開機自啟動:chkconfig
6身害、/etc/profile及/etc/bashrc:配置系統(tǒng)的環(huán)境變量/別名等的文件
它是各種配置的配置文件
生效條件二選一:1、退出重新登錄2草戈、執(zhí)行source
7塌鸯、/etc/issue和/etc/issue.net:配置登錄前的顯示信息文件
[root@oldboyedu ~]# cat /etc/issue
\S
Kernel \r on an \m
[root@oldboyedu ~]# cat /etc/issue.net
\S
Kernel \r on an \m
[root@oldboyedu ~]# >/etc/issue? ====>刪除內(nèi)核版本號(不能還原)
[root@oldboyedu ~]# >/etc/issue.net? ? ====>刪除內(nèi)核版本號(不能還原)
8、/etc/motd:配置登陸提示
編輯:
[root@oldboyedu ~]#vim /etc/motd
歡迎來到泳的樂園唐片!
保存退出:? :wq
重新登錄:Ctrl+d 兩次
歡迎來到泳的樂園=缗狻(開機提示信息)
[root@oldboyedu ~]#
9、/etc/redhat-release:查看系統(tǒng)版本
[root@oldboyedu ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
uname -r:查看內(nèi)核
[root@oldboyedu ~]# uname -r
3.10.0-957.21.3.el7.x86_64
10牵触、/etc/sysctl.conf:Linux內(nèi)核參數(shù)設(shè)置文件
11、/etc/init.d:軟件啟動程序所在的目錄(C7以前)
12咐低、/etc/hostname:查看主機名
改主機名:(改完之后退出永久生效)
[root@oldboyedu ~]# hostnamectl set-hostname wangzehua
[root@oldboyedu ~]# cat /etc/hostname
wangzehua
重啟
[root@wangzehua ~]#
臨時改主機名:(C7和C6都可以用)
[root@oldboyedu ~]#hostname wangzehua
[root@oldboyedu ~]#cat /etc/hostname
wangzehua
13揽思、/etc/inittab:設(shè)置開機運行級別以及啟動相應(yīng)級別腳本的文件(C7以前)
定義:Linux系統(tǒng)運行級別當(dāng)前處于的狀態(tài)
Linux系統(tǒng)運行級別的說明如下:
#? 0? 關(guān)機(請不要把系統(tǒng)運行級別設(shè)置為0)
#? 1? 單用戶模式(root用戶密碼忘記,可用此模式找回)
#? 2? 沒有NFS见擦,多用戶模式
#? 3? 命令行模式 文本模式(企業(yè)級服務(wù)器核心運行狀態(tài))
#? 4? 未使用
#? 5? 圖形化模式 桌面模式 X11(桌面?zhèn)€人版系統(tǒng)運行狀態(tài))
#? 6? 重啟(不要把系統(tǒng)運行級別設(shè)置為6)
查看當(dāng)前運行級別:runlevel或who -r(C7)
[root@oldboyedu ~]# runlevel
N 3
[root@oldboyedu ~]# who -r
? ? ? ? run-level 3? 2019-07-20 09:55
切換運行級別:init
14钉汗、/etc/sysctl.conf? Linux內(nèi)核參數(shù)信息文件-
調(diào)整Linux系統(tǒng)羹令、優(yōu)化需要配置這個文件
sysctl -p:讓修改后的文件生效
/usr目錄:
1、/usr/local:源碼編譯安裝軟件默認(rèn)的位置路徑(用戶存放自己安裝的程序)
Linux的軟件安裝:
? 1.rpm安裝
? rpm -ivh 軟件包的包名.rpm
? 2.yum安裝损痰,rpm包管理器(智能安裝幫我們找一個軟件包需要的依賴包)
? 安裝A福侈,A需要B,先安裝B
2卢未、/usr/src:存放源碼文件的目錄
/var目錄下存放的重要路徑:
1肪凛、/var/log:記錄系統(tǒng)及軟件運行信息文件所在的目錄
log日志信息就是記錄計算機運行行為
/var/log/messages:Linux系統(tǒng)級別日志文件
記錄Linux系統(tǒng)運行行為的文件,正常行為或非正常行為
[root@oldboyedu ~]#? cat /var/log/messages
2辽社、/var/log/secure(安全):用戶登錄信息日志文件(安全日志文件)
[root@oldboyedu ~]#? cat /var/log/secure
3伟墙、/var/log/dmesg:記錄硬件信息加載情況的日志文件
/proc目錄下存放的重要路徑:
1、/proc/meminfo:查看系統(tǒng)內(nèi)容? free -m查看內(nèi)容
[root@oldboyedu ~]# cat /proc/meminfo
2滴铅、/proc/cpuinfo:查看CPU
[root@oldboyedu ~]# cat /proc/cpuinfo
3戳葵、/proc/loadavg:查看負(fù)載(系統(tǒng)繁忙程度的一個綜合指標(biāo))
[root@oldboyedu ~]# uptime
14:20:07 up? 3:48,? 2 users,? load average: 0.00, 0.01, 0.05
當(dāng)前時間? 開機多久? 哪些用戶? 負(fù)載? 平均? ? 1分鐘 5分鐘 15分鐘
負(fù)載的數(shù)字和CPU核數(shù)相當(dāng)?shù)臅r候就是負(fù)載一個臨界點,
例如:一顆兩核 臨界負(fù)載就是2汉匙,1分鐘5分鐘15分鐘最大負(fù)載點就是2娶眷。
4、/proc/mounts:當(dāng)前設(shè)備掛載列表信息文件
vi/vim:純文本編輯器? vi:記事本
cat:查看文件內(nèi)容? ? ? ? ? ? ? [root@oldboyedu /opt]# seq 30 >test.txt
cat -n:顯示文件的行號? ? ? ? ? ? ? ? 在test文件中生成30個數(shù)字
more:分頁顯示內(nèi)容
less:分頁顯示內(nèi)容(可以上下調(diào)節(jié)著看)
head:顯示文件頭部內(nèi)容 (默認(rèn)顯示前10行)? head test.txt
指定顯示行數(shù):head -n n test.txt
[root@oldboyedu /opt]# head -n 20 test.txt? 指定顯示前20行
tail:顯示文件尾部內(nèi)容? (默認(rèn)顯示后10行) tail test.txt
指定顯示行數(shù):tail -n n test.txt
[root@oldboyedu /opt]# tail -n 5 test.txt? 指定顯示后5行
tail -f:實時跟蹤顯示文件尾部的信息? ? tail -f test.txt
tac:翻轉(zhuǎn)顯示文件內(nèi)容(和cat相反)
rev:字符左右翻轉(zhuǎn)顯示行的內(nèi)容
=================7.22
tr:替換文件里面的指定內(nèi)容(一個字母只能替換成一個數(shù)字) Linux里嚴(yán)格區(qū)分大小寫
tr "A" "B" < oldboy.txt? ? ? ? ? ? ? ? ? ? ? translate or delete characters
例:[root@oldboyedu /opt]# cat oldboy.txt? ? ? 替換? ? 或? 刪除? ? 字符
walconme cnsugfbc
cdhsunsdbv
[root@oldboyedu /opt]# tr "c" "w" < oldboy.txt
[root@oldboyedu /opt]# tr "c" "w" < oldboy.txt
walwonme wnsugfbw
wdhsunsdbv
將a--d換成0--3例:
[root@oldboyedu /opt]# tr "a-d" "0-3" < oldboy.txt
w0l2onme 2nsugf12
23hsuns31v
你好啊
grep:文本過濾工具(找到要找的文本)? print lines matching a? pattern
例:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 打印? 行? ? 匹配? 一個? 模式/樣式
[root@oldboyedu /opt]# grep "oldboy" oldboy.txt
Welcome to oldboy training.
grep -v:取反過濾(找到文本的其他行)
[root@oldboyedu /opt]# grep -v "oldboy" oldboy.txt
we are excellent.
grep -i:文本不區(qū)分大小寫過濾
[root@oldboyedu /opt]# grep -i "W" oldboy.txt
Welcome to oldboy training.
we are excellent.
which:查看某個命令的完整路徑
df -h:查看系統(tǒng)磁盤情況
history:查看歷史輸入的命令
網(wǎng)卡配置路徑:vim /etc/sysconfig/network-scripts/ifcfg-eth0
1.systemctl reboot? ? ? ? 重啟 *
2.shutdown -r now? ? ? ? 立刻重啟 *
3.shutdown -h now? ? ? ? 立刻關(guān)機 *
4.systemctl poweroff? ? 關(guān)閉系統(tǒng)并切斷電源 *
5.systemctl halt? ? ? ? 關(guān)閉系統(tǒng)CPU停止工作 *
6.systemctl suspend? ? ? 暫停系統(tǒng)
7.systemctl hibernat? ? 系統(tǒng)進入休眠狀態(tài)
8.systemctl hybrid-sleep 系統(tǒng)進入交互式休眠狀態(tài)
9.systemctl rescue 啟動進入救援狀態(tài)
pwd 查看當(dāng)前目錄
cd - 去上一次所在的目錄
cd . 去當(dāng)前目錄档悠,表示當(dāng)前目錄
cd .. 去上一級目錄拱礁。 ..表示上一級目錄
cd ~或cd? 去當(dāng)前目錄的家目錄, ~表示家目錄绎秒。
公網(wǎng)IP地址:
私網(wǎng):辦公室局域網(wǎng)內(nèi)使用的地址浦妄,不能再互聯(lián)網(wǎng)上使用(路由器將私網(wǎng)的IP 地址轉(zhuǎn)換為公網(wǎng))
192.168
172.16
10.0.0
端口的概念:
IP地址:唯一標(biāo)識一臺計算機(身份證)? (找誰,去哪里)
端口:不同軟件運行的服務(wù)用端口區(qū)分? ? (到這里干啥)
? ? ? 是一臺計算機里唯一標(biāo)識服務(wù)的數(shù)字
? 我們要訪問一臺計算機拿到IP地址见芹,找到對應(yīng)的服務(wù)就需要端口剂娄。
協(xié)議:計算機之間的通信方式(語言),采用相同的協(xié)議溝通玄呛。? (用什么方式語言干什么)
連接Linux的服務(wù):
SSH服務(wù)? Security Shell服務(wù)
包括客戶端(相當(dāng)于男人)和服務(wù)端(相當(dāng)于女人) 通過客戶端才能連接服務(wù)端
[root@oldboyedu ~]# rpm -qa openssh openssl
openssl-1.0.2k-16.el7_6.1.x86_64? #連接和傳輸過程中加密
openssh-7.4p1-16.el7.x86_64? ? ? ? #SSH服務(wù)端軟件
服務(wù)端運行的SSH的服務(wù):
[root@oldboyedu ~]# ps -ef|grep ssh
root? ? ? 1457? ? ? 1? 0 11:57 ?? ? ? ? 00:00:00 /usr/sbin/sshd -D
root? ? ? 1995? 1457? 0 11:59 ?? ? ? ? 00:00:00 sshd: root@pts/0
root? ? ? 7937? 1457? 0 14:20 ?? ? ? ? 00:00:00 sshd: root@pts/1
root? ? ? 7961? 7941? 0 14:38 pts/1? ? 00:00:00 grep --color=auto ssh
服務(wù)端運行的SSH的服務(wù)所用的端口:22? #<==ss -lntup|grep ssh
服務(wù)端(女人):軟件openssh (提供遠(yuǎn)程連接) openssl(提供加密)
檢查服務(wù)信息:
查IP的命令:ip add
查端口:ss -lntup? 或? netstat -lntup
查進程:ps -ef|grep ssh
暫停SSH服務(wù):systemctl stop? sshd.service
開啟SSH服務(wù):systemctl start sshd.service
客戶端(男人)有哪些阅懦? Xshell、SeurCRT徘铝、Putty耳胎、SSH
連接不上服務(wù)端,出現(xiàn)連接故障:
Connecting to 10.0.0.201:22...
連接故障的解決方法:
1惕它、檢查服務(wù)端:
? 網(wǎng)卡怕午、IP是不是啟動和正確的:輸入命令ip add 或 ifconfig
2、檢查端口和進程:
? 查端口:ss -lntup? 或? netstat -lntup
? 查進程:ps -ef|grep ssh
? 暫停SSH服務(wù)后再開啟SSH服務(wù)? 暫停SSH服務(wù):systemctl stop? sshd.service
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 開啟SSH服務(wù):systemctl start sshd.service
3淹魄、檢查客戶端的IP郁惜、端口、協(xié)議是不是對的(眼睛查)?
? 都是對的甲锡,就是連接不上兆蕉,咋辦羽戒?
? (1)ping 10.0.0.200 檢查物理鏈路能否到達(dá)
? ? [root@oldboyedu ~]# ping 10.0.0.200
PING 10.0.0.200 (10.0.0.200) 56(84) bytes of data.
64 bytes from 10.0.0.200: icmp_seq=1 ttl=64 time=0.031 ms
64 bytes from 10.0.0.200: icmp_seq=2 ttl=64 time=0.054 ms
64 bytes from 10.0.0.200: icmp_seq=3 ttl=64 time=0.041 ms
64 bytes from 10.0.0.200: icmp_seq=4 ttl=64 time=0.040 ms
^C
? ? 如果不可達(dá):1、連接的IP輸入錯了
? ? ? ? ? ? 2虎韵、物理鏈路有問題(VM環(huán)境調(diào)虛擬網(wǎng)絡(luò)編輯器)
? ? (2)telnet 10.0.0.200 22(連接的端口號)檢查對方有沒有提供服務(wù)易稠,開啟服務(wù)
[g:\~]$ telnet 10.0.0.200 22
Connecting to 10.0.0.200:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
SSH-2.0-OpenSSH_7.4
? ? 如果是連不上的狀態(tài):
[g:\~]$ telnet 10.0.0.200 23
Connecting to 10.0.0.200:23...
Could not connect to '10.0.0.200' (port 23): Connection failed.
Type `help' to learn how to use Xshell prompt.
? ? (1)服務(wù)端是否開著防火墻(6是iptables,7是firewalld )(2)服務(wù)端沒有提供服務(wù)
檢查防火墻是否開著: 開啟防火墻:systemctl status firewalld.service
Active:active (running)開著的狀態(tài)
Active:inactive(dead)關(guān)著的狀態(tài)
關(guān)閉防火墻:systemctl stop firewalld.service
開啟防火墻:systemctl start firewalld.service
開機不自動啟動防火墻:systemctl disable firewalld.service
開機自動啟動防火墻:systemctl enable firewalld.service
什么是快照?
作用:可以讓時間倒流包蓝,操作過的驶社、說過的話 都可以不算數(shù)
克隆:
1养晋、鏈接克隆
2衬吆、開機:
nmtui(C7)===》圖形化更改? set up(C6)P81頁
systemctl restart network 重啟讓修改生效
3、復(fù)制shell標(biāo)簽 鏈接
#管理員(皇帝)
$普通用戶(大臣)
~家目錄:當(dāng)前位置
@之前的是當(dāng)前用戶名 @之后的是主機名
快捷鍵:
Tab:補全代碼
Ctrl+c:中斷終端正在執(zhí)行的任務(wù)
Ctrl+d:退出Shell命令行绳泉,關(guān)閉Xshell
Ctrl+l:清屏相當(dāng)于命令:clear
Ctrl+a:光標(biāo)回到行首
Ctrl+e:光標(biāo)回到行尾
Ctrl+Insert:復(fù)制一行的內(nèi)容
Shift+Insert:粘貼復(fù)制的內(nèi)容
Ctrl+k:剪切(刪除)光標(biāo)處到行尾的字符
Ctrl+u:剪切(刪除)光標(biāo)處到行首的字符
Ctrl+w:刪除光標(biāo)前的一個單詞
Ctrl+y:粘貼Ctrl+k逊抡、Ctrl+u、Ctrl+w刪除的文本
Ctrl+s:鎖定界面零酪,不顯示輸入的內(nèi)容
Ctrl+q:解除鎖定
Ctrl+r:搜索命令行使用過的歷史命令記錄
Esc+.(點):獲取上一條命令的最后部分(空格分隔)
Ctrl+z:暫停正在執(zhí)行任務(wù)
C暗铡!:執(zhí)行上一條命令
四苇!+命令開頭的幾個字母:執(zhí)行最近以字母開頭的命令
linux如何查找命令幫助:
1孝凌、man:man+ 要查找功能的命令(列:man ls)男人,查找命令的功能 參數(shù) 等等幫助信息的工具
2月腋、查內(nèi)置命令:--help :命令+ --help(例:cp --help)
[root@oldboyedu ~]# LANG="zh_CN.UTF-8" 《======查看漢語幫助(只試用于--help命令)
3蟀架、搜索引擎輸入:linux+要搜索的命令
普通命令和內(nèi)置命令的區(qū)別:
普通命令是在系統(tǒng)中存在的命令
內(nèi)置命令在系統(tǒng)中不存在文件,存在于bash解釋器里
特殊性:7有些命令也存在文件了榆骚。cd,read
man命令找不到片拍,就用help命令
man cd就可以找到所有內(nèi)置命令
info cp(查命令的相關(guān)信息,幾乎用不著)
reboot妓肢、shutdown重啟
halt捌省、poweroff關(guān)機
systemctl reboot? ? ? 重啟 *
shutdown -r now? ? ? ? 立刻重啟 *
shutdown -h now? ? ? ? 立刻關(guān)機 *
systemctl poweroff? ? 關(guān)閉系統(tǒng)并切斷電源 *
systemctl halt? ? ? ? 關(guān)閉系統(tǒng)CPU停止工作 *
systemctl suspend? ? ? 暫停系統(tǒng)
systemctl hibernat? ? 系統(tǒng)進入休眠狀態(tài)
systemctl hybrid-sleep 系統(tǒng)進入交互式休眠狀態(tài)
systemctl rescue ? 啟動進入救援狀態(tài)
Linux語法:
? ? 命令 [參數(shù)選項] [文件或路徑] (“[]”里面的東西可有可無)
? ? 例:rm -f /etc/hosts? ? ? ? (完整的路徑不帶空格)
pwd:查看當(dāng)前目錄(print打印 working工作 directory目錄)
自動顯示工作目錄:(o編輯→esc退出編輯→:wq保存)
[root@oldboyedu~]# vim .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
? ? ? ? . /etc/bashrc
fi
PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\
]]\\$ "
".bashrc" 13L, 260C written
[root@oldboyedu~]# source bashrc
cd 切換目錄(change改變 directory目錄)
cd - 去上一次所在的目錄
cd . 去當(dāng)前目錄。.表示當(dāng)前目錄
cd .. 去上一級目錄碉钠。 ..表示上一級目錄
cd ~或cd? 去當(dāng)前目錄的家目錄纲缓, ~表示家目錄
相對路徑:不是從”/“斜線開始的路徑,目標(biāo)文件對于當(dāng)前文件的路徑喊废。
如:data/祝高,mnt/oldboy;
絕對路徑(完整的路徑):是從”/“斜線根開始的路徑,而是從當(dāng)前目錄或指定的目錄開始污筷,從根目錄開始的褂策。
如:/data/,/mnt/oldboy
ls -a 列出文件下所有的文件,包括以“.“開頭的隱藏文件(linux下文件隱藏文件是以.開頭的斤寂,如果存在..代表存在著父目錄)。
ls -l 列出文件的詳細(xì)信息揪惦,如創(chuàng)建者遍搞,創(chuàng)建時間,文件的讀寫權(quán)限列表等等器腋。
ls -F 在每一個文件的末尾加上一個字符說明該文件的類型溪猿。"@"表示符號鏈接、"|"表示FIFOS纫塌、"/"表示目錄诊县、"="表示套接字。
ls -s 在每個文件的后面打印出文件的大小措左。 size(大小)
ls -t 按時間進行文件的排序 Time(時間)
ls -A 列出除了"."和".."以外的文件依痊。
ls -R 將目錄下所有的子目錄的文件都列出來,相當(dāng)于我們編程中的“遞歸”實現(xiàn)
ls -L 列出文件的鏈接名怎披。Link(鏈接)
ls -S 以文件的大小進行排序
tree:以樹形結(jié)構(gòu)顯示目錄及文件(例:tree /etc)
tree -L 1(顯示的層數(shù)):指定樹形顯示的層數(shù)(例:tree -L 1 /etc)(level層數(shù))
tree -d :指定顯示樹形目錄(例:tree -d /etc)(directory目錄)
tree -L 1 -d /etc:顯示/etc的一層樹形目錄
創(chuàng)建目錄:mkdir (make創(chuàng)建 directory目錄)
mkdir -p:覆蓋目錄創(chuàng)建胸嘁,根據(jù)需要創(chuàng)建所有目錄 包括父目錄子目錄,遞歸創(chuàng)建
(例:mkdir -p /oldgirl/oldboy)
在當(dāng)前目錄下創(chuàng)建文件:touch 文件名 (例:touch test.txt)
cat:查看文件內(nèi)容(例:cat wzh.txt)
強制刪除文件:rm -f 文件名(force)
刪除目錄:rm -fr 目錄名? ? rm -i:確認(rèn)
遞歸刪除凉逛,刪除目錄和文件:rm -r 文件名 (recusive)
創(chuàng)建連續(xù)文件:touch {1..1000}.txt? ? {}生成數(shù)字序列性宏,字母序列。
? ? ? touch oldboy{1..3}.txt
? ? ? touch {oldboy,oldgirl,oldbaby}.txt
Linux一切皆文件状飞,目錄也是文件毫胜,目錄和文件不能重名。
Linux一切從根開始:Linux系統(tǒng)中的一切的數(shù)據(jù)诬辈、文件都是從根目錄下衍生存放的
ls (list)顯示目錄下的內(nèi)容
? -l (long) 以長格式顯示目錄下的內(nèi)容(ll的效果跟ls -l效果一樣)
? -a (all)顯示所有文件酵使,包含隱藏文件(以.開頭的文件)
? -d(dirctory)顯示目錄
ls -ld oldboy:看oldboy目錄的長格式
vim編輯器:(例:vim Linux.txt 進入Linux文件中編輯)
三種模式:普通模式、編輯模式自晰、命令行模式
a:進入編輯模式? i:進入編輯模式(insert)
o:在光標(biāo)所在的下一行凝化,空行進入編輯模式
esc:退出編輯模式到命令模式? 兩遍esc命令模式到普通模式?
:wq保存退出? :q!強制退出 :q退出不保存 :wq!強制保存退出? :set nu顯示行號
普通模式的快捷方式:
yy? ? ? ? 復(fù)制光標(biāo)所在位置的一行? n yy:復(fù)制多行
p? ? ? ? 粘貼
dd/cc? ? 刪除光標(biāo)所在的行 (dd刪除/剪切本行的所有內(nèi)容包括空行 cc刪除本行的內(nèi)容保留空行)
0? ? ? ? 光標(biāo)移至行首
$? ? ? ? 光標(biāo)移至行尾
u? ? ? ? 撤銷最后一次修改
U? ? ? ? 撤銷當(dāng)前行的所有修改
gg? ? ? ? 移動到文件頭部
G? ? ? ? 光標(biāo)移至文章最后一行頭部
100gg? ? 調(diào)至第100行行首
dG? ? ? ? 刪除光標(biāo)所在位置至文件結(jié)束
r ? 替換單個字符
C ? 刪除光標(biāo)后的整行
ZZ? ? ? ? 保存退出
命令行模式的快捷方式:
:q!? ? ? 不保存文件強制退出vim
:wq ? ? ? 保存文件并退出vim
:wq!? ? ? 強制保存退出
:q? ? ? ? 不保存退出
:set nu? 顯示行號
普通模式的快捷方式:
/3306:向下搜索3306 繼續(xù)搜按n,向下搜按N?
?3306:向上搜索3306 繼續(xù)搜按n酬荞,向下搜按N
:%s/A/B/g:替換? A:要替換的東西? B:拿來替換的東西 g:表示全局
例: :%s/oldboy/oldgirl/g? 把文件里的oldboy全部換成oldgirl
:4,6s/A/B/g:將4-6行的A換成B
cp:復(fù)制文件和目錄(copy)(例:cp test.txt /opt/? 將test文件復(fù)制到/opt)
cp -r:復(fù)制目錄(遞歸復(fù)制)(例:cp -r test /opt/ 將test目錄復(fù)制到/opt)
cp -p:保存文件屬性復(fù)制文件(文件的大小搓劫、創(chuàng)建時間、權(quán)限都是文件屬性)
cp -a:跟cp -p一樣
cp -d:復(fù)制鏈接?
cp -rp:保存目錄屬性復(fù)制目錄
cp -i:確認(rèn)
mv:(move)移動目錄或文件混巧,相當(dāng)于剪切? mv -i:確認(rèn)? mv -t:顛倒
復(fù)制的時候如何不提示直接覆蓋枪向?
cp -f
alias:查看所有命令的別名? unalias:刪除別名(unalias cp)臨時生效,關(guān)機就沒有了
? ? ? ? ? ? ? ? ? 設(shè)置別名:alias cp='cp -i'
默認(rèn)執(zhí)行pc相當(dāng)于執(zhí)行了cp -i咧党,這是系統(tǒng)默認(rèn)的別名在作怪秘蛔。
解決方案:
加“\”:[root@oldboyedu~]#\cp {1.100}.txt /opt/
輸入完整路徑:[root@oldboyedu~]#/bin/cp {1.100}.txt /opt/
which:查看某個命令的完整路徑(例:which cp)
如何防止使用rm誤刪數(shù)據(jù)?
1、放棄使用rm深员,用mv或find替代
2负蠕、不刪除,只是移動到回收站(/tmp)
3倦畅、一定要刪除遮糖,要先備份
4、不要這樣用:rm -fr /opt/*(*代表刪除所有)
? 這樣用更安全些:cd /opt →? rm -fr*
5叠赐、為rm設(shè)置別名欲账,提醒自己和組員
課后作業(yè):
1.cd /tmp pwd mkdir data{1..3}
2.(慢)touch /data1/oldboy1.txt? touch /data2/oldboy2.txt? touch /data/oldboy3.txt
tree -L 2? ls? ll
2.touch data{1..3}/oldboy{1..3}
tree -L 2? ll data1/oldboy1 data2/oldboy1 data3/oldboy1
3.cp /etc/hosts /tmp/data1? cp /opt/data1 /opt? tree /tmp/data1? tree /opt
4.(慢)mv? /tmp/data1 /root? cd /opt/data1 rm -f /hosts cd .. rm -fr /data1
4.mv /tmp/data1 /root? rm -f /opt/data1/hosts? cd /opt? rm -fr data1
echo:輸出和打印 輸入啥輸出啥? echo "dhsdyvnvb"
echo -n:不換行輸出
echo -e:轉(zhuǎn)義字符? \t代表tab鍵? \n回車換行(這兩個要配合-e使用)
[root@oldboyedu /opt]# echo -e "\ngngb\terbvnerug"
gngb erbvnerug
printf:格式化打印
Linux里的目錄和分區(qū)是分離的?
IDE盤:? 不同的磁盤使用字母表示:hda? hdb
? ? ? ? ? 不同分區(qū)是用數(shù)字表示:hda1? hda2
SAS/SATA/SASI? sda sdb,sda1 sda2
/dev/sda1
Linux分區(qū)默認(rèn)是不能訪問的(通過掛載進行訪問)
掛載:為分區(qū)找到一個入口
掛載點:分區(qū)入口的目錄名(例:/etc就是分區(qū)/dev/sda1的掛載點)
掛載命令:mount (例:mount /dev/cdrom /mnt)
卸載掛載命令:umount? (例:umount /mnt)
臨時掛載點:/mnt
df -h:查看系統(tǒng)磁盤情況
磁盤下的目錄結(jié)構(gòu)說明:
/:存放系統(tǒng)相關(guān)
/usr:存放系統(tǒng)方開發(fā)的程序
/usr/local:存放用戶自己安裝的程序,相當(dāng)于c:/program files
/opt:存放第三廠商開發(fā)的程序
/home:存放用戶的數(shù)據(jù)(家目錄)
FHS:目錄層次標(biāo)準(zhǔn)
根下的目錄結(jié)構(gòu)分析:
[root@oldboyedu ~]# tree -L 1 /
/
├── bin -> usr/bin? ? binaries二進制 存放命令相關(guān)
├── boot? 存放Linux的內(nèi)核及系統(tǒng)引導(dǎo)程序所需的文件目錄(大小可為256——1024MB)它也是引導(dǎo)分區(qū)的掛載點
├── dev? Device files設(shè)備文件 存放設(shè)備文件
├── etc? 二進制軟件包配置問價所在路徑
├── home? 普通用戶的家目錄
├── lib -> usr/lib 系統(tǒng)和運行命令所需的共享庫文件和內(nèi)核模塊存放目錄(libraries)
├── lib64 -> usr/lib64? 64庫library庫文件目錄
├── media? 可移除的媒體掛載點
├── mnt? 臨時掛載點 mount
├── opt? (option 可選擇)有些軟件包也會安裝在這里芭概,也就是自定義的軟件包
├── proc? 虛擬的文件系統(tǒng)赛不,存放進程和內(nèi)核信息的目錄
├── root? 管理員的家目錄
├── run? 存放正在運行進程相關(guān)信息的文件的目錄
├── sbin -> usr/sbin 管理員命令的所在目錄,普通用戶執(zhí)行不了(system binaries)
├── srv? 給用戶提供數(shù)據(jù)所在的目錄
├── sys? 虛擬的文件系統(tǒng)罢洲,存放進程和內(nèi)核信息的目錄和proc類似
├── tmp? 存放臨時文件的目錄
├── usr? 存放系統(tǒng)軟件和用戶相關(guān)程序所在的目錄踢故,第二層次目錄
└── var? 存放可變化的數(shù)據(jù)的目錄
1、/etc:系統(tǒng)初始化及設(shè)置相關(guān)重要文件
網(wǎng)卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0(用于配置上網(wǎng)的文件)
C7:nmtui圖形化配置上網(wǎng)? 本質(zhì)就是修改上述文件
C6:setup
2奏路、/etc/resolv.conf: Linux系統(tǒng)DNS客戶配置文件(已被網(wǎng)卡配置文件所替代)
DNS:域名系統(tǒng)(Domain Name System)
作用:把瀏覽器里輸入的域名畴椰,解析為服務(wù)器的IP地址,然后才能找到服務(wù)器鸽粉,提供內(nèi)容斜脂。
3、/etc/hosts:系統(tǒng)本地的DNS解析文件(本地DNS配置文件触机,優(yōu)先于DNS公網(wǎng)解析)?
4帚戳、/etc/fstab:配置開機設(shè)備自動掛載的文件(自動掛載)
作用:比如插入一個U盤,希望下次開機能夠直接訪問儡首。就需要在/etc/fstab里配置
[root@oldboyedu ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Jul 15 15:40:40 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=5402fb0a-5727-4745-b715-83fee4922bf2 /? ? ? ? ? ? xfs? ? ? ? defaults? ? ? 0? ? ? ? 0
UUID=5d25ce16-9259-4a05-a66a-797e208ef456 /boot? ? ? ? xfs? ? ? ? defaults? ? ? 0? ? ? ? 0
UUID=5e66df19-7e49-4658-ac0b-1ca64ce6b7c3 swap? ? ? ? ? swap? ? ? ? defaults? ? ? 0? ? ? ? 0
設(shè)備名(UUID)? ? ? ? ? ? ? ? ? ? ? ? ? 掛載點? 掛載的文件系統(tǒng)類型? 掛載參數(shù)? 是否備份 是否開機檢查?
blkid:查詢所有設(shè)備的文件系統(tǒng)類型
5片任、/etc/rc.local:存放開機自啟動程序命令的文件
它的真實路徑:/etc/rc.d/rc.local
[root@oldboyedu ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Jul 15 18:11 /etc/rc.local -> rc.d/rc.local
C7的特殊性:chmod +x /etc/rc.d/rc.local(先執(zhí)行這條命令才能用開機自啟動文件)
C6的開機自啟動:chkconfig
6、/etc/profile及/etc/bashrc:配置系統(tǒng)的環(huán)境變量/別名等的文件
它是各種配置的配置文件
生效條件二選一:1蔬胯、退出重新登錄2对供、執(zhí)行source
7、/etc/issue和/etc/issue.net:配置登錄前的顯示信息文件
[root@oldboyedu ~]# cat /etc/issue
\S
Kernel \r on an \m
[root@oldboyedu ~]# cat /etc/issue.net
\S
Kernel \r on an \m
[root@oldboyedu ~]# >/etc/issue? ====>刪除內(nèi)核版本號(不能還原)
[root@oldboyedu ~]# >/etc/issue.net? ? ====>刪除內(nèi)核版本號(不能還原)
8氛濒、/etc/motd:配置登陸提示
編輯:
[root@oldboyedu ~]#vim /etc/motd
歡迎來到泳的樂園产场!
保存退出:? :wq
重新登錄:Ctrl+d 兩次
歡迎來到泳的樂園!(開機提示信息)
[root@oldboyedu ~]#
9舞竿、/etc/redhat-release:查看系統(tǒng)版本
[root@oldboyedu ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
uname -r:查看內(nèi)核
[root@oldboyedu ~]# uname -r
3.10.0-957.21.3.el7.x86_64
10京景、/etc/sysctl.conf:Linux內(nèi)核參數(shù)設(shè)置文件
11、/etc/init.d:軟件啟動程序所在的目錄(C7以前)
12骗奖、/etc/hostname:查看主機名
改主機名:(改完之后退出永久生效)
[root@oldboyedu ~]# hostnamectl set-hostname wangzehua
[root@oldboyedu ~]# cat /etc/hostname
wangzehua
重啟
[root@wangzehua ~]#
臨時改主機名:(C7和C6都可以用)
[root@oldboyedu ~]#hostname wangzehua
[root@oldboyedu ~]#cat /etc/hostname
wangzehua
13确徙、/etc/inittab:設(shè)置開機運行級別以及啟動相應(yīng)級別腳本的文件(C7以前)
定義:Linux系統(tǒng)運行級別當(dāng)前處于的狀態(tài)
Linux系統(tǒng)運行級別的說明如下:
#? 0? 關(guān)機(請不要把系統(tǒng)運行級別設(shè)置為0)
#? 1? 單用戶模式(root用戶密碼忘記醒串,可用此模式找回)
#? 2? 沒有NFS,多用戶模式
#? 3? 命令行模式 文本模式(企業(yè)級服務(wù)器核心運行狀態(tài))
#? 4? 未使用
#? 5? 圖形化模式 桌面模式 X11(桌面?zhèn)€人版系統(tǒng)運行狀態(tài))
#? 6? 重啟(不要把系統(tǒng)運行級別設(shè)置為6)
查看當(dāng)前運行級別:runlevel或who -r(C7)
[root@oldboyedu ~]# runlevel
N 3
[root@oldboyedu ~]# who -r
? ? ? ? run-level 3? 2019-07-20 09:55
切換運行級別:init
14鄙皇、/etc/sysctl.conf? Linux內(nèi)核參數(shù)信息文件-
調(diào)整Linux系統(tǒng)芜赌、優(yōu)化需要配置這個文件
sysctl -p:讓修改后的文件生效
/usr目錄:
1、/usr/local:源碼編譯安裝軟件默認(rèn)的位置路徑(用戶存放自己安裝的程序)
Linux的軟件安裝:
? 1.rpm安裝
? rpm -ivh 軟件包的包名.rpm
? 2.yum安裝育苟,rpm包管理器(智能安裝幫我們找一個軟件包需要的依賴包)
? 安裝A较鼓,A需要B,先安裝B
2违柏、/usr/src:存放源碼文件的目錄
/var目錄下存放的重要路徑:
1、/var/log:記錄系統(tǒng)及軟件運行信息文件所在的目錄
log日志信息就是記錄計算機運行行為
/var/log/messages:Linux系統(tǒng)級別日志文件
記錄Linux系統(tǒng)運行行為的文件香椎,正常行為或非正常行為
[root@oldboyedu ~]#? cat /var/log/messages
2漱竖、/var/log/secure(安全):用戶登錄信息日志文件(安全日志文件)
[root@oldboyedu ~]#? cat /var/log/secure
3、/var/log/dmesg:記錄硬件信息加載情況的日志文件
/proc目錄下存放的重要路徑:
1畜伐、/proc/meminfo:查看系統(tǒng)內(nèi)容? free -m查看內(nèi)容
[root@oldboyedu ~]# cat /proc/meminfo
2馍惹、/proc/cpuinfo:查看CPU
[root@oldboyedu ~]# cat /proc/cpuinfo
3、/proc/loadavg:查看負(fù)載(系統(tǒng)繁忙程度的一個綜合指標(biāo))
[root@oldboyedu ~]# uptime
14:20:07 up? 3:48,? 2 users,? load average: 0.00, 0.01, 0.05
當(dāng)前時間? 開機多久? 哪些用戶? 負(fù)載? 平均? ? 1分鐘 5分鐘 15分鐘
負(fù)載的數(shù)字和CPU核數(shù)相當(dāng)?shù)臅r候就是負(fù)載一個臨界點玛界,
例如:一顆兩核 臨界負(fù)載就是2万矾,1分鐘5分鐘15分鐘最大負(fù)載點就是2。
4慎框、/proc/mounts:當(dāng)前設(shè)備掛載列表信息文件
vi/vim:純文本編輯器? vi:記事本
cat:查看文件內(nèi)容? ? ? ? ? ? ? [root@oldboyedu /opt]# seq 30 >test.txt
cat -n:顯示文件的行號? ? ? ? ? ? ? ? 在test文件中生成30個數(shù)字
more:分頁顯示內(nèi)容
less:分頁顯示內(nèi)容(可以上下調(diào)節(jié)著看)
head:顯示文件頭部內(nèi)容 (默認(rèn)顯示前10行)? head test.txt
指定顯示行數(shù):head -n n test.txt
[root@oldboyedu /opt]# head -n 20 test.txt? 指定顯示前20行
tail:顯示文件尾部內(nèi)容? (默認(rèn)顯示后10行) tail test.txt
指定顯示行數(shù):tail -n n test.txt
[root@oldboyedu /opt]# tail -n 5 test.txt? 指定顯示后5行
tail -f:實時跟蹤顯示文件尾部的信息? ? tail -f test.txt
tac:翻轉(zhuǎn)顯示文件內(nèi)容(和cat相反)
rev:字符左右翻轉(zhuǎn)顯示行的內(nèi)容
=================7.22
tr:替換文件里面的指定內(nèi)容(一個字母只能替換成一個數(shù)字) Linux里嚴(yán)格區(qū)分大小寫
tr "A" "B" < oldboy.txt? ? ? ? ? ? ? ? ? ? ? translate or delete characters
例:[root@oldboyedu /opt]# cat oldboy.txt? ? ? 替換? ? 或? 刪除? ? 字符
walconme cnsugfbc
cdhsunsdbv
[root@oldboyedu /opt]# tr "c" "w" < oldboy.txt
[root@oldboyedu /opt]# tr "c" "w" < oldboy.txt
walwonme wnsugfbw
wdhsunsdbv
將a--d換成0--3例:
[root@oldboyedu /opt]# tr "a-d" "0-3" < oldboy.txt
w0l2onme 2nsugf12
23hsuns31v
你好啊
grep:文本過濾工具(找到要找的文本)? print lines matching a? pattern
例:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 打印? 行? ? 匹配? 一個? 模式/樣式
[root@oldboyedu /opt]# grep "oldboy" oldboy.txt
Welcome to oldboy training.
grep -v:取反過濾(找到文本的其他行)
[root@oldboyedu /opt]# grep -v "oldboy" oldboy.txt
we are excellent.
grep -i:文本不區(qū)分大小寫過濾
[root@oldboyedu /opt]# grep -i "W" oldboy.txt
Welcome to oldboy training.
we are excellent.