day5命令-初識三劍客

上週五學習的課程 週六週日半學半玩 也沒弄

下午要講新課了 說一下上週五學的 


移動 mv


把/data 移動到 /root目錄下面  

mv  /data/ /root/   移動之後以後源文件不存在


mv 修改文件名 重命名


mv  oldboy.txt  oldgirl.txt         把oldboy.txt 修改爲 oldgirl.txt


備份文件 cp


cp   進入要改文件的目錄

cp oldboy.txt     oldboy.txt.bak


刪除目錄  rm


rm  -rf  /data 

-f 強制刪除  -r遞歸刪除 

最好把-rf 放在最後 以免誤刪       

rm   /data  -rf


find 命令

查找出 root 中 名字是 oldboy.txt的文件


find  /root -type        f                -name "oldboy.txt"

查找   root   格式  普通文件           名字爲      xxxxxx



查找出root下 所有結尾爲 .txt 的文件 並詳細顯示出來

find  /root -type f -name "*.txt" |xargs  ls -l  


find 接管道的時候 後面要加xargs  |xargs  固定格式


cd 

cd.. 進入上一級目錄

cd.  進入當前目錄


grep 過濾


先創建環境

mkdir -p /data

cat >/data/test.txt<<EOF

test

liyao

oldboy

EOF

請給出輸出test.txt文件內容時,不包含oldboy字符串的命令。


方法1 

grep -v "oldboy" /data/test.txt 


-v參數  反選 


方法2 

[root@oldboyedu50 data]# head -n2 /data/test.txt

test

liyao

[root@oldboyedu50 data]# head -2 /data/test.txt

test

liyao

 

#head 顯示文件的前幾行內容 默認顯示前10

#tail 顯示文件的最後幾行內容 默認顯示最後10

 

#顯示文件最後一行

[root@oldboyedu50 data]# tail -1 /data/test.txt

oldboy


-n幾 顯示幾行  也可以省略n  直接 -幾


方法3 awk


[root@oldboyedu50 data]# awk '/oldboy/'  /data/test.txt  取帶有 oldboy 的行 

oldboy

[root@oldboyedu50 data]# awk '!/oldboy/'  /data/test.txt  不顯示帶有 oldboy 的行      !反選  

test

liyao


方法4 sed

[root@oldboyedu50 data]# sed '/oldboy/d'  /data/test.txt   取不帶有oldboy的行    加d 反選

test

liyao


sed 加d 反選 跟grep -v  awk加! 一個性質   


請用一條命令創建目錄 /oldboy/test

mkdir -p /oldboy/test

-p 創建多層目錄



只查看ett.txt文件(共100行)內第20到第30行的內容

[root@oldboyedu50 data]# seq 10         顯示1-10行

1

2

3

4

5

6

7

8

9

10

 

 

seq 40  >/data/ett.txt         顯示40行 追加到文件中

 

#方法1 head + tail 


[root@oldboyedu50 data]# head -30 /data/ett.txt |tail -11  先取頭30行 然後取後11行  head或tail不加-幾時  默認前十或後十行

20

21

22

23

24

25

26

27

28

29

30

 

#顯示文件的第3040

 

 head -40 /data/ett.txt |tail -11

 tail -11 /data/ett.txt

 

 

#方法2 sed 取行

[root@oldboyedu50 data]# sed -n  '3p' /data/ett.txt

3

#-n 取消默認輸出(sed命令不會把文件內容都顯示出來)

[root@oldboyedu50 data]# sed -n  '3p' /data/ett.txt

3

#print

[root@oldboyedu50 data]# sed -n  '20p' /data/ett.txt

20

[root@oldboyedu50 data]# sed -n  '20,30p' /data/ett.txt

20

21

22

23

24

25

26

27

28

29

30

 

 

#方法3 awk

[root@oldboyedu50 data]# awk  'NR==3' /data/ett.txt

3

[root@oldboyedu50 data]# #     'NR行號 等於  3'

[root@oldboyedu50 data]# awk  'NR==20,NR==30' /data/ett.txt

20

21

22

23

24

25

26

27

28

29

30


週五主要講了  三劍客如何取行 和一些參數  簡單總結一下

awk

awk '!/xxxx/'  /data      

! 反選  

'NR==10'  取行


sed 

sed   加d 反選  

-n 取消默認輸出

3p  取第三行


grep  

grep -v 反選 


head  默認顯示前十行

tail     默認顯示後十行
































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章