日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
輕松解決:利用Linux過濾掉空格的方法(linux過濾掉空格)

在Linux系統(tǒng)中,空格常常是個頭疼的問題。無論是文件名中的空格、路徑中的空格,還是文本中的空格,都可能會造成各種問題,如無法正常訪問文件、無法執(zhí)行命令、無法解析變量等等。因此,如何過濾掉空格,成為了Linux系統(tǒng)管理員和開發(fā)人員經(jīng)常面臨的一項任務。本文將介紹幾種利用linux過濾掉空格的方法,幫助讀者輕松解決這個問題。

目前創(chuàng)新互聯(lián)公司已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、綿陽服務器托管、企業(yè)網(wǎng)站設(shè)計、牡丹網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

方法一:使用雙引號

在Linux系統(tǒng)中,使用雙引號是一種最簡單、最直觀的方法來過濾掉空格。例如,如果你要打印一個文件名帶空格的文件,可以使用以下命令:

“`bash

$ echo “my file.txt”

“`

這里,使用了雙引號將文件名括起來,這樣就能夠正確地輸出文件名,而不會將空格作為分隔符。

同樣的,這種方法也可以用于其他需要過濾空格的場合,如使用變量或命令參數(shù)中含有空格的情況。例如:

“`bash

$ myvar=”my file.txt”

$ touch “$myvar”

“`

這個例子中,使用了雙引號將變量$myvar括起來,以正確創(chuàng)建文件名帶空格的文件。

方法二:使用單引號

除了雙引號外,單引號也是一種可供選擇的方法來過濾空格。與雙引號不同的是,單引號中的所有字符都會被當做字符串的一部分,不會被解析成特殊字符。因此,單引號可以用于保留字符串原始格式,如下所示:

“`bash

$ echo ‘my file.txt’

“`

如果在單引號中需要插入單引號字符本身,可以使用雙引號將其括起來,如下所示:

“`bash

$ echo ‘She sd: “Hello!”‘

“`

這個例子中,單引號包裹著整個字符串,但其中包含有雙引號字符。為了保留這個字符,需要使用雙引號將其括起來。

方法三:使用轉(zhuǎn)義字符

在Linux系統(tǒng)中,還可以使用轉(zhuǎn)義字符來過濾掉空格。轉(zhuǎn)義字符是指以反斜杠(\)開頭的字符,它告訴系統(tǒng)該字符后面的字符不是特殊字符,而是普通字符。例如,如果你要創(chuàng)建一個帶空格的文件,可以使用以下命令:

“`bash

$ touch my\ file.txt

“`

在這個例子中,使用了反斜杠來轉(zhuǎn)義空格字符,以正確創(chuàng)建文件名帶空格的文件。

同樣的,轉(zhuǎn)義字符也可以用于其他需要過濾空格的場合,如在命令參數(shù)中使用帶空格的字符串。例如:

“`bash

$ echo “She sd: \”Hello!\””

“`

這個例子中,使用了雙引號將整個字符串括起來,并使用反斜杠來轉(zhuǎn)義其中的雙引號字符,以正確輸出字符串。

方法四:使用通配符

在Linux系統(tǒng)中,還可以使用通配符來過濾掉空格。通配符是指用于匹配、查找文件等操作的字符,如星號(*)、問號(?)等。如果你想要查找文件名中帶有空格的文件,可以使用以下命令:

“`bash

$ ls *’ ‘*

“`

這個命令中,星號(*)匹配任意字符,加上單引號和空格組成了空格的表示方法,從而正確匹配含有空格的文件。

同樣的,通配符也可以用于其他需要過濾空格的場合,如使用帶空格的變量或命令參數(shù)。例如:

“`bash

$ myvar=”my file.txt”

$ mkdir ${myvar// /_}

“`

這個例子中,使用了一種高級字符串替換方法,將變量$myvar中的空格替換成下劃線(_),從而正確創(chuàng)建帶空格的目錄名。

結(jié)語

通過本文介紹的以上幾種方法,讀者可以輕松解決Linux系統(tǒng)中的空格過濾問題。在使用這些方法時,需要特別留意變量、命令參數(shù)等場合,確保空格不會被系統(tǒng)解析成不該解析的字符。此外,在實際使用過程中,還可以根據(jù)需要結(jié)合不同方法來處理空格問題,以達到更好的效果。

相關(guān)問題拓展閱讀:

  • Linux 常用命令(要求全而精)

Linux 常用命令(要求全而精)

1、linux分區(qū)

–在linux里面所有的設(shè)備、任何東西,在linux看來都是文件。

–文件在它看來,有兩種形式:

之一種是字符型(鍵盤輸入、打印機);

第二種是二進制型(硬盤、光驅(qū)、U盤滑讓森)

–linux中所有硬件

–手動分區(qū)

–A、至少有兩個分區(qū)

/ 根分區(qū)

SWAP 交換分區(qū)(物理內(nèi)存大小的兩倍)

–B、個人桌面分區(qū)

/

/boot 128MB is enough

/usr

SWAP

/tmp(用于光盤刻錄)

2、linux目錄說明

–/dev/xxyN

–xx (分區(qū)所在設(shè)備類型:hd–IDE硬盤 sd–SCSI硬盤)

–y (標明分區(qū)所在設(shè)備

例如:/dev/hda 之一個IDE硬盤 或 /dev/hdb 第二個IDE硬盤 或 /dev/sdb 第二個SCSI硬盤)

–N (數(shù)字代表分區(qū):1-4–主分區(qū)或擴展分區(qū);邏輯分區(qū)從5開始!

例如:/dev/hda3 之一個IDE硬盤上的第三個主分區(qū)或擴展分區(qū)

/dev/sdb6 第二個SCSI硬盤上的第二個邏輯分區(qū))

3、linux目錄結(jié)構(gòu)

/ 根目錄,更高級別

/bin 系統(tǒng)基本命令存放目錄(/usr/bin)

/boot linux的內(nèi)核及引導系統(tǒng)程序文件存放目錄(如:vmlinuz、initrd.img)

一般情況下,GRUB或LILO系統(tǒng)引導管理也位于這個目錄

/dev 設(shè)備文件存儲目錄,如聲卡、光驅(qū)…

/ect 存放系統(tǒng)設(shè)置文件(如用戶賬號密碼、服務器配置文件等)

/home 普通用戶家目錄,默認存放目錄

/lib 庫文件存放目錄

/lost+found 在ext2或ext3文件系統(tǒng)中,當系統(tǒng)以外崩潰或機器意外關(guān)機,而產(chǎn)生一些文件碎片放在這里。

當系統(tǒng)啟動的過程中,fsck工具會檢查這里,并修復已經(jīng)損壞的文件系統(tǒng)。

有事喜用發(fā)生問題,有很多的文件被移到這個目錄中,可能會用手工的方式來修復,或者移文件到原來的位置上。

/media 即插即用型存儲設(shè)備的掛載點自動在這個目錄下創(chuàng)建。

如USB盤系統(tǒng)自動掛在后,會在這個目錄下產(chǎn)生一個目錄;

類似cdrom的目錄

/mnt 存放掛載存儲設(shè)備的掛載目錄,如cdrom等目錄

/opt 表示可選的意思,有些軟件包也會被安裝在此,也就是自定義軟件包,

比如OpenOffice,或者一些我們自己編譯的軟件包,也可安裝此處。

/proc 操作系統(tǒng)運行時,進程(正在運行的程序)信息及內(nèi)核信息(比如CPU、硬盤分區(qū)、內(nèi)存信息等)存放在此。

/proc目錄是偽裝的文件系統(tǒng)proc的掛載目錄,proc并不是真正的文件系統(tǒng)

/root linux超級權(quán)限用戶root的家目錄

/in 大多是涉及系統(tǒng)管理的命令的存放,只有超級權(quán)限用戶root才可執(zhí)行命令存放,普通用戶無權(quán)限執(zhí)行此目錄下的命令

與 /usr/in; /usr/X11R6/in; usr/local/in 目錄相似

(in,只有root權(quán)限才能執(zhí)行)

/tmp 臨時文件目錄,有時用戶滑首運行程序的時候,會產(chǎn)生臨時文件。

/var/tmp目錄和此目錄相似

/usr 系統(tǒng)存放程序的目錄,如命令、幫助文件等。這個目錄下有很多的文件和目錄。

大部分Linux發(fā)行版提供的軟件包都安裝在此,涉及服務器的配置文件就安裝在/ect中。

/usr/share/fonts 字體目錄

/usr/share/man 或 /usr/share/doc 幫助目錄

/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通信畝用戶可執(zhí)行文件目錄

/usr/in 或 /usr/local/in 或 /usr/X11R6/in 超級權(quán)限用戶root可執(zhí)行命令存放目錄

/usr/include 程序頭文件存放目錄

/var (vary)此目錄經(jīng)常變動

/var/log 用來存放系統(tǒng)日志

/var/www 用來定義Apache服務器站點存放

/var/lib 用來存放一些庫文件,如MySQL的,以及MySQL數(shù)據(jù)庫的存放地。

4、基本命令

–查看幫助 –help –?

–查看詳細幫助 man

–登錄 login

–退出窗口 exit

–關(guān)機 shutdown

–重啟 reboot

–初始化 init (run level -/etc/inittab),0-6看第六部分的g

–進入根目錄 cd /

–回上層目錄 cd ..

–相對路徑 cd dev

–絕對路徑 cd /dev

–查用戶名 whoami

–查當前目錄 pwd

–列出當前目錄內(nèi)容 ls

l(樹詳細顯示目錄內(nèi)容)

m(橫列顯示目錄內(nèi)容,是屏幕長度顯示)

a(列出全部文件,包括隱藏文件)

S(以文檔大小排序)

–創(chuàng)建目錄 mkdir dname

–刪除目錄 rmdir dname

rm -r-(遞歸刪除該目錄下所有內(nèi)容,詢問每個準備刪除的文件)

rm -rf ***-(強制刪除該目錄下所有內(nèi)容,不詢問)

–創(chuàng)建空白文件 touch

(ps:從技術(shù)的角度來講,linux的文件后綴名沒有任何意義)

–復制 cp

cp -r **1 **2 (復制1到2中)

–移動 mv

mv -t **1 **2 (把2移動到1中)

–編輯文本 vi

–查看文本 cat 由之一行開始顯示文本內(nèi)容

tac 從最后一行顯示,可以看出 tac 是 cat 的倒著寫

more 一頁一頁的顯示文檔內(nèi)容

less 與 more 類似,可以往前翻頁

head 只看頭幾行

N(數(shù)字,可根據(jù)行數(shù)顯示)

tail 只看后幾行

N(數(shù)字,可根據(jù)行數(shù)顯示)

nl 顯示的時候,順序輸出行號

od 以二進制位的方式讀取檔案內(nèi)容

–查找文本 find

如查找rc.local find /etc -name *.local

–查找命令信息及其位置 whereis 命令

如 whereis ls

–查看環(huán)境變量 echo $SHELL

如 echo $PATH (分大小寫:分隔符是:,windows是echo %path%;)

–鏈接 ln

如 ln joe.txt a (硬鏈接,如同復制一個新文件,joe.txt刪除后,a還存在)

a是鏈接的名稱,a和joe.txt同步,然后a的內(nèi)容和joe.txt一樣

joe.txt改變,a也跟著變

如 ln -s joe.txt b (軟鏈接,如同創(chuàng)建一個快捷方式,joe.txt刪除后,b不存在)

–wc 統(tǒng)計指定文本文件的行數(shù)、字數(shù)、字符數(shù)

–grep(很常用) 在指定的文本文件中查找指定的字符串

grep 字符串 文件名

–col 見管道..

—-信息顯示命令—-

–date 顯示和設(shè)置日期

–stat 顯示指定文件的相關(guān)信息

–who、w 顯示在線登錄用戶

–whoami 顯示用戶自己的身份

–id顯示當前用戶的id信息

–hostname 顯示主機名稱

–uname 顯示操作系統(tǒng)信息

–dmesg 顯示系統(tǒng)啟動信息

–du顯示指定的文件(目錄)已使用的磁盤空間

–df顯示文件系統(tǒng)磁盤空間的使用情況

–free 顯示當前內(nèi)存和交換空間的使用情況

–fdisk -l 顯示磁盤信息

–locale 顯示當前語言環(huán)境

5、掛載點(mount 設(shè)備目錄 掛載目錄)

–訪問設(shè)備 (那設(shè)備當成一個文件,和另外一個文件夾進行綁定)

–例如掛載光驅(qū):步驟 ———–OK!直接訪問光驅(qū)內(nèi)容

–卸載掛載設(shè)備(umount /dev/cdrom)–注意必須先退出掛載目錄,否則出現(xiàn)”device is busy”錯誤.

6、startup-shutdown(linux啟動流程)

–A、boot sequence(important) linux啟動過程

a. load bios(hardware information)

b. read MBR’s config to find out the OS

(MBR–Master Boot Record,硬盤之一個物理扇區(qū),柱面0、磁頭0、扇區(qū)1,包含主引導程序和硬盤分區(qū)表)

c. load the kernel of the OS

(加載為kernel核心的OS)

d. init process starts…

(啟動linux之一個進程init)

e. execute /etc/rc.d/sysinit

(執(zhí)行系統(tǒng)最重要的配置文件,后臺啟用進程)

(rc.d–run command)

f. start other modules(stc/modules.conf)

(開啟各種模塊,如內(nèi)存管理模塊、硬盤管理模塊)

g. execute the run level scripts

(系統(tǒng)啟動是分層次的,根據(jù)情況執(zhí)行,每個層次之間沒關(guān)系)

0 – 系統(tǒng)停機狀態(tài)

1 – 單用戶工作狀態(tài) root

2 – 多用戶狀態(tài)(沒有NFS)

3 – 多用戶狀態(tài)(有NFS)

NFS – Network File System 網(wǎng)絡(luò)文件系統(tǒng),聯(lián)網(wǎng)系統(tǒng)

4 – 系統(tǒng)未使用,留給用戶

5 – 圖形界面

6 – 系統(tǒng)正常關(guān)閉并重新啟動

如:cd /etc — 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多個文件夾,保存著各個層次執(zhí)行的進程文件

h. execute /etc/rc.d/rc.local (重要)

(保存其它進程腳本,如tomcat自動啟動,要修改此配置文件)

i. execute /bin/login

(登錄界面)

j. shell started…

7、vi 文本編輯器

–兩種模式:命令模式 編輯模式

–vi

(切換到編輯模式)

a append-光標后添加

i insert-光標前插入

o open-另起一行編輯

esc (切換回命令模式)

:w 存盤

:wq 存盤退出

:q 退出

:q! 不存盤退出

dd 刪除其中一行

dw 刪除一個單詞

(sudo gedit 文本 常用linux下的文本編輯器,比vi好用)

8、用戶設(shè)置

–切換用戶(switch user) su username

小技巧:直接exit切換

–添加用戶 useradd username (分配到某個用戶組)

(創(chuàng)建后會自動在/home目錄下創(chuàng)建該新用戶的文件夾,如/home/username)

–設(shè)置密碼 passwd username

–cd /etc

–查看用戶信息 more password

如新增的用戶信息:username:x:500:500::/home/username:/bin/bash

之一個數(shù)字,代表用戶組,當添加用戶沒有指定用戶組時,系統(tǒng)會創(chuàng)建一個和用戶ID一樣的組ID;

第二個數(shù)字:用戶ID號;

用戶的目錄是/home/username;

用戶的SHELL是/bin/bash

(命令—>SHELL—>kenrel內(nèi)核)

SHELL有多種類型,如csh、bash(常用)、bsh、ksh、sh(最原始)

–添加用戶組 groupadd groupname

–查看用戶組信息 more group

–刪除用戶組 groupdel groupname

–修改用戶 usermod

–刪除用戶 userdel username

然后把/home的文件夾刪除了 rm -rf 文件夾

9、權(quán)限file privilege

–linux把文件的權(quán)限分成四種:r:read w:write x:execute -:none

如:-rw-r–r–

lrwxrwxrwx

drwxr-xr-x

drwxr-xr-x

之一個數(shù)字’-‘代表文件,其余是文件夾,后9位分為3組,每組有四種權(quán)限設(shè)置rwx-

之一位表示文件所有者

第二位表示和所有者在同一用戶組的用戶

第三位表示不在同一用戶組的用戶權(quán)限

–設(shè)置權(quán)限 (隨意應用,靈活組合!)

1、普通用法

–添加權(quán)限

如:-rw-r–r– —> -rwxr-xr-x

–刪除權(quán)限

如:-rwxr-xr-x —> -rw-r–r–

–給自己添加權(quán)限

如此類推,組–g,其他人–o

如:chmod u+x -rw-r–r– —> -rwxr–r–

chmod g+x -rw-r–r– —> -rw-r-xr–

chmod o+x -rw-r–r– —> -rw-r–r-x

2、專業(yè)用法 chmod 755/777

–原理,八進制轉(zhuǎn)二進制

如755,, rwx r-x r-x

,, rwx rwx rwx

–修改所有者權(quán)限 chown (change owner)

如:chown 原來文件 file1 的所有者是 root,改成joe的

chown joe file1

10、管道(把上一個命令執(zhí)行的結(jié)果交給下一個命令)

–使用方法:

命令1|命令2|命令3……|命令n

–使用舉例

$ls -Rl /etc | more

(如 ls -Rl /etc (在控制臺模式下,無法返回前面過去的信息),因此需要管道執(zhí)行該查詢,實現(xiàn)分頁的工作, ls -Rl /etc | more)

$cat /etc/passwd | wc

(顯示文件結(jié)果,再數(shù)數(shù)有多少行)

$cat /etc/passwd | grep lrj

(顯示文件結(jié)果,再查找包含lrj的行)

#dmesg | grep eth0

(顯示系統(tǒng)啟動的信息,再查找包含eth0的行–真正含義,檢查網(wǎng)卡執(zhí)行信息是否正常)

$man bash | col -b > bash.txt

語  法:col

補充說明:在許多UNIX說明文件里,都有RLF控制字符。當我們運用shell特殊字符”>”和”>>”,把說明文件的內(nèi)容輸出成純文本文件時,控制字符會變成亂碼,col指令則能有效濾除這些控制字符。

參  數(shù):

b 過濾掉所有的控制字符,包括RLF和HRLF。

f 濾除RLF字符,但允許將HRLF字符呈現(xiàn)出來。

x 以多個空格字符來表示跳格字符。

l 預設(shè)的內(nèi)存緩沖區(qū)有128列,您可以自行指定緩沖區(qū)的大小。

$ls -l | grep “^d”

(用正則表達式篩選出目錄列表中 頭字母為’d’ 的內(nèi)容–目錄)(^是正則表達式開頭部分)

$ls -l * | grep “^-” | wc -l

(列出目錄列表中 頭字符為’-‘的內(nèi)容–文件,并統(tǒng)計顯示的行數(shù)wc -l)

11、其他命令

–wall(warning all) 通知所有人

a.命令替換

如 wall `date`、 cd ‘pwd’、mkbootdisk $(uname -r)

b.重定向

重定向輸出:

如 ls > cmd.txt ,把文件寫到cmd.txt,不輸出在控制臺

ls >> cmd.txt ,把文件追加寫到cmd.txt

重定向輸入:

如 wall > cmd.txt,把文本內(nèi)容發(fā)給所有人

12、修改系統(tǒng)的默認系統(tǒng)級別

常用3和5

3 – 多用戶狀態(tài)(有NFS)

NFS – Network File System 網(wǎng)絡(luò)文件系統(tǒng),聯(lián)網(wǎng)系統(tǒng)

5 – 圖形界面

PS.設(shè)置用戶權(quán)限: sudo chmod 777 目錄

4表示讀,2表示寫,1表示執(zhí)行.

之一位表示文件所有者,第二位表示和所有者在同一用戶組的用戶,第三位表示不在同一用戶組的用戶權(quán)限.

755表示文件所有者可讀寫,執(zhí)行.

第二位5表示與所有者在同一用戶組的可讀,可執(zhí)行,不可寫.

第三位5表示其它組可讀,可執(zhí)行,不可寫. 轉(zhuǎn)載于Joewalker在本人空間也有詳細說明

自己進去看歷滑段看肢譽讓雹吧,貌似自己可以下載下來

1)文件操作

vi FileName 打開文件 FileName,并將光標置于之一行首。

vi +n FileName 打開文件 FileName,并將光標置于第 n 行首。

vi + FileName 打開文件 FileName,并將光標置于最后一行。

vi + /pattern File 打開文件 File,并將光標置于其中之一個于 pattern 匹配的字符串處。

vi –r FileName 在上次正用 vi 編輯 FileName 發(fā)生系統(tǒng)崩潰后,恢復FileName。

vi File1 … Filen 打開多個文件,依次對之進行編輯。

:%!xxd 按十六進制查看當前文件

:%!xxd -r 從十六進制返回正常模式

:n1,n2 co n3 將 n1 行到 n2 行之間的內(nèi)容拷貝到第 n3 行下。

:n1,n2 m m3 將 n1 行到 n2 行之間的內(nèi)容移至第 n3 行下。

:n1,n2 d 將 n1 行到 n2 行之間的內(nèi)容刪除。

:n1,n2 w filename 將 n1 行到 n2 行之間的內(nèi)容保存到文件 filename 中

:n1,n2 w! Command 將文件中n1行到n2行的內(nèi)容作為 Command的輸入并執(zhí)行之,局渣派

若不指定 n1、n2,則將整個文件桐賀內(nèi)容作為 Command 的輸入。

:r! Command 將命令 Command 的輸出結(jié)果放到當前行。

:nr 文件> 把文件>插入到第n行

:so 文件> 讀取文件>,再執(zhí)行文件里面的命令梁亂(文件中的命令應該都是一些ex命令)

:l1,l2w 文件> 把第l1和第l2行之間的文本寫到文件>中去

:w >> 文件> 添加到文件>末尾. 也可以使用行號

:e! 重新編輯當前文件,忽略所有的修改

·(、、)對應顯示

% 顯示當前(、 、)的對應項

) :光標移至句尾

( :光標移至句首

}:光標移至段落開頭

{:光標移至段落結(jié)尾

·(、、)內(nèi)數(shù)據(jù)選擇

daB 刪除{}及其內(nèi)的內(nèi)容 (在非v可視模式下)

diB 刪除{}中的內(nèi)容

ab 選擇()中的內(nèi)容

ib 選擇()中的內(nèi)容( 不含() )

aB 選擇{}中的內(nèi)容

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

·語法提示與自動補齊

插入模式下的單詞自動完成

行自動完成(超級有用)

·設(shè)置ctags

#ctags -f /usr/share/vim/vim63/funcs.tags -R /opt/j2sdk/src /usr/src/kernels/2.6.9-5.EL-i686

^p 自動補齊上下文已有相近項

^n 自動補齊~/.tags中的相近函數(shù)

^

按^t退出函數(shù)

:pta 函數(shù)名 預覽窗口快速打開相應函數(shù)所在文件,并將光標定位在對應函數(shù)的開頭

K 顯示光標下的C函數(shù)的man說明手冊

·變量定位

gd 轉(zhuǎn)到光標下局部變量的定義處

Gd 轉(zhuǎn)到光標下全局變量的定義處

·編譯選項

:cn 命令會把你帶到下一個出錯地點,而不考慮它在什么文件里。

:cc 命令會向你顯示當前錯誤的編譯器輸出信息;

:cl 會生成一個列有項目所有錯誤的列表,以供瀏覽這些錯誤

3>光標移動

·字符

h 光標左移一個字符。

l 光標右移一個字符。

·字

w 或 W 光標右移一個字至字首。

B 或 b 光標左移一個字至字首。

E 或 e 光標右移一個字至字尾。

·句} 光標移至句尾。

( 光標移至句首。

·段) 光標移至段落開頭。

{ 光標移至段落結(jié)尾。

·行k 或 Ctrl+p 光標上移一行。

j 或 Ctrl+n 光標下移一行。

Enter 光標下移一行。

nG 光標移至第 n 行首。

n+ 光標下移 n 行。

n- 光標上移 n 行。

n$ 光標移至第 n 行尾。

0 光標移至當前行首。

$ 光標移至當前行尾。

·屏幕

H 光標移至屏幕頂行。

M 光標移至屏幕中間行。

L 光標移至屏幕最后行。

Ctrl+u 向文件首翻半屏。

Ctrl+d 向文件尾翻半屏。

Ctrl+f 向文件尾翻一屏。

Ctrl+b 向文件首翻一屏。

nz 將第 n 行滾至屏幕頂部。不指定 n 時將當前行滾至屏幕頂。

4}插入

# 在文件中插入行號(不是顯示行號,是插入!)

:g/^/exec “s/^/”.strpart(line(“.”).” “, 0, 4)

·光標

i 在光標前插入。

a 在光標后插入。

·行

I 在當前行首插入。

A 在當前行尾插入。

o 在當前行之下一新行插入。

O 在當前行之上新開一行插入。

5)替換

r 替換當前字符。

R 替換當前字符及其后的字符,直至按 ESC 鍵。

s 從當前光標位置處開始,以輸入的文本代替指定數(shù)目的字符。

S 刪除指定數(shù)目的行,并以所輸入的文本代替。

6)修改

ncw 或 nCW 修改指定數(shù)目的字符。

nCC 修改指定數(shù)目的行。

:r filename 將文件 filename 插入在當前行之下

7)查找替換

/ 把狹義單詞 寫到 搜索命令行

/ 把廣義單詞 寫到 搜索命令行

:g/str/s/str1/str2/g

之一個g表示對每一個包括s1的行都進行替換,

第二個g表示對每一行的所有進行替換

包括str的行所有的str1都用str2替換

:%s/f $/for$/g 將每一行尾部的“f ”(f鍵和空格鍵)替換為for

:%s/^/mv /g 在每一行的頭部添加“mv ”(mv鍵和空格鍵)

:s/fred/a/g 替換fred成register a中的內(nèi)容,呵呵

:g/顯示含或的行

# 替換一個visual區(qū)域

# 選擇一個區(qū)域,然后輸入 :s/Emacs/Vim/ 等等,vim會自動進入:模式

:’s/Emacs/Vim/g 前面的’是vim自動添加的

# 在多個文檔中搜索

:bufdo /searchstr

:argdo /searchstr

復制與剪切

xp 交換前后兩個字符的位置

ddp 上下兩行的位置交換

:g/fred/t$ 拷貝行,從fred到文件末尾(EOF)

9)窗口操作

:vne

:sp

:S

:new

:^w + ^r 交換兩個窗口的位置

^w = 窗口等寬

:res -n 窗口高度減小n

:res +n 窗口高度增大n

:vert res -n

:vert res +n

10)DOS格式文本轉(zhuǎn)成Unix格式文本

:1,$s/^M//g

11)書簽

在閱讀和編寫大的程序文件時,利用標記(書簽)功能定位是十分有幫助的。

將光標移到想做標記的位置。假如做一個名為“debug1”的標記,那么用戶可在命令模式下輸入做標記的命令“mdebug1”,然后敲入回車鍵,一個名為“debug1”的標記就做好了。

接下來用戶可以隨意將光標移到其它的位置,當在命令模式下輸入“`debug1”后,就能快速回到“debug1”的標記所在行的行首。

馨竹:13

12)刪除操作

:%s/r//g 刪除DOS方式的回車^M

:%s= *$== 刪除行尾空白

:%s/^(.*)n1/1$/ 刪除重復行

:%s/^.pdf/new.pdf/ 只是刪除之一個pdf

:%s/// 又是刪除多行注釋(咦?為什么要說「又」呢?)

:g/^s*$/d 刪除所有空行

:g!/^dd/d 刪除不含字符串’dd’的行

:v/^dd/d 同上 (譯釋:v == g!,就是不匹配?。?/p>

:g/str1/,/str2/d 刪除所有之一個含str1到之一個含str2之間的行

:v/./.,/./-1join 壓縮空行

:g/^$/,/./-j 壓縮空行

:s/p1/p2/g:將當前行中所有p1均用p2替代

:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g:將文件中所有p1均用p2替換

ndw 或 ndW 刪除光標處開始及其后的 n-1 個字符。

d0 刪至行首。

d$ 刪至行尾。

ndd 刪除當前行及其后 n-1 行。

x 或 X 刪除一個字符。

Ctrl+u 刪除輸入方式下所輸入的文本。

^R 恢復u的操作

J 把下一行合并到當前行尾

V 選擇一行

^V 按下^V后即可進行矩形的選擇了

aw 選擇單詞

iw 內(nèi)部單詞(無空格)

as 選擇句子

is 選擇句子(無空格)

ap 選擇段落

ip 選擇段落(無空格)

D 刪除到行尾

x,y 刪除與復制包含高亮區(qū)

dl 刪除當前字符(與x命令功能相同)

d0 刪除到某一行的開始位置

d^ 刪除到某一行的之一個字符位置(不包括空格或TAB字符)

dw 刪除到某個單詞的結(jié)尾位置

d3w 刪除到第三個單詞的結(jié)尾位置

db 刪除到某個單詞的開始位置

dW 刪除到某個以空格作為分隔符的單詞的結(jié)尾位置

dB 刪除到某個以空格作為分隔符的單詞的開始位置

d7B 刪除到前面7個以空格作為分隔符的單詞的開始位置

d) 刪除到某個語句的結(jié)尾位置

d4) 刪除到第四個語句的結(jié)尾位置

d( 刪除到某個語句的開始位置

d) 刪除到某個段落的結(jié)尾位置

d{ 刪除到某個段落的開始位置

d7{ 刪除到當前段落起始位置之前的第7個段落位置

dd 刪除當前行

d/text 刪除從文本中出現(xiàn)“text”中所指定字樣的位置,

一直向前直到下一個該字樣所出現(xiàn)的位置(但不包括該字樣)之間的內(nèi)容

dfc 刪除從文本中出現(xiàn)字符“c”的位置,一直向前直到下一個該字符所出現(xiàn)的位置(包括該字符)之間的內(nèi)容

dtc 刪除當前行直到下一個字符“c”所出現(xiàn)位置之間的內(nèi)容

D 刪除到某一行的結(jié)尾

d$ 刪除到某一行的結(jié)尾

5dd 刪除從當前行所開始的5行內(nèi)容

dL 刪除直到屏幕上最后一行的內(nèi)容

dH 刪除直到屏幕上之一行的內(nèi)容

dG 刪除直到工作緩存區(qū)結(jié)尾的內(nèi)容

d1G 刪除直到工作緩存區(qū)開始的內(nèi)容

修改命令操作

r 更改當前字符

cw 修改到某個單詞的結(jié)尾位置

c3w 修改到第三個單詞的結(jié)尾位置

cb 修改到某個單詞的開始位置

cW 修改到某個以空格作為分隔符的單詞的結(jié)尾位置

cB 修改到某個以空格作為分隔符的單詞的開始位置

c7B 修改到前面7個以空格作為分隔符的單詞的開始位置

c0 修改到某行的結(jié)尾位置

c} 修改到某個語句的結(jié)尾位置

c4} 修改到第四個語句的結(jié)尾位置

c( 修改到某個語句的開始位置

c) 修改到某個段落的結(jié)尾位置

c{ 修改到某個段落的開始位置

c7{ 修改到當前段落起始位置之前的第7個段落位置

ctc 修改當前行直到下一個字符c所出現(xiàn)位置之間的內(nèi)容

C 修改到某一行的結(jié)尾

cc 修改當前行

5cc 修改從當前行所開始的5行內(nèi)容

. 重復上一次修改!

13}Set 選項設(shè)置

set all 列出所有選項設(shè)置情況。

set term 設(shè)置終端類型。

set ignorecase 在搜索中忽略大小寫。

set list 顯示制表位(^I)和行尾標志($)。

set number 顯示行號。

set showmode 示用戶處在什么模式下

set report 顯示由面向行的命令修改國的行數(shù)目。

set terse 顯示簡短的警告信息。

set warn 在轉(zhuǎn)到別的文件時,若沒有保存當前文件則顯示 No write 信息。

set autowrite 在“:n”和“:!”命令之前都自動保存文件

set nomagic 允許在搜索模式中,使用前面不帶\的特殊字符。

set nowrapscan 禁止 vi 在搜索到達文件兩端時,又從另一端開始。

set mesg 允許 vi 顯示其他用戶用 write 寫到自己終端上的信息。

autoindent (ai) noai 使新行自動縮進,和上(下)行的位置對齊

autoprint (ap) ap 每條命令之后都顯示出修改之處

autowrite (aw) noaw 在:n,:!命令之前都自動保存文件

beautify (bf) nobf 在輸入的時候忽略所有的控制字符(除了制表鍵(tab),換行(newline),進紙(formfeed))

directory= (dir=) /tmp 存放緩沖區(qū)的目錄名

edcompatible noedcompatible 在替換的時候使用類ed的用法

errorbells (eb) errorbells 出錯的時候響鈴

exrc (ex) noexrc 允許在主目錄(home)外面之外放.exrc文件

hardtabs= (ht=) 8 設(shè)置硬制表的邊界

ignore case (ic) noic 正規(guī)式里忽略大小寫

lisp nolisp 打開lisp模式

list nolist 顯示所有的制表鍵和行的結(jié)尾

magic agic 可以使用更多的正規(guī)表達式

mesg mesg 允許向終端發(fā)送消息

number (nu) nonumber 顯示行號

open open 允許開放和可視化

optimize (opt) optimize 優(yōu)化吞吐量,打印時不發(fā)回車

paragraphs= (para=) IPLPPPQPPLIbp 設(shè)置{ & }的分界符

prompt prompt 命令模式下的輸入給出:的提示符

readonly (ro) noro 除非用!號否則不準保存文件

redraw noredraw 當編輯的時候重繪屏幕

remap remap 允許宏指向其他的宏

report= 5 如果影響的行數(shù)>這個數(shù)的話就報告

scroll 1/2 window 下卷屏幕時滾動屏幕的數(shù)目, 同樣這也是z命令輸出的行數(shù)(z 輸出2倍滾屏的大小)

sections= SHNHH HU 定義節(jié)的末尾(當使用命令> 時)

shell= (sh=) /bin/sh 缺省的SHELL,如果設(shè)置了環(huán)境變量SHELL的話,就使用變量

shiftwidth= (sw=) 8 當使用移動(shift)命令時移動的字符數(shù)

showmatch () no 顯示{, }, (, ), 的匹配情況

showmode noshowmode 顯示你處在什么模式下面

slowopen (slow) 插入之后不要立刻更新顯示

tabstop= (ts=) 8 設(shè)置制表停止位(tabstop)的長度

taglength= (tl=) 0 重要標記的字符個數(shù)(0表示所有的字符)

tags= tag, /usr/lib/tags 定義包含標記的文件路徑

term= 設(shè)置終端類型

terse noterse 顯示簡短的錯誤信息

timeout (to) timeout 一秒鐘后鍵盤映射超時

ttytype= 設(shè)置終端類型

warn warn 顯示”No write since last change”信息

window= (w=) 可視模式下窗口的行數(shù)

wrapmargin= (wm=) 0 右邊距,大于0的話最右邊的單詞將折行,留出n個空白位置

wrapscan (ws) ws 查找到文件尾后再重頭開始

writeany (wa) nowa 可以保存到任意一個文件去

14}特殊字符

^ 匹配字符串位于行首。

$ 匹配字符串位于行尾。

. 用在模式串中,表示任何單個字符。

在命令模式下,重復上次的命令。

* 在模式串中,表示其前字符可出現(xiàn)任意多次。

用在模式串中,表示指定方位內(nèi)字符,其中可用-表示一個字

符范圍,用^表示不在某個范圍內(nèi)的字符。

ESC 從插入狀態(tài)轉(zhuǎn)換到命令狀態(tài)

^

15>大小寫轉(zhuǎn)換

guu 行小寫

gUU 行大寫

g~~ 行翻轉(zhuǎn)(當然指大小寫啦)

guw 字小寫(狹義字) 譯注:建議對比iw

gUw 字大寫(狹義字)

g~w 字翻轉(zhuǎn)(狹義字)

vEU 字大寫(廣義字)

vE~ 字翻轉(zhuǎn)(廣義字)

ggguG 把整個文章全部小寫(ft!bt!)

16) 跳轉(zhuǎn)足跡’. 跳到最后修改的那一行 (超級有用)(ft,怎么又是這個評價)

`. 不僅跳到最后修改的那一行,還要定位到修改點

依次沿著你的跳轉(zhuǎn)記錄向回跳 (從最近的一次開始)

依次沿著你的跳轉(zhuǎn)記錄向前跳

:ju(mps) 列出你跳轉(zhuǎn)的足跡

17)命令歷史

:history 列出歷史命令記錄

:his c 命令行命令歷史

:his s 搜索命令歷史

q/ 搜索命令歷史的窗口

q 命令行命令歷史的窗口

: 歷史命令記錄的窗口

18>寄存器

# 列出寄存器(Registers)

:reg 顯示所有當前的registers

“1p 表示引用register,1表示一個名字叫做1的register,p就是粘貼(paste)命令

譯釋:

“也用來定義register

先輸入 “,表示定義register

然后輸入名字,如0~9,a~z

然后執(zhí)行刪除或復制命令,如dd或y,

或者是visual模式下的d(刪除選中的部分)或y(復制選中的部分)

則被刪除或復制的部分就被存入了這個命名的register

觀察:一個特殊的register, “” ,里面存儲了一個匿名的刪除/復制

在你執(zhí)行dd或y的時候,被作用的部分被存到了””中

19}命令行

“ayy@a 把當前行作為一個Vim命令來執(zhí)行

譯釋:”ayy 是定義當前行到register a,然后@a是執(zhí)行register a中存儲的指令

10yy copy 當前行以下10行

11} 排序

:%!sort -u 使用sort程序排序整個文件(用結(jié)果重寫文件)

!1) sort -u 排序當前段落 (只能在normal模式下使用!!)

:.,+5!sort 排序當前行及以下5行

20) 列操作

:%s= +$=&&= 復制最后一列

:%s= f+$=&&= 一樣的功能

:%s= S+$=&& ft,還是一樣

:s/(.*).*)/2″1/ 顛倒用:分割的兩個字段

:%s(w+s+))str1:1str2: 處理列,替換所有在第三列中的str1

:%sw+)(.*s+)(w+)$:321: 交換之一列和最后一列 (共4列)

·.vimrc

” Use Vim settings, rather then Vi settings (much better!).

set nocompatible

“c風格的縮進

:set expandtab “不使用tab只使用空格

:set cindent shiftwidth=4

“自動縮進

:set ai

“語法

“:set filetype=java

:set syntax=java

“鍵入)、> 、},顯示(、

:set showmatch

“手工定義折疊

:set foldmethod=manual

“標簽文件位置

set tags=/usr/share/vim/vim63/funcs.tags

“在插入模式下通過按N自動地將任何類、方法或者字段名補齊

set complete+=k

” 不要用聲音煩我!

set visualbell

“歷史

:set history=50

“顯示行列位置

:set ruler

“設(shè)置字符編碼

set fileencodings=gb2312

“set encoding=euc-cn

“設(shè)置ruler

set ruler

“顯示當前命令

set showcmd

“incsearch

set incsearch

” allow backspacing over everything in insert mode

set backspace=indent,eol,start

“自動檢測文件類型

:filetype on

linux過濾掉空格的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux過濾掉空格,輕松解決:利用Linux過濾掉空格的方法,Linux 常用命令(要求全而精)的信息別忘了在本站進行查找喔。

創(chuàng)新互聯(lián)網(wǎng)絡(luò)推廣網(wǎng)站建設(shè),網(wǎng)站設(shè)計,網(wǎng)站建設(shè)公司網(wǎng)站制作,網(wǎng)頁設(shè)計,1500元定制網(wǎng)站優(yōu)化全包,先排名后付費,已為上千家服務,聯(lián)系電話:13518219792


網(wǎng)站題目:輕松解決:利用Linux過濾掉空格的方法(linux過濾掉空格)
鏈接地址:http://m.5511xx.com/article/ccohphs.html