① 如何用nodejs搭建web伺服器
[linux運維]
1、下載最新node.js二進制源碼安裝包(29MB),V8.2.1更新於2017年7月20日
wget-chttps://nodejs.org/dist/v8.2.1//node-v8.2.1.tar.gz
wget是一個Linux下載文件的工具,centos自帶。
wget-c是斷點續傳下載方式,後面的URL就是提供下載文件的地址
默認獲取的文件地址在/root目錄下,命令pwd顯示當前目錄
2、安裝必要的編譯軟體吖米
yuminstallgccgcc-c++
yum=YellowdogUpdater,Modified。改良黃狗更新器,centos自帶智能包管理器。
中途詢問,輸入y:在線下載安裝d:只下載不安裝N:不下載不安裝
Isthisok[y/d/N]:y
3、解壓源碼
tar-zxvfnode-v8.2.1.tar.gz
當前目錄/root/就會多一個node-v8.2.1的文件夾
-z:透過gzip的支持進行壓縮/解壓縮:此時文件名最好為*.tar.gz
-x:解壓縮的功能
-v:在壓縮/解壓縮的過程中,將正在處理文件名顯示出來
ffilename:-f後面要立刻接被處理的文件名
4、編譯node源碼包
1)進入到node源碼包解壓目錄
cdnode-v8.2.1
指定NodeJS安裝位置
./configure--prefix=/usr/local/node
不指定prefix,則可執行文件默認放在/usr/local/bin,
庫文件默認放在/usr/local/lib,
配置文件默認放在/usr/local/etc。
其它的資源文件放在/usr/local/share。
你要卸載這個程序,要麼在原來的make目錄下用一次makeuninstall(前提是make文件指定過uninstall),
要麼去上述目錄裡面把相關的文件一個個手工刪掉。
執行安裝文件,足足等了40多分鍾
make&&makeinstall
4、添加環境變數
>創建並打開新文件不存在node.sh文件
[[email protected]]#vim/etc/profile.d/node.sh
>輸入node安裝位置的bin目錄所在位置
exportPATH=$PATH:/usr/local/node/bin
ESC輸入:wq
提示:命令輸入錯了vim
-bash:rt:commandnotfound
-bash:vim:commandnotfound
[解決]
i.那麼如何安裝vim呢?
輸入rpm-qa|grepvim命令,如果vim已經正確安裝,會返回下面的三行代碼:
root@server1[~]#rpm-qa|grepvim
vim-enhanced-7.0.109-7.el5
vim-minimal-7.0.109-7.el5
vim-common-7.0.109-7.el5
如果少了其中的某一條,比如vim-enhanced的,就用命令yum-yinstallvim-enhanced來安裝:
yum-yinstallvim-enhanced
如果上面的三條一條都沒有返回,可以直接用yum-yinstallvim*命令
yum-yinstallvim*使用suroot
source/etc/profile.d/node.sh=./etc/profile.d/node.sh
[不間斷運行nodejs服務]
https://yq.aliyun.com/ziliao/3411
npminstallforever-g
foreverstartapp.js
② 如何通過PXE實現一鍵自動化安裝操作系統
因為之前的工作需要搭建紅帽實驗室環境,由於機器數量比較多,所有需要批量自動化無人值守安裝系統,所以我嘗試使用RHEL5+PXE+DHCP+Apache+Kickstart安裝了RHCE5.1 i386實驗室環境,並取得了成功,不過過程比較漫長,所以我特地記錄下PXE+DHCP+Apache+Kickstart無人值守安裝的過程。現階段,由於需要大規模應用CentOS5.8 x86_64系統用於集群環境,所以將此方法主要用於在公司內網批量安裝新伺服器系統,這極大地簡化了用光碟重復安裝CentOS5.8 x86_64的過程,再加上分布式自動化運維工具puppet進行批量部署,達到了自動化運維的目的,避免了重復性勞動,極大的提高了工作效率。
首先,我們來介紹一下與之相關的原理和概念。
1. 什麼是PXE
嚴格來說,PXE 並不是一種安裝方式,而是一種引導方式。進行 PXE 安裝的必要條件是在要安裝的計算機中必須包含一個 PXE 支持的網卡(NIC),即網卡中必須要有 PXE Client。PXE (Pre-boot Execution Environment)協議可以使計算機通過網路啟動。此協議分為 Client端和 Server 端,而PXE Client則在網卡的 ROM 中。當計算機引導時,BIOS 把 PXE Client 調入內存中執行,然後由 PXE Client 將放置在遠端的文件通過網路下載到本地運行。運行 PXE 協議需要設置 DHCP 伺服器和 TFTP 伺服器。DHCP 伺服器會給 PXE Client(將要安裝系統的主機)分配一個 IP 地址,由於是給 PXE Client 分配 IP 地址,所以在配置 DHCP 伺服器時需要增加相應的 PXE 設置。此外,在 PXE Client 的 ROM 中,已經存在了 TFTP Client,那麼它就可以通過 TFTP 協議到 TFTP Server 上下載所需的文件了。
2. 什麼是Kickstart
Kickstart是一種無人值守的安裝方式。它的工作原理是在安裝過程中記錄典型的需要人工干預填寫的各種參數,並生成一個名為 ks.cfg的文件。如果在安裝過程中(不只局限於生成Kickstart安裝文件的機器)出現要填寫參數的情況,安裝程序首先會去查找 Kickstart生成的文件,如果找到合適的參數,就採用所找到的參數;如果沒有找到合適的參數,便需要安裝者手工干預了。所以,如果Kickstart文件涵蓋了安裝過程中可能出現的所有需要填寫的參數,那麼安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然後就去忙自己的事情。等安裝完畢,安裝程序會根據ks.cfg中的設置重啟系統,並結束安裝。
3. PXE + Kickstart的安裝條件和詳細步驟
執行PXE+Kickstart安裝需要的設備為:
DHCP伺服器。
TFTP 伺服器。
Kickstart所生成的ks.cfg配置文件。
一台存放系統安裝文件的伺服器,如 NFS、HTTP 或 FTP 伺服器。
一個帶有 PXE 支持網卡的主機。
系統環境紹如下:
伺服器系統為CentOS 5.6 x86_64,IP為192.168.11.29(此伺服器並非一定要限定為CentOS 5.8 x86_64系統),由於是最小化安裝的,我們在後面要用到system-config-kickstart工具,它必須依賴於X windows,所以我們要提前安裝好X windows及gnome並重啟系統,步驟如下所示:
先裝X windows和GNOME桌面環境,命令如下所示:
yum -y groupinstall 'X Window System'
yum -y groupinstall 'GNOME Desktop Environment'
然後修改/etc/inittab文件並重啟伺服器,使其運行在圖形模式下,主要修改文件內容如下所示:
id:5:initdefault:
重啟伺服器命令如下:
reboot
完成上述的准備工作後,PXE+DHCP+Apache+Kickstart無人值守安裝CentOS5.8安裝的步驟如下:
(1)我們先下載CentOS5.8 x86_64光碟至/usr/local/src下,並掛載至/mnt/cdrom目錄下,並確認系統已安裝好httpd服務,如下:
cd /usr/local/src
wget //mirror.neu.e.cn/CentOS/5.8/isos/x86_64/CentOS-5.8-x86_64-bin-DVD-1of2.iso
mkdir –p /mnt/cdrom
接下來我們掛載光碟ISO文件至/mnt/cdrom目錄下,如下命令:
mount -o loop CentOS-5.8-x86_64-bin-DVD-1of2.iso /mnt/cdrom
CetnOS5.x x86_64系列已默認安裝Apache,我們可以用命令看下其版本號,如下所示:
rpm -q httpd
命令顯示結果如下所示:
httpd-2.2.3-65.el5.CentOS
(2)接下來我們復制光碟下的所有內容(文件和文件夾)到/var/html/www(此目錄為Apache默認DocumentRoot目錄)下,無論是紅帽系統還是CentOS 5.x系統,如果是最小化安裝,基本上第一張DVD光碟文件就夠了,復制命令如下所示:
cp -rf /mnt/cdrom /var/html/www
(3)安裝 tftp-server,並啟用tftp服務,同時啟動xinetd進程,步驟如下所示。
1.我們用命令安裝tftp-server,命令如下:
yum -y install tftp-server
2.接著修改/etc/xinetd.d/tftp文件,將disable的值由yes變為no,內容如下所示:
3.接著重啟xinetd進程,命令如下所示:
service xinetd restart
(4)配置支持PXE的啟動程序(注意:前面已經將CentOS5.8 x86_64第一張光碟的內容復制到/var/www/html目錄中了,所以需要的文件只需要從/var/www/html目錄中復制就行了)。
a) 建立tftpboot文件夾,如下所示,若該文件夾已經存在則不用建立。
mkdir -p /tftpboot
b) 復制pxelinux.0文件至tftpboot文件夾中,如下所示。
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
c) 把DVD光碟上的/image/pxeboot/initrd.img和vmlinux復制到/tftpboot/中,如下所示。
cp /var/www/html/images/pxeboot/vmlinuz /tftpboot
d) 復制DVD光碟上的isolinux/*.msg到/tftpboot目錄下,如下所示:
cp /var/www/html/isolinux/*.msg /tftpboot/
e) 在tftpboot中新建一個pxelinux.cfg目錄:
mkdir pxelinux.cfg
f) 將isolinux目錄中的isolinux.cfg復制到pxelinux.cfg目錄中,同時更改文件名稱為default,命令如下所示:
cd pxelinux.cfg
cp /var/www/html/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
g) 在上一個步驟,即第6點中,暫時不要修改default文件,進行到這一步時,雖然已經可以通過網路來引導並手動安裝Kickstart了,但是由於這里討論的是無人值守安裝,所以先不修改這個default文件。
(5)安裝dhcp服務,同時修改如下配置:
yum –y install dhcp
然後復制配置模板文件到指定的目錄中,並重新命名。
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
接著修改/etc/dhcpd.conf配置文件,文件最後修改內容如下所示:
最後啟動dhcp服務:
service dhcpd start
註:如果機器數量過多的話,注意dhcp伺服器的地址池,不要因為耗盡IP而導致dhcpd伺服器沒有IP地址release情況。
(6)用yum工具自動安裝Kickstart,同時配置system-config-kickstart。
a) 首先我們需要安裝Kickstart這個工具包,在CentOS最小化安裝系統時,此軟體包並沒有默認安裝,yum安裝命令如下所示:
yum –y install system-config-kickstart
b) 在gnome環境下配置Kickstart,命令如下所示:
system-config-Kickstart
運行上面的命令後可以對系統的一些基本配置進行設置,例如選擇時區、設置root的密碼等。
c) 接下來便要進行安裝了,建議選擇httpd安裝,切記不要輸入任何賬號,而是採用匿名安裝。
在安裝過程中,根據引導選擇安裝選項,不需要做更改。
d) Kickstart會讓我們選擇需要批量安裝的CentOS5.8分區信息,按照上一節所介紹的CentOS5.5 x86_64的安裝方法,我們創建四個分區,即/、/boot、/data和swap分區。
e) 在進行網路配置時,我使用的靜態分配地址(動態同樣如此),這里跟前面進行光碟安裝是一樣的。
f) 設置顯示配置時可以按照我們的習慣選擇。
g) 關於軟體包的選擇,大家可以根據實際的工作需求來選擇自己需要的軟體包,由於伺服器安裝後用途都是不一樣的,建議大家這里選擇最小化安裝。
h) 其他都選擇默認設置,不需要修改。
i) 最後將生成的文件ks.cfg保存到/var/www/html下,此為自動化無人值守安裝的重難點,此文件稍有配置不當的話就會需要人為干預了,如果大家遇到問題,建議參考我下面的ks.cfg配置文件。
(7)修改/tftpboot/pxelinux.cfg/default文件,指定讀取ks.cfg的方法,即修改文件第一行內容,改動後文件第一行內容如下所示:
default text ks=192.168.11.29/ks.cfg
另外,也建議將timeout時間由原先的600改為1,timeout時間是引導時等待用戶手動選擇的時間,設為「1」可直接引導。
(8)/var/www/html/ks.cfg文件內容如下所示(此內容是整個實驗過程的重難點,請關注):
此配置過程中的重難點我這里說明下:
分區操作按照目前線上分區來操作,即分成/、/boot、/data及swap四個分區,其中/data分區是存放數據的,我們這里用--grow --size=1參數來將其餘的剩餘空間全部分配給/data分區。
key --skip如果是紅帽系統,此選項可以跳過輸入序列號過程;如果是CentOS 5.x系列,則可以不保留此項內容;
reboot 此選項必須存在,也必須文中設定位置,不然kickstart顯示一條消息,並等待用戶按任意鍵後才重新引導,此問題是很多朋友在論壇上發言提問的,我在實驗過程中也遇到此問題,建議多做幾次實驗;
clearpart --all --initlabel此條命令必須添加,不然系統會讓用戶手動選擇是否清除所有數據,這就需要人為干預了,從而導致自動化過程失敗;
其它方面選項較容易看懂,我這里就不再重復了。
(9)將Kickstart需要的伺服器均啟動後,此自動化安裝系統的過程就完成了,我們就可以在內網機櫃中全自動同時安裝CentOS5.8 x86_64系統了,伺服器端啟動相應命令如下:
service httpd start
chkconfig httpd on
service dhcpd start
chkconfig dhcpd on
service xinetd restart
系統完成最小化後安裝後,大家可以根據自己公司的實際情況來進行系統的優化,此最小化優化腳本init.sh還可以讓puppet伺服器進行推送,此腳本內容如下所示:
注意:
#tune kernel parametres為內核優化部分,在這里我只做了基礎處理,大家有需求可以自行修改,記住:一切以系統穩定為原則。
#vim setting選項為vim的個性化配置,如果想vim語法高亮,則必須安裝vim-enhanced包,另外,vim在使用搜索功能,搜索選中內容為高亮,感覺不是特別舒服,所以我這里用了set nohlsearch選項,如果大家不介意此項功能,則不需要添加此語句;
#disable ipv6選項我在測試時發現,在CentOS5.8 x86_64系統下,如果不添加install ipv6 /bin/true此語句到/etc/modprobe.conf文件里,是關閉不了ipv6選項的,而測試的CentOS5.5 | 5.6不添加此句均可以順利關閉ipv6,這點請大家注意,當然了,最後要reboot系統讓此配置生效。
引申:相信大家的開發環境應該有不少Xen虛擬機,雖然Xen有自身的模板文件操作,但我們也可以利用Kickstart的方式快速無人值守安裝Xen虛擬機系統,命令如下所示:
virt-install -n vm4 -r 300 -f /data/vm/vm4.img -s 8 -p -l -x ks=192.168.11.29/ks.cfg
我們單位有個叫noc-ps的伺服器,可以通過他自動安裝各種操作系統,把鏡像都做好,可以像給任務一樣都完全自動化,比PXE還簡單,原本是一個老員工做的,他走了,老闆讓我現在做一個功能就是讓他能自動破解windows密碼,我只會家裡平時用用GHOST里的工具去破解,賽光碟直接進軟體然後選擇磁碟的sam文件,但是通過noc-ps我就不是很清楚,老闆叫我做個WINPE,然後通過腳本方式實現,既然是winpe我想論壇很多GHOST系統里開機都有WINPE的,我猜想把這個系統鏡像里的系統GHOST文件去除,減少點容量,然後想辦法通過NOC-PS引導到像家裡光碟機啟動一樣的界面,讓他自己進入WINPE,然後系統啟動後自動讓他執行破解軟體的腳本,不知道是這樣否,現在我把系統鏡像上傳上去,引導就是引導不起來,不知道論壇下載的ISO文件本身帶自己引導嗎?因為我通常把ISO放到虛擬機里CD/DVD光碟機,虛擬機只要按運行虛擬機自動會啟動的,不知道NOC-ps是不是要我手工把ISO這個文件製作成帶啟動功能的,請大俠指點我
③ 如何搭建一台Linux開發伺服器
在開發過程中,必然會出現多人同時工作、協著的情況,在嵌入式開發項目中更為平常,這樣可以加快項目周期,為產品上市佔得時間先機。目前,使用Linux作為開發產品的操作系統情況越來越多,使用越來越廣泛。為了交叉編譯,為了最接近開發目標,我們一般都會自己搭建一台Linux開發伺服器。Linux開發伺服器一些常用的功能必須支持,比如Samba、nfs、tftp、httpd等。 首先我們需要選擇合適的Linux操作系統作為伺服器的系統,推薦使用Fedora8、Fedora10等,筆者在長期使用的過程中覺得比較穩定吧!如何安裝該操作系統就不多說了。 裝好系統後,需要增加Linux OS用戶,可以使用命令#adser XXX;增加XXX用戶,#passwd XXX給其設置登錄密碼。當然使用圖形化創建用戶也很直觀、方便。在這個環節值得注意的一定要設置好該用戶的home目錄,一般都會設置到該用戶的工作目錄,各個用戶的工作目錄需要私有化、獨立開來,這樣方便些、安全些。 多用戶的賬戶有了,我們應該來打通網路功能了,Fedora有bug,在圖形化配置GATEWAY什麼的會不成功,請安裝如下方法修改: # cd cd /etc/sysconfig/network-scripts/ # vi ifcfg-eth0 修改配置文件如下: # Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller DEVICE=eth0 HWADDR=00:16:e6:db:c2:96 ONBOOT=yes BOOTPROTO=static //這個應該是「static」,而不是「dhcp」或「none」; USERCTL=yes PEERDNS=yes IPV6INIT=no NM_CONTROLLED=yes//這個應該是「yes」,如不修改,鏈接仍是disconnected; TYPE=Ethernet NETMASK=***.***.***.*** IPADDR=***.***.***.*** DNS1=***.***.***.*** DNS2=***.***.***.*** GATEWAY=***.***.***.*** step 3: # service network restart 接下來就需要調試一下Samba功能了,這樣在windows下編輯Linux下的代碼將非常的便利。命令行下操作方法如下: Vim /etc/samba/smbusers # Unix_name = SMB_name1 SMB_name2 … root = administrator admin nobody = guest pcguest smbguest dssun = dssun hmchen = hmchen 增加Samba用戶; Vim /etc/samba/smb.conf [dssun] comment = * path = /opt/STM/STLinux-2.3/devkit/dtvkit/dssun writeable = yes ; browseable = yes valid users = bluo, dssun, hmchen, hqian, sbxiang, tsfu, yrli 設置工作路徑,可讀寫性、有效訪問的用戶等。 在圖形化下也有配置菜單,這個就很簡單了,不再敘述。 有了Samba就方便很多了!編譯編輯都很不錯了!接下來要著手你的開發平台軟體,這個對於不同平台的SDK有不同的處理方法,根據自己的SDK來處理。 有了SDK後,我們編譯通過後,一般都會進行調試,如何方便的調試呢?一般都會想到使用nfs調試。 以Fedora為例,一般默認安裝的沒有包括tftp功能,可以使用yum來安裝,方便! #yum install tftp; #yum install tftp-server 還需要更改一下tftp的配置,如下: vim /etc/xinetd.d/tftp 修改server_args = -s /tftpboot -c,這里的-c一定要加上,否則只能下載不能上傳!!! service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot -c per_source = 11 cps = 100 2 flags = IPv4 } # mkdir /tftpboot # chmod 777 -R /tftpboot/ # service xinetd restart 記得要關閉防火牆、seLinux.不disabled seLinux,Samba有可能只能讀不能寫,切記。
④ linux系統中vi編輯器如何使用
建議找一下相關的linux教程,在網路知道上幾句話說不清楚。
vi編輯器是所有Unix及Linux系統下標準的編輯器,它的強 大不遜色於任何最新的文本編輯器,這里只是簡單地介紹一下它的用法和一小部分指令。由於對Unix及Linux系統的任何版本,vi編輯器是完全相同的, 因此您可以在其他任何介紹vi的地方進一步了解它。Vi也是Linux中最基本的文本編輯器,學會它後,您將在Linux的世界裡暢行無阻。
1、vi的基本概念
基本上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)。
2、vi的基本操作
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編輯器)
3、命令行模式(command mode)功能鍵
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]命令可關閉該功能。