Thao tác với văn bản trong Linux là công việc được thực hiện thường xuyên khi quản trị hệ thống Linux. Cho dù ta cần sửa một tập lệnh config hay tạo shell script đều phải cần đến trình soạn thảo văn bản. Do đó đây là một kỹ năng quan trọng.
Một số công cụ soạn thảo văn bản trong Linux
Ba công cụ phổ biến nhất dùng để soạn thảo dòng lệnh trong Linux đó là nano, emacs và vim.
nano
Trong đó nano là trình soạn thảo tốt và dễ thao tác nhất dành cho những người bắt đầu làm quen với trình soạn thảo dòng lệnh.
Những phím tắt trong nano rất hữu dụng, danh sách phím tắt được hiển thị ở cuối cửa sổ. Ký tự (^) là phím Ctrl. Ví dụ khi muốn lưu nội dung soạn thảo, nhấn và giữ Ctrl + O
. Tuy nhiên, nano chỉ phù hợp để soạn thảo tập lệnh đơn giản. Hai công cụ mạnh mẽ hơn là emacs và vim.
emacs
Giao diện của emacs:
Một số phím tắt thông dụng:
- Gõ Ctrl X và Ctrl S để lưu.
- Gõ Ctrl X và Ctrl C để thoát khỏi trình soạn thảo.
- Gõ Ctrl X và Ctrl H để mở trợ giúp (tutorials).
vim
Để mở vim, gõ vi
:
Trong hình trên, file đang được chỉnh sửa có tên là number.txt
. Vim xử lý dữ liệu trong bộ đệm và dữ liệu trong bộ đệm được hiển thị lên màn hình. Nếu các bạn mở một file bằng vim mà file đó chưa tồn tại thì vim vẫn sẽ tạo ra 1 file rỗng có tên tương ứng.
Trình soạn thảo vim có 3 chế độ:
- Command Mode: đây là chế độ đầu tiên khi vừa bắt đầu mở Vim, tại chế độ này bạn cần phải sử dụng các phím tắt để thao tác. Ví dụ như gõ phím J để đi xuống 1 dòng.
- Insert Mode: đây là chế độ chỉnh sửa, gõ I để vào chế độ này.
- Ex Mode: đây còn được gọi là chế độ dấu hai chấm vì mọi lệnh nhập vào ở chế độ này đều bắt đầu bằng dấu hai chấm. Ví dụ để thoát vim mà không lưu thì gõ
:q
.
Một số phím chức năng trong Command Mode:
h
: di chuyển con trỏ sang trái một ký tựi
: di chuyển con trỏ sang phải một ký tựj
: di chuyển con trỏ xuống một dòngk
: di chuyển con trỏ lên trên một dòngw
: di chuyển con trỏ sang từ tiếp theoe
: di chuyển con trỏ về cuối cùng của từ hiện tạib
: di chuyển con trỏ về từ kế trước^
: di chuyển con trỏ về vị trí đầu tiên của dòng$
: di chuyển con trỏ về cuối dònggg
: di chuyển con trỏ về dòng đầu tiên của fileG
: di chuyển con trỏ về dòng cuối cùng của filenG
: di chuyển con trỏ về dòng thứ nCtrl + B
: Lăn lên 1 mức bằng full screenCtrl + F
: Lăn xuống 1 mức bằng full screenCtrl + U
: Lăn lên 1 mức bằng một nửa full screenCtrl + D
: Lăn xuống 1 mức bằng một nửa full screenCtrl + Y
: Lăn lên 1 dòngCtrl + E
: Lăn xuống 1 dòng
Trong trường hợp muốn tìm kiếm một từ khóa, gõ ?
để tìm từ đầu file, gõ /
để tìm từ cuối file.
Một số lệnh trong Ex Mode:
:!
: thực thi shell command, hiển thị kết quả nhưng không thoát text editor.:r!
: thực thi shell command, bao gồm kết quả trong editor buffer area.:r
: đọc nội dung file và ghi nó vào buffer area.
Lưu thay đổi:
:x
: lưu và thoát:wq
: lưu và thoát:wq!
: lưu và thoát (bỏ qua overrides protection):w
: lưu nhưng không thoát:w
: lưu và bỏ qua overrides protection nhưng không thoát:q
: thoát editor:q!
: thoát editor và bỏ qua overrides protection
Bài tiếp theo chúng ta sẽ tìm hiểu về một số lệnh thao tác với tệp văn bản trong Linux, xem thêm ở (Bài 4: Một số lệnh thao tác với tệp văn bản trong Linux).