第九天預習筆記
一淘衙、Vim/vi純文本編輯器
1、vi是Linux命令行界面下的重要文件編輯器腻暮,vim是vi的加強版彤守,列如高亮顯示代碼
自動縮進等
語法:vim選項文件
????????????? [root@oldboyedu ~]# vim aa.txt
2、vim分為三種模式
普通模式哭靖、編輯模式具垫、命令模式
普通模式
用vim打開一個文件后,當前狀態(tài)就是普通模式试幽,在這個模式不能編輯筝蚕,但可以按“i
o,O,a,A”其中“i”最普遍,也可以進行一些如刪除铺坞、復制起宽、粘貼
編輯模式
當在普通模式進入編輯模式按“i”后,再界面的下面會顯示insert圖標济榨,這就是編輯模式
命令模式
在普通模式下坯沪,輸入“:”或“/”“?”時腿短,光標會自動定位在那一行屏箍,
在這個模式下可以執(zhí)行保存绘梦、退出,搜索赴魁、替換等動作
3卸奉、針對該命令的參數(shù)選項說明
1)普通模式:移動光標
G或shift將光標移動到文件的最后一行
gg將光標移動到文件的第一行
數(shù)字0將光標從當前位置移動到當前行的行首
$從光標所在的位置將光標移動到當前行的行尾
ngg??? n為數(shù)字,移動到文件的第n行
2)普通模式:搜索與替換
/oldboy從光標位置開始颖御,向下尋找名為oldboy的字符串
榄棵?oldboy從光標位置開始,向下尋找名為oldboy的字符串
n從光標位置開始潘拱,向下重復前一個搜索的動作
N從光標位置開始疹鳄,向上重復前一個搜索的動作
:%s/A/B/g把符合A的全部替換成B,斜線為分隔符芦岂,可以用#@等替換
:n1,n2s/A/B/gc?? n1,n2是數(shù)字瘪弓,在第n1行到第n2行間尋找A,并替換成B
2)普通模式:復制禽最、粘貼腺怯、刪除等
yy復制光標所在的行
nyy ????? n為數(shù)字,復制光標開始向下共n行
p/P? ?? p將已復制的數(shù)據(jù)粘貼到光標的下一行川无,P則為粘貼到上一行
dd刪除光標所在的行
ndd刪除從光標開始向下共n行
u撤銷前一個動作
.點號呛占,重復前一個動作
3)進入編輯模式
i在當前光標所在處插入文件
o在當前所在行的下一行插入新的一行
4)命令模式
:wq保存退出
:q退出,不保存
:set nu顯示行號
:set nonu取消顯示行號
二懦趋、echo顯示輸出文本內(nèi)容
將指定文本顯示在Linux命令行上或者通過重定向符寫入到指定文件中
語法:echo選項文本
選項:-n不要自動換行
-e轉移字符\t?? tab鍵插入tab鍵晾虑;\n換行光標移動到行首
例子:
[root@oldboyedu ~]# echo "hello world"
hello world?????????????????????????????????????
[root@oldboyedu ~]# echo -e "hello\ world"
hello\ world
[root@oldboyedu ~]# echo -e "hello\t world"
hello???????????????????????????????????????????????? world
[root@oldboyedu ~]# echo -e "hello\n world"
hello
world
三、cat合并文件或者查看文件內(nèi)容
語法:cat選項文件
選項:-n從1開始對所有輸出的內(nèi)容按行編號
-b和-n相似仅叫,但忽略顯示空白行號
例子
[root@oldboyedu ~]# cat -n a.txt
???? 1???????????????????????????????????????????????????
???? 2??????????????????????????????????????????????????? i am a teache
???? 3??????????????????????????????????????????????????? hello
???? 4??????????????????????????????????????????????????? world
[root@oldboyedu ~]# cat -b a.txt
???? 1??????????????????????????????????????????????????? i am a teache
???? 2??????????????????????????????????????????????????? hello
???? 3??????????????????????????????????????????????????? world
cat重定向輸入創(chuàng)建文件
[root@oldboyedu ~]# cat? > b.txt <<EOF
I AM A TEACHER
i am a study
58期
EOF
[root@oldboyedu ~]# cat b.txt
I AM A TEACHER
i am a study
58期
四帜篇、more分頁顯示文件內(nèi)容
語法:more選項文件
?[root@oldboyedu ~]# more -5? /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
--More--(20%)
五、Less分頁顯示內(nèi)容
語法:less選項文件
[root@oldboyedu ~]# less a.txt
i am a teache
hello
?world
(END)
六惑芭、head顯示文件內(nèi)容頭部坠狡,默認顯示文件頭部的10行
語法:head選項文件
選項:-n指定顯示的行數(shù);-c指定顯示字節(jié)數(shù)
例子:
[root@oldboyedu ~]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[root@oldboyedu ~]# head -n /etc/passwd
head: /etc/passwd: invalid number of lines
[root@oldboyedu ~]# head -4 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologi
七遂跟、tail顯示文件內(nèi)容尾部逃沿,默認顯示最后10行
語法:tail選項文件
選項:-n指定顯示的行數(shù);-c指定顯示的字節(jié)數(shù)幻锁;-f實時輸出文件變化后追加的數(shù)據(jù)
例子
[root@oldboyedu ~]# tail -f /var/log/messages
Mar 13 18:40:37 oldboyedu nm-dispatcher: req:3 'up' [eth0]: new request (2 scripts)
Mar 13 18:40:37 oldboyedu nm-dispatcher: req:4 'connectivity-change': new request (2 scripts)
[root@oldboyedu ~]# tail -3 /etc/passwd
oldboy:x:1000:1000:oldboy:/home/oldboy:/bin/bash
oldgirl:x:1001:1001::/home/oldgirl:/bin/bash
test:x:1002:1002::/home/test:/bin/bash
八凯亮、grep文本過濾工具
其功能是從文本文件或管道數(shù)據(jù)流中篩選匹配的行或數(shù)據(jù)
語法:grep選項參數(shù)匹配模式查找文件
選項參數(shù):-v顯示不匹配的行;-i不區(qū)分大小寫哄尔;-n顯示行號
-E相當于egrep擴展假消;-w只匹配過濾的單詞;-o只輸出匹配的內(nèi)容
[root@oldboyedu ~]# cat b.txt
I AM A TEACHER
i am a study
58期
[root@oldboyedu ~]# grep "I" b.txt
I AM A TEACHER
[root@oldboyedu ~]# grep "i" b.txt
i am a study
[root@oldboyedu ~]# grep "i" b.txt? a.txt
b.txt:i am a study
a.txt:i am a teache
[root@oldboyedu ~]# grep "i" b.txt
i am a study
[root@oldboyedu ~]# grep "I" b.txt
I AM A TEACHER
[root@oldboyedu ~]# grep -i "a" b.txt
I AM A TEACHER
i am a study
[root@oldboyedu ~]# grep -v "a" b.txt
I AM A TEACHER
58期
[root@oldboyedu ~]# grep -n "a" b.txt
2:i am a study
[root@oldboyedu ~]# grep -w "a" b.txt
i am a study
[root@oldboyedu ~]# grep -o "a" b.txt
a
a
[root@oldboyedu ~]# grep -o "A" b.txt
A
A
A
[root@oldboyedu ~]# grep -o "Am" b.txt
[root@oldboyedu ~]# grep -o -i "Am" b.txt
AM
am
[root@oldboyedu ~]# grep -o? "Am" b.txt
[root@oldboyedu ~]# egrep -o? "Am" b.txt
[root@oldboyedu ~]# egrep -o? "A|m" b.txt
A
A
A
M
tr替換或刪除
從標準輸入中替換岭接、縮減富拗、或者刪除字符臼予,并將結果寫到標準輸出
語法:tr選項字符1字符2
選項:-d刪除字符
例子
[root@oldboyedu ~]# cat a.txt
i am a teache
hello
?world
[root@oldboyedu ~]# tr 'a' 'A ' < a.txt
i Am A teAche
hello
?world
[root@oldboyedu ~]# tr 'a' 'A ' < a.txt? >>a.txt
[root@oldboyedu ~]# cat a.txt
i am a teache
hello
?world
i Am A teAche
hello
?world
7.10.4重定向符號的核心知識
1.標準輸入、輸出啃沪、錯誤輸出
2標準輸入是一個名詞粘拾,它表示數(shù)據(jù)的一個流向方向,通常表示數(shù)據(jù)從文件等流入
到處理的工具或者命令中创千,用代碼0表示缰雇,使用<或者<<符號來指示數(shù)據(jù)朝箭頭所指的
方向流向
標準輸出是一個名詞,也表示一個數(shù)據(jù)的流向方向追驴,使用>或>>來表示數(shù)據(jù)朝向方向
和標準輸入不同械哟,1表示將命令等處理的一般信息輸出到文件
標準錯誤輸出是另一個名詞,也是表示數(shù)據(jù)的一個流向方向殿雪,通常用2表示暇咆,使用
>或>>符號啦指示數(shù)據(jù)朝向
3、標準輸出實際范例
[root@oldboyedu ~]# echo ssss >c.txt
[root@oldboyedu ~]# cat c.txt
ssss
標準錯誤輸出
[root@oldboyedu ~]# ch fsdfsdf >>c.txt
-bash: ch: command not found
[root@oldboyedu ~]# ch fsdfsdf 2>>c.txt
[root@oldboyedu ~]# cat c.txt
ssss
-bash: ch: command not found
標準輸入
[root@oldboyedu ~]# xargs -n 3 <b.txt
I AM A
TEACHER i am
a study 58期
[root@oldboyedu ~]# xargs -n 4 <b.txt
I AM A TEACHER
i am a study
58期
[root@oldboyedu ~]# xargs -n 9 <b.txt
I AM A TEACHER i am a study 58期
考試題:已知文件test.txt內(nèi)容如下
??????? test
??????? liyao
??????? oldboy
請給出在屏幕輸出test.txt內(nèi)容時冠摄,不包括oldboy字符串的命令
第一種方法
[root@oldboyedu ~]# grep -v "oldboy"? test.txt
test
liyao
第二種
[root@oldboyedu ~]# head -2 test.txt
test
liyao
---------------------------------------------------------
第十天預習筆記
第七章糯崎、查看命令的使用及軟硬連接
1、使用echo輸出
?????? [root@oldboyedu /data]# echo "i am studying centos
i am studying linux
2河泳、特殊符號重定向符號>的說明
>為重定向符號,表示清除原文件里面的所有內(nèi)容年栓,然后把內(nèi)容寫到文件的尾部
>>為追加重定向拆挥,即追加內(nèi)容到文件的尾部(文件的最后一行)
3、cat
在多行追加文本內(nèi)容時某抓,也可以利用cat加追加重定向符號實現(xiàn)和echo相同的功能
4纸兔、重定向符號的核心知識
1)重定向簡介:重定向是Linux的一個重要的名詞,使用重定向符號否副,可以讓數(shù)據(jù)從一個
地方(文件或工具)無損失地流到另一個地方(文件或工具)
2)標準輸入汉矿、輸出、錯誤輸出
3)標準輸出實際范例
[root@oldboyedu /data]# echo "12334" >oldboy.txt
[root@oldboyedu /data]# cat oldboy.txt
12334
4)錯誤輸出案例
[root@oldboyedu ~]# ech 232 1>>a.txt 2>b.txt
[root@oldboyedu ~]# cat a
aa.txt? a.txt??
[root@oldboyedu ~]# cat a.txt
[root@oldboyedu ~]# cat b.txt
-bash: ech: command not found
[root@oldboyedu ~]#
5)輸入重定向的實例
?[root@oldboyedu ~]# echo 1 2 3 >oldboy.txt
?[root@oldboyedu ~]# cat oldboy.txt
1 2 3
6备禀、軟連接及硬鏈接
ln? -s? test? test/? 報錯
ln? -s? test-1?? test? ? 這是軟鏈接洲拇,正確的
軟連接 特點
1、軟連接相當文件的不同入口(快捷方式)
2曲尸、軟連接依附于文件實體存在赋续,不可獨立存在(原文件刪除,軟連接失效)
3另患、軟連接不可移動
ln? test?? test1
硬鏈接特點:1纽乱、相當于原文件的備份或克隆,與原文件索引節(jié)點相同
2昆箕、硬鏈接可以獨立存在鸦列,可以用硬鏈接找回原文件租冠,改名
3、硬鏈接可移動
4薯嗤、硬鏈接只能對文件做鏈接顽爹,不可對目錄做鏈接?