一、vim文本編輯器
vi vim emacs gedit
----------------------------------------------------------------------------------------
[root@bogon Desktop]# whereis vi
vi: /bin/vi /usr/share/man/man1p/vi.1p.gz/usr/share/man/man1/vi.1.gz
[root@bogon Desktop]# rpm -qf /bin/vi
vim-minimal-7.2.411-1.8.el6.x86_64
----------------------------------------------------------------------------------------
[root@bogon Desktop]# whereis vim
vim: /usr/bin/vim /usr/share/vim/usr/share/man/man1/vim.1.gz
[root@bogon Desktop]# rpm -qf /usr/bin/vim
vim-enhanced-7.2.411-1.8.el6.x86_64
----------------------------------------------------------------------------------------
vim
[root@bogon Desktop]# vim -o /etc/passwd /opt/passwd ----多個文本編輯
ctrl+ww ----各個文本的切換
vim 模式:
1、輸入模式(插入模式)
a ----光標所在的後一個字符
A ----光標所在的行尾
o ----光標所在行的新起下一行
O ----光標所在行的新起上一行
i ----光標所在位置的前一個字符
I ----光標所在行首
s ----刪除光標所在字符進入
S ----刪除光標所在行進入
r ----替換一個字符
R ----替換模式,替換所有字符知道輸入esc鍵退出替換模式
2、命令模式
yy ----複製光標所在行內容
nyy ----複製n行
p ----粘貼(光標所在行的下一行)
P ----粘貼在光標所在的上一行
dd ----刪除光標所在行
ndd ----刪除n行
gg ----文本頭部
ngg ----從頭部開始的n行
G ----文本尾部
u ----撤銷
x ----向後刪除一個字符(delete)
X ----向前刪除一個字符(baskspace)
快捷鍵:
HOME鍵 ----行首
END鍵 ----行尾
shift+^ ----行首
shift+$ ----行尾
h 左<--
l 右-->
k 上
j 下
--ctrl+b 向上翻頁 = page up
--ctrl+f 向下翻頁 = page down
ctrl+d 向下移動半頁
ctrl+u 向上移動半頁
3、末行模式:
輸入:進入到末行模式
1)查找
2)保存
3)讀一個文本進入當前文本
/關鍵字 ----向下查找
?關鍵字 ----向上查找
n ----向下匹配關鍵字
N ----向上匹配關鍵字
----------------------------------------------------------------------------------------
①臨時設置行號(臨時)
:set number ----設置行號(臨時)
②永久設置行號
[root@bogon Desktop]# vim /etc/vimrc
set number
[root@bogon Desktop]# source /etc/vimrc ----設置即刻生效
[root@bogon Desktop]# . /etc/vimrc ----同上
----------------------------------------------------------------------------------------
2)保存
:nohl ----取消文本中的高亮提示
:w ----保存
:w /opt/abc ----另存爲
:1,10w /opt/abc ----將文本前1到10行保存到/opt/abc 指定另存文本的行數
:wq ----保存退出
:x ----同上
:wq! ----強制保存退出
:q ----退出
:q! ----強制退出
:e! -----可以撤消所有的修改至打開文件的
:r ----將另一個文本讀到當前光標所在位置的下一行
3)全文替換
:%s/content/newcontent/ -----全文中的每一行中的第一個匹配的content替換成newcontent
:%s/bin/sbin/ ----全文中的每一行裏的第一個bin被替換成sbin
:%s/bin/sbin/g ----全文替換(所有找到的bin關鍵字全部被替換)
:%s/bin/sbin/gc ----詢問式替換
:%s#/bin/bash#/sbin/nologin#gc
:10,20s/bin/sbin/gc -----10-20行內的bin替換sbin(指定替換區間)
==========================================================
二、文件查找
1、locate:只提供文件名稱查找 ----支持正則表達式(通過特定符號來表示特定意義)
通過查找數據庫表來找到文件位置。如果新建文件,數據庫表沒有更新就無法找到該文件。
updatedb ----更新數據庫表
查找速度快,但是如果有新文件,需要更新數據庫表才能找到,locate 不會到/tmp /var/tmp 臨時目錄查找數據。
2、find ----文件查找 支持多種查找方式
-name ----以文件名作爲查找方式 -type ----以文件類型
-user ----用戶 -group ----組
-perm ----權限 -uid -gid
-atime ----根據訪問時間查找
find / -atime -3 ----查找3天內被訪問過的文件 ‘-’ 代表天數之內
-ctime ----根據改變屬性時間查找
find / -ctime +15 ----查找15天前被改變屬性的文件
-mtime ----根據改變文件內容時間查找
-maxdepth ----查找的最大路徑
[root@bogon Desktop]# find /etc/-maxdepth 1 -name '*.conf'
/etc/resolv.conf ----在/etc下一級路徑內查找*.conf的文件
/etc/libuser.conf
/etc/idmapd.conf
/etc/asound.conf
/etc/e2fsck.conf
/etc/mke2fs.conf
/etc/mtools.conf
/etc/sestatus.conf
/etc/host.conf
/etc/ld.so.conf
/etc/request-key.conf
/etc/nsswitch.conf
-mindepth ----查找的最小路徑
-regex ----支持正則表達式查找
-empty ----內容爲空的文件
-fstype ----根據不同的文件系統類型
-inum ----根據inode節點編號(查找硬鏈接inode相同)
-newer file1 ! file2 查找更改時間比文件file1新但比文件file2舊的文件。
-readable ----可讀文件
-writeable ----可寫文件
-samefile name ----同inum inode編號找出 ,samefile 文件名稱,inum找相同inum的文件名
-size n[cwbkMG] ----根據文件大小查找
eg:find / -size +1G ----查找大於1G的文件
find / -size -4k ----查找小於4k的文件
‘+’ 大於
‘-’ 小於
File uses n units of space. Thefollowing suffixes can be used:
‘b’ for 512-byte blocks (thisis the default if no suffix is used)
‘c’ for bytes
‘w’ for two-byte words
‘k’ for Kilobytes (units of1024 bytes)
‘M’ for Megabytes (units of1048576 bytes)
‘G’ for Gigabytes (units of1073741824 bytes)
3、find / -user kiosk -exec cp {} /tmp/kiosk -a \;
-exec 將find找到的結果交給後面的cp命令處理
\ ----代表轉義
; ----代表命令結束
4、find / -size 1000c -ok {} /var/tmp/ \; ----ok 交互式詢問