linux
1.1終端
命令需要在終端中進(jìn)行上輸入
所謂終端類似于windows下的cmd,在終端中可以輸入一些指令
終端:
關(guān)機(jī):shutdown -h now(正常關(guān)機(jī))师抄,halt(關(guān)閉內(nèi)存),init 0
幫助:在某指令后加 --help
1.2 備份
在vm中備份的方式有兩種:1.快照 2.克隆
快照:又稱還原點(diǎn)竟宋,就是保存在拍快照時(shí)的系統(tǒng)的狀態(tài),在后期可以隨時(shí)回復(fù)【側(cè)重于短期備份,快照時(shí)虛擬的操作系統(tǒng)一般處于開(kāi)啟狀態(tài)】
①在菜單“虛擬機(jī)”-“快照”-“拍攝快照”
輸入相關(guān)信息,點(diǎn)擊拍攝快照
②使用快照恢復(fù)搞事情之前的狀態(tài)
路徑:虛擬機(jī) – 快照 – 快照管理器
克隆:就是復(fù)制【側(cè)重于長(zhǎng)期備份,被克隆時(shí)必須得關(guān)閉】
路徑:先關(guān)機(jī) – 右鍵需要克隆的虛擬機(jī) – 管理 – 克隆
1.3 linux的基本指令
一個(gè)完整的指令的標(biāo)準(zhǔn)格式:linux的通用格式
** #指令 [選項(xiàng)] [操作對(duì)象(默認(rèn)操作當(dāng)前對(duì)象)] **
一個(gè)指令可以包含多個(gè)選項(xiàng)
操作對(duì)象可以是多個(gè)
1.4 linux的系統(tǒng)文件
1:日常運(yùn)維工作中盲赊,有近一半以上的工作內(nèi)容 精力 其實(shí)都是對(duì)文件的操作。
2: Linux 本身也是一個(gè)基于文件形式表示的操作系統(tǒng)嘹叫。
Linux一切皆文件蓬痒。
①在windows是文件的,在Linux下同樣也是文件闯睹;
②在windows不是文件的戏羽,在Linux下也是以文件的形式存儲(chǔ)的;
日常學(xué)習(xí)中和日常工作中楼吃,對(duì)于文件的操作的都有哪些種類始花?
創(chuàng)建文件、編輯文件孩锡、保存文件酷宵、關(guān)閉文件、重命名文件躬窜、刪除文件浇垦、恢復(fù)文件。
目錄結(jié)構(gòu):
Bin:全稱binary荣挨,含義是二進(jìn)制男韧。該目錄中存儲(chǔ)的都是一些二進(jìn)制文件,文件都是可以被運(yùn)行的默垄。
Dev:該目錄中主要存放的是外接設(shè)備此虑,例如盤(pán)、其他的光盤(pán)等口锭。在其中的外接設(shè)備是不能直接被使用的朦前,需要掛載(類似windows下的分配盤(pán)符)。
Etc:該目錄主要存儲(chǔ)一些配置文件鹃操。
Home:表示“家”韭寸,表示除了root用戶以外其他用戶的家目錄,類似于windows下的User/用戶目錄组民。
Proc:process棒仍,表示進(jìn)程,該目錄中存儲(chǔ)的是Linux運(yùn)行時(shí)候的進(jìn)程臭胜。
Root:該目錄是root用戶自己的家目錄莫其。
Sbin:全稱super binary癞尚,該目錄也是存儲(chǔ)一些可以被執(zhí)行的二進(jìn)制文件,但是必須得有super權(quán)限的用戶才能執(zhí)行乱陡。
Tmp:表示“臨時(shí)”的浇揩,當(dāng)系統(tǒng)運(yùn)行時(shí)候產(chǎn)生的臨時(shí)文件會(huì)在這個(gè)目錄存著。
Usr:存放的是用戶自己安裝的軟件憨颠。類似于windows下的program files胳徽。
Var:存放的程序/系統(tǒng)的日志文件的目錄。
Mnt:當(dāng)外接設(shè)備需要掛載的時(shí)候爽彤,就需要掛載到mnt目錄下养盗。
2.1 基礎(chǔ)指令
1.ls指令
含義:ls(list)
用法1:#ls
列出當(dāng)前工作目錄下的所有文件/文件夾的名稱
用法2:#ls 路徑
列出指定路徑下的所有文件/文件夾的名稱
相對(duì)路徑的寫(xiě)法:在相對(duì)路徑中通常會(huì)用到2個(gè)符號(hào)"./ "[當(dāng)前目錄下], ''../"[上一級(jí)目錄下]
絕對(duì)路徑:絕對(duì)路徑不要參照物,直接從根"/"開(kāi)始尋找對(duì)應(yīng)路徑;
用法3:#ls 選項(xiàng) 路徑
含義:在列出指定路徑下的文件/文件夾的名稱适篙,并以指定的格式進(jìn)行顯示往核。
常見(jiàn)的語(yǔ)法: -l [表示list,表示以列表的形式進(jìn)行展示]
上述列表中的第一列字符表示文檔的類型嚷节,其中“-”表示改行對(duì)應(yīng)的文檔類型為文件聂儒,“d”表示文檔類型為文件夾。
** -la [表示顯示所有的文件/文件(包含了隱藏的文件/文件夾)]**
在Linux中隱藏文檔一般都是以“.”開(kāi)頭硫痰。
用法4: #ls -lh 路徑
含義:列出指定路徑下的所有文件/文件夾的名稱衩婚,以列表的形式并且在顯示文檔大小的時(shí)候以可讀性較高的形式顯示
2.PWD 指令
用法:#pwd (print working directory ,打印當(dāng)前工作)
3.cd 指令
命令:#cd (change directory效斑,改變目錄)
作用:用于切換當(dāng)前的工作目錄
語(yǔ)法:#cd 路徑
4.mkdir 指令
指令:mkdir (make directory 創(chuàng)建目錄)
語(yǔ)法1:#mkdir 路徑[路徑可以是文件夾名稱非春,也可以是包含名稱的一個(gè)完成路徑]
注意:ls列出的結(jié)果顏色說(shuō)明,其中藍(lán)色表示文件夾鳍悠,黑色表示文件税娜,綠色表示其權(quán)限為擁有所有權(quán)限
語(yǔ)法2:#mkdir -p 路徑
含義:但一次性創(chuàng)建多層不存在的目錄時(shí),添加-p參數(shù)藏研,否則會(huì)報(bào)錯(cuò)
語(yǔ)法3:#mkdir 路徑1 路徑2 路徑3...
含義:一次性創(chuàng)建多個(gè)文件夾
5.touch指令
指令:touch
作用:創(chuàng)建文件
語(yǔ)法:#touch 文件路徑 [路徑可以是直接的文件名也可以是路徑]
6.cp 指令
指令:cp (copy)
作用:復(fù)制文件/文件夾到指定的位置
語(yǔ)法:#cp 被復(fù)制的文檔路徑 文檔被復(fù)制到的路徑
被復(fù)制的文件到另一文件夾后可以被改名
當(dāng)使用cp命令進(jìn)行文件夾復(fù)制時(shí)需要添加選項(xiàng)“-r”[表示遞歸復(fù)制]敬矩,否則目錄將被忽略
7.mv指令
指令:mv (move ,移動(dòng) 蠢挡,剪切)
作用:移動(dòng)文件/文件夾到新的位置
語(yǔ)法:#mv 需要移動(dòng)的文檔路徑 移動(dòng)到的路徑
補(bǔ)充:在linux里 重命名的命令也是mv弧岳,語(yǔ)法和移動(dòng)一樣
8.rm指令
指令:rm (remove,移除业踏,刪除)
作用:刪除文檔
語(yǔ)法:#rm 選項(xiàng) 需要?jiǎng)h除的文檔路徑
選項(xiàng):
-f 表示froce(強(qiáng)制)
-r 表示遞歸
刪除一個(gè)文件:
在刪除的時(shí)候如果不帶選項(xiàng)禽炬,會(huì)提示是否刪除,如果需要確認(rèn)則輸入“y/yes”勤家,否則輸入“n/no”按下回車腹尖。
注意:當(dāng)你刪除時(shí)不想頻繁確認(rèn),則在指令中添加一個(gè)選項(xiàng)"-f" 伐脖,表示froce(強(qiáng)制)
刪除一個(gè)文件夾:
注意:刪除一個(gè)目錄的時(shí)候需要做遞歸刪除热幔,并且一般也不需要進(jìn)行刪除確認(rèn)詢問(wèn)乐设,所以移除目錄的時(shí)候一般需要使用-rf選項(xiàng)。
刪除多個(gè)文檔:
要?jiǎng)h除一個(gè)目錄下有公共特性的文檔绎巨,例如都以Linux開(kāi)頭:
案例: 要?jiǎng)h除一個(gè)目錄下有公共特性的文檔近尚,例如都已linux開(kāi)頭
其中稱為通配符,意思表示任意的字符场勤,linux則表示只要文件以linux開(kāi)頭戈锻,后續(xù)子符則不管**
9.vim指令
指令:vim (vim是一款文本編輯器)
語(yǔ)法:#vim 文件的路徑
作用:打開(kāi)一個(gè)文件(文件可以存在,也可以不存在)
退出打開(kāi)的文件:在沒(méi)有按下其他命令的時(shí)候和媳,按下shift+英文冒號(hào)格遭,輸入q,按下回車即可
10.輸出重定向
一般的輸出都會(huì)顯示在終端中窗价,有時(shí)候需要將一些命令的執(zhí)行結(jié)果想要保存到文件中進(jìn)行后續(xù)的分析和統(tǒng)計(jì)如庭,則這時(shí)候需要使用到輸出重定向技術(shù)
1.>:覆蓋輸出,會(huì)覆蓋掉原先的文件內(nèi)容
2.>>:追加輸出撼港,不會(huì)覆蓋原始文件內(nèi)容,會(huì)在原始內(nèi)容末尾繼續(xù)添加
使用覆蓋重定向骤竹,保存ls -la的執(zhí)行結(jié)果帝牡,保存到當(dāng)前目錄下的ls.txt
語(yǔ)法:#正常的執(zhí)行的指令 >/>> 文件的路徑
注意:文件可以不存在
11.cat指令
作用1:cat直接打開(kāi)一個(gè)文件的功能
語(yǔ)法1:#cat 文件的路徑
作用2:cat還可以對(duì)文件進(jìn)行合并
語(yǔ)法2:#cat 待合并的文件路徑1 待合并的文件路徑2 ... 待合并的文件路徑n >/>> 合并之后的文件路徑
2.2進(jìn)階指令
1.df指令
作用:查看磁盤(pán)的空間
語(yǔ)法:df -h(-h以可讀性較高的方式顯示)
Mounted on 掛載點(diǎn)
2.free指令
作用:查看內(nèi)存使用情況
語(yǔ)法:#free -m -m表示以mb為單位查看
剩余的真實(shí)可以用的內(nèi)存為1665mb。
Swap:用于臨時(shí)內(nèi)存蒙揣,當(dāng)系統(tǒng)真實(shí)內(nèi)存不夠用的時(shí)候可以臨時(shí)使用磁盤(pán)空間來(lái)充當(dāng)內(nèi)存靶溜。
3.head指令
作用:查看一個(gè)文件的前n行,如果不指定n懒震,則默認(rèn)顯示前10行
語(yǔ)法:#head -n 文件路徑 (n表示數(shù)字)
4.tail指令
作用1:查看一個(gè)文件的末n行罩息,如果n不指定,則默認(rèn)顯示后10行
語(yǔ)法1:#tail -n 文件路徑
作用2:可以通過(guò)tail指令來(lái)查看一個(gè)文件的動(dòng)態(tài)變化內(nèi)容【變化的內(nèi)容不能是用戶手動(dòng)增加的个扰,eg:輸出重定向】
語(yǔ)法2:#tail -f 文件路徑
該命令一般用于查看系統(tǒng)日志
5. less指令
作用:查看文件瓷炮,以較少的內(nèi)容進(jìn)行輸出,按下輔助功能鍵(數(shù)字+回車递宅,空格鍵+上下方向鍵)查看更多
語(yǔ)法:#less 需要查看的文件路徑
在退出的只需要按下q鍵即可
6.wc指令
語(yǔ)法:#wc -lwc 需要統(tǒng)計(jì)的文件路徑
作用:統(tǒng)計(jì)文件內(nèi)容信息(包括函數(shù)娘香,單詞數(shù),字節(jié)數(shù))
-l:表示lines办龄,行數(shù)
-w:表示words烘绽,單詞數(shù) 依照空格來(lái)判斷單詞數(shù)量
-c:表示bytes,字節(jié)數(shù)
7.data指令(重點(diǎn))
作用1:表示操作時(shí)間日期(讀取+俐填,設(shè)置)
語(yǔ)法1:#data 輸出的形式:2018年 3月 24日 星期六 15:54:28
語(yǔ)法2:#data +%F(等價(jià)于#data “%Y-%m-%d”) 輸出形式:2018-03-24
語(yǔ)法3:#data "+%F %T" 引號(hào)表示讓F T 成為一個(gè)不可分割的整體
等價(jià)操作#date “+%Y-%m-%d %H:%M:%S”
輸出的形式:2018-03-24 16:01:00
語(yǔ)法4:#date -d “-1 day” “+%Y-%m-%d %H:%M:%S”
獲取之前或者之后的某個(gè)時(shí)間(備份)
輸出一天前的時(shí)間
符號(hào)的可選值:+(之后) 或者 - (之前)
單位的可選值:day(天)安接、month(月份)、year(年)
%F:表示完整的年月日
%T:表示完整的時(shí)分秒
%Y:表示四位年份
%m:表示兩位月份(帶前導(dǎo)0)
%d:表示日期(帶前導(dǎo)0)
%H:表示小時(shí)(帶前導(dǎo)0)
%M:表示分鐘(帶前導(dǎo)0)
%S:表示秒數(shù)(帶前導(dǎo)0)
8.cal指令
作用:用來(lái)操作日歷
語(yǔ)法1:#cal 等價(jià)與cal -1
語(yǔ)法2:#cal -3 表示輸出上一個(gè)月+本月+下一個(gè)月的日歷
語(yǔ)法3:#cal -y 某年年份 一年的日歷
9.clear / ctrl+L 指令
作用:清楚終端中已經(jīng)存在的命令/結(jié)果
10.管道(**)
管道符:|
作用:一般可以用于“過(guò)濾”英融,“特殊用法”盏檐,“擴(kuò)展”
語(yǔ)法:管道不能單獨(dú)使用呀打,必須配合前面的指令共同使用,其主要是輔助作用
過(guò)濾案例:需要通過(guò)管道查詢當(dāng)前目錄下包含“y”字母的文檔名稱
*#ls / | grep y
斜杠表示根目錄糯笙,不加就是當(dāng)前目錄
說(shuō)明:1.以管道作為分界線贬丛,前面的命令有個(gè)輸出,
后面需要輸入给涕,然后在過(guò)濾豺憔,最后再輸出
因此管道前面的輸出就是后面指令的輸入
2.grep為篩選指令
特殊用法案例:通過(guò)管道的操作方法來(lái)實(shí)現(xiàn)less的等價(jià)效果(了解)
之前通過(guò)less查看一個(gè)文件 ,可以#less 路徑
現(xiàn)在通過(guò)管道:#cat 路徑 | less
擴(kuò)展處理案例:請(qǐng)使用學(xué)過(guò)的命令够庙,統(tǒng)計(jì)某個(gè)目錄下的文檔總個(gè)數(shù)恭应?
~#ls /root | wc -w
2.3 高階指令
1.hostname指令
作用:操作服務(wù)器的主機(jī)名(讀取,設(shè)置)
語(yǔ)法1:#hostname
含義:輸出完整的主機(jī)名
語(yǔ)法2:#hostname -f
含義:表示輸出當(dāng)前主機(jī)名中的FQDN(全限定域名)
2.id指令
作用:查看一個(gè)用戶的一些基本信息(包含用戶id耘眨,用戶組id昼榛,附加組id...),該指令如果不指定用戶則默認(rèn)當(dāng)前用戶剔难。
語(yǔ)法1:#id 默認(rèn)顯示當(dāng)前執(zhí)行該命令的基本信息
語(yǔ)法2:#id 用戶名 顯示指定用戶的基本信息
3.whoami指令
作用:顯示當(dāng)前登錄的用戶名胆屿,一般用于shell腳本
語(yǔ)法:#whoami
4.ps -ef指令(***)
作用:查看當(dāng)前服務(wù)器的進(jìn)程信息
選項(xiàng)含義:
-e:等價(jià)于“A",表示列出全部進(jìn)程
-f:顯示全部的列
列的含義:
UID:該進(jìn)程執(zhí)行的用戶id偶宫;
*PID:進(jìn)程id非迹;
*PPID:該進(jìn)程的父級(jí)進(jìn)程id,如果一個(gè)程序的父級(jí)進(jìn)程找不到纯趋,該程序的進(jìn)程稱之為僵尸進(jìn)程(parent process ID)憎兽;
C:Cpu的占用率,其形式是百分?jǐn)?shù)吵冒;
STIME:進(jìn)行的啟動(dòng)時(shí)間纯命;
TTY:終端設(shè)備,發(fā)起該進(jìn)程的設(shè)備識(shí)別符號(hào)痹栖,如果顯示“?”則表示該進(jìn)程并不是由終端設(shè)備發(fā)起亿汞;
TIME:進(jìn)程的執(zhí)行時(shí)間;
CMD:該進(jìn)程的名稱或者對(duì)應(yīng)的路徑结耀;
案例:搜索情況留夜,在ps的結(jié)果中過(guò)濾出想要查看的進(jìn)程狀態(tài)
*#ps -ef | grep 進(jìn)行名稱
5.top指令
作用:查看服務(wù)器的進(jìn)程所占的資源
語(yǔ)法: 進(jìn)入命令:#top (動(dòng)態(tài)顯示) 退出:q
表頭含義:
PID:進(jìn)程id;
USER:該進(jìn)程對(duì)應(yīng)的用戶图甜;
PR:優(yōu)先級(jí)碍粥;
VIRT:虛擬內(nèi)存;
RES:常駐內(nèi)存黑毅;
SHR:共享內(nèi)存嚼摩;
計(jì)算一個(gè)進(jìn)程實(shí)際使用的內(nèi)存 = 常駐內(nèi)存(RES)- 共享內(nèi)存(SHR)
S:表示進(jìn)程的狀態(tài)status(sleeping,其中S表示睡眠,R表示運(yùn)行)枕面;
%CPU:表示CPU的占用百分比愿卒;
%MEM:表示內(nèi)存的占用百分比;
TIME+:執(zhí)行的時(shí)間潮秘;
COMMAND:進(jìn)程的名稱或者路徑琼开;
在運(yùn)行top時(shí),可以按下方便快捷鍵:
M:表示將結(jié)果按照內(nèi)存(mem)從高到低進(jìn)行降序排列
P:表示將結(jié)果按照cpu使用率從高到低進(jìn)行降序排列
1:當(dāng)服務(wù)器擁有多個(gè)cpu時(shí)可以使用”1“來(lái)切換是否顯示展示各個(gè)cpu的詳細(xì)信息
6.du -sh指令
作用:查看目錄的真實(shí)大小
語(yǔ)法:#du -sh 目錄路徑
參數(shù)含義:
-s:summaries 表示只顯示匯總的大小
-h:表示以可讀性較高的形式顯示
7.find指令
作用:用于查找文件(其參數(shù)有55個(gè)之多)
語(yǔ)法:#find 路徑范圍 選項(xiàng) 選項(xiàng)的值
選項(xiàng):
-name:按照文檔名稱進(jìn)行搜索(支持模糊搜索)
-type:按照文檔的類型進(jìn)行搜索
文檔類型:"-"表示文件(在使用find的時(shí)候需要f來(lái)代替枕荞,”d“表示文件夾
案例:搜索etc目錄下所有的conf后綴文件
案例:使用find來(lái)搜索httpd.conf
*#find / -name httpd.conf
案例:使用find來(lái)搜索/etc/sane.d/目錄下所有的文件
案例:使用find來(lái)搜索/etc/目錄下所有的文件夾
8.service指令(***)
作用:用于控制一些軟件的服務(wù)啟動(dòng)/停止/重啟
語(yǔ)法:#sevice 服務(wù)名 start/stop/restart
例如:需要啟動(dòng)本機(jī)安裝的Apache(網(wǎng)站服務(wù)器軟件)柜候,其服務(wù)名httpd
*#service httpd start
通過(guò)ps命令來(lái)檢查httpd服務(wù)是否啟動(dòng):
9.kill指令(***)
作用:表示殺死進(jìn)程 (當(dāng)遇到僵尸進(jìn)程或者出于某些原因需要關(guān)閉進(jìn)程的時(shí)候)
語(yǔ)法:#kill 進(jìn)程PID (語(yǔ)法需要配合ps一起使用)
案例:kill掉Apache進(jìn)程
與kill命令作用相似但是比kill更加好用的殺死進(jìn)程的命令:killall
語(yǔ)法:#killall 進(jìn)程名稱
10.ifconfig指令
作用:用于操作網(wǎng)卡相關(guān)的指令
簡(jiǎn)單語(yǔ)法:#ifconfig (獲取網(wǎng)卡信息)
Eth0表示Linux中的一個(gè)網(wǎng)卡,eth0是其名稱躏精。Lo(loop渣刷,本地回還網(wǎng)卡,其ip地址一般都是127.0.0.1)也是一個(gè)網(wǎng)卡名稱矗烛。
inet addr 就是網(wǎng)卡的ip地址
11.reboot指令
作用:重新啟動(dòng)計(jì)算機(jī)
語(yǔ)法1:#reboot
語(yǔ)法2:#reboot -w 模擬重啟辅柴,但是不重啟,只寫(xiě)關(guān)機(jī)與開(kāi)機(jī)的日志瞭吃。
12.shutdown指令
作用:關(guān)機(jī) (慎用)
:#shutdown -h 15:25
如果想要取消關(guān)機(jī)計(jì)劃的話碌嘀,則可以按照以下方式去嘗試:
①針對(duì)于centos7.x之前的版本:ctrl+c
②針對(duì)于centos7.x(包含)之后的版本:#shutdown -c
除了shutdown關(guān)機(jī)以外,還有以下幾個(gè)關(guān)機(jī)命令:
#init 0
#halt
#poweroff
13.uptime指令
作用:輸出計(jì)算機(jī)的持續(xù)在線時(shí)間(計(jì)算機(jī)從開(kāi)機(jī)到現(xiàn)在運(yùn)行的時(shí)間)
語(yǔ)法:#uptime
14.uname指令
作用:獲取計(jì)算機(jī)操作系統(tǒng)相關(guān)信息
語(yǔ)法1:#uname 獲取操作系統(tǒng)的類型
語(yǔ)法2:#uname -a all虱而,表示獲取全部的系統(tǒng)信息(類型筏餐、全部主機(jī)名、內(nèi)核版本牡拇、發(fā)布時(shí)間、開(kāi)源計(jì)劃)
15.netstat -tnlp指令
作用:查看網(wǎng)絡(luò)的連接狀態(tài)
選項(xiàng)說(shuō)明:
-t:表示只列出tcp協(xié)議的連接穆律;
-n:表示將地址從字母組合轉(zhuǎn)化成ip地址惠呼,將協(xié)議轉(zhuǎn)化成端口號(hào)來(lái)顯示;
-l:表示過(guò)濾出“state(狀態(tài))”列中其值為L(zhǎng)ISTEN(監(jiān)聽(tīng))的連接峦耘;
-p:表示顯示發(fā)起連接的進(jìn)程pid和進(jìn)程名稱剔蹋;
16.man指令
作用:manual,手冊(cè) (包含linux全部命令手冊(cè)辅髓,英文)
語(yǔ)法:#man 命令 (退出按下q)
3.1vim編輯器
1.vi介紹
Vi編輯器是所有Unix及Linux系統(tǒng)下標(biāo)準(zhǔn)的編輯器泣崩,類似于windows系統(tǒng)下的notepad(記事本)編輯器,由于在Unix及Linux系統(tǒng)的任何版本洛口,Vi編輯器是完全相同的矫付,因此可以在其他任何介紹vi的地方都能進(jìn)一步了解它,Vi也是Linux中最基本的文本編輯器第焰,學(xué)會(huì)它后买优,我們將在Linux的世界里暢行無(wú)阻,尤其是在終端中。
關(guān)于vim:
vi和vim都是Linux中的編輯器杀赢,不同的是烘跺,vim比較高級(jí),可以視為vi的升級(jí)版本脂崔。vi使用于文本編輯滤淳,但是vim更適用于coding(寫(xiě)代碼的)。
Vim重點(diǎn)是光標(biāo)的移動(dòng)砌左,模式切換脖咐,刪除,查找绊困,替換文搂,復(fù)制,粘貼秤朗,撤銷命令的使用煤蹭。
2.vim三種模式(***)
vim中存在三種模式(大眾的認(rèn)知):命令模式,編輯模式取视,末行模式
命令模式:在該模式下不能對(duì)文件直接編輯硝皂,可以輸入快捷鍵進(jìn)行一些操作(刪除行,復(fù)制行作谭,移動(dòng)光標(biāo)稽物,粘貼等等)
編輯模式:再改模式下可以對(duì)文件的內(nèi)容進(jìn)行編輯
末行模式:可以在末行輸入命令來(lái)對(duì)文件進(jìn)行操作(搜索,替換折欠,保存贝或,退出,撤銷锐秦,高亮等等)
vim打開(kāi)文件的方式(4種)
1.#vim 文件路徑 作用:打開(kāi)指定的文件
2.#vim +數(shù)字 文件路徑 作用:打開(kāi)指定的文件咪奖,并且將光標(biāo)移動(dòng)到指定行
3.#vim +/關(guān)鍵詞 文件路徑 作用:打開(kāi)指定的文件,并且高亮顯示關(guān)鍵詞
4.#vim 文件路徑1 文件路徑2 文件路徑3 ... 作用:同時(shí)打開(kāi)多個(gè)文件
退出方式:輸入:q 按下回車
3.命令模式
注意:該模式是打開(kāi)文件第一個(gè)看到的模式(打開(kāi)文件即可進(jìn)入)
1.光標(biāo)的移動(dòng)
光標(biāo)移動(dòng)到行首:shift+6 或 ^
光標(biāo)移動(dòng)到行尾:shift+4 或 &
光標(biāo)移動(dòng)到首行:gg
光標(biāo)移動(dòng)到末行:G
向上翻屏:pgup或 ctrl+b
向下翻屏:pgdn或 ctrl+f
2.復(fù)制
情況1:復(fù)制光標(biāo)所在行(yy)
情況2:以光標(biāo)所在行為準(zhǔn)(包括當(dāng)前行)酱床,向下復(fù)制指定的行數(shù)(數(shù)字 yy)
情況3:可視化復(fù)制
按鍵:ctrl + v(可視塊)或V(可視行)或v(可視)羊赵,然后按下↑↓←→方向鍵來(lái)選中需要復(fù)制的區(qū)塊,按下y鍵進(jìn)行復(fù)制扇谣,最后按下p鍵粘貼
3.剪切/刪除
剪切/刪除光標(biāo)所在行:dd(dd嚴(yán)格意義上說(shuō)是剪切命令)
剪切/刪除光標(biāo)所在行為準(zhǔn)昧捷,向下刪除/剪切指定的行:數(shù)字dd
剪切/刪除光標(biāo)所在的當(dāng)前行之后的內(nèi)容,但是刪除之后下一行不上移:D
可視化刪除
按鍵:ctrl + v(可視塊)或V(可視行)或v(可視),上下左右移動(dòng)罐寨,按下D表示刪除選中行靡挥,按下d表示刪除選中塊
4.撤銷/刪除
撤銷:輸入:u(不屬于命令模式)或者 u(undo)
恢復(fù):ctrl+r 恢復(fù)(取消)之前的撤銷操作
4.模式間的切換
5.末行模式
進(jìn)入方式:由命令模式進(jìn)入,按下“:”或者“/”(表示查找)即可進(jìn)入
退出方式:按下esc,按兩下esc快速退出衩茸,刪除所有字符
保存操作:":w"(保存)芹血,“:w 路徑”(另存為)
退出:“:q" 退出文件
保存并退出:":wq"
強(qiáng)制:"!"
強(qiáng)制退出:”:q!“
調(diào)用外部命令:":! 外部命令"
搜索:”/關(guān)鍵詞“
在搜索結(jié)果中切換上/下一個(gè)搜索結(jié)果:N/n
如果需要取消高亮贮泞,則需要輸入:”:nohl“(no highlight)
替換:":s/搜索的關(guān)鍵字/新的內(nèi)容" 替換光標(biāo)所在行的第一處關(guān)鍵字
":s/搜索的關(guān)鍵字/新的內(nèi)容/g" 替換光標(biāo)所在行的所有關(guān)鍵字
":%s/搜索的關(guān)鍵字/新的內(nèi)容" 替換全篇每行的第一個(gè)關(guān)鍵詞
":%s/搜索的關(guān)鍵字/新的內(nèi)容/g" 替換全篇的關(guān)鍵詞
% 表示整個(gè)文檔,g 表示全局(global)
顯示行號(hào)(臨時(shí)):":set nu" 取消:":set nonu"
擴(kuò)展:使用vim同時(shí)打開(kāi)多個(gè)文件幔烛,在末行模式下進(jìn)行切換文件
查看當(dāng)前已經(jīng)打開(kāi)的文件名稱:“:files”
%a表示active啃擦,表示當(dāng)前正在打開(kāi)的文件
#:表示上一個(gè)打開(kāi)的文件
切換文件的方式:如果需要指定切換文件的名稱,則可以輸入:“:open 已經(jīng)打開(kāi)文件名稱”
通過(guò)其他命令來(lái)切換上/下一個(gè)文件:":bp"/“:bn”
6.編輯模式
進(jìn)入:按下i饿悬,a等
退出:按一下esc
7.使用功能
1.代碼著色
如何控制著色顯示與否令蛉?
顯示:“:syntax on”
關(guān)閉:“:syntax off”
2.計(jì)算器
編輯模式,ctrl+r狡恬,然后輸入“=”珠叔,此時(shí)光標(biāo)回到最后一行,輸入需要計(jì)算的內(nèi)容
8.擴(kuò)展
1.vim配置
vim配置有三種情況:(如果針對(duì)同一個(gè)配置項(xiàng)弟劲,個(gè)人配置文件中存在祷安,則以個(gè)人配置文件為準(zhǔn))
a.在文件打開(kāi)的時(shí)候在末行模式下輸入的配置(臨時(shí)的)
b.個(gè)人的配置文件(~/.vimrc,可以自行新建)
新建好個(gè)人配置的文件之后進(jìn)入編輯
在配置文件中進(jìn)行配置兔乞,比如:set nu(顯示行號(hào))
c.全局配置文件(vim自帶,/etc/vimrc)
2.異常退出
解決方法:將交換文件(在編輯過(guò)程中產(chǎn)生的臨時(shí)文件)刪除汇鞭,該文件為隱藏文件,需要ls -a才能看見(jiàn)
3.別名機(jī)制
作用:相當(dāng)于創(chuàng)建一些屬于自己的自定義的命令
例如:在windows下有cls命令庸追,在Linux下可能因?yàn)闆](méi)有這個(gè)命令而不習(xí)慣清屏』艚荆現(xiàn)在可以通過(guò)別名機(jī)制來(lái)解決這個(gè)問(wèn)題,可以自己創(chuàng)造出cls命令
別名機(jī)制依靠一個(gè)別名映射文件:~/.bashrc
:#vim ~/.bashrc
注意:如果想新創(chuàng)造的命令生效淡溯,必須要重新登錄當(dāng)前用戶读整。
4.退出方式
回顧:之前vim中退出編輯的文件可以使用“:q”或者“:wq”。
除了上面的這個(gè)語(yǔ)法之外咱娶,vim還支持另外一個(gè)保存退出方法“:x”米间。
說(shuō)明:
①“:x”在文件沒(méi)有修改的情況下,表示直接退出膘侮,在文件修改的情況下表示保存并退出车伞;
②如果文件沒(méi)有被修改,但是使用wq進(jìn)行退出的話喻喳,則文件的修改時(shí)間會(huì)被更新;但是如果文件沒(méi)有被修改困曙,使用x進(jìn)行退出的話表伦,則文件修改時(shí)間不會(huì)被更新的;主要是會(huì)混淆用戶對(duì)文件的修改時(shí)間的認(rèn)定慷丽。
因此建議以后使用“:x”來(lái)進(jìn)行對(duì)文件的保存退出蹦哼。
但是:不要使用X,不要使用X要糊,不要使用X纲熏,X表示對(duì)文件進(jìn)行加密操作。
4.1linux自有服務(wù)
1.運(yùn)行模式
運(yùn)行模式也可以成為運(yùn)行級(jí)別
在linux中存在一個(gè)進(jìn)程:init(initialize,初始化)局劲,進(jìn)程id是1
查看進(jìn)程:#ps -ef|grep init
該進(jìn)程存在一個(gè)對(duì)應(yīng)的配置文件:inittab(系統(tǒng)運(yùn)行級(jí)別配置文件勺拣,位置/etc/inittab)
文件的主要內(nèi)容:
根據(jù)上述的描述,可以得知鱼填,Centos6.5中存在7中運(yùn)行級(jí)別/模式药有。
0 — 表示關(guān)機(jī)級(jí)別(不要將默認(rèn)的運(yùn)行級(jí)別設(shè)置成這個(gè)值)
1 — 單用戶模式
2 — 多用戶模式,不帶NFS(Network File Syetem)
3 — 多用戶模式苹丸,完全的多用戶模式(不帶桌面的愤惰,純命令行模式)
4 — 沒(méi)有被使用的模式(被保留模式)
5 — X11,完整的圖形化界面模式
6 — 表示重啟級(jí)別(不要將默認(rèn)的運(yùn)行級(jí)別設(shè)置成這個(gè)值)
與該級(jí)別相關(guān)的幾個(gè)命令:
:#init 0 表示關(guān)機(jī)
:#init 3 表示切換到不帶桌面的模式
:#init 5 切換到圖形界面
:#init 6 重啟電腦
注意:init指令需要超級(jí)管理員的權(quán)限赘理,普通用戶無(wú)法執(zhí)行宦言。
這些命令其實(shí)都是調(diào)用的init進(jìn)程,將數(shù)字(運(yùn)行級(jí)別)傳遞給進(jìn)程商模,進(jìn)程去讀配置文件執(zhí)行對(duì)應(yīng)的操作奠旺。
①切換到純命令行模式下(臨時(shí)切換,重啟之后又恢復(fù))
:#init 3
切換之后需要輸入用戶名和密碼阻桅,在輸入密碼的時(shí)候沒(méi)有“*”提示輸入凉倚,只要自己確認(rèn)輸入的密碼沒(méi)有錯(cuò)誤,按下回車即可嫂沉。
②回到桌面模式
init 5
③設(shè)置模式永久為命令行模式
將/etc/inittab文件中的initdefault值設(shè)置成3稽寒,然后重啟操作系統(tǒng)。
二趟章、用戶與用戶組管理(重點(diǎn))
Linux系統(tǒng)是一個(gè)多用戶多任務(wù)的操作系統(tǒng)杏糙,任何一個(gè)要使用系統(tǒng)資源的用戶,都必須首先向系統(tǒng)管理員申請(qǐng)一個(gè)賬號(hào)蚓土,然后以這個(gè)賬號(hào)的身份進(jìn)入系統(tǒng)宏侍。
用戶的賬號(hào)一方面可以幫助系統(tǒng)管理員對(duì)使用系統(tǒng)的用戶進(jìn)行跟蹤,并控制他們對(duì)系統(tǒng)資源的訪問(wèn)蜀漆;另一方面也可以幫助用戶組織文件谅河,并為用戶提供安全性保護(hù)。
每個(gè)用戶賬號(hào)都擁有一個(gè)惟一的用戶名和各自的密碼确丢。
用戶在登錄時(shí)鍵入正確的用戶名和密碼后绷耍,就能夠進(jìn)入系統(tǒng)和自己的主目錄。
要想實(shí)現(xiàn)用戶賬號(hào)的管理鲜侥,要完成的工作主要有如下幾個(gè)方面:
用戶賬號(hào)的添加褂始、刪除、修改以及用戶密碼的管理描函。
用戶組的管理崎苗。
注意三個(gè)文件:
/etc/passwd 存儲(chǔ)用戶的關(guān)鍵信息
/etc/group 存儲(chǔ)用戶組的關(guān)鍵信息
/etc/shadow 存儲(chǔ)用戶的密碼信息
1狐粱、用戶管理
①添加用戶
常用語(yǔ)法:#useradd 選項(xiàng) 用戶名
常用選項(xiàng):
-g:表示指定用戶的用戶主組,選項(xiàng)的值可以是用戶組的id胆数,也可以是組名
-G:表示指定用戶的用戶附加組肌蜻,選項(xiàng)的值可以是用戶組的id,也可以是組名
-u:uid幅慌,用戶的id(用戶的標(biāo)識(shí)符)宋欺,系統(tǒng)默認(rèn)會(huì)從500之后按順序分配uid,如果不想使用系統(tǒng)分配的胰伍,可以通過(guò)該選項(xiàng)自定義【類似于騰訊QQ的自選靚號(hào)情況】
-c comment:添加注釋
案例:創(chuàng)建用戶zhangsan齿诞,不帶任何選項(xiàng)
擴(kuò)展:認(rèn)識(shí)passwd文件
用戶名:密碼:用戶ID:用戶組ID:注釋:家目錄:解釋器shell
用戶名:創(chuàng)建新用戶名稱,后期登錄的時(shí)候需要輸入骂租;
密碼:此密碼位置一般情況都是“x”祷杈,表示密碼的占位;
用戶ID:用戶的識(shí)別符渗饮;
用戶組ID:該用戶所屬的主組ID但汞;
注釋:解釋該用戶是做什么用的;
家目錄:用戶登錄進(jìn)入系統(tǒng)之后默認(rèn)的位置互站;
解釋器shell:等待用戶進(jìn)入系統(tǒng)之后私蕾,用戶輸入指令之后,該解釋器會(huì)收集用戶輸入的指令胡桃,傳遞給內(nèi)核處理踩叭;
注意:在不添加選項(xiàng)的時(shí)候,執(zhí)行useradd之后會(huì)執(zhí)行一系列的操作
a. 創(chuàng)建同名的家目錄翠胰;
b. 創(chuàng)建同名的用戶組容贝;
案例:添加選項(xiàng),創(chuàng)建用戶lisi之景,讓lisi屬于501主組斤富,附加組500,自選靚號(hào)666锻狗。
注意:查看用戶的主組可以查看passwd文件满力,查看附加組可以查看group文件。
②修改用戶
常用語(yǔ)法:#usermod 選項(xiàng) 用戶名
Usermod:user modify轻纪,用戶修改
常用選項(xiàng):
-g:表示指定用戶的用戶主組脚囊,選項(xiàng)的值可以是用戶組的id,也可以是組名
-G:表示指定用戶的用戶附加組桐磁,選項(xiàng)的值可以是用戶組的id临扮,也可以是組名
-u:uid尉姨,用戶的id(用戶的標(biāo)識(shí)符),系統(tǒng)默認(rèn)會(huì)從500之后按順序分配uid扰藕,如果不想使用系統(tǒng)分配的,可以通過(guò)該選項(xiàng)自定義【類似于騰訊QQ的自選靚號(hào)情況】
-l:修改用戶名
案例:修改zhangsan用戶主組為500校摩,附加組改為501
:#usermod -g 500 -G 501 zhangsan
案例:修改zhangsan用戶用戶名看峻,改為wangerma
:#usermod -l 新的用戶名 舊的用戶名
:#usermod -l wangerma zhangsan
③設(shè)置密碼
Linux不允許沒(méi)有密碼的用戶登錄到系統(tǒng),因此前面創(chuàng)建的用戶目前都處于鎖定狀態(tài)衙吩,需要設(shè)置密碼之后才能登錄計(jì)算機(jī)互妓。
常用語(yǔ)法:#passwd 用戶名
案例:設(shè)置wangerma用戶的密碼
在設(shè)置密碼的時(shí)候也是沒(méi)有任何輸入提示的,放心輸入坤塞,確保兩次輸入的密碼一致冯勉,按下回車即可。
也可以使用弱密碼摹芙,但是不建議灼狰,否則會(huì)看到以下的提示:
設(shè)置密碼之后shadow文件中的體現(xiàn):能夠看出lisi用戶沒(méi)有密碼的。
在設(shè)置用戶密碼之后可以登錄帳號(hào)浮禾,例如此處需要登錄wangerma
切換用戶命令:#su [用戶名] (switch user)
如果用戶名不指定則表示切換到root用戶交胚。
切換用戶需要注意的事項(xiàng):
a. 從root往普通用戶切換不需要密碼,但是反之則需要root密碼盈电;
b. 切換用戶之后前后的工作路徑是不變的蝴簇;
c. 普通用戶沒(méi)有辦法訪問(wèn)root用戶家目錄,但是反之則可以匆帚;
④刪除用戶
常用語(yǔ)法:#userdel 選項(xiàng) 用戶名
Userdel:user delete(用戶刪除)
常用選項(xiàng):
-r:表示刪除用戶的同時(shí)熬词,刪除其家目錄;
案例:刪除wangerma用戶
注意:已經(jīng)登錄的wangerma用戶刪除的時(shí)候提示刪除失敗卷扮,但是沒(méi)有登錄的lisi用戶可以正常刪除荡澎。
解決辦法:簡(jiǎn)單粗暴,kill對(duì)應(yīng)用戶的全部進(jìn)程
提示:所有跟用戶操作的命令(除passwd外)只有root超級(jí)管理員有權(quán)限執(zhí)行晤锹。
三.網(wǎng)絡(luò)設(shè)置
網(wǎng)卡的配置文件以及位置:/etc/sysconfig/network-scripts
在目錄中網(wǎng)卡的配置文件命名格式:ifcfg-網(wǎng)卡名稱
ONBOOT:是否開(kāi)機(jī)啟動(dòng)
BOOTPROTO:ip地址分配方式摩幔,DHCP表示動(dòng)態(tài)主機(jī)分配協(xié)議
HWADDR:硬件地址,MAC地址
如果后續(xù)需要重啟網(wǎng)卡怎么去操作呢鞭铆?
:#service network restart
在有的分支版本中可能沒(méi)有service命令來(lái)快速操作服務(wù)或衡,但是有一個(gè)共性的目錄:/etc/init.d
這個(gè)目錄中放著很多服務(wù)的快捷方式。
此處重啟網(wǎng)卡命令還可以使用:
:#/etc/init.d/network restart
擴(kuò)展1:如果需要修改網(wǎng)卡的配置文件车遂,但是配置文件的目錄層次很深封断,此時(shí)可以在淺的目錄中創(chuàng)建一個(gè)快捷方式(軟連接)舶担,方便以后去查找:#ln -s 目標(biāo)文件位置 存放位置
通過(guò)ls -l可以列出如下的效果:
其中闸氮,文件類型位置的“l(fā)”表示其類型為link(連接類型)授翻,后面的“->”指向的是原始文件路徑。
擴(kuò)展2:如何重啟/停止單個(gè)網(wǎng)卡
停止:#ifdown 網(wǎng)卡名稱
開(kāi)啟:#ifup 網(wǎng)卡名稱
重啟:#restart 網(wǎng)卡名稱
四.ssh服務(wù)
ssh(secure shell,安全外殼協(xié)議),該協(xié)議有兩個(gè)常用的作用:遠(yuǎn)程連接協(xié)議理澎,遠(yuǎn)程文件傳輸協(xié)議举庶。
協(xié)議使用端口號(hào):默認(rèn)是22,
可以是被修改的,如果需要修改,則需要修改ssh服務(wù)的配置文件
:#/etc/ssh/ssh_config
端口號(hào)可以修改糠睡,但是得注意2個(gè)事項(xiàng)(防火墻):
a. 注意范圍串稀,端口范圍是從0-65535橄教;
b. 不能使用別的服務(wù)已經(jīng)占用的端口;
服務(wù)啟動(dòng)/停止/重啟
:#service sshd start/stop/restart
:#/etc/init.d/sshd start/stop/restart
1.遠(yuǎn)程終端
終端工具主要幫助運(yùn)維人員遠(yuǎn)程連接服務(wù)器,常見(jiàn)工具:Xshell,secureCRT,Putty
①獲取服務(wù)器ip地址,可以通過(guò)ifconfig命令進(jìn)行查看,然后順手測(cè)試ip的連接相通性
②打開(kāi)putty攻泼,輸入相關(guān)的信息
③在彈出key確認(rèn)的時(shí)候點(diǎn)擊“是”,以后不會(huì)再提示
④輸入登錄信息
2.ssh服務(wù)文件傳輸
可視化的界面?zhèn)鬏敼ぞ撸篎ilezilla
安裝好之后可以查看到桌面圖標(biāo):
①選擇“文件”- “站點(diǎn)管理器(Ctrl + S)”
②點(diǎn)擊“文件”菜單下方的“▽”選擇需要連接的服務(wù)器犹菱,連接好之后的效果
③從本地windows上傳文件到linux中方式
支持直接拖拽文件陕凹,也可以右鍵本地需要上傳的文件拂盯,然后點(diǎn)選“上傳”即可
④下載linux文件到本地
支持服務(wù)器文件直接拖拽到本地,也可以在右側(cè)窗口選擇需要下載的文件劫恒,右鍵憔辫,點(diǎn)選“下載”。
擴(kuò)展3:通過(guò)命令行工具來(lái)傳輸文件/文件夾
工具:pscp.exe(必須通過(guò)cmd打開(kāi))
用法:1.pscp 選項(xiàng) 用戶名@linux 主機(jī)地址:資源路徑 windows 本地的地址(下載到win)
2.pscp 選項(xiàng) 資源路徑 用戶名@linux 主機(jī)地址:遠(yuǎn)程路徑(上傳到linux)
3.pscp 選項(xiàng) -ls 用戶名@linux 主機(jī)地址:(列出遠(yuǎn)程路徑下的結(jié)構(gòu))
①下載到本地windows
要求將遠(yuǎn)程linux服務(wù)器下的/etc整個(gè)目錄下載到本地E:\tmp下
:#pscp -r <u>root@192.168.21.128:/etc</u> E:\tmp
在CMD中輸入之后輸入密碼
-r表示遞歸調(diào)用
ctrl+c暫停
備注:
kali Linux 是沒(méi)有像Ubuntu一樣的Ctrl+Alt+T打開(kāi)終端的快捷方式的顾瞪,所以我們可以自己設(shè)置我們喜歡的快捷方式钉跷。
在Kali下犬钢,
打開(kāi)控制中心的代碼:gnome-control-center
打開(kāi)終端的代碼:gnome-terminal
在設(shè)置中心里,選擇鍵盤(pán)(keyboard)乏德,在選擇快捷鍵(shortcut)郑什,拉到最下面有一個(gè)小小的加號(hào)弯蚜,點(diǎn)擊它
就可以自己設(shè)置快捷鍵了,名字(name)是這個(gè)快捷鍵的名字浓领,命令(command)是終端里的命令(打開(kāi)終端在里面填寫(xiě)gnome-terminal即可)祸泪,快捷鍵(shortcut)是自己設(shè)置的按鍵建芙,根據(jù)自己的需要設(shè)置即可没隘。
用ifconfig命令,只有l(wèi)o禁荸,沒(méi)有eth0的解決方案
問(wèn)題描述:輸入ifconfig命令右蒲,顯示eth0和lo,但是自己在虛擬機(jī)中并非得到這樣的結(jié)果屡限,而是只有l(wèi)o品嚣,即網(wǎng)卡未啟動(dòng),也沒(méi)有ip钧大,無(wú)法用Xshell遠(yuǎn)程連接翰撑。
解決方案:
- 進(jìn)入/etc/sysconfig/network-scripts 目錄,發(fā)現(xiàn)有ifcfg-eth0啊央,即網(wǎng)卡(驅(qū)動(dòng))存在但未啟用眶诈。
- 輸入ifconfig -a命令,可顯示eth0和lo瓜饥。
- 輸入ifconfig eth0 up逝撬,啟用網(wǎng)卡。此時(shí)用ifconfig乓土,只能看到inet6(ipv6?)的地址宪潮,沒(méi)有inet的地址(即Xshell連接輸入的ip)溯警。
- 修改/etc/sysconfig/network-scripts/ifcfg-eth0 文件, 把ONBOOT=no 改為 ONBOOT=yes狡相,但ifconfig的結(jié)果沒(méi)有任何改變梯轻。(省略該步驟不知道是否有效)
- service network restart,重啟尽棕。出現(xiàn)shutdown eth0 OK喳挑,bring up eth0 OK,determine ip for eth0 OK滔悉。
- 輸入ifconfig伊诵,出現(xiàn)eth0的inet地址。用Xshell連接成功回官。
在linux中有一個(gè)特殊的符號(hào)"~"曹宴,表示當(dāng)前用戶的家目錄
切換方式:#cd ~