好程式設計師分享Linux重器vi編輯器
建立練習檔案
[root@tianyun ~]# ll -a > list.txt
檔案編輯器
gedit
檔案編輯器
vi, vim, nano
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/69913892/viewspace-2650744/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux 退出Vi編輯器Linux
- 雲端計算開發入門課程:Linux重器 vi編輯器Linux
- 程式設計師常用的編輯器程式設計師
- AIX VI編輯器AI
- 12 vi編輯器
- linux命令之vi文字編輯器Linux
- linux中vi編輯器的使用Linux
- linux下vi編輯器命令大全Linux
- 好程式設計師Python培訓分享入門必會的3款程式碼編輯器程式設計師Python
- VI編輯器基本教程
- Linux– 檔案編輯器 vi/vim(1)Linux
- Linux下的編輯器――vi大全(轉)Linux
- 7個最受Linux程式設計師歡迎的程式碼編輯器Linux程式設計師
- 5個最受Linux程式設計師歡迎的程式碼編輯器Linux程式設計師
- vi編輯器相關命令
- Vi/Ex編輯器教程[4]
- Vi/Ex編輯器教程[3]
- Vi/Ex編輯器教程[2]
- Vi/Ex編輯器教程[1]
- 好程式設計師web前端教程分享CSS預編譯器的再次理解程式設計師Web前端CSS編譯
- 好程式設計師web前端分享用CSS和JS打造一個簡單的圖片編輯器程式設計師Web前端CSSJS
- Linux-vi編輯器開發必備操作Linux
- linux vi編輯器中 快捷鍵上下翻頁Linux
- Linux下字元介面文字編輯器 vi(轉)Linux字元
- Unix vi編輯器命令總結
- 好程式設計師web前端分享邏輯運算程式設計師Web前端
- Linux系統下都vi文字編輯器如何使用?Linux
- 使用 Vi/Vim 編輯器:基礎篇
- 好程式設計師分享HashSet實現去除重複元素程式設計師
- 程式設計師常用的五種輕量級程式碼編輯器程式設計師
- 哈哈:180萬程式設計師不知如何退出Vim編輯器...程式設計師
- 好程式設計師Java教程分享詳細瞭解Javasax解析器程式設計師Java
- Linux Vi編輯器的三種模式分別指什麼?Linux模式
- 使用vi文字編輯器及Linux複製貼上小技巧Linux
- linux編輯器Linux
- Linux VI編輯命令使用Linux
- 快速上手Linux核心命令(六):Linux的文字編輯器vi和vimLinux
- Linux 筆記分享五:VIM 文字編輯器Linux筆記