linux常用文本操作命令


---------- vi ----------
vi +n filename:打開文件,並將光標置於n行行首
vi +/pattern filename:打開文件,並將光標置於第一個與pattern匹配的字符串處

***** 命令模式 *****
ctrl+b:向上翻一頁
ctrl+f:向下翻一頁
ctrl+d:向上翻半頁
ctrl+u:向下翻半頁

ctrl+g:顯示光標所在行號
行號G:移動到文件指定行

h:光標左移一個字符
l:光標右移一個字符
k:光標上移一行
j:光標下移一行
0:光標移到當前行行首
$:光標移到當前行行尾
G:光標移到最後一行

cw:更改光標所在位置當前字符

i:在光標所在位置前插入字符
a:在光標所在位置後插入字符
O:在當前行前插入空行
o:在當前行後插入空行

dd:刪除光標所在行
X:刪除光標所在位置前一個字符
x:刪除光標所在位置後一個字符
字符數dw:刪除光標所在位置開始及其後的字符數-1個字符
行數dd:刪除當前行及其後行數-1行

r:替換當前字符
R:替換當前字符及其後的字符,直至按ESC鍵

yy:複製光標所在行
行數yy:複製從光標所在行向下指定行內容
p:粘貼

u:取消上一次操作

***** 底行模式 *****
/pattern:從光標開始處向文件尾搜索pattern
?pattern:從光標開始處向文件首搜索pattern
n:在同一方向重複上一次搜索
N:在反方向上重複上一次搜索

s/p1/p2/g:將當前行中所有p1均用p2替代
n1,n2s/p1/p2/g:將n1至n2行中所有p1均用p2替代
%s/p1/p2/g:將文件中所有p1均用p2替換
n1,n2 co n3:將n1到n2行之間的內容複製到第n3行下
n1,n2 m n3:將n1到n2行之間的內容移至第n3行下
n1,n2 d:將n1到n2行之間的內容刪除
(注意: 其中s爲substitute,%表示所有行,g表示global)

set nu:顯示行號
:行號:移動到文件指定行

w filename:當前編輯的文件另存爲filename
n1,n2w filename:將n1到n2行之間的內容另存爲filename
wq filename:當前編輯的文件另存爲filename並退出vi

---------- grep ----------
grep -i:不區分大小寫
grep -n:在匹配行前顯示行號
grep -c:顯示匹配行的總行數
grep -l:顯示包含匹配行的文件名列表
grep -a:將binary文件視爲文本文件搜索
grep -r:遞歸搜索目錄下的所有文件
grep -?:同時顯示匹配行的上下?行,如:grep -2 pattern filename同時顯示匹配行的上下2行。

日誌統計:
grep -ic 'WARN\s*\w*.\w*\s-\s【進入服務攔截器】\w*\s\w*.*UserInfoQueryService' /home/log/logs/cif-1-1/cif-service.log.2008-08-28
./gmalipay.sh cifserver 'grep -c 'WARN\s*\w*.\w*\s-\s【進入服務攔截器】\w*\s\w*.*UserInfoQueryService' logs/`hostname`/cif-service.log.2008-08-28'

---------- locate ----------
locate -d:指定所使用的數據庫文件(默認位於/var/lib/slocate/slocate.db)

---------- less ----------
less -N:在每行前輸出行號
less +n:從第n行開始顯示
less -p pattern:搜索pattern

b:向上翻一頁
space:向下翻一頁
u:向上翻半頁
d:向下翻半頁
g:移動到第一行
G:移動到最後一行
y:向上移動一行
enter:向下移動一行
v:調用vi編輯器
q:退出

---------- more ----------
more +n:從第n行開始顯示

Nenter:向下移動N行
b:向上翻一頁
space:向下翻一頁
=:顯示當前行號
v:調用vi編輯器
q:退出



拷貝文件
scp [email protected]:/home/admin/test.sh .

svn回滾版本庫
svn log ActivateEmailListener.java
svn up -r 4003 ActivateEmailListener.java
svn info ActivateEmailListener.java
svn commit -m "回滾到XX版本"

查找當前目錄和所有子目錄中的所有文件(包括隱藏文件)
find . -name commons-codec-1.3.jar

添加可執行權限
chmod +x /home/cif/build/run.sh

-rw-rw-r--
最前面那個 - 代表的是類型
中間那三個 rw- 代表的是所有者(user)
然後那三個 rw- 代表的是組羣(group)
最後那三個 r-- 代表的是其他人(other)

強制遞歸刪除當前目錄下所有文件和子目錄
rm -rfvd *

輸出第n行到第m行日誌內容
sed -n '100,150p' error.log

壓縮文件
tar -zcvf aaa.tar.gz /aaa

解壓縮文件
tar -zxvf aaa.tar.gz

文件對拷
scp ua20071022.dmp [email protected]:.

殺進程
killall -9 java

及時顯示tomcat窗口最後100行輸出
tail -n 100 -f catalina.out

清空文件內容
echo >catalina.out

查看進程
ps -ef
ps aux

恢復窗口
screen -r

查看網絡狀態
netstat -na

修改文件所有者
chown oracle:oinstall temp01.dbf

校驗文件是否完整
md5sum

下載文件
wget

查看磁盤空間
df -h

拷貝目錄
cp -R src des

/etc/profile
//配置java環境
JAVA_HOME=/usr/java/jdk1.5.0_13
CLASSPATH=.:$JAVA_HOME/Lib/tools.jar:$CLASSPATH
PATH=$JAVA_HOME/bin:$PATH:$CATALINA_HOME/bin
export JAVA_HOME CLASSPATH PATH
CATALINA_BASE=/home/tomcat
CATALINA_HOME=/home/tomcat
export CATALINA_BASE CATALINA_HOME


drwxrwxrwx 6 oracle oinstall 4.0K 11月 6 14:59 database

/etc/bashrc
//配置oracle環境
ORACLE_BASE=/home/oracle;
export ORACLE_BASE;
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;
export ORACLE_HOME;
ORACLE_SID=freeland;
export ORACLE_SID;
ORACLE_TERM=xterm;
export ORACLE_TERM;
PATH=/usr/sbin:$PATH;
export PATH;
PATH=$ORACLE_HOME/bin:$PATH;
export PATH;
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export LD_LIBRARY_PATH;
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export CLASSPATH;

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi


windows

netstat -ano
顯示所有連接和監聽端口
以數字形式顯示地址和端口號
顯示與每個連接相關的所屬進程 ID
發佈了17 篇原創文章 · 獲贊 1 · 訪問量 2717
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章