B.1. Shell và các lệnh cơ bản
Trong thế giới Unix, mọi quản trị viên đều phải sử dụng dòng lệnh sớm hay muộn; Ví dụ, khi hệ thống không khởi động đúng cách và chỉ cung cấp một chế độ cứu hộ bằng dòng lệnh. Khả năng xử lý giao diện như vậy là một kỹ năng sống còn cơ bản trong những trường hợp này.
Phần này chỉ đưa ra một cái nhìn nhanh về các lệnh. Tất cả chúng đều có nhiều tùy chọn khác không được mô tả ở đây, nên hãy tham khảo rất nhiều tài liệu trong các trang hướng dẫn sử dụng tương ứng.
B.1.1. Duyệt cây thư mục và quản lý tập tin
Một khi phiên làm việc được mở ra, lệnhpwd
(viết tắt củaprint working directory) sẽ hiển thị vị trí hiện tại trong hệ thống tập tin. Thư mục hiện tại được thay đổi bằng lệnhcdthư mục
(cd
là thay đổiThư mục). Thư mục cha luôn được gọi là.
(hai dấu chấm), trong khi thư mục hiện tại còn được gọi là.
(một chấm). Lệnhls
cho phépliệt kênội dung của một thư mục. Nếu không có thông số được đưa ra, nó hoạt động trên thư mục hiện hành.
$
pwd
/home/rhertzog
$
cd Desktop
$
pwd
/home/rhertzog/Desktop
$
cd .
$
pwd
/home/rhertzog/Desktop
$
cd ..
$
pwd
/home/rhertzog
$
ls
Desktop Downloads Pictures Templates
Documents Music Public Videos
Một thư mục mới có thể được tạo ra vớimkdir thư mục
, và một thư mục hiện có (rỗng) có thể được gỡ bỏ vớirmdir directory
. Lệnhmv
cho phépdi chuyểnvà/hoặc đổi tên các tập tin và thư mục;xoá một tệp tin đã đạt được với rmfile
.
$
mkdir test
$
ls
Desktop Downloads Pictures Templates Videos
Documents Music Public test
$
mv test new
$
ls
Desktop Downloads new Public Videos
Documents Music Pictures Templates
$
rmdir new
$
ls
Desktop Downloads Pictures Templates Videos
Documents Music Public
B.1.2. Hiển thị và Sửa Đổi các Tệp Văn bản
Lệnhcatfile
lệnh (dự định kết hợpconcatenatevào thiết bị đầu ra tiêu chuẩn) đọc một tập tin và hiển thị Nội dung của nó trên thiết bị đầu cuối. Nếu tệp quá lớn để hiển thị trên màn hình, hãy sử dụng trình phân trang nhưless
(hoặcmore
) để hiển thị từng trang một.
Lệnh editor
bắt đầu trình soạn thảo văn bản (như vi
or nano
) và cho phép tạo, sửa đổi và Đọc các tập tin văn bản. Đôi khi các tệp đơn giản nhất có thể được tạo trực tiếp từ trình thông dịch lệnh nhờ chuyển hướng:echo "text" >file
tạo một tệp có tên làfilevới “text” làm nội dung của nó. Cũng có thể thêm một dòng vào cuối tập tin này, với một lệnh như echo“moretext“> >file
. Lưu ý >>
trong ví dụ này.
B.1.3. Tìm kiếm tệp và tìm nội dung trong tệp
Lệnh finddirectorycriteria
sẽ tìm kiếm các tệp trong cây thư mục dưới thư mụcdirectorytheo một số tiêu chí. Tiêu chí được sử dụng phổ biến nhất là-namename
: cho phép tìm kiếm một tập tin theo tên của nó.
Lệnh
grep expression files
sẽ tìm kiếm nội dung của các tệp và trích xuất các dòng phù hợp với biểu thức chính quy (Xem thanh bên
BACK TO BASICS Regular expression). Thêm tuỳ chọn
-r
cho phép tìm kiếm đệ quy trên tất cả các tệp tin chứa trong thư mục được truyền như một tham số. Điều này cho phép tìm kiếm một tập tin khi chỉ biết một phần của nội dung.
B.1.4. Quản lý tiến trình
Câu lệnhps aux
liệt kê các tiến trình hiện đang chạy và xác định chúng bằng cách hiển thịpidcủa chúng (process id). Khi đã biết đượcpidcủa một tiến trình, câu lệnhkill -signal pid
cho phép gửi một tín hiệu đến nó (nếu tiến trình thuộc về người hiện tại). Có một vài loại tín hiệu; Thường được sử dụng là TERM
(yêu cầu chấm dứt một cách nhẹ nhàng) và KILL
(bắt buộc chấm dứt).
Trình thông dịch lệnh cũng có thể chạy các chương trình ở chế độ nền nếu lệnh được theo sau bằng “&“. Bằng cách sử dụng ký hiệu này người dùng sẽ tiếp tục sử dụng shell ngay lập tức ngay cả khi lệnh vẫn đang chạy (ẩn từ người dùng, như một tiến trình nền). Lệnhjobs
liệt kê các tiến trình chạy dưới nền; Chạyfg %job-number
(forforeground) phục hồi công việc ở tiền cảnh. Khi một lệnh đang chạy ở tiền cảnh (hoặc vì nó đã được khởi động bình thường, hoặc được đưa trở lại mặt trước vớifg
), tổ hợp lệnhControl+Z tạm dừng tiến trình và tiếp tục sử dụng màn hình dòng lệnh. Tiến trình này có thể được khởi động lại trong nền vớibg %job-number
(cho background).
B.1.5. Thông tin hệ thống: bộ nhớ, không gian đĩa, định danh
Lệnhfree
hiển thị thông tin về bộ nhớ;df
(disk free) báo cáo về không gian đĩa có sẵn trên mỗi đĩa được gắn trong hệ thống tập tin. Tùy chọn- h
(chohuman readable) chuyển đổi các kích thước thành một đơn vị dễ đọc hơn (thường là các mebibytes hoặc gibibytes). Tương tự, lệnhfree
hỗ trợ các tùy chọn-m
và-g
và hiển thị Dữ liệu hoặc trong các ổ theo mebibytes hoặc trong gibibytes, tương ứng.
$
free
total used free shared buff/cache available
Mem: 16279260 5910248 523432 871036 9845580 9128964
Swap: 16601084 240640 16360444
$
df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 8108516 0 8108516 0% /dev
tmpfs 1627928 161800 1466128 10% /run
/dev/mapper/vg_main-root 466644576 451332520 12919912 98% /
tmpfs 8139628 146796 7992832 2% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 8139628 0 8139628 0% /sys/fs/cgroup
/dev/sda1 523248 1676 521572 1% /boot/efi
tmpfs 1627924 88 1627836 1% /run/user/1000
Lệnhid
sẽ hiển thị danh tính của người dùng đang chạy phiên, cùng với danh sách các nhóm mà nó thuộc về. Do truy cập vào một số tệp hoặc thiết bị có thể bị hạn chế đối với thành viên nhóm, nên kiểm tra thành viên nhóm có sẵn có thể hữu ích.
$
id
uid=1000(rhertzog) gid=1000(rhertzog) groups=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)