File proc trong linux

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

http://thuonghieuweb.com/cac-lenh-linux-thong-dung.html

https://files.fosswire.com/2012/05/fwunixref_vi.pdf

https://quantrimang.com/mot-so-lenh-linux-co-ban-60400