雲端計算開發入門課程:Linux重器 vi編輯器

千鋒雲端計算發表於2019-07-17

雲端計算開發入門課程:Linux重器 vi編輯器講解:

建立練習檔案

[root@tianyun ~]# ll -a > list.txt

檔案編輯器 gedit

檔案編輯器 vi, vim, nano

vi編輯器工作模式


雲端計算開發入門課程:Linux重器 vi編輯器


命令模式:

a. 游標定位 

hjkl

0 $

gg G

3G 進入第三行

/string (n N 可以迴圈的) 快速定位到某一行

/^d

/txt$

b. 文字編輯(少量)

y 複製 yy 3yy ygg yG (以行為單位)

d 刪除 dd 3dd dgg dG (以行為單位)

p 貼上

x 刪除游標所在的字元

D 從游標處刪除到行尾

u undo撤銷

^r redo重做

r 可以用來修改一個字元

c. 進入其它模式

a 進入插入模式

i 進入插入模式

o 進入插入模式

A 進入插入模式

: 進入末行模式(擴充套件命令模式)

v 進入可視模式

^v 進入可視塊模式

V 進入可視行模式

R 進入替換模式

插入模式:

^P

可視塊模式:

塊插入(在指定塊前加入字元): 選擇塊,I 在塊前插入字元, ESC

塊替換: 選擇塊,r 輸入替換的字元

塊刪除: 選擇塊,d | x

塊複製: 選擇塊,y

擴充套件命令模式:

a. 儲存退出

:10 進入第10行

:w 儲存

:q 退出

:wq 儲存並退出

:w! 強制儲存

:q! 不儲存並退出

:wq! 強制儲存退出

:x 儲存並退出 ZZ

b. 查詢替換

:範圍 s/old/new/選項

:1,5 s/root/yang/ 從1-5行的root 替換為yang

:5,$ s/root/yang/ $表示最後一行

:1,$ s/root/yang/g = :% s/root/yang/g %表示全文 g表示全域性

:% s#/dev/sda#/var/ccc#g

:,8 s/root/yang/ 從當前行到第8行

:4,9 s/^#// 4-9行的開頭#替換為空

:5,10 s/.*/#&/ 5-10前加入#字元 (.*整行 &引用查詢的內容)

c. 讀入檔案/寫檔案(另存為)

:w 儲存到當前檔案

:w /tmp/aaa.txt 另存為/tmp/aaa.txt

:1,3 w /tmp/2.txt

:r /etc/hosts 讀入檔案到當前行後

:5 r /etc/hosts 讀入檔案到第5行後

d. 設定環境 

臨時設定:

:set nu 設定行號

:set ic 不區分大小寫

:set ai 自動縮排

:set list 顯示控制字元

:set nonu 取消設定行號

:set noic

永久的環境: 修改vim環境配置檔案

/etc/vimrc 影響所有系統使用者

~/.vimrc 影響某一個使用者

# vim ~/.vimrc

set ic

set nu

刪除一定要使用相對路徑,不要使用絕對路徑

# vim -O /etc/hosts /etc/hostname ^ww切換

# cp /etc/hosts hosts1

# vimdiff /etc/hosts hosts1

==================================================================

建立檔案

[root@localhost ~]# touch aa.txt

[root@localhost ~]# touch aa.txt cc.txt tt.txt

[root@localhost ~]# touch abc{1..10}.txt

[root@localhost ~]# touch {a,b,c}{1..3}.txt

建立目錄

[root@localhost ~]# mkdir abc

[root@localhost ~]# mkdir abcd abce abcf

[root@localhost ~]# mkdir abc{1..5}

[root@localhost ~]# mkdir -p /root/aa/cc

[root@localhost ~]# mkdir -pv /root/aa/cc -p 遞迴 -v 顯示過程

複製 cp

cp 原始檔地址 目標地址

[root@localhost ~]# cp /root/abc1.txt /tmp/

[root@localhost ~]# cp /root/abc1.txt /tmp/test.txt 複製過程中重新命名

複製目錄

[root@localhost ~]# cp -r /root/abcd/ /tmp/

[root@localhost ~]# cp -r /root/abcd/ /tmp/aaa 重新命名

剪下 mv

cp 原始檔地址 目標地址

[root@localhost ~]# mv /root/tt.txt /tmp/

[root@localhost ~]# mv /root/tt.txt /tmp/back.txt

移動目錄

[root@localhost ~]# mv /root/abcf/ /tmp/

[root@localhost ~]# mv /root/abcf/ /tmp/back

刪除 rm rmdir

rmdir 只能刪除空目錄

rm

[root@localhost ~]# rm aa.txt

[root@localhost ~]# rm -f cc.txt

[root@localhost ~]# rm -rf abce/

[root@localhost ~]# rm -rf a1.txt a2.txt

[root@localhost ~]# rm -rf *.txt

[root@localhost ~]# rm -rf abc*

[root@localhost ~]# rm -rf *

[root@localhost ~]# rm -rf /install.log

檢視檔案內容

head

[root@localhost ~]# head /root/install.log

[root@localhost ~]# head -n 20 /root/install.log

[root@localhost ~]# head -20 /root/install.log

tail

[root@localhost ~]# tail /root/install.log

[root@localhost ~]# tail -20 /root/install.log

[root@localhost ~]# tail -f /var/log/messages 監控日誌檔案

more

[root@localhost ~]# more /root/install.log

空格向後一頁 回車向後一行 b 向前一行

less

[root@localhost ~]# less /root/install.log

cat

[root@localhost ~]# cat -n /root/install.log

[root@localhost ~]# cat -n aa.txt 所有行

[root@localhost ~]# cat -b aa.txt 有效行

[root@localhost ~]# cat -n /root/install.log | less

練習:

1.建立以下目錄結構?並且驗證?(一條命令?)

/aa

/ \

bb/ bc/

/ \ \

ca/ cb/ cc/

[root@localhost ftp]# mkdir -pv /aa/bb/c{a,b} /aa/bb/cc

[root@localhost ftp]# mkdir -pv /aa/b{b/c{a,b},c/cc}

[root@localhost ftp]# ls -R /aa/

[root@localhost ftp]# tree /aa

/aa

├── bb

│  ├── ca

│  └── cb

└── bc

└── cc

[root@localhost ftp]# tree -L 2 / -L level

2.將/etc/man.config複製到ca目錄 (2種寫法) 當前目錄時/

[root@localhost ~]# cp /etc/man.config /aa/bb/ca/

[root@localhost /]# cp etc/man.config /aa/bb/ca/

3.將ca下的man.config移動到cc目錄並重新命名為test.txt(2種) 當前目錄bb

[root@localhost bb]# mv /aa/bb/ca/man.config /aa/bc/cc/test.txt

[root@localhost bb]# mv ca/man.config /aa/bc/cc/test.txt

4.兩次複製同一檔案到同一目錄下,不出現覆蓋提示

[root@localhost ~]# \cp /root/install.log /tmp/

[root@localhost bb]# /bin/cp /root/install.log /tmp/install.log

[root@localhost bb]# unalias cp

[root@localhost bb]# cp /root/install.log /tmp/install.log

5.只顯示/root/install.log檔案的第1001行

[root@localhost bb]# cat -n /root/install.log | head -1001 | tail -1

VIM文字編輯器

vim的3種基本模式:命令模式,輸入模式,末行模式

由命令模式切換到輸入模式:

a 當前字元後輸入

A 當前行行尾輸入

i 當前字元前輸入

I 當前行行首輸入

o 當前行下一行輸入

O 當前行上一行輸入

s 刪除當前字元後輸入

S 刪除當前行後輸入

命令模式下

u 撤銷一步操作

ctrl+r 重做

複製一行 yy 貼上p

複製50行 50yy

剪下/刪除一行 dd

剪下/刪除50行 50dd

^行首

$行尾

d^ 刪除當前字元到行首

d$ 刪除當前字元到行尾

y^

y$

替換

:s/ab/**/ 替換當前行匹配到的第一個字串

:s/ab/**/g 替換當前行所有的匹配字串 s 替換 g 全域性

4.開啟新的標籤ctrl+shift+t alt+1..... 切換標籤 ctrl+shift+w 關閉標籤 ctrl+shift+q 關閉所有終端

#bin 下的存的是命令

使用Shell的兩種方式:

輸入命令 效率低 適合少量的工作

Shell Script(指令碼) 效率高 適合完成複雜,重複性工作

pwd 顯示當前完整目錄

# 表示我們當前使用的是超級賬戶

$ 表示我們當前使用的是普通賬戶

長主機名:zhuangyao.baidu.com

輸入bash命令注意事項:

輸入命令:

#命令 【選項】 引數 運算子

#ls

所有命令後必須有空格(空格的個數沒有上線)

tab:自動補全

沒補全的原因: 命令寫錯 沒有可執行許可權

ctrl+c :中斷當前的輸入

常用快捷鍵:

Ctrl + c:終止命令

Ctrl + 上下左右: 以單詞移動

移到命令列首 home

移到命令列尾 end

思考題:

從游標處刪除至命令列首

從游標處刪除至命令列尾

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2650884/,如需轉載,請註明出處,否則將追究法律責任。

相關文章