Linux kernel có 2 chức năng chính:
- Điều khiển truy cập đến các thiết bị trong máy tính
- Vạch ra kế hoạch làm việc, khi nào và như thế nào cho các processes hoạt động với các thiết bị đó.
/proc/ là thư mục chứa 1 cấu trúc các files đặc biệt nói lên tình trạng hiện tại của kernel, cho phép các ứng dụng và users có thể "nhìn thấy" tình trạng của hệ thống.
Bên trong /proc/ ta có thể nhìn thấy đc sự đa dạng của các thông tin chi tiết về hệ thống phần cứng và bất cứ process nào đang hoạt động. Hơn nữa, một vài files trong /proc/ có thể đc điều khiển bởi các users và các ứng dụng để trao đổi những sự thay đổi trong cấu hình đến kernel.
1.A Virtual File System
Trong Linux, mọi thứ đều là file, hoặc là dạng text, hoặc là dạng binary. Nhưng /proc/ chứa 1 định dạng khác gọi là virtual file. Vì lý do này cho nên /proc/ cũng thường đc gọi là virtual file system.
Các virtual files như /proc/interrupts, /proc/meminfo, /proc/mounts và /proc/partitions cung cấp một cái nhìn lướt qua nhưng đầy đủ[cho tới hiện tại] về tình trạng của hệ thống phần cứng. Và, các file như /proc/filesystems và thư mục /proc/sys/ cũng cung cấp các thông tin về việc cấu hình hệ thống.
Với mục địch phân chia rõ ràng, các files chứa các thông tin nào thì sẽ đc nhóm vào 1 nhóm và lưu trong 1 subdir. Ví dụ, /proc/ide/ chứa các thông tin cho tất cả các thiết bị IDE.Cũng như vậy, processes dirs cũng chứa các thông tin về mỗi process đang chạy trong hệ thống
1.1.Viewing Virtual Files
Trong /proc/ ta có thể sử dụng các câu lệnh thông thường như cat, more, less để xem đc ngay các thông tin hệ thống. Ví dụ, nếu muốn xem thông tin về CPU ta có thể:
cat /proc/cpuinfo
1.2.Chaging Virtual Files
Thông thường thì các subdir trong /proc ở chế độ read-only. Nhưng có 1 vài dir có thể đc dùng để điều chỉnh các thiết lập của kernel, những việc này thường diễn ra ở thư mục /proc/sys/
-Ví dụ, để thay đổi hostname ta có thể:
echo newhostname > /proc/sys/kernel/hostname
-Một số file sử dụng hệ nhị phân nên ta có thể chỉ nhìn thấy 0 hoặc 1. Khi cat /proc/sys/net/ipv4/ip_forward có thể trả về 0 hoặc 1. 0 có nghĩa là ko forward gói tin, 1 là forward.
2.Top-level FIles within /proc/
-/proc/apm: cung cấp thông tin trạng thái về Advance Power Managerment[APM] thông qua câu lệnh apm.
-/proc/cpuinfo: các thông tin về CPU
-/proc/cryto: thông tin mã hoá của hệ thống
-/proc/filesystems: các filesystem có thể đc kernel hỗ trợ.
-/proc/meminfo:xác định thông tin về dung lượng RAM đc sử dụng.
-/proc/modules: tất cả các modules đc load vào kernel.
.....
Tham khảo: RedHat Enterprise Linux Deployment Guide
Lệnh kiểm tra performance:
cat /proc/cpuinfo
- hiển thị thông tin CPU
cat /proc/meminfo
- hiển thị thông tin về RAM đang sử dụng
cat /proc/version
- hiển thị phiên bản của kernel
cat /proc/ioports
- xem thông tin I/O port
cat /proc/interrupts
- xem thông tin interrupt
cat /proc/dma
- xem thông tin về DMA
cat /etc/redhat-release
- hiển thị phiên bản Centos
uname -a
- hiển thị các thông tin về kernel
free -m
- hiển thị lượng RAM còn trống
df -h
- hiển thị thông tin những file hệ thống nơi
mỗi file thường trú hoặc tất cả những file mặc định và lệnh này có thể xem được dung lượng ổ cứng đã sử dụng và còn trống bao nhiêu.
du -sh
- xem dung lượng của thư mục hiện tại
du -ah
- xem chi tiết dung lượng của các thư mục con, và cả các file
du -h –max-depth=1
- xem dung lượng các thư mục con ở cấp 1 [ngay trong thư mục hiện tại]
df
- kiểm tra dung lượng đĩa cứng, các phân vùng đĩa
top
- hiển thị sự hoạt động của các tiến trình, đặc biệt là thông tin về
tài nguyên hệ thống và việc sử dụng các tài nguyên đó của từng tiến trình;
Lệnh hệ thống:
exit
- thoát khỏi cửa sổ dòng lệnh.
logout
- tương tự exit.
reboot / init 6 / shutdow -r
- khởi động lại hệ thống.
dừng / shutdow -h bây giờ / init 0 / poweroff tắt máy
hostname
- xem tên máy tính
startx
- khởi động chế độ xwindows từ cửa sổ terminal.
clear
- xoá trắng cửa sổ dòng lệnh.
hwclock
- Fix lịch của bios
cal
- xem lịch hệ thống.
yum update -y
- Update Linux [CentOS]
date
- xem ngày, giờ hệ thống.
date –s “27 SEP 2011 14:26:00”
- Đặt ngày giờ hệ thống theo string
date +%Y%m%d -s “20130318″
- đặt ngày hệ thống [không thay đổi giờ]
date +%T -s “00:29:00″
- đặt giờ hệ thống, không thay đổi ngày
Lệnh xử lý tập tin:
ls
– liệt kê nội dung thư mục hiện tại
ls -al
– liệt kê có định dạng và cả tập tin ẩn
cd dir
- chuyển từ thư mục hiện tại sang dir
cd
– chuyển từ thư mục hiện tại về thư mục riêng
pwd
– hiện thư
mục hiện tại
mkdirdir
– tạo thư mục dir
rm file
– xóa tập tin file
rm -r dir
– xóa thư mục dir
rm -f file
– ép xóa tập tin file
rm -rf dir
– ép xóa thư mục dir *
cp file1 file2
– chép tập tin file1 sang file2
cp -r dir1 dir2
– chép thư mục dir1 sang dir2; tạo dir2 nếu chưa tồn tại
mv file1 file2
– đổi tên hoặc di chuyển tập tin file1 thành file2; nếu file2 là một thư mục có sẵn, di chuyển file1 vào thư mục file2
ln -s file link
– tạo liên kết biểu tượng link đến tập tin
file
touch file
– tạo hoặc cập nhật tập tin file
cat > file
– Nhập từ bàn phím [đầu vào chuẩn - standard input] vào tập tin file mới
more file
– hiện nội dung tập tin file
head file
– hiện 10 dòng đầu của tập tin file
tail file
– hiện 10 dòng cuối của tập tin file
tail -f file
– hiện nội dung của tập tin file v
Lệnh quản lý ứng dụng và tiến trình:
rpm
- kiểm tra, gỡ bỏ hoặc cài đặt 1 gói .rpm
ps
- kiểm tra hệ thống tiến trình đang chạy.
kill
- dừng tiến trình khi tiến trình bị treo.
pstree
- hiển thị tất cả các tiến trình dưới dạng cây.
sleep
- cho hệ thống ngừng hoạt động trong một khoảng thời gian.
yum
- Cài đặt các ứng dụng đóng gói [giống rpm]
wget
- Tải các ứng dụng từ một website về
sh
- Chạy một ứng dụng có đuôi .sh
top
– hiện tất cả các tiến trình đang hoạt động
kill pid
– ép thoát tiến trình có mã pid
killall proc
– ép thoát các tiến trình tên
proc *
bg
– hiện các công việc đã kết thúc hoặc đang chạy nền; tiếp tục một công việc đã tạm ngừng
fg
– ngừng chạy nền [chuyển sang foreground] với công việc gần đây nhất
fg n
– ngừng chạy nền với công việc n
Lệnh quản lý user:
useradd
- tạo một người dùng mới.
userdel
- xoá người dùng đã tạo.
usermod
- thay đổi thông tin user.
passwd
- đặt và thay đổi password cho người dùng.
groupadd
- tạo một nhóm người dùng mới.
groupdel
- xoá nhóm người dùng đã tạo.
gpasswd
- thay đổi password của một nhóm người dùng.
su
- cho phép đăng nhập với tư cách người dùng khác.
groups
- hiển thị nhóm của user hiện tại.
who / w
- cho biết ai đang đăng nhập hệ thống.
skill -9 –t pst/0
- để gỡ bỏ session pst/0
chmod permission file_name
- thay đổi quyền cho file/thư mục [chỉ user sở hữu file mới thực hiện được]
chown user file_name
- thay đổi chủ sở hữu file/thư mục
chown user:group file_name
- thay đổi chủ sở hữu file/thư
mục, đồng thời thay đổi nhóm sở hữu
chgrp group file/dir
- thay đổi group sở hữu file/thư mục
Lệnh quản lý file và thư mục:
ls
- xem danh sách các file và thư mục con trong thư mục hiện thời
ls -l
- như trên, nhưng liệt kê cả kích thước file, ngày cập nhật…
ls -a
- liệt kê tất cả các file ẩn
rm
- xóa file
rmdir
- xóa thư mục rổng
rm -rf
- xóa thư mục không rỗng.
mv
- đổi tên / di chuyển thư mục hoặc file từ nơi này sang nơi
khác
cp
- copy file hoặc thư mục
mkdir
- tạo thư mục
cd
- chuyển thư mục
pwd
- xem thư mục hiện hành
find
- tìm kiếm file
find /etc -name inittab
- tìm file có tên inittab trong thư mục /etc
Lệnh nén và giải nén:
tar -cvf
- nén file/thư mục sang định dạng .tar
tar -xvf
- giải nén file .tar
gzip
- chuyển file .tar sang .tar.gz
gunzip
chuyển file .tar.gz về .tar
tar -xzf
- giải nén file .tar.gz
tar -zxvf
- giải nén file .tar.bz2
tar -jxvf
- giải nén file .tar.gz2
Quyền sử dụng tập tin
chmod octal file
– thay đổi quyền sử dụng của tập tin file thành octal. Mỗi chữ số ứng với từng tài khoản có được bằng cách cộng các số sau:
● 4 – đọc [r]
● 2 – ghi [w]
● 1 – thực thi [x]
Ví dụ:
chmod 777
– tất cả đều có đủ 3 quyền
chmod 755
– rwx cho người sở hữu, rx cho nhóm sở hữu và các tài khoản khác
Cài đặt
Cài đặt từ mã nguồn:
./configure
make
make install
dpkg -i pkg.deb
– cài gói phần mềm [Debian]
rpm -Uvh pkg.rpm
– cài gói phần mềm [RPM]
SSH
ssh user@host
– kết nối đến máy host với tài khoản user
ssh -p port user@host
– kết nối đến máy host qua cổng port với tài khoản user
ssh-copy-id user@host
– thêm khóa công cộng của tài khoản user vào máy host để thiết lập đăng nhập không cần mật khẩu [đăng nhập có khóa]
Một số phím tắt
Ctrl+C
– dừng hoàn toàn lệnh đang chạy
Ctrl+Z
– tạm dừng lệnh hiện tại, tiếp tục chạy nền
bằng lệnh bg hoặc chạy chính với lệnh fg
Ctrl+D
– thoát khỏi phiên làm việc hiện tại, giống với exit
Ctrl+W
– xóa một từ trong dòng hiện tại
Ctrl+U
– xóa cả dòng
Ctrl+R
– hiện danh sách các lệnh gần đây
!!
- lặp lại lệnh gần đây nhất
exit
– thoát khỏi phiên làm việc hiện tại
Tài liệu tham khảo
//thuonghieuweb.com/cac-lenh-linux-thong-dung.html
//files.fosswire.com/2012/05/fwunixref_vi.pdf
//quantrimang.com/mot-so-lenh-linux-co-ban-60400