Linux 基础理论

硬件管理
硬件信息

  • lspci

  • lshw

  • dmesg

  • dmidecode

1
2
3
4
5
6
7
8
9
dmidecode -s system-product-name

dmidecode | grep 'Product Name'

dmidecode | grep -i 'system information' -A9

dmidecode -i 0,1,2,4

dmidecode | grep "Memory Device" -A5 | grep -i size | grep -v Range

CPU

  • lscpu

  • getconf LONG_BIT

  • cat /proc/cpuinfo | grep flags | grep ‘lm’ | wc -l

1
2
3
4
5
6
7
8
grep -i 'physical id' /proc/cpuinfo | uniq

grep -i 'cores' /proc/cpuinfo | uniq

grep -i 'processor' /proc/cpuinfo | uniq

grep -i 'sibling' /proc/cpuinfo | uniq

内存

  • cat /proc/meminfo

  • dmidecode | grep “Memory Device” -A5 | grep -i size | grep -v Range

  • swapon -s

显卡

  • glxinfo/glxgears

声卡

/proc/asound/cards

  • lspci | grep audio

  • lshw | grep sound

  • aplay -l

  • alsactl -v

HBA卡

硬盘

  • lsblk

  • blkid

  • fdisk -l

  • fdisk -l | grep Disk

  • mount | column -t

  • smartctl -a /dev/sdxxx

驱动模块

1
2
3
4
5
6
7
modinfo

lsmod

insmod/modprobe

rmmod
  • ls /sys/bus/

  • ls /dev/

Performance

/proc/cpuinfo
/proc/meminfo
/proc/loadavg
/proc/devices
/proc/modules

  • grep -c ‘processor’ /proc/cpuinfo

  • grep -i mem /proc/meminfo

  • procinfo

  • iotop

  • sar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sar -u

sar -q

sar -r

sar -P

sar -P 0

sar -P ALL

sar -b (i/o)

sar -n DEV

sar -f
  • free
1
2
3
4
5
free

free -k

free -m
  • vmstat
1
2
3
vmstat

vmstat 1 5
  • mpstat
1
2
3
4
5
6
7
mpstat

mpstat 2 10

mpstat -P ALL 1


  • iostat
1
2
3
4
5
6
7
8
9
10
11
iostat 1 5

iostat -d

iostat -d 1 5

iostat -x

iostat -x 1 10


  • java
1
2
3
4
5
uptime
top
top -Hp pid_process
printf %x pid_thread
jstack pid_process | grep -A 200 mem_addr_%x_get_from_above

用户管理

/etc/passwd
/etc/shadow
/etc/group
/etc/pam.d/system-auth-ac
/etc/pam.d/password-auth-ac
/etc/login.defs
/var/spool/cron/user_name
/etc/skel/
/etc/default/useradd

  • echo 用户名:密码 | chpasswd

权限管理

UGO
SUID
SGID
SBIT

网络管理

/etc/sysconfg/network-scripts/ifcg-*
/etc/sysconfig/network
/etc/hostname
/etc/resolv.conf
/etc/hosts

  • lspci | grep -i eth

  • cat /proc/net/dev

  • ifconfig -a

  • setup(永久配置IP,但是服务需要重启)

  • hostname

1
2
3
4
5
6
7
hostname xxx(临时生效)

hostnamectl set-hostname=xxxx(永久生效)

vim /etc/hostname(永久生效)

vim /etc/sysconfig/network(永久生效)
  • route
1
route -n
  • netstat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
netstat -lnp

netstat -an

netstat -in

netstat -tunlp

-t (tcp) 仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化为数字

-l 仅列出在Listen(监听)的服务状态

-p 显示建立相关链接的程序名

netstat -tunap

netstat -lnt | grep 22

netstat -tunlp | grep -w 21

ss | grep ssh


  • ip
1
2
3
4
5
ip a

ip a sh

ip -4 a
  • nmcli

  • nmtui

  • tcpdump

  • ethtool eth_name

  • mii-tool eth_name

看本机网卡是否连接正常

  • iptraf

查看本机当前的流量

  • watch -n 1 “/sbin/ifconfig eth_name | grep bytes”

  • ifstat

  • traceroute

路由管理

网卡多IP(网络别名)

多网卡Link配置(网卡绑定)

启动管理

  • chkconfig

  • systemctl

内核管理

  • mkinitrd

  • dracut

进程管理

  • 进程查看

  • 进程运行

  • 进程挂起

  • 挂起进程作业前台/后台

  • 进程作业后台运行

  • ps

1
2
3
4
5
ps -aux | grep pid_pid

ps -eo comm,size --sort -size | head -n 10

ps -eo comm,pcpu --sort -pcpu | head -n 10
  • top
1
2
3
4
5
top -bn1

top -p pid_pid

pmap -x pid_pid
  • lsof
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
lsof -i:port_num

lsof -u username

lsof -c program_name

lsof -p pid_pid

lsof file_name

lsof | grep deleted

fuser -c /path-or-file_name

cat /proc/$process_id/status
  • strace -p pid_pid

  • pgrep httpd

查询这个服务的所有进程号

  • ldd binary_program_name

显示当前这个命令运行时所需要的库文件

  • strace +服务名称

分析出当前的命令执行时所找的库文件的路径

  • screen

Ctrl + a, d 退出会话
Ctrl + d, exit 结束会话

  • pgrep

  • pkill

  • pidof

  • dstat

文件管理

  • find

  • sort

  • awk/sed

工作管理

  • jobs

  • fg

  • bg

  • nohup

  • &

  • at

  • batch

  • crontab

磁盘与文件系统管理

  • sync

  • echo 3 > /proc/sys/vm/drop_caches

    存储池
    LVM(disk->pv-vg->lv->-mkfs-/mount_point)
    FS(disk->mkfs->/mount)

  • df

1
2
3
4
5
df -m

df -k

df -i
  • xargs

  • ls | xargs -n1 -i{} mv {} {}.bak

系统日志管理

/var/log/journal
/etc/logrotate.conf

  • tail -f filename

  • journalctl

1
2
3
4
5
6
7
8
9
journalctl -n 3(date_num_wanted_to_check)

journalctl -p err

journalctl -o verbose

journalctl --since time_wanted_to_check

journalctl --util time_wanted_to_check

SELinux

/etc/selinux/config
/etc/sysconfig/selinux

DAC: Discretionary Access Control

MAC: Mandatory Access Control

可信计算机系统评估准侧

  • setenforce 1/0

  • getenforce

  • sestatus

  • selinuxenabled

返回值0表示开启,1表示关闭

  • getsebool -a

  • semanage boolean -l

  • setsebool -P 1/0

  • sestatus -b

  • ls -Z

查看文件上下文

  • ps -eZ( ps -eM)

查看进程上下文

  • id -Z

查看用户上下文

  • SELinux拒接

发生SELinux拒接,可通过审计工具查看/var/log/audit/audit.log日志

1
2
3
4
5
6
7
audit2why < /var/log/audit/audit.log

audit2allow < /va/log/audit/audit.log

setroubleshootd

sealeart -b
  • 打标签
1
2
3
semanage fcontext -a -t httpd_sys_content_t '/var/www/html(/.*)?'

restorecon -Rv /var/www/html
1
chcon --reference=/file_name  file_name

服务管理

Apache

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
配置cronolog进行日志轮询

错误页面优雅显示

mod_deflate文件压缩功能

mod_expires缓存功能

更改apache的默认用户

worker模式,提升并发数(可以达到2000-5000)

屏蔽apache版本等敏感信息

apache目录文件权限设置(root,目录755,文件644)

开启httpd-mpm.conf 增加连接数

apache防盗链功能

禁止目录Index

 禁止用户覆盖(重载)

关闭CGI

避免使用.htaccess文件(分布式配置文件)

 apache的安全模块

正确途径取得源代码,勤打apache补丁

apache日志授予root 700权限

系统内核参数优化

禁止PHP解析指定站点的目录

使用tmpfs文件系统替代频繁访问的目录

尽可能减少 HTTP 请求数

使用CDN做网站加速

时钟同步

/etc/chrony.conf
/etc/ntp.conf

  • chrony
1
2
chronyc source -v

  • ntp
1
2
ntpd server

  • timedatectl
1
2
3
4
5
6
7
8
9
timedatectl status

timedatectl set-time

timedatectl set-timezone

timedatectl list-timezones

timedatectl set-local-rtc 0/1 设置是否支持UTC

SSH

HOME/.ssh/knownhostsHOME/.ssh/known_hostsHOME/.ssh/id_rsa
HOME/.ssh/idrsa.pub/etc/ssh/HOME/.ssh/id_rsa.pub /etc/ssh/HOME/.ssh/authorized_keys

  • ssh-keygen

  • ssh-copy-id user@remote

  • 绑定本地端口

  • 本地端口转发

  • 动态端口转发

  • 内容分发

安全管理

  • /etc/passwd

  • /etc/group

  • /var/adm/sulog

  • /etc/security/passwd

  • /etc/security/user

  • /etc/security/group

  • /etc/security/login.cfg

  • /etc/security/limits

  • /etc/security/lastlog

  • /etc/motd

  • /etc/ssh/sshd_config

设备管理

  • lsdev

  • lsattr

  • lscfg

  • prtconf

存储管理

文件系统管理

内存管理(页空间管理)

备份与恢复

系统备份

##文件系统备份

卷组备份

数据备份

数据库备份

备份策略

完全备份

增量备份

差量备份(差异备份)

备份介质

  • 软盘

3.5寸盘

5.25寸盘

  • 光盘

  • 磁盘

  • 磁带

4mm 磁带磁盘

8mm 磁带磁盘

存储