⑴ 怎樣刪除AIX命令歷史記錄
UNIX(AIX)系統常用命令
AIX的命令格式:
$command option(s) argument(s)
command:命令
option(s):命令選項,均以'-'號開始
argument(s):參數
命令 用途
----------------------------------------------------------------------------
prtconf 顯示系統的各項主要配置
svmon -G 查看內存(4k)
iostat 2 查看磁碟讀寫情況(每2秒刷新);
set -o vi 調用緩沖區 k,j,x,h,l 向上下翻,Esc
smit 進入管理界面
cd 改變路徑
ls 列出文件
ls -aF 列出隱含文件,並適當分類
ls -l 列出文件的詳細信息
ls -ltr
more 輸出文件內容到屏幕
cat 顯示文本文件內容/合並文件
pg 分頁顯示文件內容,回車後下一頁
file 顯示文件屬性(可執行/ASCII/等)
clear 清屏
mkdir 創建目錄
rmdir 刪除目錄
cp 拷貝文件
mv 文件/目錄改名,轉移
rm 刪除文件/目錄, 如:rm -fr ora*
rmdir 刪除目錄,如: rmdir oracle
df -k 顯示文件系統的信息
磁碟使用信息匯總
mount 顯示已經掛裝的文件系統的信息或掛裝文件系統 mount -rv cdrfs /dev/cd0 /cdrom mount /dev/lv02 /u01
umount 卸載某個文件系統 umount /cdrom
fuser -kxuc /dev/cd0 當光碟機不能正常釋放時
lsattr -E -l sys0 -a realmem 察看內存的命令
env 輸出用戶環境變數到屏幕
id 察看用戶的屬性
whoami 察看當前用戶名
who 查看已經登錄的用戶
who -r 查看目前系統的運行級別
users 用單獨的一行列印出當前登錄的用戶,每個顯示的用戶名對應一個登錄會話
如果一個用戶有不止一個登錄會話,那他的用戶名將顯示相同的次數
w 顯示當前系統中每個用戶和它所運行的進程信息
last 此命令往回搜索wtmp來顯示自從文件第一次創建以來登錄過的用戶
whereis 命令的絕對路徑
passwd 設置用戶密碼
su 改變/切換用戶id
lsuser ALL 列出所有已經創建的用戶
lsgroup ALL 列出所有已經創建的組
smitty user 管理用戶
mkuser 創建新用戶,創建用戶的預設屬性值於文件:/usr/lib/security/mkuser.default,只能由root修改
smitty group 管理組
mkgroup 創建新組
chfn 改變用戶詳細信息
jobs 查看後台任務/進程
fg 把後台進程調到前台
bg 把當前進程調到後台運行
grep 查找匹配字元/字元串
netstat -i 顯示網路連接信息及統計信息
netstat -IN
netstat -rn 顯示核心路由表
netstat -I 網路設置名 埠號 監視埠情況
netstat -v 正在使用的設備驅動程序的統計信息
netstat -m 網路使用的內存空間情況
netstat -D 顯示丟棄包的情況
ifconfig -a 顯示網路配置信息
umask 顯示文件創建掩碼,即新建文件或目錄的預設許可權,如#umask 664
date 系統時間
find path expression 查找文件,expression的值有:
-name/-type/-size/-mtime(修改時間)/-perm(許可權)/-usr/-o(或)
uname 顯示操作系統信息
oslevel 系統版本
man 幫助文件
smitty clstart | clstop 起用|關閉HA
smitty hamcp
smitty chinet 改變網卡的配置信息
smitty cluster 配置cluster
smitty hacmp 配置hacmp
/usr/sbin/cluster/clstat & 顯示cluster信息
dbassist 啟動oracle資料庫配置助手(dbca -9i 可以用配置資料庫方式啟動一個資料庫)
netasst 啟動oracle資料庫listener配置助手(-9i oemapp是一個包,後跟參數,不同工具)
vi 文件編輯器
動作字元:
a 在當前字元後添加文字; x 刪除單個字元;
A 在當前行最後添加文字; dw 刪除至當前詞尾;
i 在當前字元前添加文字; d$ 刪除至當前行尾;
I 在當前行開始處添加文字; d0 刪除至當前行首;
o 在當前行後添加新行; dd 刪除當前行;
O 在當前行前添加新行; :20,40d 刪除20行至40行;
/text 向後查詢 ?text 向前查詢
r 修改當前字元 R 覆蓋字元,直至按下[ESC]
s 刪除當前字元,並可添加字元直至按[ESC]
S 刪除當前行,並可添加字元直至按[ESC]
yy 將當前行存入緩沖區
dd
p
P
errpt|pg 創建/顯示錯誤文件
errclear 0 清除錯誤日誌文件內容
lsvg -o 顯示卷組信息
lsvg -l rootvg
instfix -iv|grep AIX_ML 安裝的文件集
smitty tcpip tcp/ip配置
lsdev -Cc disk 系統設備信息(磁碟)
lspv 顯示卷組里的物理卷信息
lsdev -Cc pdisk 顯示陣列里的磁碟信息
errclear 清除error log
lsps -a 顯示交換空間
swapon /dev/paging01 激活交換空間
chps -a paging01 刪除交換空間
rmps paging01 刪除不活動的交換空間
smit mkps 增加交換空間
smit chps 修改交換空間
varyonvg 激活卷組 如:varyonvg datavg 將datavg激活
varyoffvg 關閉卷組
/ect/services 查看埠
/etc/hosts 機器名IP對照表
/etc/inittab 相當於DOS的AUTOEXEC.BAT文件
/etc/filesystems 記錄所有的文件系統設置
增加並配置埠
刪除埠
ftp://[email protected]/ 在客戶端登錄AIX(用IE)
lscfg
lsdev
route ADD 0 10.188.12.1
route add default 192.168.0.1 設置網關(或在/etc/defaultrouter文件中加入網關地址,重起機器就行)
su root 以ROOT用戶登錄;
smitty lv 增加邏輯盤
LN -s 源目錄 目標目錄 鏈接
ls -l 查看許可權
./fielname 運行filename文件
smitty clstart 啟動HA
smitty clstop 停止HA
.filename 表示filename文件(目錄)為隱藏;
cat file1 >> file2 合並file1到file2
SMIT 綜合管理工具
# 表示ROOT用戶;
$ 表示一般用戶;
shutdown -fr 快速重啟;
smitty crjfs 創建結點; mount /u05 chown -R oracle.dbs u05 chmod -R 777 u05
加一個文件系統的步驟: 加文件系統/chmod/chown/mount 文件系統名
smitty jfs
smitty lv
smitty lvm 管理邏輯卷
smitty vg 管理卷組
smitty chvg
drwxrwxrwx d表示目錄,-表示普通文件,r表示鏈接; d421421421 777全部許可權
-rwxrwxrwx 第2-4:屬主用戶,5-7:同組用戶,8-10所有用戶
date 0217142590 This sets the date and time to Sat Feb 17 14:25:00 CST 1990.
當root不能在其終端上登錄時 修改/etc/hosts文件,查看其IP地址對應的主機名;
當其他用戶不能在其終端上登錄時 刪除用戶,並刪除/home下對應的目錄,重建;
smitty aio 調整aioservers
#pstat -a|grep aios|wc -l 查看aio的值是否常達到MAX,IF 增加MIN, MAX aio;
當任何用戶都不能登錄圖形界面時 有可能根結點充滿,在登錄窗口用字元方式登錄,加大根結點空間即可;
ps -ef | grep cluster 查找包含"cluster"的進程
more /etc/passwd|grep zhxx 查找靜態字元"zhxx"
pe -f 進程查看,如:# ps -f
UID PID PPID C STIME TTY TIME CMD
root 43626 45014 0 20:38:58 pts/1 0:00 -ksh
root 47710 43626 2 21:08:03 pts/1 0:00 ps -f
用戶ID 進程ID 父進程ID CPU利用率 開始時間 控制台 運行時間 命令
kill -9 **** ***為進程號,可用ps獲得
ping 10.188.12.252 -l 17000 -t 以17000 bytes/包 ping 目標
crontab 創建計劃任務(crontab -l 查看已有任務, crontab -e 編輯或增加,刪除任務)
0 2 * * * /u05/dmpbak/auto.sh 表示:每天兩點執行/u05/dmpbak/auto.sh文件
lsfs 列出所有文件系統
lsvg -l rootvg 列出rootvg的卷
lsvg -p rootvg 列出物理卷信息
lsvg datavg 可查詢空閑物理分區數
smit reogvg 重組卷組
smit importvg 導出卷組,卷組必須是不活動的;
lspv hdisk0 顯示物理卷
lspv -l hdisk0 邏輯卷映射
lspv -p hdisk0 物理卷映射
defragfs -q /u01 報告文件系統的當前狀態
defragfs -r /u01 得到碎片連續化操作後和前後對比情況
defragfs /u01 執行碎片連續化操作
fsck /u05 檢查u05文件系統
xclock 時鍾,可用於檢查環境是否正常
chmod 777 /u02
r 2=3 相當於:chmod 777 /u03
rsh zzyc2_sev 在其他機器上登錄某主機
dgmgrl 類似SVRMGRL(9i)
ps -ef |grep oracle |pg 查看oracle用戶的所有進程
kill -9 14206 殺14206#進程
kill -l 顯示KILL命令可以用的信號量
killall signal 刪除除發送外的其他所有進程
/usr/sbin/cluster/clstat & 顯示雙機熱備狀態圖
exit或logout 退出登錄
qprt filename1,filename2... 列印文件
qchk 查看列印隊列
qcan 取消列印作業
lsps -a 查詢交換空間,如USE超過70%,則要增加
set 查看已定義的變數;
echo $name 查看某個變數的值;
xxx=value 定義變數
unset xxx 刪除變數
`` 把``之間的內容作為一個命令,返回命令結果; 如$now=`date` $echo $now
'' 直接顯示''間的內容,不予解釋;
"" 解釋""間的$,``,等字元的特殊含義;
忽略後的特殊字元的特殊含義;
$$ 表示當前進程的ID
$0 當前shell程序的名稱
$# 傳給當前shell Script的參數個數;
$* 傳給當前shell Script的第*個參數,$1-$9,${10}......
$? 最近一個命令的返回值;
$! 最近一個後台進程的ID號;
expr shell下的四則運算:
* 乘;/除; % 求余數; +,- 如:expr (3+3)*(4-2)
command1 && command2 如果第一個命令執行成功,則運行第二個命令;
command1 || command2 如果第一個命令執行失敗,則運行第二個命令;
test 表達式 測試條件表達式,主要有:
-f filename 文件是否存在;
-d dirctory 目錄是否存在;
-r filename 文件存在,且能被當前進程讀;
-w filename 文件存在,且能被當前進程寫;
-x filename 文件存在,且能被當前進程運行;
-n string 字元STRING長度非零;
-z string 字元STRING長度零;
string1=string2 兩個字元串相同;
integer1 -eq integer2 兩個變數相等;(ne:不等 gt:大於 lt:小於 le:小於等於 ge:大於等於)
if ..
then ..
else...
fi
read xxx 從標准輸入讀入一行,賦給xxx變數; read x echo $x
for i in ....
do
...
done
while expression
do
...
done
ksh scriptname
scriptname
pathname/scriptname shell script的三種執行方法
#command 前台進程
#command & 後台進程
nice/renice 增加/再增加nice的值,從而降低進程優先順序;
nohup command & 使用戶的後台進程在用戶退出時仍然運行
#alias alias=string 賦命令別名
unalias aliasname 取消命令別名
history 顯示最後的16條命令
cal 2003/cal 2 2003 日歷
finger [oracle] 顯示用戶信息
mail 接收,發出,查看電子郵件
clear 清屏
echo 顯示指定信息
wc filename 統計指定文件的行數,詞數,位元組數
head filename 顯示文件頭
tail filename 顯示文件尾
tail -f /tmp/hacmp.out 顯示HACMP啟動情況
[^+C]/[^+d]/[^+s]/[^+q]/[^+u] 終止/結束文件傳輸/暫停屏幕輸出/繼續屏幕輸出/刪除當前輸入行
smit(system management interface Tool)
其log文件/script文件保存在各用戶目錄下;
alog -o -t boot 查看引導日誌
chtz 設置新時區
/etc/profile
/etc/environment
$HOME/.profile 系統設置用戶環境的主要文件;
lsuser -a id home ALL 列出所有用戶
/etc/motd 用戶登錄時顯示的信息,可直接編輯,但如果用戶主目錄下$HOME/.hushlogin存在,motd不顯示;
wall ***** 向各登錄用戶發出*****消息,用戶終端上將馬上顯示;
/var/adm/sulog su命令執行記錄
/var/adm/wtmp,/etc/utmp 用who命令查看登錄記錄
last root |pg root用戶登錄記錄
last reboot | pg 重啟記錄;
/etc/passwd 合法用戶(不含密碼)
/etc/group
/etc/security 普通用戶不能訪問的安全性文件目錄
lsdev -P 列出所有的設備, lsdev -Pc disk
smitty devices 設備管理
lsattr -E -l sys0 列出已配置的設備
jfs/Cdrfs/Nfs AIX支持的三種文件系統
/var/adm/wtmp
/var/spool/*/*
/smit.log
/etc/securibty/failedlogin
/var/adm/sulog 這些文件增長很快,要定期清理,可用cat /dev/null > filename方式清理
/u05 | sort -r -n 查詢文件或目錄所佔用的磁碟塊數
vmstat 顯示虛擬內存,內存及CPU活動信息;
arp -a 查看解析協議ARP表
hostname 顯示機器名
/etc/rc.tcpip 系統啟動時自動執行,進而執行以下子進程:
-syslogd :錯誤信息日誌
-portmap :埠查找
-inetd :Internet服務的主守護進程
-named :域名伺服器
-lpd :列印伺服器
-routed or gated :動態路由
-sendmail :郵件系統
-timed :時間伺服器
-rwhod :遠程用戶信息
-snmpd :SNMP代理進程
host 機器名/IP 實現IP與機器名的轉換
rsh PTYC2_svc date 執行另一台主機上的命令
lscfg 顯示機器配置信息
lsdev -C -c if 顯示網路介面描述
lsdev -C -c adapetr 顯示適配描述
netpmon -v 物理/邏輯資源的詳細報告
ps aux 查詢內存使用情況
sar [-u|-c|-a|-q|-r] [-p] 1 10 查詢系統負載情況
traceroute 10.188.182.1 跟蹤IP
netpmon 可以監控關於網路行為的系統事件和性能以及網路行為對CPU的消耗。
lsdev -C|grep Process|wc -l 顯示CPU數量
smitty mklv 創建裸設備(字元型設備);
smitty rmlv 刪除裸設備(字元型設備);
lslv ***** ******為裸設備名稱,顯示裸設備相關參數
/etc/default/login 加上CONSOLE=/dev/console 後,可防止root用戶telnet;
SSL工具代替telnet等,增加安全性
/etc/passwd .../bin/sh 對應 .profile
/etc/passwd .../bin/csh對應 .login
系統正常從桌面登錄執行 .dtprofile
su - username執行 .profile
vmstat 查詢內存情況
iostat
mpstat 查詢CPU情況
/etc/vfstab 磁碟目錄規劃
mount 目錄安裝情況
format 查看磁碟物理信息
p 分區
⑵ Vi編輯器的簡介
vi編輯器通常被簡稱為vi,而vi又是visual editor的簡稱 。它在linux上的地位就像Edit程序在DOS上一樣。它可以執行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據自己的需要對其進行定製,這是其他編輯程序所沒有的。
vi 編輯器並不是一個排版程序,它不像Word或WPS那樣可以對字體、格式、段落等其他屬性進行編排,它只是一個文本編輯程序。沒有菜單,只有命令,且命令繁多。vi有3種基本工作模式:命令行模式、文本輸入模式和末行模式。
Vim是vi的加強版,比vi更容易使用。vi的命令幾乎全部都可以在vim上使用。
⑶ Vi編輯器的基本使用方法及vi和Vim的區別
Vi最最基本的大概就這點吧:
進入Vi後是normal mode,按i可以進入insert mode,像用記事本一樣編輯文件(現在的Vi應該都支持上下左右鍵了吧。。。),按左上角的Esc可以回到normal mode。要退出,可以輸入:q[Enter],要保存可以輸入:w[Enter],要保存並退出可以輸入:wq[Enter]或者:x[Enter],要強制退出(比如修改了但不想保存)就輸入:q![Enter]。
如果不支持上下左右鍵,可以在normal mode里用hjkl鍵代替上下左右移動游標,我只記得h是←,l是→,上和下分不清了T_T(不好意思我這個渣渣都用上下左右。。。)
反正知道這些應該就可以用Vi了,只不過很不方便而已。。。
要學更多Vi的用法,可以在shell里運行
$vimtutor
或者到網上搜Vi tutorial。
Vim全稱Vi IMproved,可以開啟不兼容Vi的模式(一般都開啟)以得到更強大的編輯能力,好像包括自定義快捷鍵、使用插件什麼的,你去Vim官網看一下教程吧。
⑷ Vi編輯器的使用方法
vi編輯器是所有Unix及Linux系統下標準的編輯器,它的強大不遜色於任何最新的文本編輯器,這里只是簡單地介紹一下它的用法和一小部分指令。由於對Unix及Linux系統的任何版本,vi編輯器是完全相同的, 因此您可以在其他任何介紹vi的地方進一步了解它。Vi也是Linux中最基本的文本編輯器,學會它後,您將在Linux的世界裡暢行無阻。 基本上vi可以分為三種狀態,分別是
命令模式(command mode)
插入模式(Insert mode)
底行模式(last line mode)
1) 命令行模式command mode)
控制屏幕游標的移動,字元、字或行的刪除,移動復制某區段及進入Insert mode下,或者到 last line mode。
2) 插入模式(Insert mode)
只有在Insert mode下,才可以做文字輸入,按[ESC]鍵可回到命令行模式。
3) 底行模式(last line mode)
將文件保存或退出vi,也可以設置編輯環境,如尋找字元串、列出行號……等。
不過一般我們在使用時把vi簡化成兩個模式,就是將底行模式(last line mode)也算入命令行模式command mode)。 a) 進入vi
在系統提示符號輸入vi及文件名稱後,就進入vi全屏幕編輯畫面:
$ vi myfile
不過有一點要特別注意,就是您進入vi之後,是處於[命令行模式(command mode)],您要切換到[插入模式(Insert mode)]才能夠輸入文字。初次使用vi的人都會想先用上下左右鍵移動游標,結果電腦一直嗶嗶叫,把自己氣個半死,所以進入vi後,先不要亂動,轉換到 [插入模式(Insert mode)]再說吧!
b) 切換至插入模式(Insert mode)編輯文件
在[命令行模式(command mode)]下按一下字母i就可以進入[插入模式(Insert mode)],這時候你就可以開始輸入文字了。
c) Insert 的切換
您目前處於[插入模式(Insert mode)],您就只能一直輸入文字,如果您發現輸錯了字!想用游標鍵往回移動,將該字刪除,就要先按一下[ESC]鍵轉到[命令行模式(command mode)]再刪除文字。
d) 退出vi及保存文件
命令行模式下保存並退出:輸入ZZ
在[命令行模式(command mode)]下,按一下[:]冒號鍵進入[Last line mode],例如:
: w filename (輸入 [w filename]將文章以指定的文件名filename保存)
: wq (輸入[wq],存檔並退出vi)
: q! (輸入q!, 不存檔強制退出vi)
:x (執行保存並退出vi編輯器) 1). 插入模式
按切換進入插入模式,按「i」進入插入模式後是從游標當前位置開始輸入文件;
按[a]進入插入模式後,是從當前游標所在位置的下一個位置開始輸入文字;
按[o]進入插入模式後,是插入新的一行,從行首開始輸入文字。
2). 從插入模式切換為命令行模式
按[ESC]鍵。
3). 移動游標
vi可以直接用鍵盤上的游標來上下左右移動,但正規的vi是用小寫英文字母[h]、[j]、[k]、[l],分別控制游標左、下、上、右移一格。
按[ctrl]+[b]:屏幕往「後」移動一頁。
按[ctrl]+[f]:屏幕往「前」移動一頁。
按[ctrl]+[u]:屏幕往「後」移動半頁。
按[ctrl]+[d]:屏幕往「前」移動半頁。
按[gg]:移動到文章的首行。(可能只在Vim中有效)
按[G]:移動到文章的最後。
按[$]:移動到游標所在行的「行尾」。
按[^]:移動到游標所在行的「行首」
按[w]:游標跳到下個字的開頭
按[e]:游標跳到下個字的字尾
按[b]:游標回到上個字的開頭
按[#l]:游標移到該行的第#個位置,如:5l,56l。
Vi還提供了三個關於游標在全屏幕上移動並且文件本身不發生滾動的命令。它們分別是H、M和L命令。
(1)H命令
該命令將游標移至屏幕首行的行首(即左上角),也就是當前屏幕的第一行,而不是整個文件的第一行。利用此命令可以快速將游標移至屏幕頂部。若在H命令之前加上數字n,則將游標移至第n行的行首。值得一提的是,使用命令dH將會刪除從游標當前所在行至所顯示屏幕首行的全部內容。
(2)M命令
該命令將游標移至屏幕顯示文件的中間行的行首。即如果當前屏幕已經充滿,則移動到整個屏幕的中間行;如果並未充滿,則移動到文本的那些行的中間行。利用此命令可以快速地將游標從屏幕的任意位置移至屏幕顯示文件的中間行的行首。例如,在上面屏幕顯示的情況下(不論游標在屏幕的何處),在命令模式下,輸入命令M之後,游標都將移到add這一行的字母a上。同樣值得一提的是,使用命令dM將會刪除從游標當前所在行至屏幕顯示文件的中間行的全部內容。
(3)L命令
當文件顯示內容超過一屏時,該命令將游標移至屏幕上的最底行的行首;當文件顯示內容不足一屏時,該命令將游標移至文件的最後一行的行首。可見,利用此命令可以快速准確地將游標移至屏幕底部或文件的最後一行。若在L命令之前加上數字n,則將游標移至從屏幕底部算起第n行的行首。同樣值得一提的是,使用命令dL將會刪除從游標當前行至屏幕底行的全部內容。
4). 刪除文字
[x]:每按一次,刪除游標所在位置的「後面」一個字元。
[#x]:例如,[6x]表示刪除游標所在位置的「後面」6個字元。
[X]:大寫的X,每按一次,刪除游標所在位置的「前面」一個字元。
[#X]:例如,[20X]表示刪除游標所在位置的「前面」20個字元。
[dd]:刪除游標所在行。
[#dd]:從游標所在行開始刪除#行
5). 復制
[yw]:將游標所在之處到字尾的字元復制到緩沖區中。
[#yw]:復制#個字到緩沖區
[yy]:復制游標所在行到緩沖區。
[#yy]:例如,[6yy]表示拷貝從游標所在的該行「往下數」6行文字。
[p]:將緩沖區內的字元貼到游標所在位置。注意:所有與「y」有關的復制命令都必須與「p」配合才能完成復制與粘貼功能。
6). 替換
[r]:替換游標所在處的字元。
[R]:替換游標所到之處的字元,直到按下[ESC]鍵為止。
7). 恢復上一次操作
[u]:如果您誤執行一個命令,可以馬上按下,回到上一個操作。按多次「u」可以執行多次回復。
8). 更改
[cw]:更改游標所在處的字到字尾處
[c#w]:例如,[c3w]表示更改3個字
9).撤銷更改
[u]:撤銷上一次更改,可以一直按[u],一直撤銷到最舊修改狀態。
[ctrl]+[r]:恢復撤銷的更改,可以一直按該組合鍵達到最新的改變。
10). 跳至指定的行
[ctrl]+[g]列出遊標所在行的行號。
[#G]:例如,[15G],表示移動游標至文章的第15行行首。
4、Last line mode下命令簡介
在使用[last line mode]之前,請記住先按[ESC]鍵確定您已經處於[command mode]下後,再按[:]冒號即可進入[last line mode]。
A) 列出行號
[set nu]:輸入[set nu]後,會在文件中的每一行前面列出行號。
B) 跳到文件中的某一行
[#]:[#]號表示一個數字,在冒號後輸入一個數字,再按回車鍵就會跳到該行了,如輸入數字15,再回車,就會跳到文章的第15行。
C) 查找字元
[/關鍵字]:先按[/]鍵,再輸入您想尋找的字元,如果第一次找的關鍵字不是您想要的,可以一直按[n]會往後尋找到您要的關鍵字為止。
[?關鍵字]:先按[?]鍵,再輸入您想尋找的字元,如果第一次找的關鍵字不是您想要的,可以一直按[n]會往前尋找到您要的關鍵字為止。
D) 保存文件
[w]:在冒號輸入字母[w]就可以將文件保存起來。
E) 離開vi
[q]:按[q]就是退出,如果無法離開vi,可以在[q]後跟一個[!]強制離開vi。
[wq]:一般建議離開時,搭配[w]一起使用,這樣在退出的時候還可以保存文件,可以在後面再跟[!]強制保存退出。
[ZZ]:保存並退出vi。
F) 語法加亮
[syntax on]:vi編輯器默認不打開語法加亮功能,打開vi編輯器後在[last line mode]下使用[syntax on]命令即可打開語法加亮功能,此時編輯器會高亮顯示文件中的關鍵字,方便編程使用,用[syntax off]命令可關閉該功能。
⑸ linux中vi編輯器怎樣使用
工具:
Linux
方法:
1、首先進入Linux的命令行界面.在目錄下創建一個用於測試的文本文件(touch filename).這里就新建了一個test12文本文件.當然這個名字是可以隨便取得.
7、替換 「r」:替換游標所在處的字元。 ,按一下"r"然後輸入要即可.「R」:替換游標所到之處的字元,直到按下「ESC」鍵為止。
8、恢復上一次操作 「u」:如果誤執行一個命令,可以馬上按下「u」,回到上一個操作。按多次"u"可以執行多次恢復.就相當於"CTRL +Z"的操作.
⑹ 想知道下 vi編輯器的使用
Vi 簡介
Vi 是Unix 世界裡極為普遍的全螢幕文書編輯器,幾乎可以說任何一台 Unix 機器都會提供這套軟體。Linux 當然也有,它的 vi 其實是 elvis(版權問題),不過它們都差不多。熟悉 DOS 下的文書處理後,也許會感到 vi 並不好用;Unix 上也已經發展出許多更新、更好用的文書編輯器,但是並不一定每一台 Unix 機器上都會安裝這些額外的軟體。所以,學習 vi的基本操作還是有好處,讓你在各個不同的機器上得心應手。
Vi 基本觀念
Unix 提供一系列的 ex 編輯器,包括 ex, edit 和 vi 。相對於全螢幕編輯器,現在可能很難想像如何使用 ex, edit 這種行列編輯器(有人用過 DOS 3.3 版以前所附的
EDLIN 嗎?)。 Vi 的原意是 "Visual",它是一個立即反應的編輯程式,也就是說可
以立刻看到操作結果。
也由於 vi 是全螢幕編輯器,所以它必須控制整個終端機螢幕哪裡該顯示些什麽。而終端機的種類有許多種,特性又不盡相同,所以 vi 有必要知道現在所使用的是哪一種終 端機。這是藉由 TERM 這個環境變數來設定,設定環境變數方面請查看所使用 shell 的說明。(除非執行 vi 的時候回應 unknow terminal type ,否則可以不用設定。)
只要簡單的執行 vi 就可以進入 vi 的編輯環境。在實際操作之前先對它有個概略的了解會比較好。Vi 有兩種模式,輸入模式以及指令模式。輸入模式即是用來輸入文字資料,而指令模式則是用來下達一些編排文件、存檔、以及離開 vi 等等的操作指令。當執行 vi 後,會先進入指令模式,此時輸入的任何字元都視為指令。
進入與離開
要進入 vi 可以直接在系統提示字元下鍵入 vi <檔案名稱>,vi 可以自動幫你載入所要編輯的檔案或是開啟一個新檔。進入 vi 後螢幕左方會出現波浪符號,凡是列首有該符號就代表此列目前是空的。要離開 vi 可以在指令模式下鍵入 :q, :wq 指令則是
存檔後再離開(注意冒號)。要切換到指令模式下則是用 [ESC] 鍵,如果不曉得現在
是處於什麽模式,可以多按幾次 [ESC],系統會發出嗶嗶聲以確定進入指令模式。
Vi 輸入模式
要如何輸入資料呢?有好幾個指令可以進入輸入模式:
新增 (append)
a 從游標所在位置後面開始新增資料,游標後的資料隨新增資料向後移動。
A 從游標所在列最後面的地方開始新增資料。
插入 (insert)
i 從游標所在位置前面開始插入資料,游標後的資料隨新增資料向後移動。
I 從游標所在列的第一個非空白字元前面開始插入資料。
開始 (open)
o 在游標所在列下新增一列並進入輸入模式。
O 在游標所在列上方新增一列並進入輸入模式。
也許文字敘述看起來有點繁雜,但是只要實際操作一下馬上可以了解這些操作方式。實務很重要,尤其是電腦方面的東西隨時可以嘗試及驗證結果。極力建議實際去使用它而不要只是猛 K 文件,才有事半功倍的效用。(註:此段為廢話。)
Vi 基本編輯
配合一般鍵盤上的功能鍵,像是方向鍵、[Insert] 、[Delete] 等等,現在你應該已經可以利用 vi 來處理文字資料了。當然 vi 還提供其他許許多多功能讓文字的處理更形方便,有興趣的看倌請繼續。
在繼續下去之前先來點 BCC 吧。電腦有許多廠牌,不同的硬體及作業系統。PC 也不是僅僅只有 IBM PC 及其相容品而已。事實上,包括鍵盤,終端機等等往往都有不同的規 格。這代表什麽?
在文書編輯軟體上會遇這樣的問題,某些電腦的鍵盤上沒有特定的幾個功能鍵!那麽不就有某些功能不能用了?這個問題在 Unix 系統上也一樣,幾乎各大電腦廠商都有自己 的 Unix 系統,而 vi 的操作方法也會隨之有點出入。我們固然可以用 PC 的鍵盤來說 明 vi 的操作,但是還是得提一下這個問題。
刪除與修改
何謂編輯?在這里我們認為是文字的新增修改以及刪除,甚至包括文字區塊的搬移、復制等等。這里先介紹 vi 的如何做刪除與修改。(注意:在 vi 的原始觀念里,輸入跟編輯是兩碼子事。編輯是在指令模式下操作的,先利用指令移動游標來定位要進行編輯的地方,然後才下指令做編輯。)
x 刪除游標所在字元。
dd 刪除游標所在的列。
r 修改游標所在字元,r 後接著要修正的字元。
R 進入取代狀態,新增資料會覆蓋原先資料,直到按 [ESC] 回到指令模式下為止。
s 刪除游標所在字元,並進入輸入模式。
S 刪除游標所在的列,並進入輸入模式。
其實呢,在 PC 上根本沒有這麽麻煩!輸入跟編輯都可以在輸入模式下完成。例如要刪 除字元,直接按 [Delete] 不就得了。而插入狀態與取代狀態可以直接用 [Insert] 切換,犯不著用什麽指令模式的編輯指令。不過就如前面所提到的,這些指令幾乎是每台終端機都能用,而不是僅僅在 PC 上。
在指令模式下移動游標的基本指令是 h, j, k, l 。想來各位現在也應該能猜到只要直接用 PC 的方向鍵就可以了,而且無論在指令模式或輸入模式下都可以。多容易不是。
當然 PC 鍵盤也有不足之處。有個很好用的指令 u 可以恢復被刪除的資料,而 U 指令則可以恢復游標所在列的所有改變。這與某些電腦上的 [Undo] 按鍵功能相同。
Vi 進階應用
相信現在對於 vi 應該已經有相當的認識。處理文字也不會有什麽麻煩才對。如果有興趣善用 vi 的其它功能進一步簡化操作過程,不妨繼續看下去。
移動游標
由於許多編輯工作是藉由游標來定位,所以 vi 提供許多移動游標的方式,這個我們列幾張簡表來說明(這些當然是指令模式下的指令):
指令 說明 功能鍵
0 移動到游標所在列的最前面 [Home]
$ 移動到游標所在列的最後面 [End]
[CTRL][d] 向下半頁
[CTRL][f] 向下一頁 [PageDown]
[CTRL][u] 向上半頁
[CTRL][b] 向上一頁 [PageUp]
指令 說 明
H 移動到視窗的第一列
M 移動到視窗的中間列
L 移動到視窗的最後列
b 移動到下個字的第一個字母
w 移動到上個字的第一個字母
e 移動到下個字的最後一個字母
^ 移動到游標所在列的第一個非空白字元
指令 說 明
n- 減號移動到上一列的第一個非空白字元前面加上數字可以指定移動到以上 n 列
n+ 加號移動到下一列的第一個非空白字元前面加上數字可以指定移動到以下 n 列
nG 直接用數字 n 加上大寫 G 移動到第 n 列
指令 說 明
fxFx 往右移動到 x 字元上往左移動到 x 字元上
txTx 往右移動到 x 字元前往左移動到 x 字元前
;, 配合 f&t 使用,重復一次配合 f&t 使用,反方向重復一次
/string?string 往右移動到有 string 的地方往左移動到有 string 的地方
nN 配合 /&? 使用,重復一次配合 /&? 使用,反方向重復一次
指令 說 明 備 注
n(n) 左括弧移動到句子的最前面前面加上數字可以指定往前移動 n 個句子右括弧移動到下個句子的最前面前面加上數字可以指定往後移動 n 個句子 句子是以 ! . ? 三種符號來界定
n{n} 左括弧移動到段落的最前面前面加上數字可以指定往前移動 n 個段落右括弧移動到下個段落的最前面前面加上數字可以指定往後移動 n 個段落 段落是以段落間的空白列界定
不要嘗試背誦這些指令,否則後果自行負責。它們看起來又多又雜亂,事實上這是文字敘述本身的障礙。再強調一次,實際去使用它只要幾次就可以不經大腦直接下達這些奇奇怪怪的指令,遠比死記活背搞得模模糊糊強多了。(註:若真的不經大腦而誤刪資料與我無關。另,此段為廢話。)
進階編輯指令
這些編輯指令非常有彈性,基本上可以說是由指令與范圍所構成。例如 dw 是由刪除指令 d 與范圍 w 所組成,代表刪除一個字 d(elete) w(ord) 。
指令列表如下:
d 刪除(delete)
y 復制(yank)
p 放置(put)
c 修改(change)
范圍可以是下列幾個:
e 游標所在位置到該字的最後一個字母
w 游標所在位置到下個字的第一個字母
b 游標所在位置到上個字的第一個字母
$ 游標所在位置到該列的最後一個字母
0 游標所在位置到該列的第一個字母
) 游標所在位置到下個句子的第一個字母
( 游標所在位置到該句子的第一個字母
) 游標所在位置到該段落的最後一個字母
{ 游標所在位置到該段落的第一個字母
說實在的,組合這些指令來編輯文件有一點點藝術氣息。不管怎麽樣,它們提供更多編 輯文字的能力。值得注意的一點是刪除與復制都會將指定范圍的內容放到暫存區里,然後就可以用指令 p 貼到其它地方去,這是 vi 用來處理區段拷貝與搬移的辦法。
某些 vi 版本,例如 Linux 所用的 elvis 可以大幅簡化這一坨指令。如果稍微觀察一 下這些編輯指令就會發現問題其實是定范圍的方式有點雜,實際上只有四個指令罷了。
指令 v 非常好用,只要按下 v 鍵,游標所在的位置就會反白,然後就可以移動游標來設定范圍,接著再直接下指令進行編輯即可。
對於整列操作, vi 另外提供了更方便的編輯指令。前面曾經提到過刪除整列文字的指令 dd 就是其中一個;cc 可以修改整列文字;而 yy 則是復制整列文字;指令 D 則可以刪除游標到該列結束為止所有的文字。
檔案指令
檔案指令多以 : 開頭,跟編輯指令有點區別。例如前面提到結束編輯的指令就是 :q。
現在就簡單說明一下作為本篇故事的結尾:
∶q 結束編輯(quit)
如果不想存檔而要放棄編輯過的檔案則用 :q! 強制離開。
∶w 存檔(write)
其後可加所要存檔的檔名。
可以將檔案指令合在一起,例如 :wq 即存檔後離開。
zz 功能與 :wq 相同。
另外值得一提的是 vi 的部份存檔功能。可以用 :n,mw filename 將第 n 列到第 m 列的文字存放的所指定的 filename 里去哩。時代在變,世界在變, vi 也在變,不過大致上就這樣。
⑺ vi文本編輯器有哪三大工作模式,時如何進行轉化的
vi文本編輯器有命令模式、插入模式、一般模式(可視模式)。
三種工作模式的轉換,以vi打開一個檔案就直接進入一般模式了(這是默認的模式),在一般模式中可以進行刪除、復制、粘貼等的動作,但是卻無法編輯文件內容的!要等到你按下[i,I, o, O, a,A,r,R]等任何一個字母之後才會進入編輯模式。
如果要回到一般模式時, 則必須要按下[Esc]這個按鍵即可退出編輯模式。然後就會進入命令模式。
(7)vi編譯器四則運算擴展閱讀:
vim注意事項:
不同的版本所給與vi的三種工作模式也不同。vi有三種工作模式:命令模式、文本編輯模式和最後行模式。不同工作模式下的操作方法有所不同。
文本編輯器有很多,比如圖形模式的gedit、kwrite、OpenOffice,文本模式下的編輯器有vi、vim(vi的增強版本)。vi和vim是我們在Linux中最常用的編輯器。
vi或vim是Linux最基本的文本編輯工具,vi或vim雖然沒有圖形界面編輯器那樣點滑鼠的簡單操作,但vi編輯器在系統管理、伺服器管理字元界面中,永遠不是圖形界面的編輯器能比的。
參考資料來源:網路-vi文本編輯器
⑻ 怎樣用VI編輯器
在LINUX裡面 編輯模式(Command mode): 在shell環境(提示符為$)下輸入vi,進入編輯模式。在該模式下,用戶可以輸入各種合法的vi命令,對文檔進行一些操作(如刪除單個字元,刪除一行字元,刪除一個區塊等)。從鍵盤上輸入的任何字元都被當做編輯命令來解釋,但所輸入的命令並不在屏幕上顯示出來。若輸入的字元不是vi的合法命令,vi會響鈴報警。 游標定位: �6�1h,j,k,l 左移、下移、上移、右移 �6�1Ctrl+b將屏幕向文件首方向翻滾一整屏(PgUp) �6�1Ctrl+f將屏幕向文件尾方向翻滾一整屏(PgUp) �6�1H 將游標移至當前屏幕首行的行首 �6�1nH 將游標移至當前屏幕第n行的行首 �6�1M將游標移至屏幕顯示文件中間行的行首 �6�1L將游標移至當前屏幕最底行的行首 �6�1nL將游標移至當前屏幕倒數第n行的行首 �6�10,^將游標移至所在行的行首 �6�1$將游標移至所在行的行尾 替換和刪除: �6�1rc用字元c替換游標所指向的當前字元 �6�1x刪除游標所指向的當前字元 �6�1dw刪除一個單詞。若游標在詞中間,則刪除游標所在位置開始至詞尾並連同空格 �6�1dd刪除游標所在行 �6�1ndd刪除當前開始第n行替換和刪除: �6�1rc用字元c替換游標所指向的當前字元 �6�1x刪除游標所指向的當前字元 �6�1dw刪除一個單詞。若游標在詞中間,則刪除游標所在位置開始至詞尾並連同空格 �6�1dd刪除游標所在行 �6�1ndd刪除當前開始第n行 復制和粘貼: �6�1yy將當前行復制到緩沖區 �6�1nyy將當前開始的第n行復制到緩沖區 �6�1p將復制的內容粘貼在游標所在的位置 4.其他編輯命令: �6�1/aa搜索字元串aa �6�1n向相同方向繼續搜索 �6�1N向反方向繼續搜索 �6�1u撤消 �6�1.重復執行上一條命令 �6�1ZZ保存並退出 �6�1ZQ不保存退出
⑼ linux vi編輯器命令操作怎麼做,把命令寫給我,能寫多少就寫多少吧
你輸入指令, vi -- help然後就會顯示,或者輸入man vi也是一樣的,:qx 開始記錄宏,並將結果存入寄存器x
q 退出記錄模式
@x 播放記錄在x寄存器中的宏命令
稍微解釋一下,當在normal模式下輸入:qx後,你對文本的所有編輯動作將會被記錄下來,再次輸入q即退出了記錄模
式,然後輸入@x對剛才記錄下來的命令進行重復,此命令後可跟數字,表示要重復多少次,比如@x20,可以重復20次。這個在文本的批處理中是非常有用的。
同時編輯多個文件
在vim眾多的插件中,有一個叫minibuffer的插件,就是下面所說的標簽頁功能了,可以支持同時編輯多個文件。
標簽命令
:tabe fn 在一個新的標簽頁中編輯文件fn
gt 切換到下一個標簽頁
gT 切換到上一個標簽頁
:tabr 切換到第一個標簽頁
:tabl 切換到最後一個標簽頁
:tabm [N] 把當前tab移動到第N個tab之後
對,正如你所想像的那樣,跟eclipse, ue等的標簽頁是一個意思!
窗口命令
ctrl+w s 水平分割窗口
ctrl+w w 切換窗口
ctrl+w q 退出當前窗口(由於同時有多個文件,此命令不會影響其他窗口)
ctrl+w v 垂直分割窗口
其他
vim在保存之前不會對文件做實際的修改,只是載入到緩沖區中,對文件的編輯其實是對緩沖區的編輯,直到:w時才會存入物理文件。
:e file 把file載入到新的緩沖區中
:bn 跳轉到下一個緩沖區
:bd 刪除緩沖區(關閉文件)
:sp fn 分割窗口,並將fn載入到新的窗口中
退出編輯器
:w 將緩沖區寫入文件,即保存修改
:wq 保存修改並退出
:x 保存修改並退出
:q 退出,如果對緩沖區進行過修改,則會提示
:q! 強制退出,放棄修改
查找替換
/pattern 向後搜索字元串pattern
?pattern 向前搜索字元串pattern
n 下一個匹配(如果是/搜索,則是向下的下一個,?搜索則是向上的下一個)
N 上一個匹配(同上)
:%s/old/new/g 搜索整個文件,將所有的old替換為new
:%s/old/new/gc 搜索整個文件,將所有的old替換為new,每次都要你確認是否替換
復制粘貼
dd 刪除游標所在行
dw 刪除一個字(word)
x 刪除當前字元
X 刪除前一個字元
D 刪除到行末
yy 復制一行,此命令前可跟數字,標識復制多行,如6yy,表示從當前行開始復制6行
yw 復制一個字
y$ 復制到行末
p 粘貼粘貼板的內容到當前行的下面
P 粘貼粘貼板的內容到當前行的上面
]p 有縮進的粘貼,vim會自動調節代碼的縮進
"a 將內容放入/存入a寄存器,可以支持多粘貼板
附:比如常用的一個寄存器就是系統寄存器,名稱為+,所以從系統粘貼板粘貼到vim中的命令為"+p,注意此處的+不表示操作符,二十一個寄存器。
移動游標
在vim中移動游標跟其他的編輯器中有很大的區別,不過一旦學會了,就會飛速的在文本中移動了。
h,j,k,l 上,下,左,右
ctrl-f 上翻一頁
ctrl-b 下翻一頁
% 跳到與當前括弧匹配的括弧處,如當前在{,則跳轉到與之匹配的}處
w 跳到下一個字首,按標點或單詞分割
W 跳到下一個字首,長跳,如end-of-line被認為是一個字
e 跳到下一個字尾
E 跳到下一個字尾,長跳
b 跳到上一個字
B 跳到上一個字,長跳
0 跳至行首,不管有無縮進,就是跳到第0個字元
^ 跳至行首的第一個字元
$ 跳至行尾
gg 跳至文件的第一行
gd 跳至當前游標所在的變數的聲明處
[N]G 跳到第N行,如0G,就等價於gg,100G就是第100行
fx 在當前行中找x字元,找到了就跳轉至
; 重復上一個f命令,而不用重復的輸入fx
tx 與fx類似,但是只是跳轉到x的前一個字元處
Fx 跟fx的方向相反
),( 跳轉到上/下一個語句
* 查找游標所在處的單詞,向下查找
# 查找游標所在處的單詞,向上查找
`. 跳轉至上次編輯位置
在屏幕上移動
H 移動游標到當前屏幕上最上邊的一行
M 移動游標到當前屏幕上中間的一行
L 移動游標到當前屏幕上最下邊的一行
書簽
ma 把當前位置存成標簽a
`a 跳轉到標簽a處
編輯
r 替換一個字元
J 將下一行和當前行連接為一行
cc 刪除當前行並進入編輯模式
cw 刪除當前字,並進入編輯模式
c$ 擦除從當前位置至行末的內容,並進入編輯模式
s 刪除當前字元並進入編輯模式
S 刪除游標所在行並進入編輯模式
xp 交換當前字元和下一個字元
u 撤銷
ctrl+r 重做
. 重復上一個編輯命令
~ 切換大小寫,當前字元
g~iw 切換當前字的大小寫
gUiw 將當前字變成大寫
guiw 將當前字變成小寫
>> 將當前行右移一個單位
<< 將當前行左移一個單位(一個tab符)
== 自動縮進當前行
插入模式
i 從當前游標處進入插入模式
I 進入插入模式,並置游標於行首
a 追加模式,置游標於當前游標之後
A 追加模式,置游標於行末
o 在當前行之下新加一行,並進入插入模式
O 在當前行之上新加一行,並進入插入模式
Esc 退出插入模式
可視模式
標記文本
v 進入可視模式,單字元模式
V 進入可視模式,行模式
ctrl+v 進入可視模式,列模式,類似於UE的列模式
o 跳轉游標到選中塊的另一個端點
U 將選中塊中的內容轉成大寫
O 跳轉游標到塊的另一個端點
aw 選中一個字
ab 選中括弧中的所有內容,包括括弧本身
aB 選中{}括弧中的所有內容
ib 選中括弧中的內容,不含括弧
iB 選中{}中的內容,不含{}
對標記進行動作
> 塊右移
< 塊左移
y 復制塊
d 刪除塊
~ 切換塊中內容的大小寫