jj

vi on Linux Server

มารู้จัก command vi ใน Linux กันดีกว่า 

vi เป็น text editor หรือ เป็นโปแกรม editor ใช้สำหรับสร้าง, เพิ่ม ,ลบ หรือ แก้ไข ไฟล์ข้อมูลนั่นเอง สำหรับผู้ใช้ Linux หรือ Unix คงจะคุ้นเคยกันดีอยู่แล้ว แต่สำหรับผู้เริ่มต้นนั้น ถือว่าสำคัญมาก ก่อนอื่นควรจะติดตั้ง vim ก่อน เพราะ vim จะมีส่วนที่มีการแก้ไขและปรับปรุงให้ดีขึ้นกว่า vi และยังมี vimtutor ด้วย เพื่อฝึกการใช้ vi ให้ชำนาญมากขึ้น ตามรูปด้านล่างครับ

สำหรับ Linux Redhat , Fedora หรือ CentOS ติดตั้ง vim ได้โดยใช้ yum install vim หรือ yum install vim-enchanced ดังด้านล่าง
[root@jodoi-server ~]# yum -y install vim-enhanced

สำหรับ Linux Debian หรือ Ubuntu นั้น ให้ใช้ apt-get install vim เมื่อติดตั้งสำเร็จจะสามารถเรียกใช้ vimtutor ได้ด้วยการพิมพ์ vimtutor
[root@jodoi-server ~]# vimtutor
จะแสดงการสอนการใช้ vi command เป็นบทๆ ค่อยๆหัดทำไปเพื่อความชำนาญนะครับ การออกจาก vi ให้พิมพ์ :q!

การใช้งาน vi นั้น แบ่งเป็น 2 แบบ หรือ 2 โหมดการทำงาน คือ
1. โหมด command
2. โหมดการพิมพ์หรือแก้ไข
การเข้าสู่โหมดการพิมพ์หรือแก้ไข ทำได้โดยการ กดอักษร i หรือ a ก็ได้ ส่วนการจะกลับสู่โหมด command ทำได้โดยกดปุ่ม Esc ซึ่งโดยปกติ เมื่อเราเข้ามาที่ vi จะอยู่ที่โหมด command เสมอ

เริ่มต้นการใช้ vi
1.เมื่อต้องการแก้ไข file หรือตรวจสอบ config ให้พิมพ์ vi และตามด้วยชื่อ file เช่น
# vi /var/log/messages
# vi /var/log/maillog
# vi /var/log/secure
# vi /home/jodoi/.bash_profile
# vi /etc/ssh/sshd_config
# vi /etc/httpd/conf/httpd.conf
# vi /etc/named.conf
# vi /etc/postfix/main.cf
# vi /etc/inittab
File ที่ยกตัวอย่างให้ดู ถ้ายังไม่ชำนาญอย่าพึ่งทำอะไร ให้พิมพ์ :q! เพื่อออกจาก vi

2.เมื่อต้องการสร้าง file ใหม่ ให้พิมพ์ vi ตามด้วยชื่อ file ที่ต้องการสร้าง จะมี .(dot) นามสกุลของ file หรือไม่ก็ได้ เพราะใน unix หรือ linux ทุกอย่างมองเป็น file อยู่แล้ว เพียงแต่ใส่ .(dot) เพื่อบอกประเภทของ file และสามารถนำไปเปิดใน OS หรือโปรแกรมอื่นๆ ได้นั่นเอง ตัวอย่างการสร้าง file เช่น
# vi test.txt
# vi test.sh
# vi index.html
# vi index.php
จะมีข้อความ บอกว่าเป็น file ใหม่ [New File] สามารถกดตัว i แล้วพิมพ์ข้อความ หลังจากพิมพ์เสร็จให้กด Esc และพิมพ์ :wq! เพื่อ save และออกมาก็จะได้ file ที่ต้องการ

Command ต่างๆ ในโหมด command ที่ควรรู้
i = เพิ่มข้อความ โดย cursor จะอยู่ทางซ้ายของข้อความ
a = เพิ่มข้อความ โดย cursor จะอยู่ทางขวาของข้อความ
h = ใช้แทนลูกศรขยับ cursor ไปทางซ้าย
j = ใช้แทนลูกศรขยับ cursor ไปด้านล่าง
k = ใช้แทนลูกศรขยับ cursor ไปด้านบน
l = ใช้แทนลูกศรขยับ cursor ไปทางขวา
x = ลบตัวอักษรตัวเดียว
dw = ลบคำที่ติดๆกัน
dd = ลบทั้งบรรทัด
yy = copy ทั้งบรรทัด
p = ใช้คู่กับ yy วางที่ copy ไว้
ZZ หรือ (:wq!) = save file และออกจาก vi โดยไม่มีคำถาม
:w = save file
:q! = ออกจาก vi โดยไม่ save และไม่ต้องมีคำถาม
:number = ไปยังบรรทัดที่ระบุ
:10 = ไปยังบรรทัดที่ 10
:120 = ไปยังบรรทัดที่ 120
/word = ไปยังบรรทัดที่มีข้อความที่ต้องการ และกด n เพื่อ next หาคำนี้ในตำแหน่งอื่นๆ
/jodoi = ไปยังบรรทัดที่มีคำว่า jodoi
/192.168 = ไปยังบรรทัดที่มีคำว่า 192.168
:set nu = สั่งให้ vi แสดงหมายเลขบรรทัด

ตัวอย่างการสร้าง file ชื่อ test.txt

[root@jodoi-gateway jodoi]# vi test.txt
#############################################
#############################################
#### hello Mr.Jodoi ####
#############################################
#############################################
~
~
:wq!

ตรวจสอบดูจะพบว่ามี file test.txt เพิ่มมาดังนี้

[root@jodoi-gateway jodoi]# ls -la |grep test.txt
-rw-r--r-- 1 root root 230 Sep 11 15:52 test.txt

ทดสอบอ่าน file โดยใช้ command cat ได้ดังนี้

[root@jodoi-gateway jodoi]# cat test.txt
#############################################
#############################################
#### hello Mr.Jodoi ####
#############################################
#############################################
[root@jodoi-gateway jodoi]#

ยังมี option อีกหลาย command แต่สิ่งที่ต้องระวังคือ ถ้ามีการแก้ไข file config ที่สำคัญ แล้วไม่แน่ใจว่าทำถูกต้องหรือไม่ แนะนำให้ :q! ออกมาก่อน หรือควรจะทำการ copy file ต้นฉบับทำ backup ไว้ก่อน

หวังว่าบทความนี้คงจะเป็นประโยชน์ไม่มากก็น้อยนะครับ ขอบคุณครับ

 

เรียบเรียงโดย อาจารย์เกรียงศักดิ์ นามโคตร ( อาจารย์ดอย ) Mr.Jodoi

 

More About us

"Jodoi The Best IT in Thailand" ศูนย์ฝึกอบรม Network และ IT เป็นบริษัทที่เป็นศูนย์อบรม และจัดจำหน่ายคอมพิวเตอร์ ระบบ Network และไอทีครบวงจร อันดับ 1 ของเมืองไทย

 

Facebook

นายเกรียงศักดิ์ นามโคตร (อาจารย์ดอย) ผู้ก่อตั้งบริษัท โจดอย ไอทีแอนด์เซอร์วิส จำกัด เจ้าของแบนด์โจดอย (JODOI) และเจ้าของสโลแกน " โจดอยทำได้ คุณก็ต้องทำได้ " รูัจัก อาจารย์ดอยมากขึ้น more

 

Contact Us

Mr. Kriangsak namkot
Mobile:081-9165773
E-mail:jodoi@jodoi.com