欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

linux%s替換命令 linux中替換文件

linux下vi編輯器命令大全

高級(jí)一些的編輯器,都會(huì)包含宏功能,vim當(dāng)然不能缺少了,在vim中使用宏是非常方便的:

創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來(lái),先為十堰等服務(wù)建站,十堰等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為十堰企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

:qx 開(kāi)始記錄宏,并將結(jié)果存入寄存器x

q 退出記錄模式

@x 播放記錄在x寄存器中的宏命令

稍微解釋一下,當(dāng)在normal模式下輸入:qx后,你對(duì)文本的所有編輯動(dòng)作將會(huì)被記錄下來(lái),再次輸入q即退出了記錄模

式,然后輸入@x對(duì)剛才記錄下來(lái)的命令進(jìn)行重復(fù),此命令后可跟數(shù)字,表示要重復(fù)多少次,比如@x20,可以重復(fù)20次。這個(gè)在文本的批處理中是非常有用的。

同時(shí)編輯多個(gè)文件

在vim眾多的插件中,有一個(gè)叫minibuffer的插件,就是下面所說(shuō)的標(biāo)簽頁(yè)功能了,可以支持同時(shí)編輯多個(gè)文件。

標(biāo)簽命令

:tabe fn 在一個(gè)新的標(biāo)簽頁(yè)中編輯文件fn

gt 切換到下一個(gè)標(biāo)簽頁(yè)

gT 切換到上一個(gè)標(biāo)簽頁(yè)

:tabr 切換到第一個(gè)標(biāo)簽頁(yè)

:tabl 切換到最后一個(gè)標(biāo)簽頁(yè)

:tabm [N] 把當(dāng)前tab移動(dòng)到第N個(gè)tab之后

對(duì),正如你所想象的那樣,跟eclipse, ue等的標(biāo)簽頁(yè)是一個(gè)意思!

窗口命令

ctrl+w s 水平分割窗口

ctrl+w w 切換窗口

ctrl+w q 退出當(dāng)前窗口(由于同時(shí)有多個(gè)文件,此命令不會(huì)影響其他窗口)

ctrl+w v 垂直分割窗口

其他

vim在保存之前不會(huì)對(duì)文件做實(shí)際的修改,只是加載到緩沖區(qū)中,對(duì)文件的編輯其實(shí)是對(duì)緩沖區(qū)的編輯,直到:w時(shí)才會(huì)存入物理文件。

:e file 把file加載到新的緩沖區(qū)中

:bn 跳轉(zhuǎn)到下一個(gè)緩沖區(qū)

:bd 刪除緩沖區(qū)(關(guān)閉文件)

:sp fn 分割窗口,并將fn加載到新的窗口中

退出編輯器

:w 將緩沖區(qū)寫(xiě)入文件,即保存修改

:wq 保存修改并退出

:x 保存修改并退出

:q 退出,如果對(duì)緩沖區(qū)進(jìn)行過(guò)修改,則會(huì)提示

:q! 強(qiáng)制退出,放棄修改

查找替換

/pattern 向后搜索字符串pattern

?pattern 向前搜索字符串pattern

n 下一個(gè)匹配(如果是/搜索,則是向下的下一個(gè),?搜索則是向上的下一個(gè))

N 上一個(gè)匹配(同上)

:%s/old/new/g 搜索整個(gè)文件,將所有的old替換為new

:%s/old/new/gc 搜索整個(gè)文件,將所有的old替換為new,每次都要你確認(rèn)是否替換

復(fù)制粘貼

dd 刪除光標(biāo)所在行

dw 刪除一個(gè)字(word)

x 刪除當(dāng)前字符

X 刪除前一個(gè)字符

D 刪除到行末

yy 復(fù)制一行,此命令前可跟數(shù)字,標(biāo)識(shí)復(fù)制多行,如6yy,表示從當(dāng)前行開(kāi)始復(fù)制6行

yw 復(fù)制一個(gè)字

y$ 復(fù)制到行末

p 粘貼粘貼板的內(nèi)容到當(dāng)前行的下面

P 粘貼粘貼板的內(nèi)容到當(dāng)前行的上面

]p 有縮進(jìn)的粘貼,vim會(huì)自動(dòng)調(diào)節(jié)代碼的縮進(jìn)

"a 將內(nèi)容放入/存入a寄存器,可以支持多粘貼板

附:比如常用的一個(gè)寄存器就是系統(tǒng)寄存器,名稱(chēng)為+,所以從系統(tǒng)粘貼板粘貼到vim中的命令為"+p,注意此處的+不表示操作符,二十一個(gè)寄存器。

移動(dòng)光標(biāo)

在vim中移動(dòng)光標(biāo)跟其他的編輯器中有很大的區(qū)別,不過(guò)一旦學(xué)會(huì)了,就會(huì)飛速的在文本中移動(dòng)了。

h,j,k,l 上,下,左,右

ctrl-f 上翻一頁(yè)

ctrl-b 下翻一頁(yè)

% 跳到與當(dāng)前括號(hào)匹配的括號(hào)處,如當(dāng)前在{,則跳轉(zhuǎn)到與之匹配的}處

w 跳到下一個(gè)字首,按標(biāo)點(diǎn)或單詞分割

W 跳到下一個(gè)字首,長(zhǎng)跳,如end-of-line被認(rèn)為是一個(gè)字

e 跳到下一個(gè)字尾

E 跳到下一個(gè)字尾,長(zhǎng)跳

b 跳到上一個(gè)字

B 跳到上一個(gè)字,長(zhǎng)跳

0 跳至行首,不管有無(wú)縮進(jìn),就是跳到第0個(gè)字符

^ 跳至行首的第一個(gè)字符

$ 跳至行尾

gg 跳至文件的第一行

gd 跳至當(dāng)前光標(biāo)所在的變量的聲明處

[N]G 跳到第N行,如0G,就等價(jià)于gg,100G就是第100行

fx 在當(dāng)前行中找x字符,找到了就跳轉(zhuǎn)至

; 重復(fù)上一個(gè)f命令,而不用重復(fù)的輸入fx

tx 與fx類(lèi)似,但是只是跳轉(zhuǎn)到x的前一個(gè)字符處

Fx 跟fx的方向相反

),( 跳轉(zhuǎn)到上/下一個(gè)語(yǔ)句

* 查找光標(biāo)所在處的單詞,向下查找

# 查找光標(biāo)所在處的單詞,向上查找

`. 跳轉(zhuǎn)至上次編輯位置

在屏幕上移動(dòng)

H 移動(dòng)光標(biāo)到當(dāng)前屏幕上最上邊的一行

M 移動(dòng)光標(biāo)到當(dāng)前屏幕上中間的一行

L 移動(dòng)光標(biāo)到當(dāng)前屏幕上最下邊的一行

書(shū)簽

ma 把當(dāng)前位置存成標(biāo)簽a

`a 跳轉(zhuǎn)到標(biāo)簽a處

編輯

r 替換一個(gè)字符

J 將下一行和當(dāng)前行連接為一行

cc 刪除當(dāng)前行并進(jìn)入編輯模式

cw 刪除當(dāng)前字,并進(jìn)入編輯模式

c$ 擦除從當(dāng)前位置至行末的內(nèi)容,并進(jìn)入編輯模式

s 刪除當(dāng)前字符并進(jìn)入編輯模式

S 刪除光標(biāo)所在行并進(jìn)入編輯模式

xp 交換當(dāng)前字符和下一個(gè)字符

u 撤銷(xiāo)

ctrl+r 重做

. 重復(fù)上一個(gè)編輯命令

~ 切換大小寫(xiě),當(dāng)前字符

g~iw 切換當(dāng)前字的大小寫(xiě)

gUiw 將當(dāng)前字變成大寫(xiě)

guiw 將當(dāng)前字變成小寫(xiě)

將當(dāng)前行右移一個(gè)單位

將當(dāng)前行左移一個(gè)單位(一個(gè)tab符)

== 自動(dòng)縮進(jìn)當(dāng)前行

插入模式

i 從當(dāng)前光標(biāo)處進(jìn)入插入模式

I 進(jìn)入插入模式,并置光標(biāo)于行首

a 追加模式,置光標(biāo)于當(dāng)前光標(biāo)之后

A 追加模式,置光標(biāo)于行末

o 在當(dāng)前行之下新加一行,并進(jìn)入插入模式

O 在當(dāng)前行之上新加一行,并進(jìn)入插入模式

Esc 退出插入模式

可視模式

標(biāo)記文本

v 進(jìn)入可視模式,單字符模式

V 進(jìn)入可視模式,行模式

ctrl+v 進(jìn)入可視模式,列模式,類(lèi)似于UE的列模式

o 跳轉(zhuǎn)光標(biāo)到選中塊的另一個(gè)端點(diǎn)

U 將選中塊中的內(nèi)容轉(zhuǎn)成大寫(xiě)

O 跳轉(zhuǎn)光標(biāo)到塊的另一個(gè)端點(diǎn)

aw 選中一個(gè)字

ab 選中括號(hào)中的所有內(nèi)容,包括括號(hào)本身

aB 選中{}括號(hào)中的所有內(nèi)容

ib 選中括號(hào)中的內(nèi)容,不含括號(hào)

iB 選中{}中的內(nèi)容,不含{}

對(duì)標(biāo)記進(jìn)行動(dòng)作

塊右移

塊左移

y 復(fù)制塊

d 刪除塊

~ 切換塊中內(nèi)容的大小寫(xiě)

linux中vim文件編輯怎么讓多個(gè)關(guān)鍵字高亮?

Vim文本編輯讓某些字符高亮設(shè)置為

:set hls 打開(kāi)高亮

:set nohls 關(guān)閉高亮

其他知識(shí)點(diǎn)碧模慶如下,

1,簡(jiǎn)單替換表達(dá)式

替換命令可以在全文中用一個(gè)單詞替換另一個(gè)單詞:

:%s/four/4/g

“%” 范圍前綴表示在所有行中執(zhí)行替換。最后的 “g” 標(biāo)記表示替換行中的所有匹配點(diǎn)。如果僅僅對(duì)當(dāng)前行進(jìn)行操作,那么只要去掉%即可

如果你有一個(gè)象 “thirtyfour” 這樣的單詞,上面的命令會(huì)出錯(cuò)。這種情況下,這個(gè)單詞會(huì)被替換成”thirty4″。要解決這個(gè)問(wèn)題,用 “\” 來(lái)指定匹配單詞開(kāi)頭:

:%s/\

顯然,這樣在處理 “fourty” 的時(shí)候還是會(huì)出錯(cuò)。用 “\” 來(lái)解決這個(gè)問(wèn)題:

:%s/\/4/g

如果你在編碼,你可能只想替換注釋中的 “four”,而保留代碼中的。由于這很難指定,可以在替換命令中加一個(gè) “c” 標(biāo)記,這樣,Vim 會(huì)在每次替換前提示你:

:%s/\/4/gc

2,刪除多余的空格

要?jiǎng)h除這些每行后面多余的空格,可以執(zhí)行如下命令:

:%s/\s\+$//

命令前面指明范圍是 “%”,所以這會(huì)作用于整個(gè)文件。”substitute” 命令的匹配模式是

“\s\+$”。這表示行末($)前的一個(gè)或者多個(gè)(\+)空格(\s)。替換命令的 “to” 部分是空的:”//”。這樣就會(huì)刪除那些匹配的空白字符。

3,匹配重復(fù)性模式

星號(hào)悔握項(xiàng) “*” 規(guī)定在它前面的項(xiàng)可以重復(fù)任意次。因此:

/a*

匹配 “a”,”aa”,”aaa”,等等。但也匹配 “” (空字串),因?yàn)榱愦我舶趦?nèi)。星號(hào) “*” 僅僅應(yīng)用于那個(gè)緊鄰在它前面的項(xiàng)。因此 “ab*” 匹配 “a”,”ab”,”abb”,”abbb”,等等。如要多次重復(fù)整個(gè)字符串,那么該字符串必須被組成一個(gè)項(xiàng)。組成一項(xiàng)的方法就是在它前面加 “\(”,后面加 “\)”。因此這個(gè)命令:

/\(ab\)*

匹配: “ab”,”abab”,”ababab”,等等。而且也匹配 “”。

要避免匹配空字串,使用 “\+”。這表示前面一項(xiàng)可以被匹配一次或多次。

/ab\+

匹配 “ab”,”abb”,”abbb”,等等。它不匹配 后面沒(méi)有跟隨 “b” 的 “a”。

要匹配一個(gè)可選項(xiàng),用 “\=”。 例如:

/folders\=

匹配 “folder” 和 “folders”。

4,指定重復(fù)碼賣(mài)次數(shù)

要匹配某一項(xiàng)的特定次數(shù)重復(fù),使用 “\{n,m}” 這樣的形式。其中 “n” 和 “m” 都是數(shù)字。在它前面的那個(gè)項(xiàng)將被重復(fù) “n” 到 “m” 次 (|inclusive| 包含 “n” 和 “m”)。例如:

/ab\{3,5}

匹配 “abbb”,”abbbb” 以及 “abbbbb”。

當(dāng) “n” 省略時(shí),被默認(rèn)為零。當(dāng) “m” 省略時(shí),被默認(rèn)為無(wú)限大。當(dāng) “,m” 省略時(shí),就表示重復(fù)正好 “n” 次。例如:

模式 匹配次數(shù)

\{,4} 0,1,2,3 或 4

\{3,} 3,4,5,等等

\{0,1} 0 或 1,同 \=

\{0,} 0 或 更多,同 *

\{1,} 1 或 更多,同 \+

\{3} 3

Linux shell常用命令

Linux shell常用命令匯總

對(duì)于經(jīng)常使用linux系統(tǒng)的博主巖罩來(lái)說(shuō),基本常用的shell命令是少不了的,下面為大家總結(jié)了Linux shell的常用命令,希望對(duì)大家有所幫寬棗租助!

1.檢查遠(yuǎn)程端口是否對(duì)bash開(kāi)放:

echo /dev/tcp/8.8.8.8/53 echo "open"

2.讓進(jìn)程轉(zhuǎn)入后臺(tái)慎兆:

Ctrl + z

3、將進(jìn)程轉(zhuǎn)到前臺(tái):

fg

4.產(chǎn)生隨機(jī)的十六進(jìn)制數(shù),其中n是字符數(shù):

openssl rand -hex n

5.在當(dāng)前shell里執(zhí)行一個(gè)文件里的命令:

source /home/user/file.name

6.截取前5個(gè)字符:

${variable:0:5}

7.SSH debug 模式:

ssh -vvv user@ip_address

8.SSH with pem key:

ssh user@ip_address -i key.pem

9.用wget抓取完整的網(wǎng)站目錄結(jié)構(gòu),存放到本地目錄中:

wget -r --no-parent --reject "index.html*" -P /home/user/dirs

10.一次創(chuàng)建多個(gè)目錄:

mkdir -p /home/user/{test,test1,test2}

11.列出包括子進(jìn)程的進(jìn)程樹(shù):

ps axwef

12.創(chuàng)建 war 文件:

jar -cvf name.war file

13.測(cè)試硬盤(pán)寫(xiě)入速度:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

14.測(cè)試硬盤(pán)讀取速度:

hdparm -Tt /dev/sda

15.獲取文本的md5 hash:

echo -n "text" | md5sum

16.檢查xml格式:

xmllint --noout file.xml

17.將tar.gz提取到新目錄里:

tar zxvf package.tar.gz -C new_dir

18.使用curl獲取HTTP頭信息:

curl -I

19.修改文件或目錄的時(shí)間戳(YYMMDDhhmm):

touch -t 0712250000 file

20.用wget命令執(zhí)行ftp下載:

wget -m

21.生成隨機(jī)密碼(例子里是16個(gè)字符長(zhǎng)):

LANG=c /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;

22.快速備份一個(gè)文件:

cp some_file_name{,.bkp}

23.訪(fǎng)問(wèn)Windows共享目錄:

smbclient -U "DOMAIN\user" //dc.domain點(diǎn)抗 /share/test/dir

24.執(zhí)行歷史記錄里的命令(這里是第100行):

!100

25.解壓:

unzip package_name.zip -d dir_name

26.輸入多行文字(CTRL + d 退出):

cat test.txt

27.創(chuàng)建空文件或清空一個(gè)現(xiàn)有文件:

\ test.txt

28.與Ubuntu NTP server同步時(shí)間:

ntpdate ntp.ubuntu點(diǎn)抗

29.用netstat顯示所有tcp4監(jiān)聽(tīng)端口:

netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'

30.qcow2鏡像文件轉(zhuǎn)換:

qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \precise-server-cloudimg-amd64-disk1.raw

31.重復(fù)運(yùn)行文件,顯示其輸出(缺省是2秒一次):

watch ps -ef

32.所有用戶(hù)列表:

getent passwd

33.Mount root in read/write mode:

mount -o remount,rw /

34.掛載一個(gè)目錄(這是不能使用鏈接的情況):

mount --bind /source /destination

35.動(dòng)態(tài)更新DNS server:

nsupdate eof p="" /eof

update add $HOST 86400 A $IP

send

EOF

36.遞歸grep所有目錄:

grep -r "some_text" /path/to/dir

37.列出前10個(gè)最大的文件:

lsof / | awk '{ if($7 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail

39.打開(kāi)Vim并跳到文件末:

vim + some_file_name

40.Git 克隆指定分支(master):

git clone git@github點(diǎn)抗 :name/app.git -b master

41.Git 切換到其它分支(develop):

git checkout develop

42.Git 刪除分支(myfeature):

git branch -d myfeature

43.Git 刪除遠(yuǎn)程分支

git push origin :branchName

44.Git 將新分支推送到遠(yuǎn)程服務(wù)器:

git push -u origin mynewfeature

45.打印歷史記錄中最后一次cat命令:

!cat:p

46.運(yùn)行歷史記錄里最后一次cat命令:

!cat

47.找出/home/user下所有空子目錄:

echo /dev/tcp/8.8.8.8/53 echo "open"

1.檢查遠(yuǎn)程端口是否對(duì)bash開(kāi)放:

find /home/user -maxdepth 1 -type d -empty

48.獲取test.txt文件中第50-60行內(nèi)容:

test.txt sed -n '50,60p'

49.運(yùn)行最后一個(gè)命令(如果最后一個(gè)命令是mkdir /root/test, 下面將會(huì)運(yùn)行: sudo mkdir /root/test):

sudo !!

50.創(chuàng)建臨時(shí)RAM文件系統(tǒng) – ramdisk (先創(chuàng)建/tmpram目錄):

mount -t tmpfs tmpfs /tmpram -o size=512m

51.Grep whole words:

grep -w "name" test.txt

52.在需要提升權(quán)限的.情況下往一個(gè)文件里追加文本:

echo "some text" | sudo tee -a /path/file

53.列出所有kill signal參數(shù):

kill -l

54.在bash歷史記錄里禁止記錄最后一次會(huì)話(huà):

kill -9 $$

55.掃描網(wǎng)絡(luò)尋找開(kāi)放的端口:

nmap -p 8081 172.20.0.0/16

56.設(shè)置git email:

git config --global user.email "me@example點(diǎn)抗 "

57.To sync with master if you have unpublished commits:

git pull --rebase origin master

58.將所有文件名中含有”txt”的文件移入/home/user目錄:

find -iname "*txt*" -exec mv -v {} /home/user \;

59.將文件按行并列顯示:

paste test.txt test1.txt

60.shell里的進(jìn)度條:

pv data.log

61.使用netcat將數(shù)據(jù)發(fā)送到Graphite server:

echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000

62.將tabs轉(zhuǎn)換成空格:

expand test.txt test1.txt

63.Skip bash history:

space cmd

64.去之前的工作目錄:

cd -

65.拆分大體積的tar.gz文件(每個(gè)100MB),然后合并回去:

split –b 100m /path/to/large/archive /path/to/output/files

cat files* archive

66.使用curl獲取HTTP status code:

curl -sL -w "%{http_code}\\n" -o /dev/null

67.設(shè)置root密碼,強(qiáng)化MySQL安全安裝:

/usr/bin/mysql_secure_installation

68.當(dāng)Ctrl + c不好使時(shí):

Ctrl + \

69.獲取文件owner:

stat -c %U file.txt

70.block設(shè)備列表:

lsblk -f

71.找出文件名結(jié)尾有空格的文件:

find . -type f -exec egrep -l " +$" {} \;

72.找出文件名有tab縮進(jìn)符的文件

find . -type f -exec egrep -l $'\t' {} \;

73.用”=”打印出橫線(xiàn):全選復(fù)制放進(jìn)筆記

printf '%100s\n' | tr ' ' = ;

文章標(biāo)題:linux%s替換命令 linux中替換文件
分享鏈接:http://chinadenli.net/article15/dsppsgi.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)網(wǎng)站導(dǎo)航服務(wù)器托管搜索引擎優(yōu)化動(dòng)態(tài)網(wǎng)站軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)