更新時間:2018-05-03 來源:黑馬程序員 瀏覽量:
一·對linux的認(rèn)識
1.什么是linux
linux整個基于Linux內(nèi)核,是linux的內(nèi)核+GNU組織的軟件 GNU/linux的操作系統(tǒng)
2.什么是shell
shell是一個解釋器,是保護(hù)系統(tǒng)內(nèi)核不被篡改的軟件,我們所使用的系統(tǒng)中默認(rèn)啟動的shell是bash
注:
bash是一個為GNU計劃編寫的Unix shell,它是Bourne-Again SHell的縮寫
3.怎樣在shell中執(zhí)行命令
命令必須在行提示符之后輸入,如果行提示符被占用,那么,ctrl+c可以結(jié)束占用當(dāng)前行提示符的程序從而釋放行提示符
4.在shell中輸入命令的格式:命令+空格+參數(shù)+空格+對象
命令就是程序,參數(shù)就是程序指定的某種功能 -a -b -c =-abc = -bac,對象是操作的目標(biāo)
舉例: rm -f -r /*==rm -fr /*
二·虛擬機的基本操作
1.虛擬機的控制
[kiosk@foundation0 Desktop]$ rht-vmctl view desktop #顯示虛擬機
[kiosk@foundation0 Desktop]$ rht-vmctl start desktop #打開虛擬機
[kiosk@foundation0 Desktop]$ rht-vmctl poweroff desktop #關(guān)閉虛擬機
[kiosk@foundation0 Desktop]$ rht-vmctl reset desktop #重置虛擬機
注:
kiosk //表示shell的運行人是誰
@foundation0 //shell開啟主機的主機名稱
Desktop //你當(dāng)前所在文件夾的名字
2. 虛擬機的報錯情況以及改正
[kiosk@foundation0 Desktop]$ rht-vmctl start desktop
Error: desktop not started (is already running) //虛擬機正在運行
Correction:停止‘rht-vmctl start desktop’操作,直接執(zhí)行當(dāng)前準(zhǔn)備執(zhí)行的命令
[kiosk@foundation0 Desktop]$ rht-vmctl view desktop
Error: unable to view desktop - not currently running. //虛擬機沒有運行
Correction:先執(zhí)行命令‘rht-vmctl start desktop’,再執(zhí)行下一步操作
[kiosk@foundation0 Desktop]$ rht-vmct1 start desktop
bash: rht-vmct1: command not found... //命令輸入錯誤
Correction:檢查輸入的命令‘rht-vmctl’是否正確,注意區(qū)分‘?dāng)?shù)字1’和‘字母l’
[kiosk@foundation0 Desktop]$ rht-vmctl stat desktop
Error: bad option, stat //參數(shù)寫入錯誤
Correction:檢查輸入的參數(shù)‘start/view/poweroff/reset’是否正確,注意區(qū)分大小寫
[kiosk@foundation0 Desktop]$ rht-vmctl start deskop
Error: unrecognized VMNAME specified, deskop. #虛擬機名稱錯誤
Correction:檢查輸入的名稱‘desktop’是否正確,注意區(qū)分大小寫
3.系統(tǒng)用戶登陸
$ //普通用戶,這個用戶只能使用系統(tǒng),但是權(quán)力比較低,比如不能刪除 home---->computer ----> boot
student ----> student
# //超級用戶,系統(tǒng)管理員,權(quán)力絕對大,可以破壞系統(tǒng),比如刪除 home---->computer ----> boot
not list ---->root ----->redhat
注意:
刪除boot以后,在系統(tǒng)中選擇reset 那么系統(tǒng)啟動成功
系統(tǒng)啟動不了可以直接重置虛擬機
4.在系統(tǒng)內(nèi)添加中文輸入法
application ------> setting ---> 藍(lán)旗(region&language)---->china pinyin
5.文本編輯
gedit 文件名稱+& //"&"的作用是讓gedit命令在后臺運行而不占用當(dāng)前接口
6.文件管理命令
<1>新建文件
touch ‘文件名’
注:建立多個文件時,touch ‘文件名’ ‘文件名’ ... //多少個文件,就用引號引多少個
<2>新建目錄
mkdir ‘目錄名’
<3>刪除文件
rm -f ‘文件名’ //-f 是force的縮寫,表示強制刪除不提示
區(qū)分 rm/rm -f
<4>刪除目錄
rm -f -r/rm -fr ‘文件名’ //-r 表示遞歸,包括目錄本身和里面的所有內(nèi)容
7.查看
<1>cat ‘文件名’ //查看文件或者目錄里的具體內(nèi)容
<2>ls ‘文件名’ //顯示當(dāng)前文件下的目錄名稱
注:
ls -a //顯示所有文件包括以點開頭的隱藏文件
ls -R //遞歸顯示目錄中的所有內(nèi)容
<3>file //查看文件類型
操作步驟(可以清楚的體現(xiàn)file的作用以及文件的作用)
touch westos
file westos
vim westos
hello
file westos
vim westos
#!/bin/bash
hello
file westos
vim westos
#include
hello
file westos
<4>wc //統(tǒng)計文件的字?jǐn)?shù),字符數(shù),字節(jié)數(shù)
wc -l //行數(shù)
wc -m //字符數(shù)
wc -c //字節(jié)數(shù)
wc -w //字?jǐn)?shù)
注:
區(qū)分wc -m 與 wc -c
在輸入中文時,會有不同;輸入英文時,兩個差不多
8.復(fù)制
cp file 新文件名稱|目錄
cp -r dir 新名稱|目錄
注:復(fù)制根目錄下文件里的全部內(nèi)容時,需要在文件最后加一個‘.’
舉例:
cp /etc/passwd .
9.移動
mv file 目錄
mv dir 目錄
mv 目錄/* , 把目錄中的所有內(nèi)容移動到當(dāng)前所在系統(tǒng)位置 "."代表當(dāng)前所在系統(tǒng)目錄
10.系統(tǒng)結(jié)構(gòu)
/bin //常用系統(tǒng)命令
/sbin //系統(tǒng)管理命令
/boot //啟動分區(qū)
/sys //內(nèi)核參數(shù)調(diào)整
/dev //設(shè)備文件
/lib //32位庫文件
/lib64 //64文庫文件
/media /run /mnt //臨時設(shè)備的掛載點
/opt //第三方軟件安裝位置
/proc //系統(tǒng)信息
/etc //系統(tǒng)配置目錄
/home //普通用戶家目錄
/root //超級用戶家目錄
/var,/srv //系統(tǒng)數(shù)據(jù)
11.關(guān)于路徑的命令
<1>路徑的分類
絕對路徑:文件所在系統(tǒng)的真實位置,在系統(tǒng)的任何位置都可以使用通常以"/"開頭
相對路徑:相對當(dāng)前所在系統(tǒng)位置的一個文件名稱的簡寫,他通常會自動添加"pwd"的值在名稱前
舉例:
pwd //print work directory 顯示當(dāng)前所在系統(tǒng)位置的路徑
touch /mnt/file //用絕對路徑的方式在/mnt/中建立file文件
rm -fr /mnt/file //用絕對路徑的方式刪除/mnt/中的file文件
mv hello /mnt //把當(dāng)前的hello文件移動到/mnt目錄中
mv /mnt/hello . //用絕對路徑的表示方式把/mnt中的hello文件移動到當(dāng)前位置
12.切換工作目錄
cd 目錄名稱
cd .. //進(jìn)入當(dāng)前目錄的上層目錄
cd . //進(jìn)入當(dāng)前目錄
13.如何在系統(tǒng)中獲得幫助
1.whatis 命令:得到一個命令但不知道這個命令的作用時使用
舉例:
whatis cal 顯示cal命令的用途
cal (1) - display a calendar
cal (1p) - print a calendar
2.--help命令:當(dāng)知道命令的用途,但是不知道命令的運行格式或者方法時使用
注:--help只適用與命令
舉例:
cal --help
useage:
cal [options] [ [ [day] month] year]
注:如果只寫‘年’的話,就不需要加[],想要顯示哪一月或者哪一天,必須給‘月’和‘天’加[].
[] //選加,可以加也可以不加
... //加的個數(shù)可以時任意多個
<> //必須加不可缺少的信息
3.man == manual:當(dāng)查看文件的幫助時,--help是不能使用的,必須用man命令來查看幫助了
man的級別
1 命令,2 內(nèi)核調(diào)用的接口,3 函數(shù)庫;4 特殊文件比如設(shè)備文件;5 系統(tǒng)文件,6 游戲;7 包信息;8 系統(tǒng)密令;9 內(nèi)核規(guī)則
舉例:
man date //查看date命令的幫助手冊
man 5 passwd //查看/etc/passwd 文件的幫助手冊
<2>man使用時的快捷鍵
進(jìn)入man頁面后
pageup //向上翻頁
pagedown //向下翻頁
q //退出
注:當(dāng)man或者whatis命令無法查詢幫助是,是因為系統(tǒng)沒有加載幫助數(shù)據(jù)庫
解決辦法:執(zhí)行 mandb
三·*******vim*********
1.編輯文件
vim ‘文件名’ 進(jìn)入瀏覽模式,按"i"鍵 進(jìn)入插入模式開始編寫字符,編寫結(jié)束后按"ESC"鍵 退出插入模式,按":wq" 保存退出,文件編寫完成。
vim同時編輯多個文件 :
先打開一個文件,再進(jìn)行操作‘:sp ’+‘filename’
ctrl + w 上 //光標(biāo)進(jìn)入上邊文件窗口
ctrl + w 下 //光標(biāo)進(jìn)入下邊文件窗口
注:
<1>當(dāng)文件名稱存在,那么進(jìn)入文件直接編輯,當(dāng)文件名稱不存在,vim會在退出保存時自動建立文件,當(dāng)vim命令后沒有跟任何文件名稱時,時無法實現(xiàn)‘:wq’退出保存的那么可以用":wq filename"
<2>當(dāng)vim異常退出時,系統(tǒng)會建立.file.swp這個緩存文件,這個文件中保存著在‘:wq’動作之前保存的信息,當(dāng)用vim對文件做編輯的時候會提示
O //只讀打開
E //直接忽略.file.swap信息編輯文件
R //利用.file.swap進(jìn)行為保存數(shù)據(jù)恢復(fù)
D //刪除.file.swap
Q //退出
A //終止
//圖片,出現(xiàn)以上幾個提示的圖片
2.vim的三種模式
<1>命令模式
A:vim工作方式設(shè)定(命令模式是vim打開文件后默認(rèn)進(jìn)入的模式,這個模式中不能插入字符,但是可以設(shè)定vim的工作方式)
:set 指定信息
:set nu
:set nonu
:set cursorline
:set mouse=a
注:在vim中直接設(shè)定vim的工作方式是臨時設(shè)定,也就是說當(dāng)vim關(guān)閉,設(shè)定失效
如果要永久設(shè)定需要編寫vim的配置文件 ‘/etc/vimrc’
B:在命令模式下如何管理字符
"x" : 刪除光標(biāo)所在字符
"u" : undo 恢復(fù)
"ctrl+r" : redo 撤銷恢復(fù)
"y” : 復(fù)制
"yw" : 復(fù)制一個單詞
"yl": 復(fù)制一個字母
"yy" : 復(fù)制一整行
"y5y" : 復(fù)制5行
"c": 剪切
"cw" : 剪掉一個單詞
"cl" : 剪掉一個字母
"cc" : 剪掉一整行
“c5c": 剪掉5行
注:"用C做剪切時,會進(jìn)入插入模式,如果要粘貼需要退出插入模式按‘ESC’鍵再按‘P’
"d" : 刪除
"dw" 刪除一個單詞
"dl" 刪除一個字母
"dd" 刪除一整行
"d5d" 刪除5行
"p": 粘貼
C:vim的可視化操作
a:可視化模式的基本操作
在vim中是不能用鼠標(biāo)選擇區(qū)域操作的,如果要操作某個區(qū)域,需要進(jìn)入到可視化模式,在命令模式下 "ctrl + v" 就可以進(jìn)入到可視模式了
按"上|下|左|右"移動光標(biāo)選擇區(qū)域,按相應(yīng)操作鍵就可以對選擇區(qū)域進(jìn)行操作
b.可視化模式下批量添加字符
。把光標(biāo)停留在想要加入字符所在的列的第一行
。移動光標(biāo)選擇添加字符所在列
。"I"進(jìn)入插入模式
。寫入要插入的字符
。按"ESC"退出插入模式,字符批量添加成功
D:vim的字符替換
%s/原有字符/新字符/g //全文替換
1,5s/原有字符/新字符/g //替換1到5行的字符
g //替換出現(xiàn)的所有關(guān)鍵字,如果不加"g"只替換沒行出現(xiàn)的第一個
E:總字符的查找及光標(biāo)的移動
<1>字符的查找
/關(guān)鍵字 //搜索關(guān)鍵字
n //向下匹配關(guān)鍵字
N //向上匹配關(guān)鍵子
注:按‘v’ 由瀏覽模式進(jìn)入vim模式,按‘i’進(jìn)入編輯模式,按‘ECS’后按‘:wq’退出編輯模式進(jìn)入瀏覽模式
<2>光標(biāo)的移動
:‘?dāng)?shù)字’ //光標(biāo)快速移動到指定行
gg //光標(biāo)移動到文件的第一行
G //光標(biāo)移動到文件的最后以行
<2>插入模式
"i" //在光標(biāo)所在位置插入字符
"I" //光標(biāo)所在行的行首插入字符
"o" //光標(biāo)所在行的下一行新行插入字符
"O" //光標(biāo)所在行的上以行新行插入
"s" //刪除光標(biāo)所在字符并插入字符
"S" //刪除光標(biāo)所在行并插入字符
"a" //光標(biāo)所在字符的下一個字符插入
"A" //光標(biāo)所在行的行尾插入字符
<3>退出模式
:q //當(dāng)vim進(jìn)入文件沒有對文件內(nèi)容做任何操作可以按"q"退出
:q! //當(dāng)vim進(jìn)入文件對文件內(nèi)容有操作但不想保存退出
:wq //正常保存退出
:wq! //強行保存退出,只針對與root用戶或文件所有人生效
四.通配符
1.字符匹配
* //匹配0到任意字符
? //匹配單個字符
[[:alpha:]] //匹配單個字母
[[:lower:]] //匹配單個小寫字母
[[:upper:]] //匹配單個大寫字母
[[:digit:]] //匹配單個數(shù)字
[[:alnum:]] //匹配單個數(shù)字或字母
[[:punct:]] //匹配單個符號
[[:space:]] //匹配單個空格
//圖片,刪除帶數(shù)字或者帶字母的文件
{} //精確指定目標(biāo),前提是指定的所有目標(biāo)都必須存在
{}{} //兩個括號里的目標(biāo)分別進(jìn)行有順序的組合組合
舉例:
{1..3} 指定1,2,3,而且1,2,3都存在
{1..3}{a..c} 1a 2a 3a 2a 2b 2c 3a 3b 3c
[] //模糊指定目標(biāo)
舉例:
[1-3] //1或者2或者3
[^abc]|[!abc] //除了a并且除了b并且除了c
2.常用文本處理工具 //在命令輸入窗口直接輸入
<1>head //顯示指定文件的前多少行
head -n 1 passwd //顯示文件的第一行
head -n 3 passwd //顯示文件的前3行
head passwd //默認(rèn)顯示文件的前10行
<2>tail //顯示文件的后多少行,在閱讀文件時,直接按此字符
tail -n 1 passwd //顯示文件的最后以行
tail -n 5 passwd //顯示文件的最后5行
tail passwd //顯示文件的最后10行
<3>less //分頁瀏覽
less passwd
<4>‘!’or‘^’ //表示非,相反的
3. 鼠標(biāo)點不動時, ctrl alt f2 , init 3,ctrl f1 init5